var http_request = false;
var request_url, modul;

function make_ajax_request(request) {

  http_request = false;
  modul = escape(request[0]);
  request_url = 'inc/'+modul+'.inc.php?';
  if (request[1]) {
    request_url += '&1='+escape(request[1]);
    if (request[2]) {
      request_url += '&2='+escape(request[2]);
      if (request[3]) {
        request_url += '&3='+escape(request[3]);
      }
    }
  }

  if (window.XMLHttpRequest) { // Mozilla, Safari,...
    http_request = new XMLHttpRequest();
    if (http_request.overrideMimeType) {
      http_request.overrideMimeType('text/xml');
    }
  } else if (window.ActiveXObject) { // IE
    try {
      http_request = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        http_request = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e) {}
    }
  }

  if (!http_request) {
    popup(Array('Fehler', "XMLHTTP-Instanz kann nicht erzeugt werden. Vermutlich ist dein Browser veraltet, Updates k&ouml;nnten Abhilfe schaffen.<br />Details: Objekt 'http_request' existiert nicht", true));
    return false;
  } else {
    http_request.onreadystatechange = return_ajax_request;
    http_request.open('GET', request_url, true);
    http_request.send(null);
    return true;
  }
}

function return_ajax_request() {
  if (http_request.readyState == 4) {
    if (http_request.status == 200) evaluate_ajax_request(modul);
    else popup(Array('Fehler', 'Beim AJAX-Request ist ein Problem aufgetreten.<br />Fehler-Informationen:<br />Error '+http_request.status+'<br />Modul: '+modul+'<br />Abfrage: '+request_url, true));
  }
}

function evaluate_ajax_request(modul) {
  switch (modul) {
    case "wunsch":
      popup(Array('Wunsch &amp; Gruss gesendet', 'Dein Wunsch bzw. Gruss wurde gesendet.', true));
      break;
    case page:
      popup(Array('Fehler', 'Nachgeladene Inhalte k&ouml;nnnen nicht platziert werden.<br />Details: AJAX Request<br />Seite: '+page+'<br />Modul: '+modul, true));
      break;
    default:
      popup(Array('Fehler', 'Die Anfrage kann nicht verarbeitet werden.<br />Details: AJAX Request<br />Seite: '+page+'<br />Modul: '+modul, true));
      break;
  }
/* XML-Verarbeitung: http_request.responseXml */
}