// Removes leading whitespaces
	
var keycode;
function preSelectQuickSearch()
{
	if (getObj('QuickSearchDrop'))
	{
		getObj('QuickSearchDrop').value='Street';
		QuickSearchChange(getObj('QuickSearchDrop').value);
	}
}

function checkPrice(Obj)
{
	var isOK = 0;
	var aNum = removeCommas(Obj.value);
	var aNum = aNum;
	if (!aNum.match(/[^0-9.]/))	
	{
		Obj.value=aNum;
		return;
	}else
	{
		alert('The price is not in valid format');
		Obj.focus();
	}
}

function removeCommas(aNum) 
{
	aNum=aNum.replace(/,/g,"");
	aNum=aNum.replace(/\s/g,"");
	return aNum;
}

function checkKey()
{
	if (window.event) keycode = window.event.keyCode;
	else if (e) keycode = e.which;
	else return true;
	if (keycode == 13)
	{	
		QuickSearchSubmit()
	}
}

function pause(numberMillis) 
{
	var now = new Date();
	var exitTime = now.getTime() + numberMillis;
	while (true) 
	{
	now = new Date();
	if (now.getTime() > exitTime)
	return;
	}
} 

function LTrim( value ) {
	
	var re = /\s*((\S+\s*)*)/;
	return value.replace(re, "$1");
	
}

// Removes ending whitespaces
function RTrim( value ) {
	
	var re = /((\s*\S+)*)\s*/;
	return value.replace(re, "$1");
	
}

// Removes leading and ending whitespaces
function trim( value ) {
	
	return LTrim(RTrim(value));
	
}


function QuickSearchChange(val)
{
	if (val!='MLS')
	{
		var Prefix = (window.location.href.indexOf('index.php')>0) ? "" : "../";
		if (val == 'Commercial') window.open('http://www.huffcommercial.com/');
		else if (val == 'NewListings') 
		{
			getObj('MsgDisplayInWhite').innerHTML = 'Loading...';
			if (Popup)
			{
				window.opener.location.href = Prefix + 'search/Result.php?frmaction=newestlistings';
				window.close();
			}
			else window.location.href = Prefix + 'search/Result.php?frmaction=newestlistings';
		}
		else if (val == 'PlatinumProperties') 
		{
			getObj('MsgDisplayInWhite').innerHTML = 'Loading...';	
			if (Popup)
			{
				window.opener.location.href = Prefix + 'search/Result.php?frmaction=luxurylistings';
				window.close();
			}
			else window.location.href = Prefix + 'search/Result.php?frmaction=luxurylistings';
		}
		else if (val == 'OpenHouses') 
		{
			getObj('MsgDisplayInWhite').innerHTML = 'Loading...';	
			if (Popup)
			{
				window.opener.location.href = Prefix + 'search/openhouses.php';
				window.close();
			}
			else window.location.href = Prefix + 'search/openhouses.php';
		}
		else if (val == 'BuilderDirectory')
		{
			getObj('MsgDisplayInWhite').innerHTML = 'Loading...';
			if (Popup)
			{
				window.opener.location.href = Prefix + 'builder/BuilderList.php';	
				window.close();
			}
			else window.location.href = Prefix + 'builder/BuilderList.php';	
		}//else if (val!='Auction' && val!='OpenHouses' && val!='BuilderDirectory' && val!='Commercial' && val!='NewListings') getObj('MsgDisplayInWhite').innerHTML = 'Please enter search criteria.';
		
		getObj('AllSearch').style.display='';
		var AllSearchDiv = getObj('AllSearch').getElementsByTagName("div");
		var WithPrice = false;
		
		for (var i=0; i<AllSearchDiv.length;i++)
		{
			var InputElem = AllSearchDiv[i].getElementsByTagName("input");
			var SelectElem = AllSearchDiv[i].getElementsByTagName("select");	
		
			if (AllSearchDiv[i].id == val) 
			{
				if (AllSearchDiv[i].id!='Auction')
					AllSearchDiv[i].style.display='';
				else AllSearchDiv[i].style.display='none';
				for (var j=0; j<InputElem.length; j++)
				{
					InputElem[j].disabled=false;
					if (InputElem[j].getAttribute("id") == "WPrice") WithPrice = true;
				}
				for (var j=0; j<SelectElem.length; j++)
				{
					SelectElem[j].disabled=false;
					if (SelectElem[j].getAttribute("id") == "WPrice") WithPrice = true;
				}
			}
			else 
			{
				AllSearchDiv[i].style.display='none';
				for (var j=0; j<InputElem.length; j++)
					InputElem[j].disabled=true;
				for (var j=0; j<SelectElem.length; j++)
					SelectElem[j].disabled=true;
			}
		}	
	
		if (WithPrice)
		{
			getObj("Price").style.display = '';
			var InputElem = getObj("Price").getElementsByTagName("input");
			var SelectElem = getObj("Price").getElementsByTagName("select");
			for (var j=0; j<InputElem.length; j++)
				InputElem[j].disabled=false;
			for (var j=0; j<SelectElem.length; j++)
				SelectElem[j].disabled=false;
		}
		if (val!='Auction' && val!='OpenHouses' && val!='BuilderDirectory' && val!='Commercial' && val!='NewListings')	getObj('SearchProperties').style.display='';
	}else {
		getObj('SearchProperties').style.display='none';
	}
	
	if (val=='Auction')
		QuickSearchSubmit()	
}

