/**********************************************************************************************
 *	Filename: ajax.js
 *	Written by Dennis Coorn
 *    
 *	Algemene AJAX functie. Met de onderstaande functies wordt een XMLHttpRequest gepost naar een opgegeven 
 * 	url. De resultaten worden vervolgens door gestuurd aan de functie die in de runFunction tag van XML response 
 * 	vermeld staat.
 *
 *	VB:
 *	<response>
 *		<check>1</check>
 *		(resultaten)
 *		<runFunction>(functie waar de gegevens heen gestuurd worden)</runFunction>
 *	</response>
 *		
 **********************************************************************************************/


var req;
function loadXMLDoc(url) {
	// XMLHttpRequest object
	if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
		
	// IE/Windows ActiveX version
	} else if (window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	if(req){
		req.onreadystatechange = processReqChange;
		req.open("GET", url, true);
		req.setRequestHeader("secret-password", "Clicks4Sales");
		req.send("Clicks4Sales");
	}
}
	
function processReqChange() {
	// alleen als req status "compleet" returned
	if (req.readyState == 4) {
		// alleen als req status "OK" returned
		if (req.status == 200) {
			response = req.responseXML.documentElement;
			check = response.getElementsByTagName('check')[0].firstChild.data;
			if(check==1){
				if(req.responseXML){
					if(req.responseXML.documentElement){
						if(response.getElementsByTagName('runFunction').length > 0){
							window.setTimeout(response.getElementsByTagName('runFunction')[0].firstChild.data+"(req.responseXML.documentElement)", 0);
						}
					}
				}
			}
		} else { //alert("Er is een probleem met het ophalen van de XML gegevens:\n" + req.statusText); 
		}
	}
}