// JavaScript Document
function bodyOnloadCommon()
{
}

var preloader_1='<div style="color:#FFFFFF; font-family:tahoma;font-size:11px; font-weight:bold" align="center">Loading..</div>';
var preloader_2='<span style="color:#000000; font-family:tahoma;font-size:11px; font-weight:bold" align="center">Loading..</span>';
var preloader_3='<div style="color:#000000; font-family:tahoma;font-size:11px; font-weight:bold;padding-top:300px;padding-bottom:300px;" align="center">Loading..</div>';
 function updateClick(id){
   callsyn('lib.syn/callfunction.php?action=saveClick&id='+id,'',false,false,preloader_3,false,false)
 }

function callUrl(target_url,return_target_pos)
{
	callsyn(target_url,'',return_target_pos,false,false,false,false);
}
var lan_obj=document.getElementById('lan');

function replaceText(obj)
{
	if(lan_obj){
	if(obj.nodeValue.toLowerCase()!=obj.nodeValue.toUpperCase()&&obj.parentNode.nodeName!='SCRIPT')
	{
		//alert(obj.nodeValue)
		var target=obj.nodeValue+'=';
		var tmp_start=lan_obj.value.indexOf(target)+target.length
		if(tmp_start!=0)
		{
			var tmp_end=lan_obj.value.indexOf('~',tmp_start)
			var tmp_len=tmp_end-tmp_start;
			var tmp_rep=lan_obj.value.substr(tmp_start,tmp_len)
			
			if(obj.nodeValue=='Full Name');	
			if(tmp_rep.indexOf('of language')==-1&&tmp_rep.indexOf('=')==-1&&lan_obj.value.match(new RegExp(obj.nodeValue))&&!lan_obj.value.match(new RegExp('='+obj.nodeValue+'~')))
			{
				obj.nodeValue=tmp_rep;
			}
			
		}
		//tmp_rep='';
	}
	}
	
}

