
if (navigator.userAgent.indexOf("MSIE")+1) window.XMLHttpRequest = function() { return new ActiveXObject('Microsoft.XMLHTTP') }

ObjAjax = new Array();

function AjaxGet (Id,AjaxDatei,AjaxParams,Callback) {

	Debug = "";

	if (ObjAjax[Id] == null) ObjAjax[Id] = new XMLHttpRequest;

	var Aufruf = AjaxDatei+'?Time='+new Date().getTime()+AjaxParams;


	ObjAjax[Id].open('GET',Aufruf,true);
	ObjAjax[Id].onreadystatechange = function() { AjaxChkResponse(Id,AjaxDatei,AjaxParams,Callback,Debug); };
	ObjAjax[Id].setRequestHeader('If-Modified-Since','Sat, 20 May 2000 00:00:00 GMT');
	ObjAjax[Id].setRequestHeader('Connection','close');
	ObjAjax[Id].send(null);

	return false;
}


function AjaxPost (Id,AjaxDatei,AjaxParams,Callback,IdFormular) {

	Debug = false;

	if (ObjAjax[Id] == null) ObjAjax[Id] = new XMLHttpRequest;

	Formular = document.getElementById(IdFormular);

	var AjaxParams = '';

	ArrayRadioWerte = new Array();

	for (i=0;i<Formular.length;i++) {
		switch(Formular[i].type) {
		case "radio":
			if (!ArrayRadioWerte[Formular[i].name]) {
				ArrayRadioWerte[Formular[i].name] = "";
				for (j=0;j<Formular.length;j++) if (Formular[i].name == Formular[j].name) if (Formular[j].checked) ArrayRadioWerte[Formular[i].name] = Formular[j].value;
				if (!ArrayRadioWerte[Formular[i].name]) ArrayRadioWerte[Formular[i].name] = "false";
				AjaxParams += '&'+Formular[i].name+'='+encodeURIComponent(ArrayRadioWerte[Formular[i].name]);
			}
			break;
		case "checkbox":
			var Wert = 0;
			if (Formular[i].checked) Wert = 1;
			AjaxParams += '&'+Formular[i].name+'='+Wert;
			break;
		case "input":
			break;
		default:
			AjaxParams += '&'+Formular[i].name+'='+encodeURIComponent(Formular[i].value);
			break;
		}

	}


	ObjAjax[Id].open('POST',AjaxDatei+'?Time='+new Date().getTime()+AjaxParams,true);
	ObjAjax[Id].onreadystatechange = function() { AjaxChkResponse(Id,AjaxDatei,AjaxParams,Callback,Debug); };
	ObjAjax[Id].setRequestHeader('If-Modified-Since','Sat, 20 May 2000 00:00:00 GMT');
	ObjAjax[Id].setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	ObjAjax[Id].setRequestHeader("Content-length", AjaxParams.length);
	ObjAjax[Id].setRequestHeader("Connection", "close");
	ObjAjax[Id].send(AjaxParams);

	return false;
}

function AjaxChkResponse (Id,AjaxDatei,AjaxParams,AjaxCallback,Debug) {

	if (ObjAjax[Id].readyState == 4) {
		switch(Number(ObjAjax[Id].status)) {
		case 404:
			alert("Datei nicht gefunden: "+AjaxDatei+AjaxParams);
			break;
		case 200:
			//if (Debug) alert(ObjAjax[Id].responseText);
			if (ObjAjax[Id].getResponseHeader('Content-Type') == 'text/xml') {
				Response = ObjAjax[Id].responseXML;
			} else {
				Response = ObjAjax[Id].responseText;
			}
			if (window[AjaxCallback]) {
				window[AjaxCallback](Response);
			} else {
				alert("'"+AjaxCallback+"' ist nicht definiert!");
			}
			break;
		default:
			//alert("Fehler:"+Number(ObjAjax[Id].status));
			break;
		}
	} else {

	}

	return false;
}

