/* Open Popup Window */
 function popWinEER(url, winName, popWidth, popHeight, popTop, popLeft, popScroll, popResize){
	var top = (popTop == "undefined" || popTop < 0) ? 20 : popTop;
	var left = (popLeft == "undefined" || popLeft < 0) ? 20 : popLeft;
	var options = 'width='+popWidth+',height='+popHeight+',scrollbars='+popScroll+',top='+top+',left='+left+',location=no,toolbar=0,menubar=0, resizable='+popResize+', directories=0';
	var myWin = window.open(url, winName, options);
	myWin.focus();
}

/* Clears and fills text boxes value */
var txt_cond;
function ClearTextBox(txt_box,condition){
      	if(txt_box.value == condition) {
        		txt_box.value="";
	    txt_cond=condition;
	}
}    

function FillTextBox(txt_box){
      	if(txt_box.value == "") {
      	 	 txt_box.value=txt_cond;
     		 }
}

/****** GLOBAL VARIABLES:start *****/

ulrp_callback_func = '';

/****** GLOBAL VARIABLES:end *****/

// returns the string received as parameter, but without leading and/or trailing spaces
function trim(str){
	var result = '';
	if(str)
	  result = (str != '') ? str.replace(/^\s+|\s+$/gi,'') : '';
	return result;
}

//retrieve current url
function get_url(){
  var url = document.URL;
  return url;
}

/* function to hide select boxes when browser is IE6 and a layer is about to be shown: start */
function showhide_all_select_boxes(show_hide){
  var ar_version = navigator.appVersion.split("MSIE");
  var version = parseFloat(ar_version[1]);
  
  if ((version >= 5.5) && (version < 7) && (document.body.filters))
  {
	  var search_nav_li_layer = "#search_nav_li";
	  var search_nav_ny_layer = "#search_nav_ny";
	  var sort_elements_holder = "#sr_sort_by_container";
	  
	  var select_boxes;
	  
	  if(($(search_nav_li_layer).length > 0) && ($(search_nav_li_layer).is(':visible'))){
		select_boxes = $(search_nav_li_layer + " select");
		select_boxes.each(function() {
		  (show_hide == "hide") ? $(this).hide() : $(this).show();
		});
	  }
	  if(($(search_nav_ny_layer).length > 0) && ($(search_nav_ny_layer).is(':visible'))){
		select_boxes = $(search_nav_ny_layer + " select");
		select_boxes.each(function() {
		  (show_hide == "hide") ? $(this).hide() : $(this).show();
		});
	  }
	  if(($(sort_elements_holder).length > 0) && ($(sort_elements_holder).is(':visible'))){
		select_boxes = $(sort_elements_holder + " select");
		select_boxes.each(function() {
		  (show_hide == "hide") ? $(this).hide() : $(this).show();
		});
	  }
  }
}
/* function to hide select boxes when browser is IE6 and a layer is about to be shown: end */ 

// shows or hides an element, identified by the "elem_id" parameter
function show_hide_elem(elem_id){
  var elem = $('#' + elem_id);
  (elem.is(':visible')) ? elem.hide() : elem.show();
}

function show_layer(layer_id){
  var layer = $('#' + layer_id);
  if(!layer.is(':visible')){
	  showhide_all_select_boxes("hide");
	  layer.show();
  }
}

function hide_layer(layer_id){
  var layer = $('#' + layer_id);
  if(layer.is(':visible')){
	  showhide_all_select_boxes("show");
	  layer.hide();
  }
}

//submits the form, identified by its id
function submit_form(form_id){
  document.forms[form_id].submit();
}

//for text fields; validates entered data
//validation_type == 1 -> letters, spaces and backspace (first name, last name, etc.)
//validation_type == 2 -> letters, numbers, spaces, backspace, [._%-@] (email address)
//validation_type == 3 -> any character except for [^"'] (password)
//validation_type == 4 -> letters, numbers, spaces, backspace [_-] (search name)
//validation_type == 5 -> numbers (phone number)
//validation_type == 10 -> numbers (phone number, any character)
function validate_key_pressed(e, validation_type) {
  var result = false;
  var pressed_key = document.all ? e.keyCode : e.which;
  if(validation_type == 1){
    if(((pressed_key > 64) && (pressed_key < 91)) || ((pressed_key > 96) && (pressed_key < 123)) || (pressed_key == 8) || (pressed_key == 0) || (pressed_key == 32)){
      result = true;
    }
  }
  if(validation_type == 2){
    if(((pressed_key >= 64) && (pressed_key < 91)) || ((pressed_key > 96) && (pressed_key < 123)) || ((pressed_key >= 45) && (pressed_key <= 57)) || (pressed_key == 95) || (pressed_key == 37) || (pressed_key == 8) || (pressed_key == 0) || (pressed_key == 32)){
      result = true;
    }
  }
  if(validation_type == 3){
    if((pressed_key != 34) && (pressed_key != 39)){
      result = true;
    }
  }
  if(validation_type == 4){
    if(((pressed_key > 64) && (pressed_key < 91)) || ((pressed_key > 96) && (pressed_key < 123)) || ((pressed_key >= 48) && (pressed_key <= 57)) || (pressed_key == 8) || (pressed_key == 0) || (pressed_key == 32) || (pressed_key == 45) || (pressed_key == 95)){
      result = true;
    }
  }
  if(validation_type == 5){
    if(((pressed_key >= 48) && (pressed_key <= 57)) || (pressed_key == 8) || (pressed_key == 0)){
      result = true;
    }
  }
  if(validation_type == 6){
	 if(((pressed_key >= 48) && (pressed_key <= 57)) || (pressed_key == 8) || (pressed_key == 0) || (pressed_key == 32) || (pressed_key == 45) || (pressed_key == 46)){
      result = true;
    }
  }
  if(validation_type == 7){
    if(pressed_key == 45){
      result = true;
    }
  }
  if(validation_type == 8){
    if((pressed_key >= 48) && (pressed_key <= 57)){
      result = true;
    }
  }
  if(validation_type == 9){
    if(pressed_key == 32){
      result = true;
    }
  }
   if(validation_type == 10){
	if(((pressed_key >= 33) && (pressed_key <= 47)) || ((pressed_key >= 48) && (pressed_key <= 57)) || ((pressed_key >= 58) && (pressed_key <= 63)) || ((pressed_key >= 91) && (pressed_key <= 95)) ||  ((pressed_key >= 123) && (pressed_key <= 126)) || (pressed_key == 8) || (pressed_key == 0) || (pressed_key == 32)){
      result = true;
    }
  }
  return result;
}

