// Unser Request Objekt global verwendbar.
var http_request = false;


// doRequest(url) Erzeugt ein Requestobjekt abhängig vom Browser
// und stellt eine anfrage an die übergebene URL
function doRequest(url, suche, was) {
  http_request = false;
  
  // Testen ob der Browser ein XMLHttpRequest Objekt
  // zur Verfügung stellt. (Mozilla und andere)
  if (window.XMLHttpRequest) {     
	 http_request = new XMLHttpRequest(); 
    if (http_request.overrideMimeType) {
      //Das Ergebnis soll als XML-Dokument betrachtet werden.
      http_request.overrideMimeType('text/xml');     
    }
  // Wenn der Browser ein IE ist, 
  // dann müssen andere Objekte benutzt werden.
  } else if (window.ActiveXObject) { 
    try {
      http_request = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        http_request = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e) {}
    }
  }

  // Falls kein Request Objekt zur Verfügung steht 
  // funktioniert das ganze nicht
  if (!http_request) { 
    alert('Es kann kein Request Objekt erzeugt werden.'); 
    return false;
  }
  // Eine Callbackfunction wird angegeben, 
  // die auf events des Request Objekts reagieren soll.
  suche2 = suche;
  was2 = was;
  http_request.onreadystatechange = myHandler;
  http_request.open('GET', url, true);
  http_request.send(null);
}


function doRequest_dummy(url) {
  http_request = false;
  
  // Testen ob der Browser ein XMLHttpRequest Objekt
  // zur Verfügung stellt. (Mozilla und andere)
  if (window.XMLHttpRequest) {     
	 http_request = new XMLHttpRequest(); 
    if (http_request.overrideMimeType) {
      //Das Ergebnis soll als XML-Dokument betrachtet werden.
      http_request.overrideMimeType('text/xml');     
    }
  // Wenn der Browser ein IE ist, 
  // dann müssen andere Objekte benutzt werden.
  } else if (window.ActiveXObject) { 
    try {
      http_request = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        http_request = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e) {}
    }
  }

  // Falls kein Request Objekt zur Verfügung steht 
  // funktioniert das ganze nicht
  if (!http_request) { 
    alert('Es kann kein Request Objekt erzeugt werden.'); 
    return false;
  }
  // Eine Callbackfunction wird angegeben, 
  // die auf events des Request Objekts reagieren soll.
  suche2 = "0";
  was2 = "0";
  http_request.onreadystatechange = myHandler;
  http_request.open('GET', url, true);
  http_request.send(null);
}

function myHandler() {

  // Testen ob das Request objekt mit dem laden fertig ist
  if (http_request.readyState == 4) { 
    // War die Anfrage erfolgreich / die URL erreichbar ?
    if (http_request.status == 200) {

    switch (was2) {

    case "nur_ort":
      if (document.getElementById('sucheergebnis')){document.getElementById('suchergebnis').getElementsByTagName('td')[0].innerHTML='';}
    break;
	
	case "0":
    break;
    
    case "hit":
    break;

    default:
      alert("Fehler!:"+was2);
      break;
  }
  
  ergebnisverarbeiten();
    } else {
	   //alert('Die URL konnte nicht geöffnet werden.\nErrorCode: '+ http_request.status + ' ' + http_request.readyState);
	   //deaktiviert, weil bei hits ständig angezeigt - die url wird aber trotzdem ausgeführt.
    }
  }
}

function ergebnisverarbeiten(){

  switch (was2) {
   
    case "nur_ort":
      document.getElementById('suchergebnis').getElementsByTagName('td')[0].innerHTML=http_request.responseText;
    break;
	
	case "0":
    break;
    
    case "hit":
    break;

      
    default:
      alert("Fehler!");
      break;
  }
 
 

}