var RESULTS_CORE=$H();
	RESULTS_CORE.CONTROLLER_CALL_URL="/?page=data&content=main";
	RESULTS_CORE.SUPPORT_EMAIL = "support@whitewallweb.com";
	RESULTS_CORE.HTML_Elements=$H();
	RESULTS_CORE.DATA=$H();
	RESULTS_CORE.MEM_STATE=$H();
	RESULTS_CORE.TMP=$H();
	RESULTS_CORE.REQUEST=$H();
	RESULTS_CORE.TEMPLATE="default";
	RESULTS_CORE.DATA.Navigation=$H();
	RESULTS_CORE.DATA.Navigation.MaxResultsPerPage=5;
	RESULTS_CORE.DATA.Navigation.MaxPagesDisplay=10;
	RESULTS_CORE.DATA.Navigation.FeaturesMax = 4;
	RESULTS_CORE.MEM_STATE.selectedPage=1;
	RESULTS_CORE.DATA.Results=$H();
	
function FirstElement(arr)
{
	var ret = null;

	$H(arr).each(function(item)
	{
		if(ret == null)
		{
			ret = item.value;
		}
		return;
	});
	return ret;
}

function ShiftMainPhoto (arr)
{
	var iMaxImageRank=-1;
	var oMainObject = null;

	$H(arr).each(function(item)
	{
		if (item.value.ImageRank > iMaxImageRank)
		{
			oMainObject = item.value;
			iMaxImageRank = item.value.ImageRank;		
		}
		item = null;
	});

	return oMainObject;
}