function callsyn(target_url,poststr,return_target_pos,oncom_function,preloader,debug,getform)
{	
	
	//----------------------------------------------
	// This code is created by Rahul Chaturvedi
	// Only frnds can use this code. 
	//----------------------------------------------
	

	//----------------------------------------------
	//Get post parameter
	//----------------------------------------------

	if(getform)
	{
		poststr+=(poststr.substr(poststr.length-1,poststr.length-1)=='&')?'':'&';
		var form=document.getElementById(getform);
		for(var i=0;i<form.elements.length;i++)
		{
			if(form.elements[i].multiple&&form.elements[i].name)
			{
				var optval='';
				var opt=form.elements[i].options;
				for(var j=0;j<opt.length;j++)
				{
					if(opt[j].selected)
						optval+=opt[j].value+'~';
				}
				//optval=optval.substring(0,optval.length-2)
				poststr +=form.elements[i].name+'='+encodeURIComponent(optval);
			}
			else if(form.elements[i].type=='checkbox')
			{
				if(form.elements[i].checked&&form.elements[i].name)
					poststr +=form.elements[i].name+'='+encodeURIComponent(form.elements[i].value);
			}
			else if(form.elements[i].name)
			{
				poststr +=form.elements[i].name+'='+encodeURIComponent(form.elements[i].value);
			}
			
			if(i!=form.elements.length-1)
			poststr+='&'
		}
	}
	
	
	//----------------------------------------------
	//Preloader
	//----------------------------------------------
	
	if(return_target_pos&&preloader) 
	{
		document.getElementById(return_target_pos).innerHTML=preloader;
	}
	var connectionerror='';

	//----------------------------------------------
	//Creating connection request
	//----------------------------------------------
	
	var xmlhttp = false;
	if (window.XMLHttpRequest) 
	{ 
		xmlhttp = new XMLHttpRequest();if (xmlhttp.overrideMimeType) xmlhttp.overrideMimeType('text/html'); 
	} 
	else if (window.ActiveXObject) 
	{ 
		 try 
		 {
			  if (!(xmlhttp = new ActiveXObject("Msxml2.XMLHTTP")))alert(connectionerror)
			  
		 } 
		 catch (e) 
		 {
			 try 
			 {
			   xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			 } catch (e) {alert(connectionerror)}
		 }
	}
	
	//----------------------------------------------
	//Comunicating
	//----------------------------------------------
	
	 xmlhttp.open('POST', target_url, true);
	 xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	 xmlhttp.setRequestHeader("Content-length", poststr.length);
	 xmlhttp.setRequestHeader("Connection", "close");
	 xmlhttp.send(poststr);
	 xmlhttp.onreadystatechange = function()
	 {
		 if (xmlhttp.readyState == 4) 
		 {
				//alert(xmlhttp.status)
				if (xmlhttp.status == 200) 
				{
					result = xmlhttp.responseText; 
					var jscode = "";
					var parts = result.match(/<script[^>]*>(.|\n|\t|\r)*?<\/script>/gi);
					if(parts){
						for(i=0;i<parts.length;i++){
							jscode += parts[i].replace(/<script[^>]*>|<\/script>/gi, "");
							result = result.replace(parts[i], "");
						}
					}						
					if(return_target_pos)
					{
						//alert('POST');
						if(document.getElementById(return_target_pos))
						document.getElementById(return_target_pos).innerHTML=result
						
					}
					if(jscode != "")
					{
						var incomingScript = document.createElement('SCRIPT');
						incomingScript.type = 'text/javascript'; 
						incomingScript.lang = 'javascript';
						incomingScript.defer = true;
						incomingScript.text = jscode;
						document.getElementsByTagName('head')[0].appendChild(incomingScript);
					}	
					//alert(document.getElementsByTagName('head')[0].innerHTML);
					
					if(oncom_function)
						oncom_function(result);
					
					
					var lan_obj=document.getElementById('lan');
					var nodes=document.getElementsByTagName("*");
					for(i=0;i<nodes.length;i++)
					{
						if(nodes[i].firstChild)
						{
							if(nodes[i].firstChild.nodeType==3)
							{
								replaceText(nodes[i].firstChild);
							}
						}
					}

					
					
					
					
					
					
					
					xmlhttp=false;
				} 
				else
				{
					if(debug)
					document.write('<div style="padding-top:150px;font-family:tahoma; font-size:11px; color:#FF0000; font-weight:bold" align="center">An error have been occured while communicating with server, <br/><br/> Error 404 : URL ( '+target_url+' ) not found  <br/><br/> Post Parameter : '+poststr+'</div>')
				}
			}
	 };
}

function ob(id)
{
	var obj
	if(obj = document.getElementById(id))	
		return obj;
	else
		return false;
}
function isOkEmail(email)
{
	if(email.indexOf("@")==-1){
		return false;
	}
	else if(email.lastIndexOf(".")==-1){
		return false;
	}
	else if(email.lastIndexOf(".")<email.indexOf("@")){
		return false;
	}
	else
		return true;	
}

