function ButtonClick (ImgId) {
	var ThisImg = document.images[ImgId];
	if (ThisImg){
		/*if (ThisImg.src.indexOf ("-down.gif") > -1) {
			ThisImg.src = ThisImg.src.replace (/-down\.gif/, ".gif");
		}
		else {
			ThisImg.src = ThisImg.src.replace (/\.gif/, "-down.gif");
		}*/
	}
	return true;
}

function PanelReveal (ImgId, PanelId, PanelId2,strAdvInstructions) {
	var ThisImg = document.images[ImgId];
	var ThisPanel = null;
	var ThisPanel2 = null;
	var ThisInstructionSet=null;
	if (document.getElementById) {
		ThisPanel = document.getElementById (PanelId);
		ThisPanel2 = document.getElementById (PanelId2);
		ThisInstructionSet = document.getElementById ("AdvancedSearchInstructions");
	}
	else if (document.all){
		ThisPanel = document.all[PanelId];
		ThisPanel2 = document.all[PanelId2];
		ThisInstructionSet = document.all["AdvancedSearchInstructions"];
	}
	if (ThisPanel == null) {
		var strHref=location.href.toLowerCase()
		while (strHref.indexOf("blnadvancedsearch")!=-1){
			strHref=strHref.replace("blnadvancedsearch","!blnadvancedsearch")
		}
		if (ThisImg.src.indexOf ("-down.gif") > -1){
			if (strHref.indexOf("?")>-1){
				strHref=strHref.replace("?","?blnAdvancedSearch=false&")
			}else{
				strHref=strHref + "?blnAdvancedSearch=false"
			}
		}else{
			if (strHref.indexOf("?")>-1){
				strHref=strHref.replace("?","?blnAdvancedSearch=true&")
			}else{
				strHref=strHref+ "?blnAdvancedSearch=true"
			}
		}
		location.href=strHref;
		return false;
	}
	if (ThisImg.src.indexOf ("-down.gif") > -1) {
		ThisImg.src = ThisImg.src.replace (/-down\.gif/, "-side.gif");
		ThisPanel.style.display = "none";
		ThisPanel2.style.display = "none";
		ThisInstructionSet.innerHTML="-&nbsp;&nbsp;" + strAdvInstructions;
		if (document.forms['search'].elements['_adv_srch'])document.forms['search'].elements['_adv_srch'].value="0";
	}
	else {
		ThisImg.src = ThisImg.src.replace (/\-side.gif/, "-down.gif");
		ThisPanel.style.display = "block";
		ThisPanel2.style.display = "block";
		ThisInstructionSet.innerHTML="";
		if (document.forms['search'].elements['_adv_srch'])document.forms['search'].elements['_adv_srch'].value="1";
	}
	return true;
}



function PreloadSearchButtons() {
	LoadImage("/Images/5.0/homeseekers.com/SearchNow-down.gif");
	LoadImage("/Images/5.0/homeseekers.com/ClearSearch-down.gif");
	LoadImage("/Images/5.0/homeseekers.com/SaveSearch-down.gif");
	LoadImage("/Images/5.0/homeseekers.com/ViewSummary-down.gif");
	LoadImage("/Images/5.0/homeseekers.com/EmailSearch-down.gif");
	LoadImage("/Images/5.0/homeseekers.com/SearchNow.gif");
	LoadImage("/Images/5.0/homeseekers.com/HiddenPanelArrow-side.gif");
	LoadImage("/Images/5.0/homeseekers.com/HiddenPanelArrow-down.gif");
	LoadImage("/Images/5.0/homeseekers.com/HiddenPanelArrow.gif");
} //PreloadSearchButtons();
//if (location.pathname.toLowerCase().indexOf("search.asp")!=-1)PreloadSearchButtons();


function clearSRCH(sName, form) {
	var sCookie = "SRCH=0 ";
	var sCookie2 = "SRCH=0 ";
	var expires = new Date();
	sCookie += "; path=/ ";
	sCookie2 += "; domain=sName; path=/ ";
	expires.setYear (expires.getYear() - 1)
	sCookie += "; expires=" + expires.toGMTString() + "\r\n";
	sCookie2 += "; expires=" + expires.toGMTString() + "\r\n";
	//alert(sCookie)
	document.cookie = sCookie;
	document.cookie = sCookie2;
	clearAllFormElements(form);  
}
	