function property_results_init(OFFICEID,AGENTID,DATASETS,GET,SELECTEDPAGE)
{
	_GET = GET;
	//////////////////////////////////////////////////////////////////////////
	//BUILD UP ARRAY WITH ORDER BY AND FILTERS
	//////////////////////////////////////////////////////////////////////////
	var tempOB 		= new Array('price', 'desc');
	var tempF		= new Array('-1', '-1', '-1');
	if(_GET['criteria'])
	{
		var tempArray 	= explodeArray(';', _GET['criteria']);
		tempOB 		= explodeArray(',', tempArray[0].replace(/OB:/, ""));
		tempF 		= explodeArray(',', tempArray[1].replace(/F:/, ""));
	}
	//////////////////////////////////////////////////////////////////////////
	try
	{
		switch(true)
		{
			case(_GET['officeid']!=null):
				
			    var tmp_query=$A();tmp_query['officeid']=_GET['officeid'];
				RESULTS_CORE.REQUEST.search_query=tmp_query;
				RESULTS_CORE.REQUEST.template="&officeid="+_GET['officeid'];
				RESULTS_CORE.TEMPLATE="Office";
				RESULTS_CORE.URLFRIENDLYSEARCHTOKEN = _GET['officeid'];
				RESULTS_CORE.NO_PROP_MSG="There are no active properties for this office.";
			break;
			case(_GET['email']!=null):
				var tmp_query=$A();
				tmp_query['email']=_GET['email'];
				RESULTS_CORE.REQUEST.search_query=tmp_query;
				RESULTS_CORE.REQUEST.template="&email="+_GET['email'];
				RESULTS_CORE.TEMPLATE="Favourites";
				RESULTS_CORE.URLFRIENDLYSEARCHTOKEN = _GET['email'];
				RESULTS_CORE.NO_PROP_MSG="You have no properties in your favourites.";
			break;
			case(_GET['userid']!=null):
				var tmp_query=$A();
				tmp_query['userid']=_GET['userid'];
				RESULTS_CORE.REQUEST.search_query=tmp_query;
				RESULTS_CORE.REQUEST.template="&userid="+_GET['userid'];
				RESULTS_CORE.TEMPLATE="Agent";
				RESULTS_CORE.URLFRIENDLYSEARCHTOKEN = _GET['userid'];
				RESULTS_CORE.NO_PROP_MSG="There are no active properties for this agent.";
			break;
			case(_GET['PropType']!=null):
                                var tmp_query=$A();
                                tmp_query['PropType']=_GET['PropType'];
                                RESULTS_CORE.REQUEST.search_query=tmp_query;
                                RESULTS_CORE.REQUEST.template="&PropType="+_GET['PropType'];
                                RESULTS_CORE.TEMPLATE="PropType";
                                RESULTS_CORE.URLFRIENDLYSEARCHTOKEN = _GET['PropType'];
                                RESULTS_CORE.NO_PROP_MSG="There are no active properties for this Property Type.";
			break;
			case(_GET['data']!=null):
				RESULTS_CORE.REQUEST.search_query=unserialize(RESULTS_CORE_In_Data);
				RESULTS_CORE.REQUEST.search_token = _GET['data'];
				RESULTS_CORE.URLFRIENDLY = "Search-Data";
				RESULTS_CORE.URLFRIENDLYSEARCHTOKEN = _GET['data'];
				RESULTS_CORE.REQUEST.template="";
				
				switch(true)
				{
					case(OFFICEID!=null):
						RESULTS_CORE.REQUEST.search_query['officeid'] = OFFICEID;
					break;
				}
				
				switch(true)
				{
					case(AGENTID!=null):
						RESULTS_CORE.REQUEST.search_query['userid'] = AGENTID;
					break;
				}
				RESULTS_CORE.NO_PROP_MSG="No Properties Found - Please Revise Your Search";break;
			default:
				RESULTS_CORE.NO_PROP_MSG="Please visit <a href='?page=property_search'>the property search page</a> and select a valid search.";
		}
		if(SELECTEDPAGE!="")
		{
			RESULTS_CORE.MEM_STATE.selectedPage=SELECTEDPAGE;
		//	setTimeout('RESULTS_CORE.MEM_STATE.selectedPage--; _Navigation_Next_Click();', 1000);
			
		}
		else
		{
			RESULTS_CORE.MEM_STATE.selectedPage=1;
		}
		RESULTS_CORE.TMP.DataSets=$H(eval("("+DATASETS+")"));
		RESULTS_CORE.DATA.Provinces=RESULTS_CORE.TMP.DataSets.Provinces;
		RESULTS_CORE.DATA.Regions=RESULTS_CORE.TMP.DataSets.Regions;
		RESULTS_CORE.DATA.Suburbs=RESULTS_CORE.TMP.DataSets.Suburbs;
		RESULTS_CORE.DATA.Types=RESULTS_CORE.TMP.DataSets.Types;
		RESULTS_CORE.DATA.PaymentTypes=RESULTS_CORE.TMP.DataSets.PaymentTypes;
		RESULTS_CORE.TMP=$H();_init_SearchResult_HTML_Elements();
		_get_SearchResult_PropertyIDs(tempOB[0], tempOB[1], tempF[0], tempF[1], tempF[2]);
	}
	catch(e)
	{
		_error_message("file : "+e.fileName+" <br >on line :"+e.lineNumber+"<br>"+e.message);
	}
}
function _init_SearchResult_HTML_Elements()
{
	RESULTS_CORE.HTML_Elements.result_Navigation_div=$('result_Navigation_div');
	RESULTS_CORE.HTML_Elements.result_One_Liners_div=$('result_One_Liners_div');
	RESULTS_CORE.HTML_Elements.result_One_Liners_loader_holder=$('result_One_Liners_loader_holder');

}
function _get_SearchResult_PropertyIDs(OrderSubject,OrderBy, MinBathrooms, MinBedrooms, MinGarages)
{
	try
	{
		if(OrderSubject&&OrderBy)
		{
			RESULTS_CORE.REQUEST.search_query['orderby']=OrderBy;
			RESULTS_CORE.REQUEST.search_query['ordersubject']=OrderSubject;
						
			RESULTS_CORE.MEM_STATE.OrderSubject=OrderSubject;
			RESULTS_CORE.MEM_STATE.OrderBy=OrderBy;
		}
		
		// Features
		RESULTS_CORE.REQUEST.search_query['minbathrooms'] = (MinBathrooms>=0)?MinBathrooms:null;
		RESULTS_CORE.REQUEST.search_query['minbedrooms'] = (MinBedrooms>=0)?MinBedrooms:null;
		RESULTS_CORE.REQUEST.search_query['mingarages'] = (MinGarages>=0)?MinGarages:null;
		
		RESULTS_CORE.MEM_STATE.MinBathrooms = MinBathrooms;
		RESULTS_CORE.MEM_STATE.MinBedrooms = MinBedrooms;
		RESULTS_CORE.MEM_STATE.MinGarages = MinGarages;
		// End Features
		
		RESULTS_CORE.HTML_Elements.result_One_Liners_div.innerHTML="<p style='text-align: center'><img src='"+MUFFIN_SHARED_URL+"/images/_lib/loading/remaxloading.gif' /></p><p style='text-align: center'>Downloading and sorting your search results, please be patient...</p>";
		CtrlCall(RESULTS_CORE.CONTROLLER_CALL_URL+"&param=function:_get_Property_Results_Property_IDs;","istoken=yes&data="+RESULTS_CORE.REQUEST.search_token+"&query="+serialize(RESULTS_CORE.REQUEST.search_query),"_load_navigation");		
	}
	catch(e)
	{
		_error_message("file : "+e.fileName+" <br >on line :"+e.lineNumber+"<br>"+e.message);
	}
}
function _get_Properties_Page_Properties(PageNr)
{
	_result_loading_layer(RESULTS_CORE.HTML_Elements.result_One_Liners_div,0,0,"100%","225",true);
	RESULTS_CORE.DATA.Navigation.Pages[RESULTS_CORE.MEM_STATE.selectedPage].HTML.style.backgroundColor="";
	RESULTS_CORE.DATA.Navigation.Pages[RESULTS_CORE.MEM_STATE.selectedPage].HTML.firstChild.firstChild.style.color="#C00";
	RESULTS_CORE.MEM_STATE.selectedPage=PageNr;
	RESULTS_CORE.DATA.Navigation.Pages[PageNr].HTML.style.backgroundColor="";
	RESULTS_CORE.DATA.Navigation.Pages[PageNr].HTML.firstChild.firstChild.style.color="#CC0000";
	$('PropertyDisplayFrom').innerHTML=RESULTS_CORE.DATA.Navigation.Pages[PageNr].PropertyShowRange.From;
	$('PropertyDisplayTo').innerHTML=RESULTS_CORE.DATA.Navigation.Pages[PageNr].PropertyShowRange.To;

	var data=$A();data['PropertyIDs']=RESULTS_CORE.DATA.Navigation.Pages[PageNr].PropertyIDs;
	data['ordersubject']=RESULTS_CORE.MEM_STATE.OrderSubject;
	data['orderby']=RESULTS_CORE.MEM_STATE.OrderBy;

	favourites_LoggedIn=_favourites_Read_Email_Cookie();
	if(favourites_LoggedIn!=null)
	{
		_favourites_Get_Favourites(favourites_LoggedIn);
	}

	CtrlCall(RESULTS_CORE.CONTROLLER_CALL_URL+"&param=function:_get_Property_Search_One_Liners;","data="+serialize(data),"_load_Page_One_Liners");
    _Clone_Control($('result_Navigation_div'),"bottom");
}
function _load_Page_One_Liners(response)
{
	if (response.responseText.indexOf("decode_error")==0 || response.responseText=='null')
	{
		alert("Unable to load the needed search results.\nPlease contact us and inform us of this problem.");
		return;
	}
	try
	{
		var FavName="";
		var FavClick="";
		var Login="";
		var MainURL="";
		//_console(response.responseText);
		RESULTS_CORE.TMP._result_reponseSet=$M(response);
		RESULTS_CORE.DATA.Results.Properties=RESULTS_CORE.TMP._result_reponseSet.property_Data.Properties[0].Property;
		RESULTS_CORE.TMP.result_One_Liners_HTML="<table width='100%' align='center' id='result_table'>";
		RESULTS_CORE.DATA.Results.Properties.each(function(property)
		{
			if(!property.Photos)
			{
				property.Photos=$H();
			    property.Photos=$H();
			    property.Photos.Photo=$H();
		 	    property.Photos.Photo[0]=$H();
			    property.Photos.Photo[0].URL=MUFFIN_SHARED_URL+"images/property_search/no_image.jpg";
			    property.Photos.Photo[0].ImageName="_none";
			}
			
			if(!property.Description || !property.Description._content || property.Description._content=="")
			{
				property.Description=$H();
				property.Description=$H();
				property.Description._content="No description available for this property.";
			}
			if(!property.Agents)
			{
				property.Agents=$H();
				property.Agents=$H();
				property.Agents.Agent=$H();
				property.Agents.Agent[0]=$H();
				property.Agents.Agent[0].UserID="554";
			}
			
			if(favourites_LoggedIn==null)
			{
				FavName="Add as Favourite";
				favourites_needsreload=true;
				FavClick="favourites_LoginBox = new MaJiG_BOX(_favourites_Login_HTML("+property.TransactionID+"));";
			}
			else{

				switch(false)
			    {
			    
					case(!favourites_TransactionIDs[property.TransactionID]):
			
			    	       switch(RESULTS_CORE.TEMPLATE)
			    	       {
			    	       	       case("Favourites"):
			    	       	            FavName="Remove";
			    	       	            FavClick='_favourite_remove_favourite("'+favourites_LoggedIn+'","'+property.TransactionID+'")';
			    	       	       break;
			    	       	       default:
			    	       	            FavName="<span style='color: #000'>In Favourites</span>";
			    	       	            FavClick="_favourites_Handler();";
			    	       	            break;
			    	       }
	    	         break;
	    	         default:
	    	              FavName="Add as Favourite";
	    	              FavClick='_favourites_Set("'+favourites_LoggedIn+'","'+property.TransactionID+'");';
		             break;
			    }
			}
		
			var curPhoto = ShiftMainPhoto(property.Photos.Photo);
			
			if (curPhoto)
			{
				switch(curPhoto.ListingServiceID)
				{
					case "2":
					    MainURL=curPhoto.URL.replace("photo","thumbnail");
				    break;
				    case "3":
				        MainURL=curPhoto.URL.substr(0,curPhoto.URL.lastIndexOf('/'))+'/t'+curPhoto.ImageName;
			        break;
			        default:
			            MainURL=MUFFIN_CONNECT_IMAGES_URL+"_images/properties/tn"+curPhoto.Path+property.WebRef+"/tn_"+curPhoto.ImageName;
		            break;
				}
			}
			else
			{
				MainURL=MUFFIN_SHARED_URL+"/images/property_search/no_image.jpg";
				curPhoto = new Object();
				curPhoto.URL = MainURL;
			}

			var PaymentDescription=(property.DateSold>0)?"<span style='color:#000'>SOLD</span>":RESULTS_CORE.DATA.PaymentTypes[property.PaymentID].MethodDescription;
			var szDescription = stripTags(property.Description._content.unescapeHTML().unescapeHTML());
			var szHighlights = stripTags(property.Highlights._content.unescapeHTML().unescapeHTML());
			
			if(szHighlights)		
			{				
				var heading = (szHighlights.length > 33)?szHighlights.substr(0, 33) + ' ... ':szHighlights;				
			}
			else
			{
				var heading =  "<b>"+RESULTS_CORE.DATA.Suburbs[property.SuburbID].SuburbName+", "+RESULTS_CORE.DATA.Regions[property.RegionID].RegionName+"</b><br/><em>"+RESULTS_CORE.DATA.Types[property.TypeID].TypeName+"</em>";
			} 
					
			szDescription = (szDescription.length > 200)?szDescription.substr(0, 200) + ' ... ':szDescription;
			
			var szAgent = FirstElement(property.Agents.Agent);
			if (!szAgent)
			{
				szAgent = new Object();
				szAgent.UserID = 0;		
			}
			
			if(szAgent && szAgent.Status == 'T')
			{
				szAgent.onclick	="";
				szAgent.color	="#E0E0E0";
			}
			else
			{
				szAgent.onclick	="loadForm("+property.PropertyID+",\""+property.WebRef+"\","+szAgent.UserID+",\"remax.co.za\");";
				szAgent.color	="#C00";
			}
		
			if (curPhoto.URL && curPhoto.ListingServiceID)
			{
				curPhoto.URL = (curPhoto.ListingServiceID==1)?MUFFIN_CONNECT_IMAGES_URL+"_images/properties/large"+curPhoto.Path+property.WebRef+"/"+curPhoto.ImageName:curPhoto.URL;
			}
			
			// Property features
			var iBathrooms = property.Bathrooms, iBedrooms = property.Bedrooms, iGarages = property.Parking;
			//var szPropCurrencyType = "ZAR";
			var szPropCurrencyType = (property.PropCurrencyType != null)? property.PropCurrencyType : "ZAR";
			
			// Display price or mandate price
			var szPropertyPrice = "";
			// var szPropertyPrice = (property.PriceRange)?property.PriceRange:"$"+addCommas(property.MandatePrice);
			
			if (property.PaymentID==='3')
			{
				szPropertyPrice = 'On Auction';
				szPropCurrencyType = '';
			}
			else
			{
				switch(property.ShowPrice)
				{
					case '1' : szPropertyPrice = " "+ Math.round(property.MandatePrice);
							  break;
					case '2' : szPropertyPrice = property.PriceRange;
					           szPropCurrencyType = " ";
							  break;
					case '0' : szPropertyPrice = " ";
							   szPropCurrencyType = " ";
							  break;
					default  : szPropertyPrice = (property.PriceRange)?property.PriceRange:"$"+addCommas(property.MandatePrice);
							  break;
				}
                        }
                        if(property.DisplayPrice)
                            var displayPrice = property.DisplayPrice;
                        else
                            var displayPrice = szPropCurrencyType+" "+addCommas(szPropertyPrice);

                        if (iBathrooms>0 || iBedrooms>0 || iGarages>0)
			{
                            var featuresInclude = "<table style='color:#777;'><tr><td><img src='"+MUFFIN_SHARED_URL+"/images/property_details/feature_bedrooms_small.png' /></td><td style='padding-left:12px;'><img src='"+MUFFIN_SHARED_URL+"/images/property_details/feature_bathrooms_small.png' /></td><td style='padding-left:12px;'><img src='"+MUFFIN_SHARED_URL+"/images/property_details/feature_garages_small.png' /></td></tr><tr><td>"+iBedrooms+"</td><td style='padding-left:12px;'>" + iBathrooms + "</td><td style='padding-left:12px;'>"+iGarages+"</td></tr></table></td>";
			}
                        else
                        {
                            var featuresInclude = "";
                        }

                        if(PaymentDescription == "Sale")
                            PaymentDescription = "";
                        else
                            PaymentDescription = "( "+PaymentDescription+" )";

			RESULTS_CORE.TMP.result_One_Liners_HTML +="<table style='border-bottom:1px dotted #666;padding: 5px; 0px;' onmouseover='this.style.backgroundColor = \"#E5E5E5\";' onmouseout='this.style.backgroundColor =\"#ffffff\";' style='color:#555;' width='100%' cellspacing='0' cellpadding='0' border='0'>"+"<tr>"+"<td>"+"<a onclick='_Show_Property_Details(\""+property.WebRef+"\");' href='javascript:;' style='text-decoration:none;color:#000000;font-size:10px;'>Ref # "+property.WebRef+"</a><br/><a onclick='_Show_Property_Details(\""+property.WebRef+"\");' href='javascript:;'><img src='"+MainURL+"' style='height:75px;width:100px;border:solid 1px #000000;' border='0'></a><br/>"+featuresInclude+"</td>"+
                            ""+
                            "<td style='color:#000;text-align:left;width:385px;'><b>"+displayPrice+"</b> "+PaymentDescription+"<br/>"+heading+"<p style='color:#555;'>"+szDescription+"</p><p><a id='savelink_"+property.TransactionID+"' href='javascript:;' onclick='"+FavClick+"'>Bookmark</a> | <a onclick='_Show_Property_Details(\""+property.WebRef+"\");' href='javascript:;'>More info &gt;&gt;</a></p></td></tr>";
		
		});
		

		RESULTS_CORE.TMP.result_One_Liners_HTML+="</table>";_result_loading_layer(RESULTS_CORE.HTML_Elements.result_One_Liners_div,0,0,"100%","300",false);
		
		RESULTS_CORE.HTML_Elements.result_One_Liners_div.innerHTML=RESULTS_CORE.TMP.result_One_Liners_HTML;
		initLightbox();
		RESULTS_CORE.TMP=$H();
		if(SEARCH_CORE.RELOAD.STATE)
		{
			_repopulate_Search();
		}
	}
	catch(e)
	{
		_error_message("file : "+e.fileName+" <br >on line :"+e.lineNumber+"<br>"+e.message);
	}
}

