var SearchHome = function() {
	this.provincie = "";
	this.listPlace = null;
	this.lastInput = null; 
	this.gemeente = "";
}
SearchHome.prototype = {
	changeProvincie: function(val) {
		this.provincie = val;
		this.gemeente = "";
		if(typeof(this.listPlace) == "object" && this.listPlace != null) {
			this.listPlace.innerHTML = "";
			this.listPlace.style.display = "none";
			document.getElementById('plaatsnamen').value = "";
			document.getElementById('plaatsnamen_id').value = "";
		}
	},
	handleNewProv: function(xml) {

	},
	autoCompleteBox: function(xml) {
		searchHome.listPlace.innerHTML = "";
		searchHome.listPlace.style.display = "block";
		searchHome.listPlace.style.position = 'absolute';
		
		var ulItm = document.createElement("ul");
		for(i = 0; i < xml.returnXml().getElementsByTagName("plaats").length; i++) {
			//alert(i)
			var liItm = document.createElement("li");
			liItm.id = xml.returnXml().getElementsByTagName("plaats")[i].getAttribute("id");
			liItm.setAttribute("provincieID", xml.returnXml().getElementsByTagName("plaats")[i].getAttribute("provincieID"));
			
			if(i == 0) {
				liItm.className = "selected";
			}
			liItm.onmouseover = function () {this.className = "selected";}
			liItm.onmouseout = function () {this.className = "";}
			
			
			var val = xml.returnXml().getElementsByTagName("plaats")[i].getAttribute("name");
			liItm.setAttribute("name", val)
			liItm.innerHTML = "<strong>" + val.substr(0, searchHome.lastInput.value.length) + "</strong>" + val.substr(searchHome.lastInput.value.length, val.length);
			liItm.onclick = function() {
				searchHome.fillField(this.name, this.id, this.provincieID);
			}
			ulItm.appendChild(liItm);
			
			if(i > 1) {
				break;
			}
		}
		searchHome.listPlace.style.position = 'absolute';
		searchHome.listPlace.style.top = (searchHome.lastInput.offsetTop + 15) + "px";
		searchHome.listPlace.appendChild(ulItm);
		
		if(xml.returnXml().getElementsByTagName("plaats").length == 1) {
			var naam = xml.returnXml().getElementsByTagName("plaats")[0].getAttribute("name").toLowerCase();
			var inp = searchHome.lastInput.value.toLowerCase();
			
			if(naam == inp || naam == inp + " (" + inp + ")") {
				var plaats = xml.returnXml().getElementsByTagName("plaats")[0].getAttribute("name")
				var plaatsId = xml.returnXml().getElementsByTagName("plaats")[0].getAttribute("id")
				var provincie = xml.returnXml().getElementsByTagName("plaats")[0].getAttribute("provincieID")
				searchHome.fillField(plaats, plaatsId, provincie);
			}
		}
		if(xml.returnXml().getElementsByTagName("plaats").length == 0) {
			searchHome.listPlace.innerHTML = "";
			searchHome.listPlace.style.display = "none";
		}
	},
	fillField: function(val, id, provId) {
		this.lastInput.value = val;
		document.getElementById("plaatsnamen_id").value = id
		
		
		if(document.getElementById("provincie").value == "" && this.provincie == "") {
			this.provincie = provId;
			document.getElementById("provincie").value = provId;
		}
		searchHome.listPlace.innerHTML = "";
		searchHome.listPlace.style.display = "none";
	},
	autoComplete: function(objField, show) {
		var obj = this;
		this.lastInput = objField
		this.listPlace = show;
		
		if(objField.value.length > 0) {
			var requestPlaats = new ST_HTTPDataConnection();
			requestPlaats.setURL("../include/xml/getPlaats.php?title=" + objField.value + "&provincieID=" + this.provincie + "&gemeenteID=" + this.gemeente);
			requestPlaats.setFunction(searchHome.autoCompleteBox);
			requestPlaats.requestData();
		} else {
			this.listPlace.style.display = "none";
			this.listPlace.innerHTML = "";
			document.getElementById("provincie").value = "";
		}
	}
}
var searchHome = new SearchHome();

