/*
 * Javascript-Funktionen fuer Ajax-Funktionalitaeten
 * 
*/


/**
*
*/
function AjaxRequest(type, target, query, eventFunc) {
	var http_request = null;
	// nc=1: Herausnehmen aus der Statistik
	http_request = sendAjaxRequest("ajax.php?nc=1&variant=" + target + "&" + query);
	
	/**@js
	 * Der Ereignishandler fuer
	*/
	function responseHandler() {
		if(http_request != null && http_request.readyState == 4) {
			var response = type == "text" ? http_request.responseText : http_request.responseXML;
			eventFunc(response);
		}
	}
	
	/**@js
	 * Absenden einer Ajax-Anfrage
	 * @param funktion Das Funktionsobjekt der auswertenden Funktion
	 * @param url Die Ziel-URL der Ajax-Anfrage
	 * @param wait true, wenn auf den Ajax-Request gewartet werden soll
	 * @param postData Die Post-Daten; wenn nicht angegeben, dann wird per GET abgefragt //Funktioniert momentan NICHT
	 */
	function sendAjaxRequest(url, wait, postData) {
		var posting;
		var http_request = null;
		if(sendAjaxRequest.arguments.length > 3 ) {
			posting=true;
		}
		else {
			posting = false;
			postData = null;
		}
		try {
			if (window.XMLHttpRequest) { // Mozilla, Safari, ...
			    http_request = new XMLHttpRequest();
			    //http_request.overrideMimeType('text/xml'); 
			} else if (window.ActiveXObject) { // IE
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			}
			
			http_request.onreadystatechange = responseHandler;
			if(posting) {
				http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			}
			
			http_request.open(posting?'GET':'POST', url, true);
			http_request.send(postData);
		}
		catch(e) {
			alert("Fehler bei Ajax-Anfrage: " + e.toString());
		}
		return http_request;
	}
}