//clears the content of the input, if its current value matches the default one
function clear_txt_input(txt_input, default_value){
  if(txt_input.val() == default_value) {
	 txt_input.val("");
  }
}    

//sets the value of the input to its default, if its current value is ""
function fill_txt_input(txt_input, default_value){
  if(txt_input.val() == "") {
	 txt_input.val(default_value);
  }
}

//clears the content of the error message holder
function clear_error_msg(error_msg_holder){
  error_msg_holder.attr("innerHTML", '');
}

//Tasks that must be performed when the password/confirm password input loses focus
function pwd_input_onblur(pwd_input_id, pwd_input_holder, fake_pwd_input_holder){
  var real_pwd_input = $("#" + pwd_input_id);
  var real_pwd_input_holder = $("#" + pwd_input_holder);
  var fake_pwd_input_holder = $("#" + fake_pwd_input_holder);
	
  if(trim(real_pwd_input.val()) == ''){
	real_pwd_input_holder.hide();
	fake_pwd_input_holder.show();
  }
}
  
//Tasks that must be performed when the password/confirm password input gains focus  
function pwd_fake_input_onfocus(pwd_input_id, pwd_input_holder, fake_pwd_input_holder){
  var real_pwd_input = $("#" + pwd_input_id);
  var real_pwd_input_holder = $("#" + pwd_input_holder);
  var fake_pwd_input_holder = $("#" + fake_pwd_input_holder);
	
  fake_pwd_input_holder.hide();
  real_pwd_input_holder.show();
  real_pwd_input.focus();
}

//returns "true" if the password and the confirmed password match; "false" otherwise
function passwords_match(pwd, confirmed_pwd){
  var result = false;
  if(pwd && (pwd!='') && confirmed_pwd && (confirmed_pwd!='')){
    pwd = trim(pwd);
	confirmed_pwd = trim(confirmed_pwd);
	if(pwd == confirmed_pwd){
	  result = true;
	}
  }
  return result;
}

//returns "true" if the email address received as parameter has the correct email format; "false" otherwise
function email_address_valid(email_address){
  var result = false;
  if(email_address && (email_address!='')){
    var regex_email = /^([a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4})*$/;
    email_address = trim(email_address);
    if(email_address.search(regex_email) != -1){
	  result = true;
    }
  }
  return result;
}


//returns "true" if the phone number received as parameter has the correct phone number format; "false" otherwise
function phone_number_valid(phone_number_value){
	var result= false;
	//var reg_exp_phone_number = /^([0-9]{3}[-]*[0-9]{3}[-]*[0-9]{4})*$/;
	if(phone_number_value  && (phone_number_value != '') && phone_number_value.length <= 20){//12
		//phone_number_value = trim(phone_number_value);
		//if(phone_number_value.search(reg_exp_phone_number) !=-1){
			result= true;
		//}
	}
	return result;
}


//returns "true" if all the values (without considering the fake password inputs) have been entered; "false" otherwise
function all_values_entered(form_id, default_values){
  var result = true;
  var text_inputs = $("#" + form_id + " input[type!=image]");
  text_inputs.each(function() {
    if(($(this).attr('id').indexOf('fake') == -1) && ($(this).attr('id').indexOf('remember') == -1)){
	  if(($(this).val() == '') || ($(this).val() == default_values[$(this).attr('id')])){
	    result = false;
	  }
    }
  });
  return result;
}

//displays the corresponding error message, according to the value of "error_type"
function display_error(error_type, custom_error_msg, error_msg_holder){
  var error_msg = '';
  switch(error_type){
	  case 0:
		error_msg = custom_error_msg;
		break;
	  case 1:
		error_msg = "Some data is missing. Please enter all the required information.";
		break;
	  case 2:
		error_msg = "The email address you entered is not correct. Please check it again.";
		break;
	  case 3:
		error_msg = "The passwords you entered don't match. Please enter them again.";
		break;
	  case 4:
		error_msg = "The user_id is not valid.";
		break;
	  case 5:
		error_msg = "The search name you entered contains not allowed characters.";
		break;
	  case 6:
		error_msg = "The search url does not have the correct format.";
		break;
	  default:
		error_msg = "Your data could not be registered. Please try again later.";
		break;
  }
  error_msg_holder.attr("innerHTML", error_msg);
}