function clearAllFormElements(form){
	var strRadioName
		
	for (var i=0;i<form.elements.length;i++){
		//test for text field
		if (form.elements[i].type == "text" ){
			form.elements[i].value=""
		}
		
		//test for check box
		if (form.elements[i].type == "checkbox"){
			if(form.elements[i].length){
				//more than one check box
				for (var j=0;j<form.elements[j].length;j++){
					form.elements[i][j].checked=false
				}
			}else{
				//only one check box
				form.elements[i].checked=false;
			}
		}
			
		//test for select box
		if (form.elements[i].type == "select-one" || form.elements[i].type == "select-multiple"){
			form.elements[i].selectedIndex=0
		}
			
		//test for radio group field
		if (form.elements[i].type == "radio" && strRadioName!=form.elements[i].name){
			//jump through hoops for radio buttons
			strRadioName=form.elements[i].name
			eval("form.elements[\"" + strRadioName + "\"][0].checked=true")
		}
		
	}
	
	fnHideElem('CitiesText',true);
	fnHideElem('SpecialFeaturesText',true);
	fnHideElem('LocationFeaturesText',true);
}

function checkMLSInput(form,err_msg) {
	var mls_property_id=""
	var blnValidInputs=false
	
	for (var i=1;i<11;i++){
		if (eval("form._mls_id" + i)){
			if (eval("form._mls_id" + i + ".value")!=""){
				if (mls_property_id!="")mls_property_id+=","
				mls_property_id+=eval("form._mls_id" + i + ".value")
				blnValidInputs=true;
			}	
		}	
	}
	if (blnValidInputs){
		form.mls_property_id.value=mls_property_id
		return true;
	}else{
		alert(err_msg);
		form._mls_id1.focus();
		return false;
	}
}
function checkAddressInput(form,err_msg)
{
    var street = 0;
    var zip = 0;
    if (form.elements['*street_name*'] && form.elements['*street_name*'].value != '')
        street = 1;
    if (form.elements['zip_code'] && form.elements['zip_code'].value != '')
        zip = 1;

    if (street == 0 && zip == 0)
    {
        alert(err_msg);
        if(form.elements['*street_name*'])
            form.elements['*street_name*'].focus();
        else if(form.elements['zip_code'])
            form.elements['zip_code'].focus();
        return false;
    }
    else
        return true;
}