function _feature_select (szFeatureName)
{
	var szHTML = "<img src='"+MUFFIN_SHARED_URL+"/images/property_details/feature_"+szFeatureName+"_small.png' /> "
				+"<select id='navigation_"+szFeatureName+"'>"+
				 "<option value='-1'>Any</option>";
				 
	for (var i=1; i<=RESULTS_CORE.DATA.Navigation.FeaturesMax; i++)
	{
		szHTML += "<option value='"+i+"'>"+i+"+</option>";
	}
	szHTML += "</select>";
		
	return szHTML;
		   
}


function _load_navigation(response)
{
	if (response.responseText.indexOf("decode_error")==0)
	{
		alert("Sorry, but your search results could not be loaded correctly.\n\nPlease contact us to report this problem, specifying how you got to this message, as well as the current address your browser is at.\n\nContact Us: " + RESULTS_CORE.SUPPORT_EMAIL);
		RESULTS_CORE.HTML_Elements.result_One_Liners_div.innerHTML = "";
		$('results_Navigation_PageDisplay').innerHTML=RESULTS_CORE.NO_PROP_MSG;
		return;
	}
	else if (response.responseText == "null")
	{
		RESULTS_CORE.HTML_Elements.result_One_Liners_div.innerHTML = "";
		$('results_Navigation_PageDisplay').innerHTML=RESULTS_CORE.NO_PROP_MSG;
		return;
	}
	
	try
	{
		RESULTS_CORE.HTML_Elements.result_One_Liners_div.innerHTML="";
		RESULTS_CORE.TMP._result_IDreponseSet=$M(response);
		
		switch(true)
		{
			case(RESULTS_CORE.TMP._result_IDreponseSet.property_Data!=null):
			    switch(RESULTS_CORE.TMP._result_IDreponseSet.property_Data.Properties[0]!=null)
			    {
			    	case(true):
			    	    RESULTS_CORE.DATA.Properties=RESULTS_CORE.TMP._result_IDreponseSet.property_Data.Properties[0].Property;
			    	    RESULTS_CORE.DATA.Navigation.Pages=$H();
			    	    RESULTS_CORE.DATA.Navigation.Controls=$H();
			    	    RESULTS_CORE.DATA.Navigation.Controls.PropertyDisplay=$H();
			    	    RESULTS_CORE.DATA.Navigation.TotalCount=$A(RESULTS_CORE.DATA.Properties).length;
			    	    RESULTS_CORE.DATA.Navigation.Controls.PropertyDisplay.HTML=_Navigation_Item("PropertyDisplay","<a class='searchgo' href='javascript:;' style='float:right' onclick='_Navigation_OrderBy();'>&nbsp;</a>Showing <span id='PropertyDisplayFrom' style='display:inline;'>0</span> - <span id='PropertyDisplayTo' style='display:inline;'>0 (Loading)</span> from "+RESULTS_CORE.DATA.Navigation.TotalCount+" Properties Ordered By <select id='navigation_order_subject' style='font-size:10px;color:#000;background-color:#E5E5E5;'><option value='price'>Price</option><option value='proptype'>Property Type</option><option value='paymenttype'>Payment Type</option></select>&nbsp;&nbsp;<select id='navigation_order_by' style='font-size:10px;color:#000;background-color:#E5E5E5;'><option value='desc'>Descending</option><option value='asc'>Ascending</option></select>"+
																									"<p /><p style='display:none;'><a class='searchgo' href='javascript:;' style='float:right' onclick='_Navigation_OrderBy();'>&nbsp;</a><b>Filter features:</b> "+_feature_select('bathrooms')+" &nbsp; "+_feature_select('bedrooms')+" &nbsp; "+_feature_select('garages')+"</p>");
			    	    
			    	    $('results_Navigation_PageDisplay').innerHTML="";
			    	    $('results_Navigation_Next').innerHTML="";
			    	    $('results_Navigation_Previous').innerHTML="";
			    	    $('results_Navigation_FirstPage').innerHTML="";
			    	    $('results_Navigation_LastPage').innerHTML="";
			    	    $('results_Navigation_PropertyDisplay').innerHTML="";
    	        	    $('results_Navigation_PropertyDisplay').appendChild(RESULTS_CORE.DATA.Navigation.Controls.PropertyDisplay.HTML);
    	        	    
			    	    RESULTS_CORE.TMP.listing_count=0;
			    	    RESULTS_CORE.TMP.page_count=1;
			    	    RESULTS_CORE.TMP.page_listing_count=0;
			    	    RESULTS_CORE.DATA.Navigation.Pages[RESULTS_CORE.TMP.page_count]=$H();
			    	    RESULTS_CORE.DATA.Navigation.Pages[RESULTS_CORE.TMP.page_count].PropertyIDs="-1";

			    	   	RESULTS_CORE.DATA.Navigation.Pages[RESULTS_CORE.TMP.page_count].HTML=_Navigation_Item("_Result_Navigation_Page_"+(parseInt(RESULTS_CORE.TMP.page_count)),"<strong><a href='javascript:;' style='color:#000;text-decoration:none;'>"+(parseInt(RESULTS_CORE.TMP.page_count))+"</a></strong>","onmouseover:_NavigationPage_MouseOver;onmouseout:_NavigationPage_MouseOut;onclick:_NavigationPage_Click;pagenr:1;style.cursor:'pointer'");
			    	    RESULTS_CORE.DATA.Navigation.Pages[RESULTS_CORE.TMP.page_count].PropertyShowRange=$H();
			    	    RESULTS_CORE.DATA.Navigation.Pages[RESULTS_CORE.TMP.page_count].PropertyShowRange.From=1;

			    	    RESULTS_CORE.DATA.Properties.each(function(property)
						{			    	  
							RESULTS_CORE.TMP.listing_count++;
			    	   		RESULTS_CORE.TMP.page_listing_count++;
			    	    	   	
			    	    	
			    	    	switch(RESULTS_CORE.TMP.page_listing_count<=RESULTS_CORE.DATA.Navigation.MaxResultsPerPage)
			    	    	{
			    	    		case true:
			    	    		    RESULTS_CORE.DATA.Navigation.Pages[RESULTS_CORE.TMP.page_count].PropertyIDs+=","+property.PropertyID;
			    	    		    RESULTS_CORE.DATA.Navigation.Pages[RESULTS_CORE.TMP.page_count].PropertyShowRange.To=RESULTS_CORE.TMP.listing_count;
		    	    		    break;
		    	    		    default:
		    	    		        RESULTS_CORE.TMP.page_listing_count=1;
		    	    		        RESULTS_CORE.TMP.page_count++;
		    	    		        RESULTS_CORE.TMP.page_count_new++;
		    	    		        RESULTS_CORE.DATA.Navigation.Pages[RESULTS_CORE.TMP.page_count]=$H();
		    	    		        RESULTS_CORE.DATA.Navigation.Pages[RESULTS_CORE.TMP.page_count].PropertyShowRange=$H();
		    	    		        RESULTS_CORE.DATA.Navigation.Pages[RESULTS_CORE.TMP.page_count].PropertyShowRange.From=RESULTS_CORE.TMP.listing_count;
		    	    		        RESULTS_CORE.DATA.Navigation.Pages[RESULTS_CORE.TMP.page_count].PropertyIDs="-1";
		    	    		        RESULTS_CORE.DATA.Navigation.Pages[RESULTS_CORE.TMP.page_count].PropertyIDs+=","+property.PropertyID;
		    	    		        RESULTS_CORE.DATA.Navigation.Pages[RESULTS_CORE.TMP.page_count].HTML=_Navigation_Item("_Result_Navigation_Page_"+(parseInt(RESULTS_CORE.TMP.page_count)),"<strong><a href='javascript:;' style='color:#000;text-decoration:none;'>"+(parseInt(RESULTS_CORE.TMP.page_count))+"</a></strong>","onmouseover:_NavigationPage_MouseOver;onmouseout:_NavigationPage_MouseOut;onclick:_NavigationPage_Click;pagenr:"+(parseInt(RESULTS_CORE.TMP.page_count))+";style.cursor:'hand'");
	    	    		        break;
			    	    	}
			    	    });
			    				    	    
			    	    RESULTS_CORE.DATA.Navigation.TotalPageCount=RESULTS_CORE.TMP.page_count;
			    	    RESULTS_CORE.DATA.Navigation.Pages[RESULTS_CORE.TMP.page_count].PropertyShowRange.To=RESULTS_CORE.TMP.listing_count;

			    	    switch($A(RESULTS_CORE.DATA.Navigation.Pages).length>RESULTS_CORE.DATA.Navigation.MaxPagesDisplay)
			    	    {
			    	    	case true:
			    	    	    RESULTS_CORE.DATA.Navigation.Controls.FirstPage=$H();
			    	    	    RESULTS_CORE.DATA.Navigation.Controls.FirstPage.PropertyShowRange=$H();
			    	    	    RESULTS_CORE.DATA.Navigation.Controls.FirstPage.PropertyShowRange.From=RESULTS_CORE.DATA.Navigation.Pages[1].PropertyShowRange.From;
			    	    	    RESULTS_CORE.DATA.Navigation.Controls.FirstPage.PropertyShowRange.To=RESULTS_CORE.DATA.Navigation.Pages[1].PropertyShowRange.To;
			    	    	    RESULTS_CORE.DATA.Navigation.Controls.FirstPage.PropertyIDs=RESULTS_CORE.DATA.Navigation.Pages[1].PropertyIDs;
			    	    	    RESULTS_CORE.DATA.Navigation.Controls.FirstPage.HTML=_Navigation_Item("_Result_Navigation_Page_First_Page","<strong><a href='javascript:;' style='color:#000;text-decoration:none;'>First Page</a></strong>","onclick:_NavigationPage_Click;pagenr:1;style.cursor:'hand'");
			    	    	    RESULTS_CORE.DATA.Navigation.Controls.LastPage=$H();
			    	    	    RESULTS_CORE.DATA.Navigation.Controls.LastPage.PropertyShowRange=$H();
			    	    	    RESULTS_CORE.DATA.Navigation.Controls.LastPage.PropertyShowRange.From=RESULTS_CORE.DATA.Navigation.Pages[RESULTS_CORE.TMP.page_count].PropertyShowRange.From;
			    	    	    RESULTS_CORE.DATA.Navigation.Controls.LastPage.PropertyShowRange.To=RESULTS_CORE.DATA.Navigation.Pages[RESULTS_CORE.TMP.page_count].PropertyShowRange.To;
			    	    	    RESULTS_CORE.DATA.Navigation.Controls.LastPage.PropertyIDs=RESULTS_CORE.DATA.Navigation.Pages[RESULTS_CORE.TMP.page_count].PropertyIDs;RESULTS_CORE.DATA.Navigation.Controls.LastPage.HTML=_Navigation_Item("_Result_Navigation_Page_Last_Page","<strong><a href='javascript:;' style='color:#000;text-decoration:none;'>Last Page</a></strong>","onclick:_NavigationPage_Click;pagenr:"+(parseInt(RESULTS_CORE.TMP.page_count))+";style.cursor:'hand'");
			    	    	    $('results_Navigation_FirstPage').appendChild(RESULTS_CORE.DATA.Navigation.Controls.FirstPage.HTML);
			    	    	    for(page=1;page<=RESULTS_CORE.DATA.Navigation.MaxPagesDisplay;page++)
			    	    	    {
			    	    	    	$('results_Navigation_PageDisplay').appendChild(RESULTS_CORE.DATA.Navigation.Pages[page].HTML);
			    	    	    }
			    	    	    $('results_Navigation_LastPage').appendChild(RESULTS_CORE.DATA.Navigation.Controls.LastPage.HTML);
		    	    	    break;
		    	    	    default:
		    	    	        RESULTS_CORE.DATA.Navigation.Pages.each(function(page)
		    	    	        {
		    	    	        	$('results_Navigation_PageDisplay').appendChild(page.value.HTML);
		    	    	        });
			    	    }
			    	    switch(RESULTS_CORE.TMP.page_count>1)
			    	    {
			    	    	case true:
			    	    	    $('results_Navigation_Next').appendChild(_Navigation_Item("_Result_Navigation_Next","<strong><a href='javascript:;' style='color:#C00;text-decoration:none;'>>></a></strong>","onclick:_Navigation_Next_Click"));
			    	    	    $('results_Navigation_Previous').appendChild(_Navigation_Item("_Result_Navigation_Next","<strong><a href='javascript:;' style='color:#C00;text-decoration:none;'><<</a></strong>","onclick:_Navigation_Previous_Click"));
			    	    	break;
			    	    }
			    	    RESULTS_CORE.TMP=$H();
			    	    
			    	    
			    	    _get_Properties_Page_Properties(RESULTS_CORE.MEM_STATE.selectedPage);
			    	    //RESULTS_CORE.HTML_Elements.result_One_Liners_div.innerHTML="";
						_Navigation_Reorder_PageDisplay(RESULTS_CORE.MEM_STATE.selectedPage);
						_Clone_Control($('result_Navigation_div'),"bottom");
			    	    
			    	    for(i=($('navigation_order_subject').options.length-1);i>0;i--)
			    	    {
			    	    	if($('navigation_order_subject').options[i].value==RESULTS_CORE.MEM_STATE.OrderSubject)
			    	    	{
			    	    		$('navigation_order_subject').options[i].selected=true;
			    	    	}
			    	    }
			    	    for(i=($('navigation_order_by').options.length-1);i>0;i--)
			    	    {
			    	    	if($('navigation_order_by').options[i].value==RESULTS_CORE.MEM_STATE.OrderBy)
			    	    	{
			    	    		$('navigation_order_by').options[i].selected=true;
			    	    	}
			    	    }
			    	    // restore feature states
			    	    if (RESULTS_CORE.MEM_STATE.MinBathrooms >= 0) 
							$('navigation_bathrooms').selectedIndex = RESULTS_CORE.MEM_STATE.MinBathrooms;
						if (RESULTS_CORE.MEM_STATE.MinBedrooms >= 0) 
							$('navigation_bedrooms').selectedIndex = RESULTS_CORE.MEM_STATE.MinBedrooms;
						if (RESULTS_CORE.MEM_STATE.MinGarages >= 0)
			    			$('navigation_garages').selectedIndex = RESULTS_CORE.MEM_STATE.MinGarages;
		    	        
			    	    break;
			    	    default:
			    	        $('results_Navigation_PropertyDisplay').innerHTML="";
			    	        $('results_Navigation_PageDisplay').innerHTML="<strong>"+RESULTS_CORE.NO_PROP_MSG+"</strong>";
			    	        if(SEARCH_CORE.RELOAD.STATE)
			    	        {
			    	        	_repopulate_Search();
			    	        }
		    	        break;
                        
			    }
			 break;
		    default:
		        $('results_Navigation_PropertyDisplay').innerHTML="";
		        $('results_Navigation_PageDisplay').innerHTML="<strong>"+RESULTS_CORE.NO_PROP_MSG+"</strong>";
			    if(SEARCH_CORE.RELOAD.STATE)
			    {
			    	_repopulate_Search();
			    }
		    break;
		    
		   
		}
	}
	catch(e)
	{
		_error_message("file : "+e.fileName+" <br >on line :"+e.lineNumber+"<br>"+e.message);
	}
}
function _Clone_Control(control,app_index_str)
{
	if($(control.id+app_index_str))
	{
	    $('Search_Results_Form').removeChild($(control.id+app_index_str));
	}
	var tmpnav = control.cloneNode(false);
    tmpnav.id = control.id+app_index_str;
    
    $('Search_Results_Form').appendChild(tmpnav);
    _Object_reIndex(control,tmpnav,app_index_str);
  
    stripWhitespace(tmpnav);
    tmpnav.firstChild.deleteRow(0);
    
}
function _Object_reIndex(element,clone_element,app_index_str)
{
   for(var i = 0; i < element.childNodes.length; i++)
   {
		var tmpnode = element.childNodes[i].cloneNode(false);
		
		if (element.childNodes[i].id!=undefined)
		{
			tmpnode.id = element.childNodes[i].id + app_index_str;
			
		}


		clone_element.appendChild(tmpnode);
		
			
		if(element.childNodes[i].pagenr)
		{
		   tmpnode.pagenr = element.childNodes[i].pagenr;
		}
		if(element.childNodes[i].onclick)
		{
		 tmpnode.onclick = element.childNodes[i].onclick;
		}

	
		if (element.childNodes[i].hasChildNodes())
        {
           _Object_reIndex(element.childNodes[i],tmpnode,app_index_str);
        }
     
   }

}
function stripWhitespace(element)
{
	for(var i = 0; i < element.childNodes.length; i++){
		var node = element.childNodes[i];
		if( node.nodeType == 3 && !/\S/.test(node.nodeValue)) 
		{
			node.parentNode.removeChild(node);
		};
	};
}
function _Navigation_Item(ID,HTML,attributes)
{
	try
	{
		var tmp=document.createElement("div");
	    tmp.style.display='inline';
	    tmp.style.margin='5px';
	    tmp.style.color='#000';
	    tmp.id=ID;
	    tmp.innerHTML=HTML;
	    switch(!attributes)
	    {
	    	case false:
		    	if(attributes.length>0)
		    	{
		    		attributes=$H(attributes.split(";"));
		    		attributes.each(function(attribute)
		    		{
		    			var tmpattr=attribute.value.split(":");
		    			eval("tmp."+tmpattr[0]+" = "+tmpattr[1]+";");
		    		});
		    	}
	    	break;
	    }
	    return tmp;
	}
	catch(e)
	{
		_error_message("file : "+e.fileName+" <br >on line :"+e.lineNumber+"<br>"+e.message);
	}
}
function _NavigationPage_MouseOver()
{
	this.style.backgroundColor='#ffffff';
}
function _NavigationPage_MouseOut()
{
	this.style.backgroundColor='';
}
function _Navigation_Next_Click()
{
	if(RESULTS_CORE.MEM_STATE.selectedPage<RESULTS_CORE.DATA.Navigation.TotalPageCount)
	{
		_Page_Handler(parseInt(RESULTS_CORE.MEM_STATE.selectedPage)+1);
	}
}
function _Navigation_Previous_Click()
{
	if(RESULTS_CORE.MEM_STATE.selectedPage>1)
	{
		_Page_Handler(parseInt(RESULTS_CORE.MEM_STATE.selectedPage)-1);
	}
}
function _NavigationPage_Click()
{
	_Page_Handler(this.pagenr);
}
function _Page_Handler(pageNr)
{
	switch(true)
	{
		case(pageNr!=RESULTS_CORE.MEM_STATE.selectedPage):
			RESULTS_CORE.HTML_Elements.result_One_Liners_div.innerHTML="";
			_Navigation_Reorder_PageDisplay(pageNr);
			_get_Properties_Page_Properties(pageNr);
		break;
	}
}
function _Navigation_OrderBy()
{
	_get_SearchResult_PropertyIDs($('navigation_order_subject').options[$('navigation_order_subject').selectedIndex].value,$('navigation_order_by').options[$('navigation_order_by').selectedIndex].value,
								  $('navigation_bathrooms').value, $('navigation_bedrooms').value, $('navigation_garages').value);
								  
	RESULTS_CORE.MEM_STATE.selectedPage=1;
}
function _Navigation_Reorder_PageDisplay(PageNr)
{
	try
	{
		while($('results_Navigation_PageDisplay').firstChild)
		{
			RESULTS_CORE.DATA.Navigation.Pages[$('results_Navigation_PageDisplay').firstChild.pagenr].HTML=$('results_Navigation_PageDisplay').removeChild($('results_Navigation_PageDisplay').firstChild);
		}
		var MaxPages=Math.min(RESULTS_CORE.DATA.Navigation.MaxPagesDisplay,RESULTS_CORE.DATA.Navigation.TotalPageCount);
		var MaxRange=(RESULTS_CORE.DATA.Navigation.TotalPageCount-Math.floor((RESULTS_CORE.DATA.Navigation.MaxPagesDisplay)/2));
		var MinRange=Math.ceil((RESULTS_CORE.DATA.Navigation.MaxPagesDisplay)/2);
		switch(true)
		{
			case(PageNr<MinRange):
				var pages_back=PageNr-1;
				var pages_forward=MaxPages-(pages_back+1);
			break;
			case(PageNr>MaxRange):var pages_forward=RESULTS_CORE.DATA.Navigation.TotalPageCount-PageNr;
			var pages_back=MaxPages-(pages_forward+1);
			break;
			default:
				var pages_back=Math.ceil(MaxPages/2)-1;
				var pages_forward=MaxPages-(pages_back+1);
			break;
		}
		for(i=pages_back;i>0;i--)
		{
			$('results_Navigation_PageDisplay').appendChild(RESULTS_CORE.DATA.Navigation.Pages[(parseInt(PageNr)-i)].HTML);
		}
		for(i=0;i<=pages_forward;i++)
		{
			$('results_Navigation_PageDisplay').appendChild(RESULTS_CORE.DATA.Navigation.Pages[(parseInt(PageNr)+i)].HTML);
		}
    }
	catch(e)
	{
		_error_message("file : "+e.fileName+" <br >on line :"+e.lineNumber+"<br>"+e.message);
	}
}
function _Show_Property_Details(WebRef)
{
	//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	//BEFORE URL FRIENDLY CHANGES
	//var szSearchData = (RESULTS_CORE.REQUEST.search_token)?RESULTS_CORE.REQUEST.search_token:'Property';
	//setTimeout("window.location = "+"'/Web-Reference/"+WebRef+"/Search-Data/"+szSearchData+"/Page"+RESULTS_CORE.MEM_STATE.selectedPage+"/'", 10);
	//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	var urlfriendly = (RESULTS_CORE.TEMPLATE == 'default')? "Search" : RESULTS_CORE.TEMPLATE;
	setTimeout("window.location = "+"'/Web-Reference/"+WebRef+"/"+urlfriendly+"/"+RESULTS_CORE.URLFRIENDLYSEARCHTOKEN+"/Page"+RESULTS_CORE.MEM_STATE.selectedPage+"/Criteria/OB:"+$('navigation_order_subject').options[$('navigation_order_subject').selectedIndex].value+","+$('navigation_order_by').options[$('navigation_order_by').selectedIndex].value+";F:"+$('navigation_bathrooms').value+","+$('navigation_bedrooms').value+","+$('navigation_garages').value+";/'", 10);
	//setTimeout("window.location = "+"'/Property-One-Liners/"+WebRef+"/"+urlfriendly+"/"+RESULTS_CORE.URLFRIENDLYSEARCHTOKEN+"/Page"+RESULTS_CORE.MEM_STATE.selectedPage+"/Criteria/OB:"+$('navigation_order_subject').options[$('navigation_order_subject').selectedIndex].value+","+$('navigation_order_by').options[$('navigation_order_by').selectedIndex].value+";F:"+$('navigation_bathrooms').value+","+$('navigation_bedrooms').value+","+$('navigation_garages').value+";/redirect/'", 10);
}
function _result_loading_layer(containerDiv,top,left,width,height,show)
{
	try
	{
		eval("if(!RESULTS_CORE.HTML_Elements."+containerDiv.id+"_loader){RESULTS_CORE.HTML_Elements."+containerDiv.id+"_loader = document.createElement('div');}");eval("containerDiv.appendChild(RESULTS_CORE.HTML_Elements."+containerDiv.id+"_loader);");eval("RESULTS_CORE.HTML_Elements."+containerDiv.id+"_loader.style.backgroundColor= '#f1f1f1';");
		eval("RESULTS_CORE.HTML_Elements."+containerDiv.id+"_loader.style.width=width;");
		eval("RESULTS_CORE.HTML_Elements."+containerDiv.id+"_loader.style.height= height;");
		eval("RESULTS_CORE.HTML_Elements."+containerDiv.id+"_loader.style.zIndex= '999';");
		eval("RESULTS_CORE.HTML_Elements."+containerDiv.id+"_loader.innerHTML= \"<table style='width:\"+RESULTS_CORE.HTML_Elements."+containerDiv.id+"_loader.style.width+\";height:\"+RESULTS_CORE.HTML_Elements."+containerDiv.id+"_loader.style.height+\";'><tr><td style='width:\"+RESULTS_CORE.HTML_Elements."+containerDiv.id+"_loader.style.width+\";height:\"+RESULTS_CORE.HTML_Elements."+containerDiv.id+"_loader.style.height+\"; vertical-align: middle' align='center' valign='middle' /><img src ='http://shared.findproperty.co.za/images/property_search/remaxloading.gif' align='middle'></td></tr></table>\";");
		switch(show)
		{
			case true:
				eval("RESULTS_CORE.HTML_Elements."+containerDiv.id+"_loader.style.display = 'block';");
			break;
			default:
			    eval("RESULTS_CORE.HTML_Elements."+containerDiv.id+"_loader.style.display = 'none';");
			break;
		}
	}
	catch(e)
	{
		_error_message("file : "+e.fileName+" <br >on line :"+e.lineNumber+"<br>"+e.message);
	}
}

function ShowOneLinersSearch()
{
	$('one_liner_criteria_display').style.display = "none";
	$('one_liner_refine_search').style.display = "inline";
	
	property_search_init('',13,'');
	_repopulate_Search();

}
