/**
*	Copyright (c) 2007-2009 by CL Solutions Doris Chu & Thomas Langhagel GbR
*	All rights reseved
*	
*   Redistribution and use of the source code without written allowance of
*	CL Solutions Doris Chu & Thomas Langhagel GbR is explicitely not permitted.
*
*/

var request = null;

function httpRequest(reqType, url, asynch, respHandle) {
	//Mozilla-basierter Browser
	if (window.XMLHttpRequest) {
		request = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		request = new ActiveXObject("Msxml2.XMLHTTP");
		if (!request) {
			request = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	
	if (request) {
		if (reqType.toLowerCase() != "post") {
			initReq(reqType, url, asynch, respHandle);
		} else {
			var args = arguments[4];
			if (args != null && args.length > 0) {
				initReq(reqType, url, asynch, respHandle, args);
			}
		}
	} else {
		alert("Ihr Browser lässt die Verwendung aller Funktionen dieser Anwendung nicht zu!");
	}	
	
}

function initReq(reqType, url, bool, respHandle) {
	var state = 0;
 	
	try {
		request.open(reqType, url, bool);
		state = 1;
		request.onreadystatechange = respHandle;
		state = 2;
		if (reqType.toLowerCase() == "post") {
		state = 3;
			request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
		state = 4;
			request.send(arguments[4]);
		state = 5;
		} else {
		state = 6;
			request.send(null);
		state = 7;
		}
	} catch (errv) {
		alert(
			state + ": Die Anwendung kann im Moment keine Verbindung zum Server herstellen. " +
			"Bitte versuchen Sie es in einigen Sekunden noch einmal.\n" +
			"Fehlerinformation: " + errv.message);
	}
}
