
//
//	Global Variables
//

var _divTopPager = document.getElementById("divTopPager");
var _divBottomPager = document.getElementById("divBottomPager");
var _divResults = document.getElementById("divResults")	;
var _divMLSDisclaimer = document.getElementById("divMLSDisclaimer");
var _divDataRetrieveStatus = document.getElementById("divDataRetrieveStatus");
var _ddlSort = document.getElementById("ddlSort");
var _nSortValue = 0;
var _nTotalRows = 0;
var _nPageSize = 0;
var _nLastPageNumber = 0;
var _nPageNumber = 1;
var _sPropertyCompareList = "";
var _sComparePropertiesUrl = "";
var _sPropertyTourList = "";
var _sTourPropertiesUrl = "";
var _nSearchID = 0;
var _nBrandedAgentID = "-1";

//
//	Global Initialization Methods (these will get called on page load)
//

var ddlSort = document.getElementById("ddlSort");
if(ddlSort != null)
	_nSortValue = ddlSort.value;

var hdnTotalRows = document.getElementById("pgrHeaderHead_hdnTotalRows");
if(hdnTotalRows != null)
	_nTotalRows = hdnTotalRows.value;

var hdnPageSize = document.getElementById("pgrHeaderHead_hdnPageSize");
if(hdnPageSize != null)
	_nPageSize = hdnPageSize.value;	

var hdnLastPageNumber = document.getElementById("pgrHeaderHead_hdnLastPageNumber");
if(hdnLastPageNumber != null)
	_nLastPageNumber = hdnLastPageNumber.value;	

var hdnComparePropertiesUrl = document.getElementById("hdnComparePropertiesUrl");	
if(hdnComparePropertiesUrl != null)
	_sComparePropertiesUrl = hdnComparePropertiesUrl.value;	
	
var hdnTourPropertiesUrl = document.getElementById("hdnTourPropertiesUrl");	
if(hdnTourPropertiesUrl != null)
	_sTourPropertiesUrl = hdnTourPropertiesUrl.value;		

var hdnSearchID = document.getElementById("hdnSearchID");
if(hdnSearchID != null)
	_nSearchID = hdnSearchID.value;
	
var hdnBrandedAgentID = document.getElementById("hdnBrandedAgentID");
if(hdnBrandedAgentID != null)
	_nBrandedAgentID = hdnBrandedAgentID.value;	
	
var hdnCurrPageNumber = document.getElementById("pgrHeaderHead_hdnCurrentPageNumber");
if(hdnCurrPageNumber != null)
	_nPageNumber = parseInt(hdnCurrPageNumber.value);	

//
//	Other Methods
//

/*
addNRTEvent(this, "load", DisableBackButton, false);

function DisableBackButton()
{
	history.go(+1);
}

function KeyCache() {
  if (window.event && window.event.keyCode == 8) {
    window.event.keyCode = 123; //Replaces with F12 button. (Does nothing in IE)
  }
}

document.onkeydown=KeyCache();

*/

function ShowAdditionalPhotos(divID, e)
{
	var link = GetEventSource(e);
	
	var divPhotos = document.getElementById(divID);		
	if(divPhotos != null)
	{
	    if(divPhotos.style.display == "none")
	    {		
		    divPhotos.style.display = "inline";
		    link.innerHTML = "Hide Photos";
	    }
	    else
	    {
		    divPhotos.style.display = "none";		
		    link.innerHTML = "Show " + link.attributes["PhotoCount"].value + " Photos";		
	    }
	}
}

function ShowSearchCriteria(flag)
{
	if(flag == 1)
	{
		var divSearchOptionsHTML = document.getElementById("divSearchOptionsHTML");		
		writetxt(divSearchOptionsHTML.innerHTML);
	}
	else
	{
		writetxt(0);
	}
}

function Sort(sortValue, elm)
{
	// Change the value of Sort Global Variable
	_nSortValue = sortValue;

	// Notify the user abt this processing
	_divResults.disabled = true;	
	_ddlSort.disabled = true;	
	
	_divDataRetrieveStatus.innerHTML = "&nbsp;Sorting results by " + elm.options[elm.selectedIndex].innerHTML + " .....";
	
	//	Get the results from server
	if(spm_browserType() == "ie")
		PropertyResultsPage.RenderPage(_nSearchID, SearchXml.xml, _nPageNumber, _nSortValue, _nPageSize, _nTotalRows
														, _sPropertyCompareList, _sPropertyTourList, _nBrandedAgentID, RenderPage_Callback);
	else
		PropertyResultsPage.RenderPage(_nSearchID, SearchXml.childNodes[0].xml, _nPageNumber, _nSortValue, _nPageSize, _nTotalRows
														, _sPropertyCompareList, _sPropertyTourList, _nBrandedAgentID, RenderPage_Callback);
	
}