function IsNumeric(sText)
{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
}

function Comma(number) 
{
	number = '' + number;
	if (number.length > 3) 
	{
		var mod = number.length % 3;
		var output = (mod > 0 ? (number.substring(0,mod)) : '');
		for (i=0 ; i < Math.floor(number.length / 3); i++) 
		{
			if ((mod == 0) && (i == 0))
				output += number.substring(mod+ 3 * i, mod + 3 * i + 3);
			else
				output+= ',' + number.substring(mod + 3 * i, mod + 3 * i + 3);
		}
		return (output);
	}
	else return number;
}


function QuickSearchSubmit()
{
	if (getObj("QuickSearchBox").innerHTML != "" && getObj('QuickSearchDrop').value!="MLS")
		getObj("QuickSearchForm").submit();
	else
	{
		getObj('QuickSearchDrop').focus();
	}
}

function gotoPage(Page)
{

//	getObj('Page').value = Page;
	$('#Page').val(Page);
	DeclareActionPage();
	SubmitForm();
}

function CheckPage(input)
{
	if (!IsNumeric(input.value))
	{
		alert("Please input a valid number");
		input.focus();
	}
}	
function syncOtherElements(input)
{
	var ElementName = input.name;
	var Elements = document.getElementsByName(ElementName);
	for (var i=0; i<Elements.length; i++)
	{
		Elements[i].value = input.value;
	}
}

function ChangePageOption()
{
	SelectPage = parseInt(getObj('selectPage').value);
	SelectListPerPage = parseInt(getObj('selectListPerPage').value);
	TotalResult = parseInt(getObj('TotalResult').value);
	if (Math.ceil(TotalResult/SelectListPerPage) <= SelectPage) 
		getObj('Page').value = Math.ceil(TotalResult/SelectListPerPage);
	else getObj('Page').value = SelectPage;
	getObj('ListPerPage').value = SelectListPerPage;
	DeclareActionPage();
	SubmitForm();
}

function ChangeToRegularSearch()
{
	getObj('Page').value = '1';
	QueryString = getObj('QueryString').value;
	QueryString = QueryString.replace(/LuxuryListings/i, "search");
	QueryString = QueryString.replace(/newestlistings/i, "search");
	QueryString = QueryString.replace(/initial/i, "search");
	QueryString = QueryString.replace(/mapsearch/i, "search");
	if (document.getElementById('ActionPage').value !='../Search/OpenHousesResult.php') 
		ActionPage = "../Search/Result.php";
	else ActionPage = '../Search/OpenHousesResult.php';
	getObj("frmSearchFULL").action = ActionPage+"?"+QueryString;
}

function DeclareActionPage()
{

/*	ActionPage = getObj('ActionPage').value;
	QueryString = getObj('QueryString').value;
	if (trim(ActionPage) == '') ActionPage = "../Search/Result.php";
	if (trim(QueryString) == '') QueryString = "frmaction=search";
	getObj("frmSearchFULL").action = ActionPage+"?"+QueryString;*/
}

function SubmitForm()
{
	//	getObj("frmSearchFULL").submit();	
	$('#frmSearchFULL').submit();
}

function showadditional(obj)
{
	if (obj.getAttribute('flag') == '1')
	{
		obj.setAttribute('flag', '0');
		obj.innerHTML = 'Hide Additional Search Features';
		getObj('AdditionalFeatures').value="1"
		getObj('div_search_add').style.display = '';
	}
	else
	{
		getObj('AdditionalFeatures').value="0"
		obj.setAttribute('flag', '1');
		obj.innerHTML = 'Show Additional Search Features';
		getObj('div_search_add').style.display = 'none';
	}
}
function BackToSearch()
{
	getObj("frmSearchFULL").submit();
}
function MapSearch()
{
	QueryString = getObj('QueryString').value;
	if (trim(QueryString) == '') QueryString = "frmaction=search";
	getObj("frmSearchFULL").action = "../Search/MapSearch.php?"+QueryString;
	getObj("frmSearchFULL").submit();
}

