/*** AJAX SETTINGS ***/
var AjaxRequest=new Object(); var PostAjaxSuccessFunctionCall; var AjaxToReturnXml;
function AjaxHTTPRequestObjectCreate() { if( window.XMLHttpRequest ) return new XMLHttpRequest(); else return new ActiveXObject("Microsoft.XMLHTTP"); }
function AjaxDoConnection( Url , OnloadFunc , CallMethod , SendVars , ReturnXml ) { if( CallMethod=='' ) CallMethod = 'GET'; if( SendVars=='' ) SendVars = null; AjaxRequest[OnloadFunc] = new AjaxHandler(); AjaxRequest[OnloadFunc].run( Url , OnloadFunc , CallMethod , SendVars , ReturnXml ); }
function AjaxEventHandler() { if(AjaxRequest.readyState==4) { if(AjaxToReturnXml) ResponseValue=AjaxRequest.responseXML; else ResponseValue=AjaxRequest.responseText; eval(PostAjaxSuccessFunctionCall+'(ResponseValue);'); } }
var isLocked=false; var currentConnection=""; 
function test(Url,OnloadFunc,CallMethod,SendVars,ReturnXml) { AjaxDoConnection(Url,OnloadFunc,CallMethod,SendVars,ReturnXml); }
var i=0;
function AjaxHandler()
{
	this.oAjaxRequest=''; this.callBackMethod=''; this.returnXml=''; this.run=function(Url,OnloadFunc,CallMethod,SendVars,ReturnXml) { this.callBackMethod=OnloadFunc; this.returnXml=ReturnXml; this.oAjaxRequest=AjaxHTTPRequestObjectCreate(); this.doConnection(Url,OnloadFunc,CallMethod,SendVars); }
	this.doConnection=function(Url,OnloadFunc,CallMethod,SendVars,ReturnXml) { if(!isLocked) { isLocked=true; currentConnection=OnloadFunc; this.oAjaxRequest.onreadystatechange=this.ajaxEventHandler; this.oAjaxRequest.open(CallMethod,Url,true); this.oAjaxRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8"); this.oAjaxRequest.send(SendVars); } else { var callBack="AjaxRequest[OnloadFunc].doConnection('"+Url+"','"+OnloadFunc+"','"+CallMethod+"','"+SendVars+"','"+ReturnXml+"')"; window.setTimeout(callBack,100); } }
	this.ajaxEventHandler=function() { if(AjaxRequest[currentConnection].oAjaxRequest.readyState==4) { if(AjaxRequest[currentConnection].returnXml ) var ResponseValue=AjaxRequest[currentConnection].oAjaxRequest.responseXML; else var ResponseValue=AjaxRequest[ currentConnection ].oAjaxRequest.responseText; eval (AjaxRequest[currentConnection].callBackMethod+'(ResponseValue);'); isLocked=false; } }
}	
function EncodeSendVarsChars( EncodedChars ) { EncodedChars = EncodedChars.replace(/=/g,"%3D"); EncodedChars = EncodedChars.replace(/&/g,"%26"); EncodedChars = EncodedChars.replace(/@/g,"%40"); return EncodedChars; }
function AjaxResponseText( AjaxObj ) { return AjaxObj.responseText; }
function AjaxResponseXML( AjaxObj ) { return AjaxObj.responseXML; }
function GetSimpleNodeValue( XMLResponse , Tagname , TagNodeId , ChildNodeId ) { if(TagNodeId=='') TagNodeId=0; if(ChildNodeId=='') ChildNodeId=0; return XMLResponse.getElementsByTagName(Tagname)[TagNodeId].childNodes[ChildNodeId].nodeValue; }
function parseScript(_source) { var source = _source; var scripts = new Array(); while(source.indexOf("<script") > -1 || source.indexOf("</script") > -1) { var s = source.indexOf("<script"); var s_e = source.indexOf(">", s); var e = source.indexOf("</script", s); var e_e = source.indexOf(">", e); scripts.push(source.substring(s_e+1, e)); source = source.substring(0, s) + source.substring(e_e+1); } for(var i=0; i<scripts.length; i++) { try { eval(scripts[i]); } catch(ex) { } } return source; }



/*** SEARCH FORM ***/
function ShowAdvancedSearch() { 
	//var messages = new Array();
	//messages = getLangMessages(lang);
	document.getElementById('search_type').value = 'advanced_search'; 
	document.getElementById('search_type_link').innerHTML = 'Simple search'; 
	document.getElementById('search_type_link').href = 'javascript:HideAdvancedSearch();'; 
	document.getElementById('advanced_search_wrapper').style.display = 'block'; 
	document.getElementById('advanced_search_title').style.display = 'inline'; 
	document.getElementById('simple_search_submit').style.display = 'none'; 
}
function HideAdvancedSearch() {
	//var messages = new Array();
	//messages = getLangMessages(lang);
	document.getElementById('search_type').value = 'simple_search';
	document.getElementById('search_type_link').innerHTML = 'Advanced search'; 
	document.getElementById('search_type_link').href = 'javascript:ShowAdvancedSearch();'; 
	document.getElementById('advanced_search_wrapper').style.display = 'none'; 
	document.getElementById('advanced_search_title').style.display = 'none'; 
	document.getElementById('simple_search_submit').style.display = 'block';
}

function getLangMessages(lang) {
	var obj= new array();
	switch(lang){
		case "en":
		obj['adv'] = "Advanced search";
		obj['smp'] = "Simple search";
		break;
		case "es":
		obj['adv'] = "Búsqueda avanzada";
		obj['smp'] = "Búsqueda sencilla";
		break;
		case "fr":
		obj['adv'] = "Advanced search";
		obj['smp'] = "Simple search";
		break;
		case "nl":
		obj['adv'] = "Advanced search";
		obj['smp'] = "Simple search";
		break;
		
		
		
	}	
}

/*** SEARCH RESULT PAGE ***/
function SerchResultGoToPage( page ) { 
	document.getElementById('page').value = page; 
	searchAjaxSubmit($('#search-result-form'));
	//document.getElementById('search-result-form').submit();
}
function SerchResultSortResult() { 
	if( document.getElementById('sort').value=='low_to_high' ) document.getElementById('sort').value='high_to_low'; else document.getElementById('sort').value='low_to_high';
	searchAjaxSubmit($('#search-result-form'));
	//document.getElementById('search-result-form').submit(); 
}
function SerchResultChangeView() { if( document.getElementById('view').value=='gallery' ) document.getElementById('view').value='list'; else document.getElementById('view').value='gallery'; document.getElementById('page').value = 1;
	//document.getElementById('search-result-form').submit();
	searchAjaxSubmit($('#search-result-form'));
}
function SerchResultBackToSearch() { document.getElementById('search-result-form').action = SOLUTION_URL + 'property_search.php?lb';
	//document.getElementById('search-result-form').submit();
	searchAjaxSubmit($('#search-result-form'));
}
function OpenDetails( id , type ) { document.getElementById('id').value = id; document.getElementById('type').value = type; switch( type ) { case 'development': document.getElementById('search-result-form').action = 'development_details.php'; break; case 'property': document.getElementById('search-result-form').action = 'property_details.php'; break; default: document.getElementById('search-result-form').action = 'search_results_list.php'; break; }
	//document.getElementById('search-result-form').submit();
	searchAjaxSubmit($('#search-result-form'));
}

/*** PROPERTY DETAILS ***/
function PropertyDetailsBackToSearchResult() { document.getElementById('property-details-form').submit(); }