/****** COOKIES *****/

function create_cookie(name, value, expiration_days, path, domain, secure) {
  value = (value && (value!='')) ? escape(value) : '';
  var expiration = '';
  if (expiration_days) {
    var date = new Date();
	date.setTime(date.getTime()+(expiration_days*24*60*60*1000));
	expiration = "; expires="+date.toGMTString();
  }
  //expiration = (expiration && (expiration != '')) ? ("; expires=" + expiration.toGMTString()) : '';
  path = (path && (path!='')) ? ("; path=" + path) : '';
  domain = (domain && (domain!='')) ? ("; domain=" + domain) : '';
  secure = (secure && (secure!='')) ? "; secure" : '';
  document.cookie = name + "=" + value + expiration + path + domain + secure;
}

function get_cookie(name) {
  var cookies = document.cookie.split(/[; ]+/);
  for (var i = 0 ; i < cookies.length; i++) {
    var cookie_name = cookies[i].substring(0, cookies[i].indexOf('='));
    if (cookie_name == name) {
	  return unescape(cookies[i]);
    }
  }
}

function delete_cookie(name, path, domain) {
  var path = (path) ? ("; path=" + path) : '';
  var domain = (domain) ? ("; domain=" + domain) : '';
  document.cookie = name + "=" + path + domain + "; expires=Thu, 01-Jan-70 00:00:01 GMT";
}

function cookie_exists(name){
  var result = (get_cookie(name)) ? true : false;
  return result;
}

function get_cookie_value(name){
  var the_cookie = get_cookie(name);
  var the_cookie_value = '';
  if(the_cookie){
    var the_cookie_splited = the_cookie.split(/\=/);
    the_cookie_value = the_cookie_splited[1];
  }
  return the_cookie_value;
}

function get_domain(){
  var domain = window.location.hostname;
  domain = domain.replace(/www./, '');
  return domain;
}

/****** BASIC REGISTRATION *****/
//Checks the registration information, provided by the user
//Returns false if there is something wrong with these values and true if everything is correct.
function check_basic_registration_info(form_id, email_input_id, pwd_input_id, confirm_pwd_input_id, error_msg_holder, default_values){
	var result = false;
	var email_address_input = $("#" + email_input_id);
	var email_address = email_address_input.val(); 
	var pwd_input = $("#" + pwd_input_id);
	var pwd = pwd_input.val();
    var confirm_pwd_input = $("#" + confirm_pwd_input_id); 
	var confirm_pwd = confirm_pwd_input.val();
	
	if(all_values_entered(form_id, default_values)){
	  if(email_address_valid(email_address)){
	    if(passwords_match(pwd, confirm_pwd)){
		  result = true;
		}
		else{
		  display_error(3, '', error_msg_holder);
		}
	  }
	  else{
	    display_error(2, '', error_msg_holder);
	  }
	}
	else{
	  display_error(1, '', error_msg_holder);
	}
	return result;
}

/****** User Login/Registration Popup *****/

function show_loginreg_popup(option, header_title_holder, header_descrip_holder, thanku_content_holder){
  ulrp_adapt_content(option, header_title_holder, header_descrip_holder, thanku_content_holder);
  $('#user_loginreg_popup').show();
}

function hide_loginreg_popup(){
  $('#user_loginreg_popup').hide();
}

function check_user_login_info(form_id, email_input_id, pwd_input_id, error_msg_holder, default_values){
    var result = true;
	var email_address_input = $("#" + email_input_id);
	var email_address = email_address_input.val(); 
	var pwd_input = $("#" + pwd_input_id);
	var pwd = pwd_input.val();
	
	if(all_values_entered(form_id, default_values)){
	  if(email_address_valid(email_address) == false){
	    result = false;
		display_error(2, '', error_msg_holder);
	  }
	}
	else{
	  result = false;	
	  display_error(1, '', error_msg_holder);
	}
	return result;
}

function create_delete_ulrp_rememberme_cookie(remember_me, value){
  var ulrp_remember_me_cookie_name = 'eer_ulrp_remember';
  var the_cookie_exists = cookie_exists(ulrp_remember_me_cookie_name);
  var domain = get_domain();
  var path = '/';
  var expiration_days = 10*365; //10 years
  
  if(remember_me){
	if(!the_cookie_exists){
	  create_cookie(ulrp_remember_me_cookie_name, value, expiration_days, path, domain, '');
	}
  }
  else{
    if(the_cookie_exists){
	  delete_cookie(ulrp_remember_me_cookie_name, path, domain);
	}
  }
}

function get_ulrp_rememberme_cookie_value(){
  var ulrp_remember_me_cookie_name = 'eer_ulrp_remember';
  return get_cookie_value(ulrp_remember_me_cookie_name);
}

function delete_ulrp_rememberme_cookie_cookie(){
  var ulrp_remember_me_cookie_name = 'eer_ulrp_remember';
  if(cookie_exists(ulrp_remember_me_cookie_name)){
    delete_cookie(ulrp_remember_me_cookie_name, '/', get_domain())
  }
}