function checkInput(input,target) 
{
	
//	if (blnInternal)
//		return true;
	
	var ns4 = (document.layers)? true:false;
	var ns6 = (document.getElementById)? true:false;
					
	var form = input;
	var haszip = 0;
	var blnValidCityItem = false
	var strCities=""
	var strCityText=""
	var selObj=globalSelObj
	
	if (!selObj)
	{
		if (form.city_name)
			selObj = form.city_name;
		else if (form.area)
		{
			selObj = form.area;
			city_msg = "Please select an area";
		}
	}
	if (!selObj)
	{
		// Should never happen since search form should always have a city list or an area list
		alert('Please select a city or an area');
		return false;
	}
	
	//Quick check to make sure there is not both a city and area select box
	if (selObj==form.city_name && selObj.selectedIndex<1)
	{
		if (form.area)
		{
			if (form.area.selectedIndex>0)
				selObj=form.area;
		}
	}

	if (selObj == form.city_name)
	{
		// getStateForSearchPage Javascript function is implemented in system.functions.asp
		if (getStateForSearchPage)
		{
			var strState = getStateForSearchPage(form.city_name);
			if (form._hdnCityState)
				form._hdnCityState.value = strState;
		}
	}
	
	for (var i=1; i<selObj.length; i++)
	{
		if (selObj.options[i].selected)
		{
			blnValidCityItem = true
			if (selObj==form.city_name)
			{
				if (selObj.options[i].text.indexOf(",") != -1)
				{
					strCities+=selObj.options[i].text.substring(0,selObj.options[i].text.indexOf(","))
				}
				else if (selObj.options[i].text.indexOf("(") != -1)
				{
					strCities += selObj.options[i].text.substring(0,selObj.options[i].text.indexOf("("))
				}
				else
				{
					strCities += selObj.options[i].text
				}
				strCities += ","
				if (strCities.length>45)
				{
					strCities+= " et al. "
					break;
				}
			}
			else
			{
				break;
			}
		}
	}
	if (form.elements["_city_name"] && strCities!="")
	{
		//form.elements["_city_name"].value=strCities		
	}
			
	var msg=city_msg //+ zipcode_msg 
	// check whether a city has been selected
	// 1/2/07 hp removing zipcode_msg since already included in city_msg 
	if (!blnValidCityItem)
	{
		for (var i = 0; i < form.elements.length; i++)
		{
		    //alert(form.elements[i].name)
			if (form.elements[i].name == "zip_code")
			{
				if (form.elements[i].value.length > 0)
					haszip = 1;
			}
		}
		if (haszip == 0)
		{
			selObj.focus();
			alert(msg);
			return false;
		}
	}
	
	var intTemp, strName, strValue;
	for (intTemp = 0; intTemp < form.elements.length; intTemp++)
	{
		// check date text controls for valid dates
		strValue = form.elements[intTemp].value;
		if (strValue != null)
			strValue = trimString(strValue);
		if (strValue != null && strValue != "")
		{
			strName = form.elements[intTemp].name;
			if (strName == "LIST_DATE:GTE" || strName == "LIST_DATE:LTE" ||
				strName == "TRANSACT_DATE:GTE" || strName == "TRANSACT_DATE:LTE")
			{			
				if (strValue == "mm/dd/yyyy")
				{
					// initially displayed to show user date format.  Set to blank before
					// posting
					form.elements[intTemp].value = "";
				}
				else
				{
					var dt = new Date(strValue);
					if (isNaN(dt))
					{
						form.elements[intTemp].focus();
						alert(date_msg);
						return false;
					}
				}
			}		
		}
	}
	
	return true;
		
}

	function trimString(s) 
	{
	// Remove leading spaces and carriage returns
	  
	while ((s.substring(0,1) == ' ') || (s.substring(0,1) == '\n') || (s.substring(0,1) == '\r'))
	{
		s = s.substring(1,s.length);
	}

	// Remove trailing spaces and carriage returns

	while ((s.substring(s.length-1,s.length) == ' ') || (s.substring(s.length-1,s.length) == '\n') || (s.substring(s.length-1,s.length) == '\r'))
	{
		s = s.substring(0,s.length-1);
	}
	return s;
	}


	function coordSortBy(selObj,sDefSort){
		var strSortBy
		strSortBy = selObj.options[selObj.selectedIndex].value
		if (strSortBy == "")
		{
			document.forms["search"]._sort_by.value = sDefSort 
			if (sDefSort.indexOf("list_price")<0) 
				document.forms["search"]._sort_by.value+= ",list_price desc"
		}
		else if(strSortBy=="ASC")
		{
			document.forms["search"]._sort_by.value="list_price asc"
			if (sDefSort.indexOf("list_price")<0) 
				document.forms["search"]._sort_by.value+="," + sDefSort
		}
		else if(strSortBy=="DESC")
		{
			document.forms["search"]._sort_by.value="list_price desc"
			if (sDefSort.indexOf("list_price")<0) 
				document.forms["search"]._sort_by.value += "," + sDefSort
		}
	}
	
	var timer
	var interval
	var loop_cnt = 0
	var newWindow //to name popup window
	
	//timer=setTimeout("fnDelaySetSelectBoxes()",1500)
	interval=setInterval("fnDelaySetSelectBoxes()",500)
	
	function fnDelaySetSelectBoxes()
	{
		if (document.forms['search'].area)
		{
			for (var i=0;i<	document.forms['search'].area.length-1;i++)
			{
				if (document.forms['search'].area.options[i].selected)
				{
					document.forms['search'].area.options[i].selected=true;
					break;
				}
			}	
		}
		
		if (document.forms['search'].elements["*special_Features*"])
		{
			for (var i=0;i<	document.forms['search'].elements["*special_Features*"].length-1;i++)
			{
				if (document.forms['search'].elements["*special_Features*"].options[i].selected)
				{
					document.forms['search'].elements["*special_Features*"].options[i].selected=true;
					break;
				}
			}		
		}
		
		if (document.forms['search'].elements["*location_detail*"])
		{
			for (var i=0;i<	document.forms['search'].elements["*location_detail*"].length-1;i++)
			{
				if (document.forms['search'].elements["*location_detail*"].options[i].selected)
				{
					document.forms['search'].elements["*location_detail*"].options[i].selected=true;
					break;
				}
			}		
		}
		
		if (document.forms['search'].city_name)
		{
			for (var i=0;i<	document.forms['search'].city_name.length-1;i++)
			{
				if (document.forms['search'].city_name.options[i].selected)
				{
					document.forms['search'].city_name.options[i].selected=true;
					break;
				}
			}
		}
		
		loop_cnt++;
		if (loop_cnt==10)
			clearInterval(interval);
	}

	function mySavedSearches(UID,saveType,searchName){
	
		var winoptions=""
		var parmString=""
		var form=document.forms['search']
		var strTemp=""
		var strCityTemp=""
		var leftPos = 0
		var topPos = 0
		var childWidth = 320
		var childHeight = 225
		var opLoc=""
		var strRadioName=""
		var intRadioLength=0
		var blnInvalid
		var strSearchName=searchName
	
	
		//encode characters that are known to cause problems
		//list for now - #,<space>
		while (strSearchName.indexOf("+")!=-1){
			strSearchName=strSearchName.replace("+","%2B")
		}
		while (strSearchName.indexOf(" ")!=-1){
			strSearchName=strSearchName.replace(" ","+")
		}
		while (strSearchName.indexOf("#")!=-1){
			strSearchName=strSearchName.replace("#","%23")
		}
		while (strSearchName.indexOf("&")!=-1){
			strSearchName=strSearchName.replace("&","%26")
		}
	
		if (saveType=="email" || saveType=="save"){
			childHeight=440;
			childWidth=575;
		}
	
		if (saveType=='summary' || strAutoLogin=="2" || strAutoLogin=="0"){
			childWidth  = 625
			childHeight = 550
		}
	
		if (!checkInput(form,'_new'))blnInvalid=true;
	
		if (screen){
			leftPos = screen.width/2 - childWidth/2
			topPos = screen.height/2 -childHeight/2
		}
	
	
		//validate that we have a search name and email address during a modify
		if (saveType=='modify'){
			if (form.elements["_searchName"]){
				if (myTrim(form.elements["_searchName"])==""){
					alert(search_name_msg)
					form.elements["_searchName"].focus()
					return false;
				}
			}
			if (form.elements["_email_enable"]){
				if (form.elements["_email_enable"].checked){
					if (!(myVerifyEmailAddress(form.elements["_emailAddress"]))){
						alert(email_msg)
						form.elements["_emailAddress"].focus()
						return false;
					}
				}
			}
		}
	
		for (i=0;i<form.elements.length;i++){
			//test for hidden field
			if (form.elements[i].type == "hidden" ){
				//Don't include format in parmString
				if (form.elements[i].name != "_menus"){
					if (form.elements[i].value!=""){
						if (form.elements[i].name == "_vp_cb")
						{
							// Have to encode VP Callback var since we will now be sending it
							// through the querystring
							parmString += form.elements[i].name + "=" + escape(form.elements[i].value) + "&"
						}
						else
							parmString += form.elements[i].name + "=" + form.elements[i].value + "&"
					}
				}
			}
			//test for text field
			if (form.elements[i].type == "text" ){
				if (form.elements[i].value!=""){
					if (form.elements[i].name == "_searchName"){
						strSearchName=form.elements[i].value
						//encode characters that are known to cause problems
						//list for now - #,<space>
						while (strSearchName.indexOf("+")!=-1){
							strSearchName=strSearchName.replace("+","%2B")
						}
						while (strSearchName.indexOf(" ")!=-1){
							strSearchName=strSearchName.replace(" ","+")
						}
						while (strSearchName.indexOf("#")!=-1){
							strSearchName=strSearchName.replace("#","%23")
						}
						while (strSearchName.indexOf("&")!=-1){
							strSearchName=strSearchName.replace("&","%26")
						}
					}else{
						parmString += form.elements[i].name + "=" + form.elements[i].value + "&"
					}
				}
			}
			//test for checkboxes field
			if (form.elements[i].type == "checkbox"){
				if (form.elements[i].name == "res_property_type"){
					if(form.elements['res_property_type'].length){
						//more than one check box
						i+=form.elements['res_property_type'].length
						for (var j=0;j<form.elements['res_property_type'].length;j++){
							if (form.elements['res_property_type'][j].checked){
								strTemp+=form.elements['res_property_type'][j].value + ","
							}
						}
					}else{
						//only one check box
						if (form.elements['res_property_type'].checked){
							strTemp+=form.elements['res_property_type'].value + ","
						}
					}
					//alert(strTemp)
					if (strTemp!=""){
						parmString+="res_property_type="
						strTemp=strTemp.substring(0,strTemp.length-1)
						parmString += strTemp + "&"
						strTemp=""
					}
				}else{
					if (form.elements[i].checked){
						strTemp+=form.elements[i].value + ","
					}
					if (strTemp!=""){
						parmString+=form.elements[i].name + "="
						strTemp=strTemp.substring(0,strTemp.length-1)
						parmString += strTemp + "&"
						strTemp=""
					}
				}
			}
			//test for select-multiple field
			if (form.elements[i].type == "select-multiple")
			{
				for (k=0;k<form.elements[i].length;k++)
				{
					if (form.elements[i].options[k].selected)
					{	
						if (form.elements[i].options[k].value!="" && form.elements[i].options[k].value!="N/A") 
						{
							if (form.elements[i].name == "city_name")
							{
								strTemp += form.elements[i].options[k].value + ","
								strCityTemp+=form.elements[i].options[k].text
								strCityTemp=strCityTemp.substring(0, strCityTemp.indexOf("(")-1)
								strCityTemp+="|"
							}
							else
							{
								strTemp += form.elements[i].options[k].value + ","
							}
						}
								
					}
				}
				if (strTemp!="")
				{
					parmString += form.elements[i].name + "="
					strTemp = strTemp.substring(0, strTemp.length-1)
					parmString+= strTemp + "&"
					strTemp = ""
				}
				if (strCityTemp!="" && false)
				{
					parmString+="_city_name="
					strCityTemp=strCityTemp.substring(0,strCityTemp.length-1)
					parmString += strCityTemp + "&"
					strCityTemp = ""
					//alert(parmString)
				}			
			}
			//test for radio group field
			if (form.elements[i].type == "radio" && strRadioName!=form.elements[i].name){
				strRadioName=form.elements[i].name
				intRadioLength=eval("form.elements[\"" + strRadioName + "\"].length")
				for (var m=0;m<intRadioLength;m++){
					if (eval("form.elements[\"" + strRadioName + "\"][m].checked")){
						strTemp+=eval("form.elements[\"" + strRadioName + "\"][m].value") + ","
					}
				}
						
				if (strTemp!=""){
					parmString += form.elements[i].name + "="
					strTemp=strTemp.substring(0,strTemp.length-1)
					parmString += strTemp + "&"
					strTemp=""
				}
			}
			//test for select_one field
			if (form.elements[i].type == "select-one"){
				for (k=0;k<form.elements[i].length;k++){
					if (form.elements[i].options[k].selected){
						if (form.elements[i].options[k].value!="" && form.elements[i].options[k].value!="N/A") {
							parmString += form.elements[i].name + "=" + form.elements[i].options[k].value + "&"
						}
					}
				}
			}
		}
	
		//replace comma-space with comma
		for (i=0;i<parmString.length;i++){
			if (parmString.indexOf(", ")){
				parmString = parmString.replace(", ",",")
			}
		}
	
		//open location for save search
	   if (saveType!='summary'){
			opLoc = searchpointroot + "/my_savesearch.asp?"+parmString+"_UID="+UID+"&menus=99&parentMenus=" + parentMenus + "&saveType="+saveType+"&searchName=" + strSearchName + "&_search_no=" + intSearchNum

			if (form._hdnCityState)
				if (form._hdnCityState.value != "")
					opLoc = opLoc + "&state=" + form._hdnCityState.value;

		}else{
			opLoc = searchpointroot + "/my_search_summary.asp?"+parmString+"_UID="+UID+"&menus=99&parentMenus=" + parentMenus + "&entity=" + entity + "&measuring_system=" + measuring_system + "&county=" + county_string  + "&st=" + st

			if (form._hdnCityState)
				if (form._hdnCityState.value != "")
					opLoc = opLoc + "&state=" + form._hdnCityState.value;

			//encode parm_string for adredirector
			//not using adredir.asp anymore - just encode spaces
			while (opLoc.indexOf("&")!=-1 && opLoc.indexOf("=")!=-1 && opLoc.indexOf(" ")!=-1){
				//opLoc=opLoc.replace("&","%26")
				//opLoc=opLoc.replace("=","%3D")
				opLoc=opLoc.replace(" ","%20")
			}
		}
	
					
		if (form.elements['_emailAddress']){
			if (strEmailAddress != form.elements['_emailAddress'].value){
				opLoc += "&emailAddress=" + form.elements['_emailAddress'].value
			}
		}
		//020620 RC I do not know what blnFromDropdown is here for and it is causing problems
		//if (blnFromDropdown){
		if (false){ 
			window.location = searchpointroot + "/my_savesearch.asp?"+parmString+"_UID="+UID+"&saveType="+saveType
		}else{
			if (newWindow){
				newWindow.location = opLoc
				newWindow.focus()
			}else{
				winoptions='width=' + childWidth + ',height=' + childHeight + ',left=' + leftPos + ',top=' + topPos + ',resizable=yes,hotkeys=no'
				if (saveType=='summary' || strAutoLogin=="2" || strAutoLogin=="0"){
					winoptions+=",scrollbars=yes"
					if (!blnInvalid){
						newWindow = window.open(opLoc, '', winoptions)
					}
				}else{
					newWindow = window.open(opLoc, '', winoptions)
				}
			}
		}
	
	
	}
		
	window.onfocus=closeSaveWindow
	
	function closeSaveWindow(){
		if (newWindow){
			newWindow.close()
			newWindow=null
		}
	}
	
	function openWindow(url,winName,winOpts){
		var newWindow
		newWindow=window.open(url,winName,winOpts)
	}
	
	function myVerifyEmailAddress(input) {
		var msg = "Invalid e-mail address: '" + input.value + "'!  Please enter a valid e-mail address."
		var sValue = input.value
		var bValidAddress = false;
		var nPeriodsFound = 0
		for ( var i = 0, x = 0 ; i < sValue.length ; i++ ) {
			var ch = sValue.substring( i, i + 1);
			var msg1 = "[" + ch + "]";
			if (ch == "@") {
				bValidAddress = true;
			}
			else
			if (ch == ".") {
				nPeriodsFound++;
			}
		}
		if (bValidAddress && nPeriodsFound > 0) {
			return true;
		}
		return false;
	}
	
	function myTrim(input) {
		
		var sValue = input.value
		var sTemp = ""
		var bNonSpaceChar=false
		
		for ( var i = 0 ; i < sValue.length ; i++ ) {
			var ch = sValue.substring( i, i + 1);
			if (ch != " ") {
				bNonSpaceChar = true;
			}
			if (bNonSpaceChar){
				sTemp = sValue.slice(i)
				break;	
			}
		}
		
		bNonSpaceChar=false
		/*
		for ( var i = sTemp.length; i > 0 ; i-- ) {
			var ch = sTemp.slice( i,-1);
			alert("/" + ch + "/")
			if (ch != " ") {
				bNonSpaceChar = true;
			}
			if (bNonSpaceChar){
				sTemp = sTemp.substring(1,i)
				break;	
			}
		}
		*/
		
		return sTemp;
	}
	