function isNumaric(obj)
{
	var value=obj.value
	var corrected=''
	var temp='';
	for(i=0;i<value.length;i++)
	{
		temp=value.charAt(i);
		if('0'<=temp&&temp<='9')
		corrected+=temp;
	}
	obj.value=corrected;
}
function isFloat(obj)
{
	var value=obj.value
	var corrected=''
	var temp='';
	for(i=0;i<value.length;i++)
	{
		temp=value.charAt(i);
		if('0'<=temp&&temp<='9'||temp=='.')
		corrected+=temp;
	}
	obj.value=corrected;
}







			var map;
			var geocoder;
			var address;
		
			function initialize() 
			{
				  map = new GMap2(document.getElementById("map_canvas"));
				  map.setCenter(new GLatLng(40.00,4.00),2);
				  map.addControl(new GSmallMapControl());
				  map.addControl(new GMapTypeControl());
				 // GEvent.addListener(map, "click", getAddress);
				  geocoder = new GClientGeocoder();
			}
			
			function getAddress(overlay, latlng) 
			{
			  if (latlng != null) {
				address = latlng;
				geocoder.getLocations(latlng, showAddressOnClick);
			  }
			}
		
			function showAddressOnClick(response) 
			{
			  map.clearOverlays();
			  if (!response || response.Status.code != 200) 
			  {
				//alert("Status Code:" + response.Status.code);
			  } 
			  else 
			  {
				place = response.Placemark[0];
				point = new GLatLng(place.Point.coordinates[1],place.Point.coordinates[0]);
				querystring=parseAddress(place.address)
				if(document.getElementById('showresult').checked)
				{
					//parent.location.href=;
					callsyn("lib.syn/search.php?"+querystring,'',false,false,false,false,false);
				}
				else
				{
					map.addOverlay(createMarker(point,
											'<span style="font-size:11px;font-family:tahoma;line-height:20px">Address : <strong>'+place.address+'</strong><br>'+
											'<span style="font-size:11px;font-family:tahoma;line-height:20px">Country : <strong>'+place.AddressDetails.Country.CountryName+'</strong><br><br>'+
											'<input value="Start search in this location" onclick="parent.location.href=\'search.php?'+querystring+'\'" type="button" style="font-family:tahoma; font-size:11px;"></span><br>'
				));
				}
			  }
			}
			
			function showAddressSearch(address,property) 
			{
			  if (geocoder) 
			  {
				geocoder.getLatLng(address,
				  function(point) 
				  {
					if (!point) 
					{
					  //alert(address + " not found");
					} 
					else 
					{
					  map.setCenter(point, 12);
					  map.addOverlay(createMarker(point,property));
					  if(document.getElementById('showresult').checked)
					  {
							geocoder.getLocations(point, showAddressOnClick);
					  }
					}
				  }
				);
			  }
			}
			
			function createMarker(latlng,property) 
			{
				var baseIcon = new GIcon(G_DEFAULT_ICON);
				baseIcon.iconSize = new GSize(19, 25);
				baseIcon.shadowSize = new GSize(0,0);
				//baseIcon.iconAnchor = new GPoint(40,40);
				//baseIcon.infoWindowAnchor = new GPoint(40,40);
				var letteredIcon = new GIcon(baseIcon);
				letteredIcon.image = "http://housesholidays.com/icon.gif";
				markerOptions = { icon:letteredIcon};
				var marker = new GMarker(latlng,markerOptions);
				
				GEvent.addListener(marker,"mouseover", function(){
						var myHtml = '<span style="font-size:11px;font-family:tahoma;line-height:20px">'+property+'</span>';
						map.openInfoWindowHtml(latlng,myHtml);
				});
				return marker;
			}
			
			
			//My functions
			function markRentals()
			{
				  if(address)
				  if(address.length!=0)
				  {
						for(i=0;i<parent.address.length;i++)
						showAddressSearch(parent.address[i],parent.property[i]); 
				  }
			}
			
			function parseAddress(address)
			{
				var addresslist=address.split(", ")
				
				var querystring=''
				if(addresslist.length==1)
				{
					querystring='Country='+addresslist[addresslist.length-1];
				}
				if(addresslist.length>1)
				{
					querystring='Country='+addresslist[addresslist.length-1]+'&Province='+addresslist[addresslist.length-2];
				}
				if(addresslist.length>2)
				{
					querystring='Country='+addresslist[addresslist.length-1]+'&Province='+addresslist[addresslist.length-2]+'&Destination='+addresslist[addresslist.length-3];
				}
				
				var searchby=document.getElementById('address').value;
				if(searchby!='')
				{
					if(searchby.toLowerCase()==addresslist[addresslist.length-1].toLowerCase())
						querystring='Country='+addresslist[addresslist.length-1];
					else if(searchby.toLowerCase()==addresslist[addresslist.length-2].toLowerCase())
						querystring='Country='+addresslist[addresslist.length-1]+'&Province='+addresslist[addresslist.length-2];
					else
						querystring='Country='+addresslist[addresslist.length-1]+'&Province='+addresslist[addresslist.length-2]+'&Destination='+addresslist[addresslist.length-3];
				}
				
				return querystring;
			}
			
				


