/**
 *	Plaatst bepaalde content in het blokje linksonder op de pagina
 *	@param content De content die moet worden geplaatst (tekst of HTML)
 */
function setLeftBlock(content) {
	try {
		var leftBlock = document.getElementById("leftBlock");
		leftBlock.innerHTML = content;
	}
	catch(e) {}
}

/**
 *	Toont de beschrijving van een weblink in het blokje links op de pagina
 *	Haalt daarvoor de content uit een weblink-specifieke div en stopt dat in het linker blokje
 **/
function showWeblinkDescription(id) {
	try {
		setLeftBlock(document.getElementById(id).innerHTML);
	}
	catch(e) {}
}


/**
 *	Registreert een click op een weblink
 *	De weblink opent gewoon in een browser-venster, maar met een onclick wordt deze functie aangeroepen
 *	Deze functie maakt een AJAX-call naar het PHP-script wat de update-query uitvoert
 *	@param id Het id van de weblink die wordt bezocht
 **/
function registerWeblinkClick(id) {
	//var args = new Array();
	ajaxSendGet("modules/zlmw_weblinks/plugins/visit_weblink.php?weblink=" + id);
}

/**
 *	AJAX Handlers.
 *	@params	script => de URL van het script dat door ajax wordt uitgevoerd. Mag relatief zijn.
 *	@params handlerfunction =>	De functie die wordt uitgevoerd als de request voltooid is.
 *								Functie krijgt 1 parameter, dit is een array. Deze array is dezelfde als die naar de ajax functie gestuurd wordt als args.
 *								De responseText zit ook in deze array, met als key 'response'.
 *	@params args => Een array met extra parameters. Deze worden door gegeven aan de handlerfunctie.
 *	@params content => (Alleen voor post) de post vars.
 */
function ajaxSendPost(script, handlerfunction, args, content) {
	if (!args)
		var args = new Array();

	var xmlHttp;
	try {
		xmlHttp=new XMLHttpRequest();
	} catch (e) {
		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;
			}
		}
	}

	var asXML = false;
	if (args["xml"] == true)
		asXML = true

	xmlHttp.onreadystatechange = function() {
		if (xmlHttp.readyState==4) {
			if (asXML) {
				var xmlDoc;
				if (window.DOMParser) {
					parser = new DOMParser();
					xmlDoc = parser.parseFromString(xmlHttp.responseText,"text/xml");
				} else  {
					// Internet Explorer
					xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
					xmlDoc.async="false";
					xmlDoc.loadXML(xmlHttp.responseText);
				} 
				args["response"] = xmlDoc;
			} else
				args["response"] = xmlHttp.responseText;
			if (handlerfunction)
				handlerfunction.call(this, args, false);
		}
	}

	xmlHttp.open("POST", script, true);
	xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlHttp.setRequestHeader("Content-length", content.length);
	xmlHttp.setRequestHeader("Connection", "close");
	xmlHttp.send(content);
}

function ajaxSendGet(script, handlerfunction, args) {

	if (!args)
		var args = new Array();
		
	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;
			}
		}
	}

	var asXML = false;
	if (args["xml"] == true)
		asXML = true

	xmlHttp.onreadystatechange = function() {
		if (xmlHttp.readyState==4) {
			if (asXML) {
				var xmlDoc;
				if (window.DOMParser) {
					parser = new DOMParser();
					xmlDoc = parser.parseFromString(xmlHttp.responseText,"text/xml");
				} else {
					// Internet Explorer
					xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
					xmlDoc.async="false";
					xmlDoc.loadXML(xmlHttp.responseText);
				} 
				args["response"] = xmlDoc;
			} else
				args["response"] = xmlHttp.responseText;
			if (handlerfunction)
				handlerfunction.call(this, args, false);
		}
	}

	xmlHttp.open("GET", script, true);
	xmlHttp.send(null);
}

function ajaxFill(params) {
	try {
		if (params["response"] && params["elementid"])
			document.getElementById(params["elementid"]).innerHTML = params["response"];
	} catch (e) { }
}