function create_ulrp_usrlogin_cookie(value){
  var usrlogin_cookie_name = 'eer_usr_logged_in';
  var the_cookie_exists = cookie_exists(usrlogin_cookie_name);
  var domain = get_domain();
  var path = '/';
  var expiration_days = 1*0.042; //1 hour; 0.042 days
  
  if(!the_cookie_exists){
    create_cookie(usrlogin_cookie_name, value, expiration_days, path, domain, '');
  }
}

function delete_ulrp_usrlogin_cookie(){
  var usrlogin_cookie_name = 'eer_usr_logged_in';
  if(cookie_exists(usrlogin_cookie_name)){
    delete_cookie(usrlogin_cookie_name, '/', get_domain())
  }
}

function cookie_ulrp_usrlogin_exists(){
  var usrlogin_cookie_name = 'eer_usr_logged_in';
  return cookie_exists(usrlogin_cookie_name);
}

function get_ulrp_usrlogin_cookie_value(){
  var usrlogin_cookie_name = 'eer_usr_logged_in';
  return get_cookie_value(usrlogin_cookie_name);
}

function request_login(email, pwd, error_msg_holder, remember_me){
  if(!cookie_ulrp_usrlogin_exists()){
	var url = '/templates/includes/user_login_request_handler.xpnd';
    var url = url + '?type=0';
	var url = url + '&email=' + email;
    var url = url + '&pwd=' + pwd;

	$.getJSON(url, function(result){
	  if(result[0] == 0){
		display_error(0, result[1], error_msg_holder);
	  }
	  else{
		create_ulrp_usrlogin_cookie(result[1]);
		delete_ulrp_rememberme_cookie_cookie();
		create_delete_ulrp_rememberme_cookie(remember_me, email);
		show_log_status(0);
		//highlight with red the search results "add to my favorites" elephant icons,
		//which correspond to the user's added to my favorites properties
		mark_my_favs(get_ulrp_usrlogin_cookie_value());
		hide_loginreg_popup();
		if(ulrp_callback_func && ulrp_callback_func!=''){
			var regex_func = /^(add_to_my_favs|goto_my_favs_page|show_saved_searches_popup|show_save_search_popup)*/;
	        if(ulrp_callback_func.search(regex_func) != -1){
				if(ulrp_callback_func.search(/^add_to_my_favs*/) != -1){
				  var ulrp_callback_func_parts = ulrp_callback_func.split('|');
			      add_to_my_favs(ulrp_callback_func_parts[1],ulrp_callback_func_parts[2],parseInt(ulrp_callback_func_parts[3]));
				}
				if(ulrp_callback_func.search(/^goto_my_favs_page*/) != -1){
			      goto_my_favs_page(get_ulrp_usrlogin_cookie_value());
				}
				if(ulrp_callback_func.search(/^show_saved_searches_popup*/) != -1){
			      show_saved_searches_popup(false);
				}
				if(ulrp_callback_func.search(/^show_save_search_popup*/) != -1){
			      show_save_search_popup(false);
				}
			}
			/*else
			  ulrp_callback_func(false);*/
		}
      }
    });  
  }
}

function request_basic_registration(first_name, last_name, email, pwd, interest, error_msg_holder, remember_me){
  var url = '/templates/includes/user_login_request_handler.xpnd';
  var url = url + '?type=1';
  var url = url + '&first_name=' + first_name;
  var url = url + '&last_name=' + last_name;
  var url = url + '&email=' + email;
  var url = url + '&pwd=' + pwd;
  var url = url + '&interest=' + interest;

  $.getJSON(url, function(result){
    if(result[0] == 0){
	  display_error(0, result[1], error_msg_holder);
    }
    else{
	  /*ulrp_show_thanku_msg();
	  delete_ulrp_usrlogin_cookie();
	  delete_ulrp_rememberme_cookie_cookie();
	  create_ulrp_usrlogin_cookie(result[1]);
	  show_log_status(0);
	  if(ulrp_callback_func && ulrp_callback_func!=''){ulrp_callback_func();}*/
	  
	  delete_ulrp_usrlogin_cookie();
	  delete_ulrp_rememberme_cookie_cookie();
	  create_ulrp_usrlogin_cookie(result[1]);
	  create_delete_ulrp_rememberme_cookie(remember_me, email);
	  show_log_status(0);
	  
	  if(ulrp_callback_func && ulrp_callback_func!=''){
			var regex_func = /^(add_to_my_favs|goto_my_favs_page|show_saved_searches_popup|show_save_search_popup)*/;
	        if(ulrp_callback_func.search(regex_func) != -1){
				if(ulrp_callback_func.search(/^add_to_my_favs*/) != -1){
				  ulrp_show_thanku_msg();
				  var ulrp_callback_func_parts = ulrp_callback_func.split('|');
			      add_to_my_favs(ulrp_callback_func_parts[1],ulrp_callback_func_parts[2],parseInt(ulrp_callback_func_parts[3]));
				}
				if(ulrp_callback_func.search(/^goto_my_favs_page*/) != -1){
			      goto_my_favs_page(get_ulrp_usrlogin_cookie_value());
				}
				if(ulrp_callback_func.search(/^show_saved_searches_popup*/) != -1){
			      show_saved_searches_popup(true);
				  hide_loginreg_popup();
				}
				if(ulrp_callback_func.search(/^show_save_search_popup*/) != -1){
			      show_save_search_popup(true);
				  hide_loginreg_popup();
				}
			}
			/*else
			  ulrp_callback_func(false);*/
	  }
	  else{
	    ulrp_show_thanku_msg();
	    //delete_ulrp_usrlogin_cookie();
	    //delete_ulrp_rememberme_cookie_cookie();
	    //create_ulrp_usrlogin_cookie(result[1]);
	    //show_log_status(0);
	  }
    }
  });
}

