//speichert eine Instanz von XMLHttpRequest
var xmlHttp = createXmlHttpRequestObject();

//erzeugt eine Instanz von XMLHttpRequest
function createXmlHttpRequestObject()
{
  //speichert die Referenz auf das XmlHttpRequestObject
  var xmlHttp;
  try{
     //versucht, ein XmlHttpRequest-Objekt zu erzeugen
     xmlHttp = new XMLHttpRequest();
     }
     catch(e){
             // für IE6 oder Älter
             var XmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0",
                                             "MSXML2.XMLHTTP.5.0",
                                             "MSXML2.XMLHTTP.4.0",
                                             "MSXML2.XMLHTTP.3.0",
                                             "MSXML2.XMLHTTP",
                                             "Microsoft.XMLHTTP");
             // probiert Prog-IDs durch, bis eine funktioniert
             for(var i=0; i< XmlHttpVersions.length && !xmlHttp; i++){
                try{
                   // versucht ein XMLHttpRequest-Objekt zu erzeugen
                   xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
                   }
                   catch(e){}
                }// Ende for
             }// Ende catch(e)
   // gibt das erzeugte Objekt oder eine Fehlermeldung zurück
   if(!xmlHttp){
    alert("Error creating XMLHttpRequest object.");
    }
    else{
        return xmlHttp;
        }
}

function adddetail()
{
  //nur fortfahren, wenn xmlHttp nicht leer ist.
  if(xmlHttp){
    // Versuch einer Serververbindung
    try{       
       // holt die beiden Werte Artikelnr, Anzahl vom Formular
       var autoteil = document.getElementById("autoteil").value;
       //erzeugt den Parameterstring
       var params = "autoteil=" + autoteil;
       xmlHttp.open("GET", "unfall.php?" + params, true);
       xmlHttp.onreadystatechange = handleRequestStateChange;
       xmlHttp.send(null);
       }
       //zeigt einen Fehler an, falls er auftritt
       catch(e){
               alert("Can`t connect to server: \n" + e.toString());
               }
    }//ende if
}//ende function addbasket

//Funktion zur Behandlung der HTTP-Antwort
function handleRequestStateChange()
{
  //beschafft eine Referenzauf das <div>-Element auf der Seite
  myDiv = document.getElementById("cardiv");
  // zeigt den Status des Requests an
  if (xmlHttp.readyState == 4){
    //nur weitermachen, wenn HTTP-Status "OK"
    if(xmlHttp.status == 200){
      try{
         handleServerResponse();
         }
         catch(e){
                 //zeigt Fehlermeldungen an
                 alert("Error reading the response: " + e.toString());
                 }
      }
      else{
          // zeigt Statusmeldung an
          alert("There was a problem retrieving the data: \n" + xmlHttp.statusText);
          }
    }
}

function handleServerResponse()
{
  //ruft die Server-Antwort als XML-DOM Objekt ab
 var response  = xmlHttp.responseText;
  //zeigt die Nachricht für den Benutzer an
  myDiv = document.getElementById("cardiv");
  myDiv.innerHTML = response;

}