function DisplaySuburb(LINK)
{
	getObj('SuburbIframe').src = LINK;
	getObj('SuburbDisplay').style.display = '';
	getObj('SuburbList').style.display = 'none';
}

function HideSuburb()
{
	getObj('SuburbDisplay').style.display = 'none';
	getObj('SuburbList').style.display = '';
}
function returnToSearch()
{
	getObj('SearchBody').style.display='';
	getObj('ResultBody').style.display='none';	
}

function CloseWindow()
{
	window.close();
}	

function MoveSelection(FromBlock, ToBlock)
{
	var i = 0;
	var s = 0;
	var o = FromBlock.options.length;
	//alert(ToBlock.options.length);
	do {
		if ( FromBlock.options[i] && FromBlock.options[i].selected ) 
		{
			ToBlock.appendChild(FromBlock.options[i].cloneNode(true));
			FromBlock.removeChild(FromBlock.options[i]);
			//FromBlock.options.length = FromBlock.options.length-1 ;
		}else i++;
		s++;
	}while (o >= s);
	//pause(1);
	//alert(ToBlock.options.length);
	sortSelect(FromBlock, true);
	sortSelect(ToBlock, true);
	//alert(ToBlock.options.length);
	//pause(1);
	if (IsNumeric(FromBlock.id))
	{
		for (var j=0; j<FromBlock.options.length; j++)
			FromBlock.options[j].selected = true;
	}
	if (IsNumeric(ToBlock.id))
	{
		for (var k=0; k<ToBlock.options.length; k++)
			ToBlock.options[k].selected = true;
	}

}


// sort function - ascending (case-insensitive)
function sortFuncAsc(record1, record2) {
	var value1 = record1.optText.toLowerCase();
	var value2 = record2.optText.toLowerCase();
	if (value1 > value2) return(1);
	if (value1 < value2) return(-1);
	return(0);
}

// sort function - descending (case-insensitive)
function sortFuncDesc(record1, record2) {
	var value1 = record1.optText.toLowerCase();
	var value2 = record2.optText.toLowerCase();
	if (value1 > value2) return(-1);
	if (value1 < value2) return(1);
	return(0);
}

function sortSelect(selectToSort, ascendingOrder) {
	if (arguments.length == 1) ascendingOrder = true;    // default to ascending sort

	// copy options into an array
	var myOptions = [];
	for (var loop=0; loop<selectToSort.options.length; loop++) {
		myOptions[loop] = { optText:selectToSort.options[loop].text, optValue:selectToSort.options[loop].value };
	}

	// sort array
	if (ascendingOrder) {
		myOptions.sort(sortFuncAsc);
	} else {
		myOptions.sort(sortFuncDesc);
	}

	// copy sorted options from array back to select box
	//selectToSort.options.length = 0;
	while (selectToSort.options.length>0)
	{
		selectToSort.removeChild(selectToSort.options[0]);
	}	
	selectToSort.options.length = 0;
	for (var loop=0; loop<myOptions.length; loop++) {
		var optObj = document.createElement('option');
		optObj.text = myOptions[loop].optText;
		optObj.value = myOptions[loop].optValue;
		selectToSort.options.add(optObj);
	}
	/*

	
	for (var loop=0; loop<myOptions.length; loop++) {
		var optObj = document.createElement('option');
		optObj.text = myOptions[loop].optText;
		optObj.value = myOptions[loop].optValue;
		selectToSort.options.add(optObj);
	}*/
}

function highlightAll()
{
	var County = getObj('350030');
	var Suburb1= getObj('3500350');
	var Suburb2= getObj('3500351');
	
	for (var i=0; i<County.options.length; i++)
		County.options[i].selected=true;
	for (var i=0; i<Suburb1.options.length; i++)
		Suburb1.options[i].selected=true;		
	for (var i=0; i<Suburb2.options.length; i++)
		Suburb2.options[i].selected=true;
	return true;
}

function ShowHideOHSearch(SearchBlock, triggerElem, ShowMsg, HideMsg)
{
	if (triggerElem.name=='ToShow')
	{
		SearchBlock.style.display='';
		triggerElem.name='ToHide';
		triggerElem.innerHTML=HideMsg;
	}else if (triggerElem.name=='ToHide')
	{
		SearchBlock.style.display='none';
		triggerElem.name = 'ToShow';
		triggerElem.innerHTML = ShowMsg;
	}
}
function syncItem(SyncItem1, SyncItem2)
{
	if (!SyncItem1.disabled)
		SyncItem2.checked = SyncItem1.checked;
}

function ViewActualPayment(LINK)
{
	window.open(LINK,'ViewActualPayment');
}
function SearchAgainPayment()
{
	getObj('frmSearchFULL').action='../Search/SearchByPayment.php';
	getObj('frmSearchFULL').submit();
}

-->