function GotoPage(pageNum)
{						
	// Change the value of Page Number Global Variable			
	_nPageNumber = pageNum;
		
	// Notify the user abt this processing		
	_divResults.disabled = true;
	_ddlSort.disabled = true;	
	_divDataRetrieveStatus.innerHTML = "&nbsp;Retrieving property list! Please wait .....";

	//	Get the results from server	
	if(spm_browserType() == "ie")
		PropertyResultsPage.RenderPage(_nSearchID, SearchXml.xml, _nPageNumber, _nSortValue, _nPageSize, _nTotalRows
														, _sPropertyCompareList, _sPropertyTourList, _nBrandedAgentID, RenderPage_Callback);	
	else
		PropertyResultsPage.RenderPage(_nSearchID, SearchXml.childNodes[0].xml, _nPageNumber, _nSortValue, _nPageSize, _nTotalRows
														, _sPropertyCompareList, _sPropertyTourList, _nBrandedAgentID, RenderPage_Callback);	
}

function RenderPage_Callback(response)
{
	if(response != null && response.value != null)
	{
		var xdResults = response.value;
		
		// Enable the results Div
		_divResults.disabled = false;
		_ddlSort.disabled = false;
		
		// Change the retrieval status message
		_divDataRetrieveStatus.innerHTML = "";
				
		// Load the results to ResultsDiv
		if(spm_browserType() == "ie")
			_divResults.innerHTML = xdResults.childNodes[0].childNodes[0].text;
		else
			_divResults.innerHTML = xdResults.childNodes[0].childNodes[1].textContent;
	
		// Load the results to Top and Bottom Pager Div's
		if(spm_browserType() == "ie")
		{
			_divTopPager.innerHTML = xdResults.childNodes[0].childNodes[1].text;
			_divBottomPager.innerHTML = xdResults.childNodes[0].childNodes[1].text;	
		}
		else
		{
			_divTopPager.innerHTML = xdResults.childNodes[0].childNodes[3].textContent;
			_divBottomPager.innerHTML = xdResults.childNodes[0].childNodes[3].textContent;	
		}
	
		// Render MLS Disclaimer
		if(spm_browserType() == "ie")
			_divMLSDisclaimer.innerHTML = xdResults.childNodes[0].childNodes[2].text;		
		else
			_divMLSDisclaimer.innerHTML = xdResults.childNodes[0].childNodes[5].textContent;		
	}	
}

function GotoFirstPage()
{
	GotoPage(1)	
}

function GotoPreviousPage()
{
	GotoPage(_nPageNumber - 1)	
}

function GotoNextPage()
{
	GotoPage(_nPageNumber + 1)
}

function GotoLastPage()
{
	GotoPage(_nLastPageNumber)	
}

function AddToCompareBasket(e)
{
	var checkBox = GetEventSource(e);
	var guid = checkBox.parentNode.attributes["guid"].value;
	
	if(checkBox.checked)
	{
		var sTempArray = _sPropertyCompareList.split(",");
		if(sTempArray.length == 11) 
		{
			checkBox.checked = false;
			alert("Only 10 properties allowed");
		}
		else
		{
			_sPropertyCompareList += "," + guid;
		}
	}
	else
	{
		_sPropertyCompareList = _sPropertyCompareList.replace("," + guid, "");
	}	
}

function CompareProperties()
{
	var sTempArray = _sPropertyCompareList.split(",");
	
	if(sTempArray.length > 2)
		window.open(_sComparePropertiesUrl + "&PropertyList=" + _sPropertyCompareList + "&SortValue=" + _nSortValue, null, 'width=800,height=600,resizable=yes,scrollbars=yes,toolbar=no,menubar=no')		
	else
		alert("Please select at least two properties for comparison");
}

function AddToDrivingTourBasket(e)
{
	var checkBox = GetEventSource(e);
	var guid = checkBox.parentNode.attributes["guid"].value;
	
	if(checkBox.checked)
	{
		var sTempArray = _sPropertyTourList.split(",");
		if(sTempArray.length == 11) 
		{
			checkBox.checked = false;			
			alert("Only 10 properties allowed");
		}
		else
		{
			_sPropertyTourList += "," + guid;
		}
	}
	else
	{
		_sPropertyTourList = _sPropertyTourList.replace("," + guid, "");
	}	
}

function TourProperties()
{
	if(_sPropertyTourList.length == 0)
	{
		alert("Please select at least one property for Tour");
		return;
	}
	
	if(_sTourPropertiesUrl.indexOf("?") >= 0)
		window.open(_sTourPropertiesUrl + "&PropertyList=" + _sPropertyTourList, null, 'width=800,height=500,status=yes,scrollbars=yes,menubar=yes,resizable-yes');
	else
		window.open(_sTourPropertiesUrl + "?PropertyList=" + _sPropertyTourList, null, 'width=800,height=500,status=yes,scrollbars=yes,menubar=yes,resizable=yes');
}
