//alert("asynPostRequest includiert");
/////////////////////////////////Klasse ARequest///////////////////////////////////////////////////////////////////
function asynPostRequest(serverscript, parameterliste, callback) {

	///////////////////////////////////////////////////////////////////
	
	/* Anfrage Objekte ermitteln und zurückgeben */
	function setRequestObject(){
			
		if(window.XMLHttpRequest){
		/* Wenn Gecko Browser */		
			
			return(new XMLHttpRequest());
			
		} // end if
		else if(window.ActiveXObject){		
		/* Wenn Microsoft Browser */	
			
			return(new ActiveXObject("Microsoft.XMLHTTP"));
		
		}// end else if
	
		return(null);
	
	} // end function setRequestObject
	
	///////////////////////////////////////////////////////////////////

	/* Funktion für die Überwachung des Verbindungsstatus */
	function checkReadyState(){
		
		if(RequestObject.readyState == 4){
		
			if(RequestObject.statusText == "OK"){
		
				if(typeof(callback) == "function"){
			
					return(callback(RequestObject.responseText));
			
				} // end if	typeof(funcall) == "function"
			
			} // end if statusText == "OK"
		
		} // end if RequestObject.readyState == 4
                                                                      
	} // end function checkReadyState 

	///////////////////////////////////////////////////////////////////	
	
	/* Erzeugt den Anfragestring für das Serverseitige Script */
	function buildQueryString(){
		
		 var  QueryString = "";
		  
		 if(typeof(parameterliste)=="object"){
		  
		 	for(var parameter in parameterliste){
		 	
				QueryString+= parameter;
				QueryString+= "=";
				QueryString+= parameterliste[parameter];
				QueryString+= "&";
		 
		 	} // end for
		 		
		} // end if
		
		return(encodeURI(QueryString));
	
	} // end function buildQueryString
	
	///////////////////////////////////////////////////////////////////
	
	/* Verbindungsaufbau zum serverseitigen Script */
	function tryToConnect(){
		
		RequestObject.open("POST", serverscript);
		RequestObject.onreadystatechange = checkReadyState;
		RequestObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		RequestObject.send(buildQueryString());
	
	} // end function tryToConnect
	
	///////////////////////////////////////////////////////////////////
	
	/* Requestobjekt erzeugen und Anfrage an Serverscript schicken */
	var RequestObject = null;
	if (RequestObject = setRequestObject()){
		
		tryToConnect();
	
	} // end if setRequestObject()
	 	
} // end function asynPostRequest

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
