/*
Ajax functies voor het ophalen van afhaaldepots per woonplaats 
en de adressen en openingstijden (c) 9/2008 S.Sanders	
*/

var XMLHttpRequestObject = false;
var path_php = "php/afhaaldepots_ajax.php"; 	/* pad met php file	*/

if (window.XMLHttpRequest){
	XMLHttpRequestObject = new XMLHttpRequest();
}
else if (window.ActiveXObject){
	XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
}

function getData(dataSource){
	/* simpeler: maar soms problemen agv. get-string caching	*/
	if(XMLHttpRequestObject){
		XMLHttpRequestObject.open("GET",dataSource);
		XMLHttpRequestObject.onreadystatechange = function(){ 
			if(XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200){
				//alert(XMLHttpRequestObject.responseText);
				eval(XMLHttpRequestObject.responseText);
			} 
		} 
		XMLHttpRequestObject.send(null); 
	}
}

function postData(url,data){
	/* ingewikkelder, maar post wordt niet gecached	*/
	if(XMLHttpRequestObject){
		XMLHttpRequestObject.open("POST",url,true);
		XMLHttpRequestObject.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		XMLHttpRequestObject.setRequestHeader("Content-length", data.length);
		XMLHttpRequestObject.setRequestHeader("Connection", "close");
		XMLHttpRequestObject.onreadystatechange = function(){ 
			if(XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200){
				//alert(XMLHttpRequestObject.responseText);
				eval(XMLHttpRequestObject.responseText);
			} 
		}
		/* Remote Procedure Call:	*/
		XMLHttpRequestObject.send(data); 
	}
}

function getDepots(depot){
	var url = path_php;

	if (depot.length) {
		//getData(url + "?plaats=" + input.value);	/* alles in n string	*/
		postData(url, "plaats=" + depot);	/* url en params apart	*/
	} 
	else {
		var resultsDiv = document.getElementById("resultsDiv");
		resultsDiv.innerHTML = "";
	}
}

function Result(plaats,adres,postcode,naam,openingstijd){
	/* een resultaat-object	*/
	this.plaats = plaats;
	this.adres = adres;
	this.postcode = postcode;
	this.naam = naam;
	this.openingstijd = openingstijd;
}

function sendRPCDone(plaatsen,adressen,postcodes,namen,openingstijden){
	var error = false;
	/* Remote Procedure Call done!	*/
	var results = new Array();
	for(var i=0;i<plaatsen.length;i++){
		/* maak er een array van objecten van	*/
		results[i] = new Result(plaatsen[i], adressen[i], postcodes[i], namen[i], openingstijden[i]);
	}
	var data = "";
	if(results.length){
		data = "<table id=\"afhaalpunten\" cellpadding=\"3\">";
		data += "<tr><th>Plaats</th><th>Adres</th><th>Postcode</th><th>Naam</th><th>Open</th><th>Plattegrond</th></tr>";
		for(var i=0;i<results.length;i++) {
			data += "<tr><td>";
			data += results[i].plaats;
			data += "</td><td>";
			data += results[i].adres;
			data += "</td><td>";
			data += results[i].postcode;
			data += "</td><td>";
			data += results[i].naam;
			data += "</td><td>";
			data += results[i].openingstijd;
			data +="</td><td>";
			data += '<a href="http://maps.google.nl?q=' + escape(results[i].plaats + " " + results[i].adres + " " + results[i].postcode) + '" target="_blank">Toon op kaart &gt;&gt;</a>';
			data +="</td></tr>";
		}
		data += "</table>";
	}
	else{
		/* niets gevonden	*/
		data = "<strong>Niets gevonden...</strong>";
	}
	var myDiv = document.getElementById("resultsDiv");
	myDiv.innerHTML = data;
}


