<!--	
	function URLEncode(clearString) {
	  var output
	  var x = 0;
	  output = clearString.toString();
	 	output = output.replace(/&/gi,"%26");
		output = output.replace(/ô/gi,"%D4");
	  return output;	  
	}

	
	function Initialise_Towns(Yes_Or_No) {
		if (Yes_Or_No = "Yes") {
			var Text = "<select name='Town' id='Town' class='dropdowns' title='Which Town or Village'><option value='Any' title='Any'>Any </option></select>"
			document.getElementById("The_Towns").innerHTML = Text;
		}
	}
	
	var xmlHttp
	
	function Select_Towns_Selected(Region) {		
		xmlHttp = GetXmlHttpObject()
		if (xmlHttp == null) {
 			alert ("Browser does not support HTTP Request")
 			return
 		} 
				
	  	var Region = Region
		if (Region !== "Any") {				
			var url= "towns.php?Region=" + URLEncode(Region) + "&sid=" + Math.random();			
			xmlHttp.onreadystatechange = stateChanged ;
			xmlHttp.open("GET",url,true);
			xmlHttp.send(null);
		}
		if (Region == "Any") {
			clearSelect = document.getElementById('Town'); 
			clearSelect.options.length = 1;   
		}
	}	

	function Select_Towns(Region_Details) {		
		xmlHttp = GetXmlHttpObject()
		if (xmlHttp == null) {
 			alert ("Browser does not support HTTP Request")
 			return
 		} 
		
		var id = Region_Details.selectedIndex;		
	  	var Region = Region_Details[id].value
		if (Region !== "Any") {				
			var url= "towns.php?Region=" + URLEncode(Region) + "&sid=" + Math.random();			
			xmlHttp.onreadystatechange = stateChanged ;
			xmlHttp.open("GET",url,true);
			xmlHttp.send(null);
		}
		if (Region == "Any") {
			clearSelect = document.getElementById('Town'); 
			clearSelect.options.length = 1;   
		}
	}		
	
	function stateChanged() {		   
 		if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") {			
			var Text;	
			var Middle_Text;
			var Town_String = xmlHttp.responseText;				
			var Town_Array = Town_String.split("|");			
			var Middle_Text = "<option value='Any' title='Any'>Any </option>"	
			for (var i = 0; i < Town_Array.length - 1; i++) {	
				Middle_Text = Middle_Text + "<option value='" + Town_Array[i] + "' title='" + Town_Array[i] + "'>" + Town_Array[i] + " </option>";					
			}
			Text = "<select name='Town' class='dropdowns' id='Town' title='Which Town or Village'>" + Middle_Text + "</select>";				
			if (Town_Array.length > 1) {				
				document.getElementById("The_Towns").innerHTML = Text;	
			}
			else {				
				document.getElementById("The_Towns").innerHTML = "(There are no towns or villages for this region)<input type='hidden' name='Town' value='0'>";	
			}
		}  		
	}
	
	function GetXmlHttpObject() {
		var xmlHttp = null;
		try { 		
 		// Firefox, Opera 8.0+, Safari
 			xmlHttp=new XMLHttpRequest();
 		}
		catch (e) {
 		// Internet Explorer
			try {  
  				xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
  			}
 			catch (e) { 
  			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  			}
	 	}
		return xmlHttp;
	}	
	
	function validate_form() {	
	
			if (!document.Advanced_Search_Form.Property_Type_Villa_Chateaux_Country_Houses.checked & !document.Advanced_Search_Form.Property_Type_Apartments_Studios.checked & !document.Advanced_Search_Form.Property_Type_Holiday_Villages_Resorts_Theme_Parks.checked & !document.Advanced_Search_Form.Property_Type_Campsite.checked & !document.Advanced_Search_Form.Property_Type_Hotels.checked & !document.Advanced_Search_Form.Property_Type_Chalets_Skiing_Accommodation.checked) {				
			alert("Please select one or more types of Holiday");			
	        return false;
		}
		
		if ((trim(document.Advanced_Search_Form.Price.value) == "" | trim(document.Advanced_Search_Form.Price.value) == "enter numerical value") & !document.Advanced_Search_Form.Any_Price.checked) { 		
			alert("Please either complete a Price or select 'Any'");			
	        return false;
		}
		
		if ((trim(document.Advanced_Search_Form.Price.value) !== "" & trim(document.Advanced_Search_Form.Price.value) !== "enter numerical value") & document.Advanced_Search_Form.Any_Price.checked) { 		
			alert("Please either complete a Price or select 'Any' but not both");			
	        return false;
		}	
		
		if ((trim(document.Advanced_Search_Form.Price.value) !== "" & trim(document.Advanced_Search_Form.Price.value) !== "enter numerical value") & !document.Advanced_Search_Form.Any_Price.checked & isNaN(trim(document.Advanced_Search_Form.Price.value))) { 		
			alert("Please either complete a valid numerical Price");			
	        return false;
		}	
		
		return true;
	}	
		
	function trim(str) {	
   		return str.replace(/^\s*|\s*$/g,"");
	}
//-->