function show_log_status(status){
  var ulrp_loginout_link = $('#user_login_link');
  var status_str = (status == 0) ? '<img src="/images/globalnav/signout.png" width="47" height="28" alt="SIGN OUT" title="SIGN OUT" class="rOver" />' : '<img src="/images/globalnav/login.png" width="47" height="28" alt="LOG IN" title="LOG IN" class="rOver" />';
  ulrp_loginout_link.attr("innerHTML", status_str);
  $(function(){$("#user_login_link").pngFix();});
}

function login_logout_usr(option, callback_func){
  var ulrp_email_input = $('#fulrp_email');
  var header_title_holder = $('#ulrp_title');
  var header_descrip_holder = $('#ulrp_description');
  var thanku_content_holder = $('#ulrp_thanku_panel');
  
  ulrp_callback_func = callback_func;
  
  window.scrollTo(0,0);
  
  if(cookie_ulrp_usrlogin_exists()){
	delete_ulrp_usrlogin_cookie();
	show_log_status(1);
	//grey out the search results "my favorites" icons 
    unmark_my_favs();
  }
  else{
	set_remembered_emailaddr(ulrp_email_input);
	ulrp_restore();
	show_loginreg_popup(option, header_title_holder, header_descrip_holder, thanku_content_holder);
  }
}

function set_remembered_emailaddr(ulrp_email_input){
  var ulrp_rememberme_cookie_value = get_ulrp_rememberme_cookie_value();
  if(ulrp_rememberme_cookie_value!=''){
    ulrp_email_input.val(ulrp_rememberme_cookie_value);
  }
}

function check_usr_loginout_status(ulrp_email_input){
  if(cookie_ulrp_usrlogin_exists()){
    show_log_status(0);
  }
  else{
    set_remembered_emailaddr(ulrp_email_input);
	show_log_status(1);
  }
}

function ulrp_show_thanku_msg(){
  var i = 0;
  var the_other_panels_ids = new Array("ulrp_description","ulrp_tabs","ulrp_body");
  var thanku_panel_id = 'ulrp_thanku_panel';
  var thanku_panel = $('#' + thanku_panel_id);
  
  for ( i = 0; i < the_other_panels_ids.length; i++ )
	$("#" + the_other_panels_ids[i]).hide();
  thanku_panel.show();
}

function ulrp_restore(){
  var i = 0;
  var j = 0;
  var k = 0;
  var panels_to_hide_ids = new Array("ulrp_thanku_panel","ulrp_register_panel");
  var panels_to_show_ids = new Array("ulrp_description","ulrp_tabs","ulrp_body","ulrp_login_panel");
  var error_msg_holders = new Array("ulrp_login_error_msg","ulrp_reg_error_msg");
  for ( i = 0; i < panels_to_hide_ids.length; i++ )
    $("#" + panels_to_hide_ids[i]).hide();
  for ( j = 0; j < panels_to_show_ids.length; j++ )
    $("#" + panels_to_show_ids[j]).show();
  for ( k = 0; k < error_msg_holders.length; k++ )
    $("#" + error_msg_holders[k]).attr("innerHTML",'');
  ulrp_tab_clicked(1);
}

function ulrp_tab_clicked(ref){
  var i = 0;
  var k = 0;
  
  var tab_class_base_names = new Array("ulrp_login_tab_", "ulrp_register_tab_");
  var panels_ids = new Array("ulrp_login_panel","ulrp_register_panel");
  var tabs_ids = new Array("ulrp_login_tab","ulrp_register_tab");
  
  for (i=0; i<panels_ids.length; i++){
    if(i == (ref - 1))
	  $("#" + panels_ids[i]).show();
	else
	  $("#" + panels_ids[i]).hide();
  }
  for (k=0; k<tabs_ids.length; k++){
    if(k == (ref - 1)){
	  document.getElementById(tabs_ids[k]).className = "";
	  document.getElementById(tabs_ids[k]).className = tab_class_base_names[k] + "on";
	}
	else{
	  document.getElementById(tabs_ids[k]).className = "";
	  document.getElementById(tabs_ids[k]).className = tab_class_base_names[k] + "off";
	}
  }
}

