function advSearchKeyDown(e)
{
    if (!e) var e = window.event;
	keyCode=(e.which)?e.which:e.keyCode; 
	if(keyCode==13) 
	{
		ExecuteSearch();
		return false;
	}
}

function UpdatePropertyCount()
{
    var url="/ajax.aspx?action=PropertyCount&";
    url=url + GetSearchUrlParams();
    displaySearchCount(url);
}

function ExecuteSearch()
{
    //var url="/searchresultsstate.aspx?";
    var url="/Search/SearchResultsState.aspx?";
    url=url + GetSearchUrlParams();
    location.href=url;
}

function LZ(x) {
    return (x >= 10 || x < 0 ? "" : "0") + x;
}

function formatDate(inputDate)
{
    var year=inputDate.getYear();
    if (year<2000) year=year+1900;
    var result="";
    result+=(year) + '-';
    result+=LZ(inputDate.getMonth()+1) + '-';
    result+=LZ(inputDate.getDate());
    return result;
}


function ExecuteSearchLite()
{
    var fromDate=new Date();
    with (fromDate) setDate(getDate()-3);

    var toDate=new Date();
    with (toDate) setDate(getDate()+60);

    var url="/searchresultsstate.aspx?statusId=1&fromDate=" + formatDate(fromDate) + "&toDate=" + formatDate(toDate);

    url=url + AppendSearchParameter(url,'keyword','Search_KeywordLite')
    location.href=url;
}




function ToggleDateRange()
{
    var tMonth=document.getElementById('Search_ToMonth');
    var fMonth=document.getElementById('Search_FromMonth');
    var sActive=document.getElementById('Search_PropertyStatusActive');

    if (sActive.checked)
    {
        fMonth.options[fMonth.options.length-3].selected=true;
        tMonth.options[tMonth.options.length-1].selected=true;
    } else {
        fMonth.options[fMonth.options.length-9].selected=true;
        tMonth.options[tMonth.options.length-1].selected=true;
    }

}



function ToggleSplitLevelStories()
{
    var floors=document.getElementById('Search_Floors');
    var style=document.getElementById('Search_HomeStyle');
    if (style.value=='11')
    {
        FindByValue(floors,'-1').selected=true;
    } else {
        //FindByValue(floor,'0').selected=true;
    }
}


function ToggleSplitLevelStyle()
{
    var floors=document.getElementById('Search_Floors');
    var style=document.getElementById('Search_HomeStyle');
    if (floors.value=='-1')
    {
        FindByValue(style,'11').selected=true;
    } else {
        FindByValue(style,'11').selected=false;
    }
}






function ToggleHistoricalCheck()
{
    var propertyType=document.getElementById('Search_PropertyType');
    var historical=document.getElementById('Search_Historical');
    if (propertyType.value=='20')
    {
        historical.checked=true;
    } else {
        historical.checked=false;
    }
}


function ToggleHistoricalSelect()
{
    var propertyType=document.getElementById('Search_PropertyType');
    if (document.getElementById('Search_Historical').checked)
    {
        FindByValue(propertyType,'20').selected=true;
    } else {
        propertyType.options[0].selected=true;
    }
}

function FindByValue(selectList, value)
{
    for (i=0;i<selectList.options.length;i++)
    {
        if (selectList.options[i].value==value) return selectList.options[i];        
    }
    return null;
}


function GetSearchUrlParams()
{
    var url="";
    
    if (document.getElementById('Search_PropertyStatusSold').checked)
    {
        url+=AppendSearchParameterValue(url,'statusid','2');
    } else {
        url+=AppendSearchParameterValue(url,'statusid','1');
    }
    
    url+=AppendSearchParameter(url,'keyword','Search_Keyword');
    url+=AppendSearchParameter(url,'openingBid','Search_OpeningBid');
    url=url + "&fromDate=" + GetSearchFieldValue('Search_FromMonth') + '-' + GetSearchFieldValue('Search_FromDay') + ' ' + GetSearchFieldValue('Search_FromTime');
    url=url + "&toDate=" + GetSearchFieldValue('Search_ToMonth') + '-' + GetSearchFieldValue('Search_ToDay') + ' ' + GetSearchFieldValue('Search_ToTime');
    
    if (document.getElementById('onlineonly').checked) url+='&selllocationtype=online';
	

    //location
    
    
    
    url+=AppendSearchParameter(url,'zip','Search_Zip');
    url+=AppendSearchParameter(url,'zipradius','Search_ZipRadius');
    url+=AppendSearchParameter(url,'address','Search_Address');
    url+=AppendSearchParameter(url,'state','Search_State');
    url+=AppendSearchParameter(url,'city','Search_City');
    url+=AppendSearchParameter(url,'locationtypeid','Search_Locale');
    
    //size
    url+=AppendSearchParameter(url,'sqft','Search_Sqft');
    url+=AppendSearchParameter(url,'bedrooms','Search_Beds');
    url+=AppendSearchParameter(url,'bathrooms','Search_Baths');
    url+=AppendSearchParameter(url,'floors','Search_Floors');
    url+=AppendSearchParameter(url,'acres','Search_Acres');
    
    //features
    url+=AppendSearchParameter(url,'yearBuilt','Search_YearBuilt');
    url+=AppendSearchParameter(url,'propertyType','Search_PropertyType');
    url+=AppendSearchParameter(url,'homeStyle','Search_HomeStyle');
    url+=AppendSearchParameter(url,'rooms','Search_Rooms_Hidden');
    url+=AppendSearchParameter(url,'features','Search_Features_Hidden');
    //alert(url);
    return url;
}

