var user_entry_id = "";
var BFsourceid = "";
var BFsiteid = "";
var CLK = "";
var mod = "";
var cf_window;
var warning_window;
var image_url_base = 'http://images.homegain.com/i';
var user_agent = navigator.userAgent.toLowerCase();
var app_version = navigator.appVersion.toLowerCase();
var is_ie = 0;
var is_firefox = 0;
var is_netscape = 0;
var is_safari = 0;
var is_opera = 0;
var is_other = 0;
var browser_version = 0;
var browser_name = '';
var this_href = location.href;
var is_https = (this_href.indexOf('https')!=-1? 1 : 0 );
if (user_agent.indexOf('msie')!= -1){
    is_ie = 1;
	browser_version = parseFloat(app_version.split("msie")[1]);
	browser_name = 'ie';
} else if (user_agent.indexOf('firefox')!=-1) {
    is_firefox = 1;
	browser_name = 'firefox';
} else if (user_agent.indexOf('netscape')!=-1) {
    is_netscape = 1;
	browser_name = 'netscape';
} else if (user_agent.indexOf('opera')!= -1){
    is_opera = 1;
	browser_name = 'opera';
} else if (user_agent.indexOf('safari')!= -1){
    is_safari = 1;
	browser_name = 'safari';
} else {
    is_other = 1;
}
if (!is_ie&&browser_name) {
 browser_version = parseFloat(user_agent.split(browser_name + "/")[1])
}
if (is_ie && browser_version <= 6 && !is_https) {
 document.write("<link rel=\"stylesheet\" type=\"text/css\" href=\"/css/ie6.css\">");
} else if (is_safari && !is_https) {
 document.write("<link rel=\"stylesheet\" type=\"text/css\" href=\"/css/safari.css\">");
}
var ad_ord = Math.floor(Math.random()*1000000);
var is_hsx;
if (location.href.indexOf('/hsx/')!=-1) { is_hsx = 1; }
var curr_qs = "";
var q_ind = location.href.indexOf('?');
if (q_ind != -1) {
  curr_qs = location.href.substring(q_ind, location.href.length);
}
if (curr_qs.indexOf('setNoPopUnder=1') != -1 ) {
  setFlagInCookie('ck_hgcreativeimp', 'noPopUnder', '1');
}
if (curr_qs.indexOf('setNoExitPopUp=1') != -1 ) {
  setFlagInCookie('ck_hgcreativeimp', 'noExitPopUp', '1');
}
if (curr_qs.indexOf('setNoPopUp=1') != -1 ) {
  setFlagInCookie('ck_hgcreativeimp', 'noPopUnder', '1');
  setFlagInCookie('ck_hgcreativeimp', 'noExitPopUp', '1');
}
if (curr_qs.indexOf('setnopopup=1') != -1 ) {
  setFlagInCookie('ck_hgcreativeimp', 'noPopUnder', '1');
  setFlagInCookie('ck_hgcreativeimp', 'noExitPopUp', '1');
}
EM_reg=/(\?|&)EM=([^&]+)/;
if (EM_reg.test(curr_qs)) setFlagInCookie('ck_hgpartnerinfo', 'EM', '1');
// start: RFC4043. CJ Persistent Cookie
// see /exmethods/affiliate_click/AffiliateClick.py#create_affiliate_click
unsecure_url = "http://www.homegain.com";
ck_hgp = getHGCookie('ck_hgpartnerinfo');
jsck = getHGCookie('jsck');
//alert("ck_hgp: " + ck_hgp + "\njsck: " + jsck);
if(ck_hgp.indexOf('cj_qualified') < 0)
{
    if (jsck.indexOf('cj_qualified') > -1)
    {// reset jsck.cj_qualified for next page load
        //alert(unescape(jsck));
        idx = jsck.indexOf('cj_qualified') + 'cj_qualified'.length + 1;
        cj_qualified = jsck.charAt(idx);
        //alert('cj_qualified: ' + cj_qualified);
        setFlagInCookie('ck_hgpartnerinfo', 'cj_qualified', cj_qualified);
    }
    else
    {
        // expected value of location.href: http://www.homegain.com/
        loc = location.href;
        //alert(loc);
        if (loc.lastIndexOf("/") == loc.length - 1)
        {
            loc = location.href.substring(0,location.href.length - 1);
        }
        //alert(loc);
        cj_qualified = loc == unsecure_url;
        if(cj_qualified) cj_qualified = 1;
        else cj_qualified = 0;
        //alert("cj_qualified: " + cj_qualified);
        setFlagInCookie('ck_hgpartnerinfo', 'cj_qualified', cj_qualified);
    }
}
// end: RFC4043
  function grabQueryString() {
  var split_url = window.location.href.split('?');
  if(window.location.href.indexOf('?') == -1 || split_url.length < 2) return '';
  var query_string = split_url[1];
  if (query_string.indexOf('ht=') != -1) { // There is an ht tag
    if(query_string.indexOf('&')) {  // there is more than one param
    var kv_pairs = query_string.split('&');  // split into key-value pairs
    query_string = '';
      for (var loop = 0; loop < kv_pairs.length; loop++) { // look at each pair
        // alert(loop + ' : ' + kv_pairs[loop] + ' : ' + kv_pairs[loop].substring(0,3));
        if(kv_pairs[loop].length < 3 || kv_pairs[loop].substring(0,3) != 'ht=') { // if not ht tag
          if(query_string.length != 0) query_string += '&'; // if not first one, prepend ampersand
          query_string += kv_pairs[loop]; // add kv_pair
        } else {
          // if ht tag, do not add to new qs
        }
      }
    } else { 
      // there is only one param, and it is an ht tag
      query_string = '';
    }
  } else {
    // there is no ht tag in query_string
  }
  return query_string;
}
  function drawHiddensFromQueryString() {
  var qs = grabQueryString();
  var kv_pairs = qs.split('&');
  var num_pairs = kv_pairs.length;
  var this_pair, split_pair, this_key, this_value;
  for(var loop = 0; loop < num_pairs; loop++) {
    this_pair = kv_pairs[loop];
    split_pair = this_pair.split('=');
    this_key = split_pair[0];
    if (split_pair.length > 1) this_value = split_pair[1];
    document.writeln('<input type="hidden" name="' + this_key + '" value="' + this_value + '">');
  }
}
function loadMyIds(purpose) {
  // entryid, BFsourceid, and BFsiteid are globabl variables declared in common_02_code
  var my_qs = grabQueryString();
  var my_kvps = my_qs.split("&");
  for(var loop = 0; loop < my_kvps.length; loop++) {
    var a_kvp = my_kvps[loop];
    var a_kva = a_kvp.split("=");
    if(a_kva.length == 2) {
      var this_key = a_kva[0];
      if(this_key == "entryid") { 
	    if (!forced_entry_id) user_entry_id = (isValidEntryId(a_kva[1]) ? a_kva[1] : '');
	    else user_entry_id = forced_entry_id;
	    setFlagInCookie('ck_hgpartnerinfo', 'entryid', user_entry_id);
      } else if(this_key == "BFsourceid") { 
	    BFsourceid = a_kva[1];
		setFlagInCookie('ck_hgpartnerinfo', 'BFsourceid', BFsourceid);
      } else if(this_key == "BFsiteid") {
	    BFsiteid = a_kva[1];
		setFlagInCookie('ck_hgpartnerinfo', 'BFsiteid', BFsiteid);
      } else if(this_key == "CJAID") { 
	    CJAID = a_kva[1];
		setFlagInCookie('ck_hgpartnerinfo', 'CJAID', CJAID);
      } else if(this_key == "CJPID") { 
	    CJPID = a_kva[1];
		setFlagInCookie('ck_hgpartnerinfo', 'CJPID', CJPID);
      } else if(this_key == "CJSID") { 
	    CJSID = a_kva[1];
		setFlagInCookie('ck_hgpartnerinfo', 'CJSID', CJSID);
      } else if(this_key == "CLK") { 
	    CLK = a_kva[1];
		setFlagInCookie('ck_hgpartnerinfo', 'CLK', CLK);
      } else if(this_key == "mod") { 
	    mod = a_kva[1];
	    setFlagInCookie('ck_hgpartnerinfo', 'mod', mod);
	  } else if(this_key == "EF") { 
	    setFlagInCookie('ck_hgpartnerinfo', 'EF', a_kva[1]);
      }
    }
  }
  // entryid, mod, and CLK, BFsourceid, and BFsiteid have been pulled from query string, and loaded into js variables
}
function appendIdsToLinks(d) {
  // entryid, BFsourceid, and BFsiteid must 
  // have been loaded into global js varaibles 
  // before this function is called
  // alert("Don't mind me, I'll be gone soon");
  var id_qs = "";
  if(user_entry_id != "") {
    if(id_qs != "") id_qs += "&";
    id_qs += "entryid=" + user_entry_id;
  }
  if(BFsourceid != "") {
    if(id_qs != "") id_qs += "&";
    id_qs += "BFsourceid=" + BFsourceid;
  }
  if(BFsiteid != "") {
    if(id_qs != "") id_qs += "&";
    id_qs += "BFsiteid=" + BFsiteid;
  }
  if(mod != "") {
    if(id_qs != "") id_qs += "&";
    id_qs += "mod=" + mod;
  }
  if (id_qs == "") return id_qs;
  for (var loop = 0; loop < d.links.length; loop++) {
    var this_link = document.links[loop];
    if(this_link.href.indexOf('mailto:') == -1 &&
       this_link.href.indexOf('entryid=') == -1 &&
       this_link.href.indexOf('javascript:') == -1 &&
	   this_link.href.indexOf('mpc.homegain.com') == -1 &&
	   this_link.href.indexOf('#') == -1 &&
	   this_link.href.indexOf('homegain.com') != -1
    ){
      // This is not a javascript link, not an anchor link, and it does not have an entryid already
        if (this_link.href.indexOf('?') > -1) this_link.href += "&" + id_qs;
        else this_link.href += "?" + id_qs;
    } 
  }
  return id_qs;
}
function embedIdFormHidden(field_name) {
  if(field_name == "entryid") field_value = user_entry_id;
  else if(field_name == "BFsourceid") field_value = BFsourceid;
  else if(field_name == "BFsiteid") field_value = BFsiteid;
  else if(field_name == "mod") field_value = mod;
  else field_name = "";
  // alert(field_name + " : " + field_value);
  if(field_name != "") document.write('<input type="hidden" name="' + field_name + '" value="' + field_value + '">');
}
function embedIdFormHiddens() {
  var my_qs = grabQueryString();
  var my_kvps = my_qs.split("&");
  for(var loop = 0; loop < my_kvps.length; loop++) {
    var a_kvp = my_kvps[loop];
    var a_kva = a_kvp.split("=");
    if(a_kva.length == 2) {
      var this_key = a_kva[0];
      if(this_key == "entryid") user_entry_id = a_kva[1];
      else if(this_key == "BFsourceid") BFsourceid = a_kva[1];
      else if(this_key == "BFsiteid") BFsiteid = a_kva[1];
      else if(this_key == "mod") mod = a_kva[1];
    }
  }
  if(forced_entry_id) user_entry_id = forced_entry_id;
  // alert("|" + user_entry_id + "|" + BFsourceid + "|" + BFsiteid + "|" + mod);
  if(user_entry_id != "") embedIdFormHidden("entryid");
  if(BFsourceid != "") embedIdFormHidden("BFsourceid");
  if(BFsiteid != "") embedIdFormHidden("BFsiteid");
  if(mod != "") embedIdFormHidden("mod");
}
function pullEntryIdFromCookie() {
  var partnerinfocookie = getHGCookie("ck_hgpartnerinfo");
  var entryid_index = partnerinfocookie.indexOf('entryid');
  if(entryid_index == -1) return '';
  var entryid_value_substr = partnerinfocookie.substr(entryid_index + 14);
  var end_value_index = entryid_value_substr.indexOf("'");
  if(end_value_index == -1) return '';
  var real_entryid = entryid_value_substr.substr(0, end_value_index);
  user_entry_id = real_entryid;
  // alert(partnerinfocookie + ' | ' + entryid_index + ' | ' + entryid_value_substr + ' | ' + end_value_index + ' | ' + real_entryid);
  return real_entryid;
}
function pullModIdFromCookie() {
  var partnerinfocookie = getHGCookie("ck_hgpartnerinfo");
  var mod_index = partnerinfocookie.indexOf('mod');
  if(mod_index == -1) return '';
  var mod_value_substr = partnerinfocookie.substr(mod_index + 10);
  var end_value_index = mod_value_substr.indexOf("'");
  if(end_value_index == -1) return '';
  var real_mod = mod_value_substr.substr(0, end_value_index);
  mod = real_mod;
  // alert(partnerinfocookie + ' | ' + mod_index + ' | ' + mod_value_substr + ' | ' + end_value_index + ' | ' + real_mod);
  return real_mod;
}
function swapHgImage(img_name, img_src) {
  var the_image = eval("document.images." + img_name);
  the_image.src = img_src;
}
if (image_url_base.indexOf('images.homegain.com/i') != -1) {
  isQaProd=1;
} else {
  isQaProd=0;
} 
function swapImage(img_name,img_src) { 
  if (img_src.indexOf('homegain.com/')!=-1) {
     document.images[img_name].src=img_src;
  } else {
     //header nav icons
     if (isQaProd) { 
       img_src = img_src + ".gif";
     }
     document.images[img_name].src = image_url_base + '/' + img_src;
  }
}
function clickHG() {
  hg_click = 1;
}
function throwExitPopup(ep_url, ep_width, ep_height) {
  // Are we allowed to throw this exit popup?
  if(location.href.indexOf("nopopup") != -1 || location.href.indexOf("noExitPopUp") != -1) {
	hg_click = 1;
  }
  if(!hg_click) {
    var creative_cookie = getHGCookie('ck_hgcreativeimp');
	if(creative_cookie.indexOf("noExitPopUp") != -1 ) hg_click = 1;
  }
  if(!hg_click) {
    var js_cookie = getHGCookie('jsck');
    //if(js_cookie.indexOf("noExitPopup") != -1 ) hg_click = 1;
	if(js_cookie.indexOf("noExitPopUp") != -1 ) hg_click = 1;
  }
  if(!hg_click) {
    if (ep_url != "") {
      if (ep_url.indexOf('?') == -1) ep_url += '?';
      else ep_url += '&';
      ep_url += grabQueryString();
    }
    newwin(ep_url, ep_width, ep_height);
	return true;
  }
  // else alert('See ya!');
  return false;
}
function writeDate(){	
	month = new Array();
	month[0] = "January";
	month[1] = "February";
	month[2] = "March";
	month[3] = "April";
	month[4] = "May";
	month[5] = "June";
	month[6] = "July";
	month[7] = "August";
	month[8] = "September";
	month[9] = "October";
	month[10] = "November";
	month[11] = "December";	
	var today = new Date();
	var i = today.getMonth();
	var tDate = month[i] + " " + today.getDate() + ", " + today.getFullYear();
	document.write(tDate);	
}
  function checkSubmit(form) {
  return true;
}
  function submitForm(form_name, form_action)
  {
  var this_form = eval("document." + form_name);
  if(form_action == "continue") this_form.continue_x.value = 1;
  if(form_action == "done") this_form.done_x.value = 1;
  if(form_action == "justtest") this_form.justtest_x.value = 1;
  if(form_action == "register") this_form.register_x.value = 1;
  if(form_action == "login") this_form.login_x.value = 1;
  this_form.submit();
  }
  function startProcessing() {
  var the_url = '/client/interstitial';
  var the_name = 'the_interstitial';
  var the_features = 'width=600,height=560';
  var the_interstitial = window.open(the_url, the_name, the_features);
}
  function clickButton(form_name) {
  var foo_form = eval("document." + form_name);
  var times_prev_clicked = parseInt(foo_form.times_prev_clicked.value);
  foo_form.times_prev_clicked.value = times_prev_clicked + 1;
  startProcessing();
}
  function HG_preloadImages() {
  // Don't bother if there's no document.images
  if (document.images) {
    if (typeof(document.HG) == 'undefined') {
      document.HG = new Object();
    }
    document.HG.loadedImages = new Array();
    // Loop through all the arguments.
    var argLength = HG_preloadImages.arguments.length;
    for(arg=0;arg<argLength;arg++) {
      // For each arg, create a new image.
      document.HG.loadedImages[arg] = new Image();
      // Then set the source of that image to the current argument.
      document.HG.loadedImages[arg].src = HG_preloadImages.arguments[arg];
    }
  }
}
win_features="";
function newwin(url, w, h, more_features) {
 // s = scrollbar attribute, if missing defaults to 1 (show scrollbars)
 if(!win_features) win_features="status=0,scrollbars=1,resizable=1,toolbar=0,location=0,";
 if(more_features) win_features += more_features;
  var newwindow = window.open(url, "_blank", win_features + "width=" + w + ",height=" + h);
  win_features="";
  if(!newwindow) {
    var blocker_msg = "Please enable pop-up windows to view all HomeGain windows." + String.fromCharCode(10) + String.fromCharCode(10);
    blocker_msg += "If your pop-up blocker allows you, please add www.homegain.com to your allowed pop-up list, or use an override key." + String.fromCharCode(10) + String.fromCharCode(10);
    blocker_msg += "HomeGain respects your privacy and does not abuse pop-ups." + String.fromCharCode(10) + String.fromCharCode(10);
    var creative_cookie = getHGCookie('ck_hgcreativeimp');
    var jsck_cookie = getHGCookie('jsck');
    if(creative_cookie.indexOf("puBlocked") == -1 && 
           jsck_cookie.indexOf("puBlocked") == -1) {
      alert(blocker_msg);
      setFlagInCookie('ck_hgcreativeimp', 'puBlocked', '1');
    } else {
      // This user's wrist has been slapped once already.
    }
  }
}
function newwin2(url,w,h,wn,no_pp) {
 var abs_url_re=/(https?:\/\/(.*)\.homegain\.com)(.*)/
 if (url.indexOf('/popup/')==-1 && !no_pp) {
    if (abs_url_re.test(url)) {
	  url = RegExp.$1 + '/popup' + RegExp.$3;
    } else if (url.indexOf('/popup/')==-1) {
      url = '/popup' + url;
    }
 }
 if(location.href.indexOf('/popup/')!=-1) {
   urlReg=/(.*)(#.*)/;
   if(urlReg.test(url)) {
     url=RegExp.$1 
	 if (url.indexOf('?')==-1) {
	  url += "?";
	 } else {
	  url += "&";
	 }
	 url= url + "fromPopup=1" + RegExp.$2;
   } else {
     url += "?fromPopup=1"
   }
   location.href=url;
 } else {
   if(!wn) wn="_blank";
   if(!win_features) win_features="status=0,scrollbars=1,resizable=1,toolbar=0,location=0,";
   if(!w) w=screen.width-200;
   if(!h) h=screen.height-200;
   var newwindow = window.open(url, wn, win_features + "width=" + w + ",height=" + h);
   newwindow.focus();
   win_features="";
 }
}
  function closeWindow() {
  window.close();
}
  function openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
// javascript login widgets
function drawLoginTable() {
  if (isLoggedIn()) {
    // document.writeln('LOGOUT<br>');
    drawLogoutWidgets();
  } else {
    // document.writeln('LOGIN<br>');
    drawLoginWidgets();
  }
}
function drawLoginWidgets() {
}
function drawLogoutWidgets() {
}
function isLoggedIn() {
  var is_logged_in = getHGCookie("__ac_session_key");
  if(is_logged_in == "") {
    // there is no __ac_session_key cookie!
    return false;
  } else {
    // there is an __ac_session_key cookie!
    return is_logged_in;
  }
}
function checkLoginLabel(the_field, the_status) {
	   if (!the_status && !the_field.value) {
	    var the_display="visible";
	   } else {
	    var the_display="hidden"
	   }
	    document.getElementById(the_field.name + "_label").style.visibility=the_display;
}
function checkPrefilledLogin() {
 var the_form = document.myLoginForm;
 if(the_form.__ac_name.value) {
   checkLoginLabel(the_form.__ac_name,1);
   checkLoginLabel(the_form.__ac_password,1);
 }
}
function displayLoginForm(status){
	if(status == 'show'){
		document.getElementById('util_area_links').style.display = "none";
		document.getElementById('util_area_form').style.display = "block";
	} else {
		document.getElementById('util_area_links').style.display = "block";
		document.getElementById('util_area_form').style.display = "none";
	}
}
function displayLogin(){
	if(!isLoggedIn()){
		var html = '<div id="util_area_links">';
		html += '<a href="javascript:displayLoginForm(\'show\');" rel="nofollow">Login</a>';
		html += ' | <a href="/agent/realestateagent">Agents Join Here</a>';
		html += ' | <a href="/broker_solutions/index_html">Brokers Join Here</a>';
    html += '</div>';
		html += '<div id="util_area_form">';
		html += '<div style="float:left;">Login</div>';
		html += '<div style="float:right; margin:3px 5px;"><a href="javascript:displayLoginForm(\'hide\');"><img src="http://images.homegain.com/i/c/close_ico.jpg" height="9" width="9"></a></div>';
		html += '<br style="clear:both;" />';
		html += '<form name="myLoginForm" action="/login" method="post" class="no_margin" style="position:relative;">';
		html += '<label id="__ac_name_label" for="__ac_name" onclick="this.form.__ac_name.focus()">Member Name</label><input type="text" name="__ac_name" value="" onfocus="checkLoginLabel(this,1)" onblur="checkLoginLabel(this,0)" /> ';
		html += '<label id="__ac_password_label" for="__ac_password" onclick="this.form.__ac_password.focus()">Password</label><input type="password" name="__ac_password" value="" onfocus="checkLoginLabel(this,1)" onblur="checkLoginLabel(this,0)" />';
		html += '<input type="image" class="submit" src="http://images.homegain.com/i/c/login_btn.jpg"/><br />';
		html += '<input type="submit" value="" style="position:absolute; right:0px; top:0px; height:5px; width:5px; border:none; background-color:#FFFFFF;"/>';
		html += '</form>';
		html += '<a href="javascript:newwin(\'http://www.homegain.com/showhint\',650,250)" class="link">Forgot your password?</a> | <a href="/help_center?ht=hp_nav_help" class="link">Help</a>';
		html += '</div>';
		if(window.addEventListener){
			window.addEventListener("load", checkPrefilledLogin, false);
		} else if(window.attachEvent){
			//ie browser
			window.attachEvent("onload", checkPrefilledLogin);
		}
	} else {
		var html = '<div id="util_area_links" style="text-align:right;">';
		html += 'Welcome <a href="/change_profile">' + getFlagInCookie('ck_myhginfo','wb_name') + '</a>!';
		html += ' | <a href="/acl_users/logout">Logout</a></div>';
	}
	document.write(html);
}
// end javascript login widgets
function listLinks(d) {
  loadMyIds();
  // alert("entryid: " + user_entry_id + ", BFsourceid: " + BFsourceid + ", BFsiteid: " + BFsiteid);
  if(user_entry_id != "" || BFsourceid != "" || BFsiteid != "") {
    appendIdsToLinks(d);
  } else {
    user_entry_id = pullEntryIdFromCookie();
    mod = pullModIdFromCookie();
    if(user_entry_id != "" || mod != "") appendIdsToLinks(d);
  }
}
  function fetchBeFreeId() {
  var befreeid = "";
  var query = location.search.substring(1);
  var pairs = query.split("&");
  for ( var i = 0; i < pairs.length; i++) {
    var pos = pairs[i].indexOf('=');
    if (pos > -1) {
      var kv_pair = pairs[i].split("=");
      var kv_key, kv_value;
      kv_key = kv_pair[0];
      if(kv_pair.length > 0) kv_value = kv_pair[1];
      if(kv_key == "BFsourceid") befreeid = kv_value;
    }
  }
  return befreeid;
}
  function fetchEntryId() {
  if(user_entry_id != '') return user_entry_id;
  var entryid = "";
  var query = location.search.substring(1);
  var pairs = query.split("&");
  for ( var i = 0; i < pairs.length; i++) {
    var pos = pairs[i].indexOf('=');
    if (pos > -1) {
      var kv_pair = pairs[i].split("=");
      var kv_key, kv_value;
      kv_key = kv_pair[0];
      if(kv_pair.length > 0) kv_value = kv_pair[1];
      if(kv_key == "entryid") entryid = kv_value;
    }
  }
  if (isValidEntryId(entryid)) {
    user_entry_id = entryid;
    // alert('FOUND IN QS' + entryid);
    return entryid;
  }  else {
    // get entryid out of encoded hgpartnerinfo cookie
     var partnerinfocookie = getHGCookie("ck_hgpartnerinfo");
     var entryid_index = partnerinfocookie.indexOf('entryid');
     if(entryid_index == -1) return '';
     var entryid_value_substr = partnerinfocookie.substr(entryid_index + 11);
     var end_value_index = entryid_value_substr.indexOf("'");
     // alert("FETCHED COOKIE: " + entryid_index + ", " + end_value_index + " -- " + entryid_value_substr);  
     if(end_value_index == -1) return '';
     var real_entryid = entryid_value_substr.substr(0, end_value_index);
     user_entry_id = real_entryid;
     // alert("FETCHED: " + real_entryid);
     return real_entryid;
  }
  // alert('NADA');
}
  function isValidEntryId(entryid) {
  var num_chars = entryid.length;
  if(num_chars < 1) return false;
  var a_character;
  for (var loop = 0; loop < num_chars; loop++) {
    a_character = entryid.charAt(loop);
    if(a_character < "0" || a_character > "9") return false
  }
  return true;
}
  function setHGCookie(k, v) {
  var the_cookie = escape(k) + "=" + escape(v) + ";path=/";
  document.cookie = the_cookie;
}
function getHGCookie(k) {
  var all_cookies = getAllHGCookies();
  if(all_cookies[unescape(k)]) {
    var the_val = unescape(all_cookies[unescape(k)]);
    if(the_val.indexOf('"') == 0 && the_val.lastIndexOf('"') == (the_val.length - 1)) return the_val.substring(1, (the_val.length - 1));
     else return the_val;
  } else return "";
}
function getAllHGCookies() {
  var the_cookie = document.cookie;
  var the_cookies = the_cookie.split(";");
  var all_cookies = new Array();
  for (var loop = 0; loop < the_cookies.length; loop++) {
    var this_cookie = the_cookies[loop];
    // alert(this_cookie);
    var eq_ind = this_cookie.indexOf("=");
    // alert(eq_ind + " : " + this_cookie);
    if(eq_ind != -1) {
      var this_name = unescape(trimWS(this_cookie.substring(0, eq_ind)));
      var this_value = unescape(trimWS(this_cookie.substring(eq_ind + 1)));
      // alert(this_name + " : " + this_value);
      all_cookies[this_name] = this_value;
    }
  }
  return all_cookies;
}
function showHGCookies() {
  var all_cookies = document.cookie;
  document.forms.myform.cookie_dump.value = "YOUR COOKIES: " + all_cookies;
}
function allowCookies() {
  var sys_sprt = getHGCookie('ck_hgsyssupport');
  if(sys_sprt == "") {
    setHGCookie('ck_hgsyssupport', "{'cookies_ok' : 1}");
    if(getHGCookie('ck_hgsyssupport') == "") return 0;
    else return 1;
  } else {
    return 1;
  }
}
function setFlagInCookie(cookie_name, k, v) {
  var js_cookie = getHGCookie("jsck");
  var new_cookie_value = "";
  if(js_cookie == "") {
    // cookie has not been set yet.
    new_cookie_value = cookie_name + "=" + k + ":" + v;
  } else {
    // cookie already exists.  add flag to end
    new_cookie_value = js_cookie + "&" + cookie_name + "=" + k + ":" + v;
  }
  setHGCookie("jsck", new_cookie_value);
}
function getFlagInCookie(ck_name, k) {
  var the_cookie = getHGCookie(ck_name);
  if(the_cookie.indexOf(k) == -1) return ''; // bug 6298 fix
  var last_k_index = the_cookie.indexOf(k) + k.length + 1;
  // if(last_k_index == -1) return '';       // bug 6298 fix
  var str1 = the_cookie.substring(last_k_index);
  var the_value = str1.split("'")[1];
  return the_value;
}
  function trimWS(s){
  s = s.replace(/^\s*/, "");
  return s.replace(/\s*$/, "");
}
  function showPhaseOutWarning() {
  var the_url = "/popup/help_center/browser_support";
  var the_name = "warning_window";
  var the_features = "scrollbars,resizable,width=420,height=490";
  warning_window = window.open(the_url, the_name, the_features);
  warning_window.focus();
}
function sniffMyBrowser() {
  var sys_support = getHGCookie("ck_hgsyssupport");
  //alert(sys_support);
  if (sys_support.indexOf("browser_supported") == -1 ) {
   if (is_ie && browser_version > 5 || is_firefox || is_netscape && browser_version > 7) {
      setHGCookie("ck_hgsyssupport", "{'browser_supported' : 1}");
    } else {
      document.write("<script src='/javascript/sniff_browser.js'></script>");
    } 
  }
}
function findDom(id) {
  if (document.getElementById) {
      return document.getElementById(id);
     } else if (document.all) {
      return document.all[id];
    } else if (document.layers) {
      return document.layers[id];
  }
}
function autojump(formName,fieldNames){
  var myForm=document.forms[formName];
  var myField;
  for(i = 0; i < fieldNames.length - 1; i++){
    myField=myForm.elements[fieldNames[i]];
	if ( i!= (fieldNames.length - 1) ) {
     myField.nextField=myForm.elements[fieldNames[i + 1]];
     myField.onkeyup=autojump_keyUp;
	}
  }
}
function autojump_keyUp(){
 if (!this.oldValue) {
  this.oldValue = this.value;
 }
 if (this.value.length == this.maxLength && this.oldValue != this.value) {
   this.oldValue = '';
   this.nextField.focus();
 }
}
  function autoFocus(focus_field) {
   function focusField(){ 
     focus_field.focus();
   }
   if (window.addEventListener) {
      window.addEventListener("load",focusField,false);
   } else if (window.attachEvent ) {
      window.attachEvent("onload",focusField);
   }
}
function btnRollOver(btn){
  if(btn.className == 'btn_main_over') btn.className='btn_main';
  else if(btn.className == 'btn_main') btn.className='btn_main_over';
  else if(btn.className == 'btn_link_over') btn.className='btn_link';
  else if(btn.className == 'btn_link') btn.className='btn_link_over';
}
  function checkOnIt() {
  err=0;
  if (document.hval.addr.value != '' & document.hval.csz.value != '') {
   document.hval.submit();
 } else {
   document.hval.action='/home-values';
 }
 }
  /******************************************************************************************************************
 * Start: Utility functions
******************************************************************************************************************/
function stripSpecialChars(data){
	return data.replace(/[\.,]/g, "");
}
//=================================================================================================================
function isUndefined(variable){
	if(typeof(variable) == undefined || typeof(variable) == "undefined" || variable == NaN) return true;
	else false;
}
//=================================================================================================================
function isNull(obj){
	return (obj == null);
}
//=================================================================================================================
function isUndefinedNull(obj){
	return (isUndefined(obj) || isNull(obj));
}
//=================================================================================================================
function parseForTagName(tName, oArray, bFindFirst){
	var bFindFirst = (bFindFirst == null) ? false : bFindFirst;
	var bItemFound = false;
	var tmpArray = new Array();
	var loopObject = function(_tName, _oArray){
		for(var x in _oArray){
			if(x == _tName){
				tmpArray.push(_oArray[x]);
				bItemFound = true;
			}
			if(typeof(_oArray[x]) == 'object'){
				if(!bFindFirst || (bFindFirst && !bItemFound)) loopObject(_tName, _oArray[x]);
			}
		}
	}
	loopObject(tName, oArray);
	if(!bItemFound) return null;
	else if(tmpArray.length == 1) return tmpArray[0];
	else return tmpArray;
}
//=================================================================================================================
function addCustomLoadFunction(event_name, function_name){
	if(window.addEventListener){
		window.addEventListener(event_name, function_name, false);
	} else if(window.attachEvent){
		//ie browser
		window.attachEvent("on" + event_name, function_name);
	}
}
/******************************************************************************************************************
 * End: Utility functions
******************************************************************************************************************/
// this function switches between the RTE and a text area box
function switchEditorMode(editorInstance){
	oFCKeditor = FCKeditorAPI.GetInstance(editorInstance);
	oFCKeditor.SwitchEditMode();
	if(oFCKeditor.EditMode){
		document.getElementById(editorInstance + '_edit_mode').innerHTML = "Hide HTML";
	} else {
		document.getElementById(editorInstance + '_edit_mode').innerHTML = "Edit HTML";
	}
}
function switchEditorMode2(editorInstance, viewMode){
	oFCKeditor = FCKeditorAPI.GetInstance(editorInstance);
	var currMode = oFCKeditor.EditMode;    // 0 = HTML code is not visible; 1 = HTML code is visible
	if(currMode == 0 && viewMode == 'show') oFCKeditor.SwitchEditMode();
	if(currMode == 1 && viewMode == 'hide') oFCKeditor.SwitchEditMode();
}
  function makeAjaxRequest(){
	try{
		request = new XMLHttpRequest();
	} catch (tryMS){
		try {
			request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (otherMS){
			try {
				request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (failed){
				request = null;
			}
		}
	}
	return request;
}
sniffMyBrowser();