//add dynamic content to the user login/register popup, according to the value of the "option" variable
function ulrp_adapt_content(option, header_title_holder, header_descrip_holder, thanku_content_holder){
  var header_title = '';
  var header_descrip = '';
  var thanku_content = '';
  
  var default_ht  = "<div class=\"title_font\">Log In - Registration</div>";
  var default_hd  = "Please sign in below to access site features.";
  var default_tu  = "<p>Thank you for registering with East Egg Realty!</p>";
      default_tu += "<p>Don&#39;t forget to sign in each time you visit our site to access site features.</p>"; 
  
  var my_favs_ht =  "<div class=\"title_font\">My Favorites</div>";
  var my_favs_hd =  "You&#39;re just a click away from your favorites. Please sign in below to access site features.";
  var my_favs_tu =  "<p>Thank you for registering with East Egg Realty!</p>";
      my_favs_tu += "<p>Don&#39;t forget to sign in each time you visit our site to access your favorites and exclusive site features.</p>";
	  
  var save_this_search_ht =  "<div class=\"title_font\">Save This Search</div>";
  var save_this_search_hd =  "Don&#39;t want to start from scratch each time you visit? Sign in below to save your property searches.";
  var save_this_search_tu =  "<p>Thank you for registering with East Egg Realty!</p>";
  
  var saved_searches_ht =  "<div class=\"title_font\">Saved Searches</div>";
  var saved_searches_hd =  "Don&#39;t want to start from scratch each time you visit? Log in to view your saved searches.";
  var saved_searches_tu =  "<p>Thank you for registering with East Egg Realty!</p>";
  
  switch(option){
    case "my_favs":
	  header_title = my_favs_ht;
	  header_descrip = default_hd;
	  thanku_content = my_favs_tu;
	  break;
	case "save_this_search":
	  header_title = save_this_search_ht;
	  header_descrip = save_this_search_hd;
	  thanku_content = save_this_search_tu;
	  break;
	case "saved_searches":
	  header_title = saved_searches_ht;
	  header_descrip = saved_searches_hd;
	  thanku_content = saved_searches_tu;
	  break;
	default:
	  header_title = default_ht;
	  header_descrip = default_hd;
	  thanku_content = default_tu;
	  break;
  }   
  header_title_holder.attr("innerHTML", header_title);
  header_descrip_holder.attr("innerHTML", header_descrip);
  thanku_content_holder.attr("innerHTML", thanku_content);
}

/* My Favorites: start */
function valid_user_id(user_id){
  var uid_length = 11;
  var user_id = trim(user_id);
  if(user_id && (user_id!='')){
    if(user_id.length <= uid_length){
	  var regex_uid = /^[0-9]*$/;
	  if(user_id.search(regex_uid) == -1){
	    return 0;
      }
	}
	else
	  return 0;
  }
  else
    return 0;
  return 1;
}

function goto_my_favs_page(user_id){
  if(valid_user_id(user_id)){
    window.location = '/templates/user/favorites.xpnd?uid=' + user_id;
  }
}

function show_my_favorites(){
  var user_id = get_ulrp_usrlogin_cookie_value();
  if(get_ulrp_usrlogin_cookie_value()){
    if(valid_user_id(user_id)){
	  goto_my_favs_page(user_id);
	}
  }
  else{
    login_logout_usr('my_favs', "goto_my_favs_page");
  }
}

/* My Favorites: end */