function AppendSearchParameter(url, qsName, fieldName)
{
    fieldValue=GetSearchFieldValue(fieldName);
    return AppendSearchParameterValue(url, qsName, fieldValue);
}

function AppendSearchParameterValue(url, qsName, fieldValue)
{
    if (fieldValue!='')
    {
        if (url=='')
        {
            return qsName + '=' + fieldValue;
        } else {
            return '&' + qsName + '=' + fieldValue;
        }
    } else {
        return '';
    }  
}

function GetSearchFieldValue(fieldName)
{
    var field=document.getElementById(fieldName);
    if (field==null) return '';
    if (field.value==field.defaultValue) return '';
    return field.value;
}

function displaySearchCount(url) {

	
	if (window.XMLHttpRequest) {
	        frmReq = new XMLHttpRequest();
        	frmReq.onreadystatechange = processSearchCount;
	        frmReq.open("GET", url, true);
        	frmReq.send(null);
	// branch for IE/Windows ActiveX version
	} else if (window.ActiveXObject) {
        	frmReq = new ActiveXObject("Microsoft.XMLHTTP");
	        if (frmReq) {
			frmReq.onreadystatechange = processSearchCount;
			frmReq.open("GET", url, true);
			frmReq.send();
		}
	}
}

function processSearchCount(){
	if (frmReq.readyState == 4) {
		if (frmReq.status == 200) {

			var container = document.getElementById("PropertyCount")
			container.innerHTML = frmReq.responseText;
			if (frmReq.responseText=="0")
			{
				blinkNoCount();
			} else {
				blinkShowCount();
			}
			

	        } else {
        		alert("There was a problem loading the search results:\n" + frmReq.statusText);
	        }
	}
}

function getQueryVariable(variable) {
  var query = window.location.search.substring(1);

  var vars = query.split("&");
  for (var i=0;i<vars.length;i++) {
    var pair = vars[i].split("=");
    if (pair[0] == variable) {
      return pair[1];
    }
  } 
  return "";
}

function PopulateAdvancedSearch()
{

//    url=url + "&fromDate=" + GetSearchFieldValue('Search_FromMonth') + '-' + GetSearchFieldValue('Search_FromDay') + ' ' + GetSearchFieldValue('Search_FromTime');
//    url=url + "&toDate=" + GetSearchFieldValue('Search_ToMonth') + '-' + GetSearchFieldValue('Search_ToDay') + ' ' + GetSearchFieldValue('Search_ToTime');


	if (getQueryVariable('selllocationtype')=='online') document.getElementById('onlineonly').checked=true;
	SelectFieldFromValue('Search_Keyword', getQueryVariable('keyword'));
	SelectFieldFromValue('Search_OpeningBid', getQueryVariable('openingBid'));

    if (getQueryVariable('statusid')=='2')
    {
        document.getElementById('Search_PropertyStatusSold').checked=true;
    } else {
        document.getElementById('Search_PropertyStatusActive').checked=true;
    }

	//location
	SelectFieldFromValue('Search_Zip', getQueryVariable('zip'));
	SelectFieldFromValue('Search_ZipRadius', getQueryVariable('zipradius'));
//alert(getQueryVariable('address'));
	SelectFieldFromValue('Search_Address', getQueryVariable('address'));
	SelectFieldFromValue('Search_State', getQueryVariable('state'));
	SelectFieldFromValue('Search_City', getQueryVariable('city'));
	SelectFieldFromValue('Search_Locale', getQueryVariable('locationtypeid'));

	//size
	SelectFieldFromValue('Search_Sqft', getQueryVariable('sqft'));
	SelectFieldFromValue('Search_Beds', getQueryVariable('bedrooms'));
	SelectFieldFromValue('Search_Baths', getQueryVariable('bathrooms'));
	SelectFieldFromValue('Search_Floors', getQueryVariable('floors'));
	SelectFieldFromValue('Search_Acres', getQueryVariable('acres'));
    
	//features
	SelectFieldFromValue('Search_YearBuilt', getQueryVariable('yearBuilt'));
	SelectFieldFromValue('Search_PropertyType', getQueryVariable('propertyType'));
	SelectFieldFromValue('Search_HomeStyle', getQueryVariable('homeStyle'));
	SelectFieldFromValue('Search_Rooms_Hidden', getQueryVariable('rooms'));
	SelectFieldFromValue('Search_Features_Hidden', getQueryVariable('features'));


    var tMonth=document.getElementById('Search_ToMonth');
    var fMonth=document.getElementById('Search_FromMonth');
    var fDate=getQueryVariable('fromDate');
    var tDate=getQueryVariable('toDate');


    if (fDate!=null && fDate!="")
    {
        SelectFieldFromValue('Search_FromMonth', fDate.substring(0,7));
    } else {
        fMonth.options[fMonth.options.length-3].selected=true;
    }
    
    if (tDate!=null && tDate!="")
    {
        SelectFieldFromValue('Search_ToMonth', tDate.substring(0,7));
    } else {
        tMonth.options[tMonth.options.length-1].selected=true;
    }
}

function SelectFieldFromValue(fieldName, value)
{
	var field=document.getElementById(fieldName);

	if (field==null || value=='') return;

	try{field.value=value;}
	catch(ex){
		try{
			for (option in field.options) 
			{ 
				if (option.value==value) option.selected=true; 
			}
		} catch(ex){}
	}
}
