// JavaScript Document
var xmlHttp = createXMLHttpRequestObject();

// Erzeugt eine XMLHttpRequest-Instanz
function createXMLHttpRequestObject() 
{
  var xmlHttp;
  try 
  {
    xmlHttp = XMLHttpRequest();
  }
  // Wenn der Browser ActiveX-Objekte nutzt (IE 6 und kleiner)
  catch (e) 
  {
    var XmlHttpVersions = new Array('MSXML2.XMLHTTP.6.0',
                                    'MSXML2.XMLHTTP.5.0',
                                    'MSXML2.XMLHTTP.4.0',
                                    'MSXML2.XMLHTTP.3.0',                                    
                                    'MSXML2.XMLHTTP',                                  
                                    'Microsoft.XMLHTTP');
    for (var i=0; i<XmlHttpVersions.length && !xmlHttp; i++) 
    {
      try {
        xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
      }
      catch (e) {}
    }
  }
  if (!xmlHttp)
    alert("Error");
  else
    return xmlHttp;
} 

// sende Daten an den Server
var script;
function process(script)
{
  if (xmlHttp)
  {
    try 
    {
      xmlHttp.open("GET", script, true);
      xmlHttp.onreadystatechange = handleRequestStateChange;
      xmlHttp.send(null); // wenn Übertragung = GET
    }
    catch (e)
    {
      alert("Can't connect to server:\n"+e.toString());
    }
  }
}

function handleRequestStateChange()
{
  if (xmlHttp.readyState == 4) 
  {
    if (xmlHttp.status == 200)
    {
      try
      {
        handleServerResponse();
      }
      catch (e)
      {
        alert ("Message: "+ e.toString());
      }
    }
    else 
    {
      alert ("There was a problem retrieving the data:"+xmlHttp.statusText)
    }
  }
}