$(document).ready(function(){
  //avoid the caching of .getJSON requests by IE
  $.ajaxSetup({cache: false});
  
  //default values for the inputs, associated with the corresponding input ID
  ulrp_default_values = {"fulrp_email":"email address"};
  
  var ulrp_form_id = 'ulrp_form';
  var ulrp_email_input_id = 'fulrp_email';
  var ulrp_pwd_input_id = 'fulrp_pwd';
  var ulrp_fake_pwd_input_id = 'fulrp_fake_pwd';
  var error_msg_holder_id = 'ulrp_login_error_msg';
  var ulrp_pwd_input_holder_id = 'ulrp_pwd_holder';
  var ulrp_fake_pwd_input_holder_id = 'ulrp_fakepwd_holder';
  var ulrp_login_tab_id = 'ulrp_login_tab';
  var ulrp_register_tab_id = 'ulrp_register_tab';
	
  //var ulrp_form = $("#" + ulrp_form_id);
  var ulrp_email_input = $("#" + ulrp_email_input_id);
  var ulrp_pwd_input = $("#" + ulrp_pwd_input_id);
  var ulrp_fake_pwd_input = $("#" + ulrp_fake_pwd_input_id);
  var error_msg_holder = $("#" + error_msg_holder_id);
  var ulrp_pwd_input_holder = $("#" + ulrp_pwd_input_holder_id);
  var ulrp_fake_pwd_input_holder = $("#" + ulrp_fake_pwd_input_holder_id);
  var ulrp_login_tab = $("#" + ulrp_login_tab_id);
  var ulrp_register_tab = $("#" + ulrp_register_tab_id);
  
  var ulrp_close_btn = $('#user_loginreg_popup_close');
  var ulrp_submit_btn = $('#fulrp_submit');
  var ulrp_loginout_link = $('#user_login_link');
  var ulrp_remember_chkbox = $('#fulrp_remember');
  
  var ulrp_header_title_holder = $('#ulrp_title');
  var ulrp_header_descrip_holder = $('#ulrp_description');
  var ulrp_thanku_content_holder = $('#ulrp_thanku_panel');
   
  ulrp_login_tab.bind("click", function() {
	ulrp_tab_clicked(1);
  });
  
  ulrp_register_tab.bind("click", function() {
	ulrp_tab_clicked(2);
  });
  
  ulrp_close_btn.bind("click", function() {
	hide_loginreg_popup();
  });
  
  ulrp_pwd_input.bind("blur", function() {
	pwd_input_onblur(ulrp_pwd_input_id, ulrp_pwd_input_holder_id, ulrp_fake_pwd_input_holder_id);
  });
  ulrp_pwd_input.bind("keypress", function(e) {
	return validate_key_pressed(e,3);
  });
  ulrp_fake_pwd_input.bind("focus", function() {
	pwd_fake_input_onfocus(ulrp_pwd_input_id, ulrp_pwd_input_holder_id, ulrp_fake_pwd_input_holder_id);
	clear_error_msg(error_msg_holder);
  });
  ulrp_email_input.bind("focus", function() {
	clear_error_msg(error_msg_holder);
	clear_txt_input($(this), ulrp_default_values[$(this).attr('id')]);
  });
  ulrp_email_input.bind("keypress", function(e) {
	return validate_key_pressed(e,2);
  });
  ulrp_email_input.bind("blur", function() {
	fill_txt_input($(this), ulrp_default_values[$(this).attr('id')]);
  });
  ulrp_loginout_link.bind("click", function(e) {
	login_logout_usr('','');
  });
  ulrp_submit_btn.bind("click", function() {
	if(check_user_login_info(ulrp_form_id, ulrp_email_input_id, ulrp_pwd_input_id, error_msg_holder, ulrp_default_values)){
	  request_login(ulrp_email_input.val(), ulrp_pwd_input.val(), error_msg_holder, ulrp_remember_chkbox.attr('checked'))
	}
  });
  ulrp_submit_btn.hover(function(){
	  $(this).attr("src", "/templates/user/images/btn_submit_on.jpg");
    }, function() {
	  $(this).attr("src", "/templates/user/images/btn_submit.jpg");										  
  });

  
  check_usr_loginout_status(ulrp_email_input);
  
  /* User Basic Registration - Popup "Register" Layer */ 
  
  var ulrp_reg_form_id = 'ulrp_register_panel';
  var ulrp_reg_first_name_input_id = 'fulrp_reg_first_name';
  var ulrp_reg_last_name_input_id = 'fulrp_reg_last_name';
  var ulrp_reg_email_addr_input_id = 'fulrp_reg_email';
  var ulrp_reg_pwd_input_id = 'fulrp_reg_pwd';
  var ulrp_reg_fake_pwd_input_id = 'fulrp_reg_fake_pwd';
  var ulrp_reg_confirm_pwd_input_id = 'fulrp_reg_confirm_pwd';
  var ulrp_reg_fake_confirm_pwd_input_id = 'fulrp_reg_fake_confirm_pwd';
  var ulrp_reg_reginterest_id = 'fulrp_reg_reginterest';
  var ulrp_reg_error_msg_holder_id = 'ulrp_reg_error_msg';
  var ulrp_reg_pwd_input_holder_id = 'ulrp_reg_pwd_input_holder';
  var ulrp_reg_fake_pwd_input_holder_id = 'ulrp_reg_fake_pwd_input_holder';
  var ulrp_reg_confirmpwd_input_holder_id = 'ulrp_reg_confirmpwd_input_holder';
  var ulrp_reg_fake_confirmpwd_input_holder_id = 'ulrp_reg_fake_confirmpwd_input_holder';
  var ulrp_reg_submit_btn_id = 'fulrp_reg_submit_btn';
  
  var ulrp_reg_remember_chkbox = $('#fulrp_reg_remember');
	
  //default values for the inputs, associated with the corresponding input ID
  ulrp_reg_default_values = {"fulrp_reg_first_name":"first name", "fulrp_reg_last_name":"last name", "fulrp_reg_email":"email address", "fulrp_reg_pwd":"", "fulrp_reg_fake_pwd":"password", "fulrp_reg_confirm_pwd":"","fulrp_reg_fake_confirm_pwd":"confirm password"};
	
  var ulrp_reg_form = $("#" + ulrp_reg_form_id);
  var ulrp_reg_first_name_input = $("#" + ulrp_reg_first_name_input_id);
  var ulrp_reg_last_name_input = $("#" + ulrp_reg_last_name_input_id);
  var ulrp_reg_email_addr_input = $("#" + ulrp_reg_email_addr_input_id);
  var ulrp_reg_pwd_input = $("#" + ulrp_reg_pwd_input_id);
  var ulrp_reg_fake_pwd_input = $("#" + ulrp_reg_fake_pwd_input_id);
  var ulrp_reg_confirm_pwd_input = $("#" + ulrp_reg_confirm_pwd_input_id);
  var ulrp_reg_fake_confirm_pwd_input = $("#" + ulrp_reg_fake_confirm_pwd_input_id);
  var ulrp_reg_reginterest = $("#" + ulrp_reg_reginterest_id);
  var ulrp_reg_error_msg_holder = $("#" + ulrp_reg_error_msg_holder_id);
  var ulrp_reg_pwd_input_holder = $("#" + ulrp_reg_pwd_input_holder_id);
  var ulrp_reg_fake_pwd_input_holder = $("#" + ulrp_reg_fake_pwd_input_holder_id);
  var ulrp_reg_confirmpwd_input_holder = $("#" + ulrp_reg_confirmpwd_input_holder_id);
  var ulrp_reg_fake_confirmpwd_input_holder = $("#" + ulrp_reg_fake_confirmpwd_input_holder_id);
  var ulrp_reg_submit_btn = $("#" + ulrp_reg_submit_btn_id);
	 
  ulrp_reg_pwd_input.bind("blur", function() {
  	pwd_input_onblur(ulrp_reg_pwd_input_id, ulrp_reg_pwd_input_holder_id, ulrp_reg_fake_pwd_input_holder_id);
  });
  ulrp_reg_pwd_input.bind("keypress", function(e) {
  	return validate_key_pressed(e,3);
  });
  ulrp_reg_fake_pwd_input.bind("focus", function() {
  	pwd_fake_input_onfocus(ulrp_reg_pwd_input_id, ulrp_reg_pwd_input_holder_id, ulrp_reg_fake_pwd_input_holder_id);
  	clear_error_msg(ulrp_reg_error_msg_holder);
  });
  ulrp_reg_confirm_pwd_input.bind("blur", function() {
	pwd_input_onblur(ulrp_reg_confirm_pwd_input_id, ulrp_reg_confirmpwd_input_holder_id, ulrp_reg_fake_confirmpwd_input_holder_id);
  });
  ulrp_reg_confirm_pwd_input.bind("keypress", function(e) {
	return validate_key_pressed(e,3);
  });
  ulrp_reg_fake_confirm_pwd_input.bind("focus", function() {
	pwd_fake_input_onfocus(ulrp_reg_confirm_pwd_input_id, ulrp_reg_confirmpwd_input_holder_id, ulrp_reg_fake_confirmpwd_input_holder_id);	
	clear_error_msg(ulrp_reg_error_msg_holder);
  });
  ulrp_reg_first_name_input.bind("focus", function() {
	clear_error_msg(ulrp_reg_error_msg_holder);
	clear_txt_input($(this), ulrp_reg_default_values[$(this).attr('id')]);
  });
  ulrp_reg_first_name_input.bind("keypress", function(e) {
	return validate_key_pressed(e,1);
  });
  ulrp_reg_last_name_input.bind("focus", function() {
	clear_error_msg(ulrp_reg_error_msg_holder);
	clear_txt_input($(this), ulrp_reg_default_values[$(this).attr('id')]);
  });
  ulrp_reg_last_name_input.bind("keypress", function(e) {
	return validate_key_pressed(e,1);
  });
  ulrp_reg_email_addr_input.bind("focus", function() {
	clear_error_msg(ulrp_reg_error_msg_holder);
	clear_txt_input($(this), ulrp_reg_default_values[$(this).attr('id')]);
  });
  ulrp_reg_email_addr_input.bind("keypress", function(e) {
	return validate_key_pressed(e,2);
  });
  ulrp_reg_reginterest.bind("focus", function() {
	clear_error_msg(ulrp_reg_error_msg_holder);
  });
  ulrp_reg_first_name_input.bind("blur", function() {
	fill_txt_input($(this), ulrp_reg_default_values[$(this).attr('id')]);
  });
  ulrp_reg_last_name_input.bind("blur", function() {
	fill_txt_input($(this), ulrp_reg_default_values[$(this).attr('id')]);
  });
  ulrp_reg_email_addr_input.bind("blur", function() {
	fill_txt_input($(this), ulrp_reg_default_values[$(this).attr('id')]);
  });
  ulrp_reg_submit_btn.bind("click", function() {
	if(check_basic_registration_info(ulrp_reg_form_id, ulrp_reg_email_addr_input_id, ulrp_reg_pwd_input_id, ulrp_reg_confirm_pwd_input_id, ulrp_reg_error_msg_holder, ulrp_reg_default_values)){
	  request_basic_registration(ulrp_reg_first_name_input.val(), ulrp_reg_last_name_input.val(), ulrp_reg_email_addr_input.val(), ulrp_reg_pwd_input.val(), ulrp_reg_reginterest.val(), ulrp_reg_error_msg_holder, ulrp_reg_remember_chkbox.attr('checked'));
    }
  });
  ulrp_reg_submit_btn.hover(function(){
	  $(this).attr("src", "/templates/user/images/btn_submit_on.jpg");
    }, function() {
	  $(this).attr("src", "/templates/user/images/btn_submit.jpg");										  
  });
  
  /* Search */
	$("#fsg_city_zip_mls").bind("focus", function() {
	  var elem = $("#fsg_city_zip_mls");
	  if ((trim(elem.val()) == "SEARCH") || (trim(elem.val()) == "")){ 
		elem.val(""); 
		elem.css('color', '#383838');
	  }
	});
	$("#fsg_city_zip_mls").bind("blur", function() {
	  var elem = $("#fsg_city_zip_mls");
	  if ((trim(elem.val()) == "SEARCH") || (trim(elem.val()) == "")){ 
		elem.css('color', '#e6e6e6');
		elem.val("SEARCH"); 
	  }
	});
	
	/* hover effect for the "Search" go button */
	$("#fsg_city_zip_mls_go_btn").hover(function(){
	    $(this).attr("src", "/images/globalnav/btn_go_on.jpg");
      }, function() {
         $(this).attr("src", "/images/globalnav/btn_go.jpg");										  
	});
  
});