	function ajaxFunction() {
		var xmlHttp
		try {
			// Firefox, Opera 8.0+, Safari
			xmlHttp=new XMLHttpRequest();
		}	catch (e) {
			// Internet Explorer
			try {
				xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				try {
					xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
				}	catch (e) {
					alert("Your browser does not support AJAX!");
					return false;
				}
			}
		}
		return xmlHttp;
	}	
	
	//Normal ajax function
	function sendFilter(url) {
		var xmlHttp = ajaxFunction();
		xmlHttp.open("GET",url,true);
		xmlHttp.send(null);
	}	
	
	
	function ajaxSend(url, name) {
		var xmlHttp = ajaxFunction();
		xmlHttp.open("GET",url,true);
		xmlHttp.onreadystatechange = function() {
				if (xmlHttp.readyState == 4) {
						if (xmlHttp.status == 200) {
							ajaxResults(xmlHttp.responseXML.documentElement, name);
						}
				}
		}
		xmlHttp.send(null);
	}
	function ajaxSendD(url, name, dName) {
		ajaxSend(url, name);
		var d = document.getElementById(dName);
		if (d != null && d.innerHTML.indexOf("/images/cms/ajax-loader-2.gif") == -1) d.innerHTML += "<img src='/images/cms/ajax-loader-2.gif' alt='Please wait' align='absmiddle' />";
	}	
	
	function ajaxResults(xmlDoc, name) {
		switch (name) {
			case "villas":
				showVillaResults(xmlDoc);
			break;
			case "generic":
				if (xmlDoc != null) {
					str = xmlDoc.getElementsByTagName("function")[0].childNodes[0].nodeValue;
					eval(str);
				}
			break;
		}
	}


	var villaAjaxTS = 0;
	var villaAjax = "";
	var villaAjaxTimer;
	function showVillas(e, obj) {
		var ts = new Date().getTime();
		if (villaAjaxTS + 500 < ts && obj.value.trim().length >= 2 && villaAjax != obj.value.trim()) {
			luxOnly = (acLuxMode) ? 1 : 0;
			ajaxSend("/search/jvh08/ajax.cfm?type=villas&lux=" + luxOnly + "&name=" + obj.value, "villas");
			villaAjaxTS = ts;
			villaAjax = obj.value;
			villaAjaxTimer = window.setTimeout("showVillas(null, document.quicksearch.autocom_villa);",1000);
		} else if (obj.value.trim().length == 0) {
			showAutocom(0, document.quicksearch);
		}
	}
	
	function showVillaResults(xmlDoc) {
		var villas = xmlDoc.getElementsByTagName('villa');
		var frm = document.quicksearch;
		frm.aclist.options.length = 0;
		if (villas && villas.length > 0) {
			var vilLen = villas.length;
			for (i=0;i<vilLen;i++) {
				frm.aclist.options[frm.aclist.options.length] = new Option(villas[i].getElementsByTagName("name")[0].childNodes[0].nodeValue, villas[i].getElementsByTagName("id")[0].childNodes[0].nodeValue +":" + villas[i].getElementsByTagName("resort_id")[0].childNodes[0].nodeValue + ":" + 0 + ":" + villas[i].getElementsByTagName("villa_link")[0].childNodes[0].nodeValue);
			}
		}
		showAutocom(2, document.quicksearch);
	}	

