//ajax request




//-------------------------------------------------------------
function getRequestObject () {
  // Wenn es sich bei dem vom Benutzer verwendeten Browser
  // um einen Internet Explorer handelt, wird das Request-Objekt
  // per ActiveX geholt.
  if (navigator.appName == "Microsoft Internet Explorer")
    {return new ActiveXObject ("Microsoft.XMLHTTP");}
  else
    // Bei anderen Browsern liegt das Request-Objekt direkt
    // unterhalb des Window-Objekts.
    {return new XMLHttpRequest ();}

}

//-------------------------------------------------------
// POST-Request an einen Webservice senden.
function sendPostRequest (parameter) {
  // POST-Verbindung zum Webservice öffnen
  // Erster Parameter der Methode ist auch hier wieder die Übertragungsmethode.
  // Als zweiten Parameter erwartet die Methode die URL zum Webservice.
  // Der dritte Parameter schaltet die asynchrone Übertragung ein.
  httpRequestObject.open ('POST', 'function_ajax.php', true);
  // Event-Handler zur Reaktion auf Statusänderungen während des
  // Requests einsetzen.
  httpRequestObject.onreadystatechange = handleResponse;
  // Content-Type für Parameterübertragung per POST setzen
  httpRequestObject.setRequestHeader ('Content-Type', 'application/x-www-form-urlencoded');
  // POST Request abschicken
  // Die Parameter werden der Send-Methode des Request-Objekts zur
  // Übertragung übergeben.
  httpRequestObject.send (parameter);
  
}


//---------------------------------------------------------------
// Folgende Funktion setzt einen HTTP-Request per GET-Methode ab.
function sendGetRequest (parameter) {
  //alert (parameter);
  // Verbindung zum Webservice per GET öffnen.
  // Der Service ist über das PHP-Script httprequesttest.php erreichbar.
  // Die Parameter, welche an das Script übergeben werden werden an die
  // URL angehängt.
  httpRequestObject.open ('GET', 'function_ajax.php?' + parameter);
  // Event-Handler-Funktion handleResponse mit dem readystatechange-Event
  // verbinden. Diese Funktion wird immer dann ausgeführt, wenn sich
  // der Status der Abfrage ändert.
  httpRequestObject.onreadystatechange = handleResponse;
  // Zum Schluß wird die Anfrage an den Server gesendet.
  httpRequestObject.send (null);
  //alert('function_ajax.php?' + parameter);

}

//-----------------------------------------------------------------------------
// Event-Handler, die auf Änderungen beim readyState des XMLHttpRequest-Objekt
// die entsprechende Reaktion durchführt.

var ajaxResponse="";

function handleResponse () {
  // Request abgeschlossen (readyState 4) und Server mit OK (Status 200) geantwortet?
  // Bei allen anderen Statusänderungen wird die Funktion zwar aufgerufen, aber
  // es wird nicht auf die Stati reagiert.

  if (httpRequestObject.readyState == 4 && httpRequestObject.status == 200) {
    // Request ist abgeschlossen und alle Daten angekommen
    // => Empfangene (Text)Daten in Variable speichern und in Dialogbox ausgeben
    var response = httpRequestObject.responseText;

    // Empfangene Daten werden in einer Dialogbox ausgegeben.
    //alert (httpRequestObject.readyState+" "+httpRequestObject.status+" "+response);

    ajaxResponse=httpRequestObject.responseText;
    //alert (ajaxResponse);
  }
  

  
}

//-------------------------------------------------------------------------------
// HttpRequestObject per oben definierter Funktion erzeugen und
// in der Variablen speichern, damit künftig auf das Objekt zugegriffen
// werden kann.
var httpRequestObject = getRequestObject ();
      //alert(httpRequestObject);
// Wenn das Dokument geschlossen wird, müssen noch nicht beendete
// Requests abgebrochen werden.

//window.onunload = httpRequestObject.abort ();
