
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;

	ObjAjax[Id].open('GET',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('Connection','close');
	ObjAjax[Id].send(null);

	return false;
}


function AjaxPost (Id,AjaxDatei,AjaxParams,Callback,Debug) {

	if (ObjAjax[Id] == null) ObjAjax[Id] = new XMLHttpRequest;

	var AjaxParams = "&aktion=abschicken&name="+encodeURI(document.getElementById("id_name").value)+"&ort="+encodeURI(document.getElementById("id_ort").value)+"&land="+encodeURI(document.getElementById("id_land").value)+"&nachricht="+encodeURI(document.getElementById("id_nachricht").value);

	ObjAjax[Id].onreadystatechange = function() { AjaxChkResponse(Id,AjaxDatei,AjaxParams,Callback,Debug); };
	ObjAjax[Id].open('POST',AjaxDatei+'?Time='+new Date().getTime()+AjaxParams,true);
	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;
}

function formular_abschicken() {

	document.getElementById('id_fehler').innerHTML = '';

	AjaxPost('AjaxKontaktformular','/ajax.php','','formular_abschicken_callback');

	return false;

}

function formular_abschicken_callback(HTML) {

	if (HTML) {
		document.getElementById('id_formular_div').innerHTML = HTML;
	} else {
		document.getElementById('id_fehler').innerHTML = 'Fehler: Falsche oder fehlende Angaben im Formular!';
	}

	return false;

}
