function myTT_clsAjax(aURL,aSender,aMethod) {
/*------------------------------------------------------------------------------------------------------------------------------------
 <jsclass>
  <name>     myTT_clsAjax  </name>
  <datum>    12.01.2007     </datum>
  <lastedit> 12.01.2007     </lastedit>
  <version>  1.0            </version>
  <copyright>tiefensee.com  </datum>
  <text>     Klasse zum arbeiten mit Listen</text>
--------------------------------------------------------------------------------------------------------------------------------------
  <variablen>
------------------------------------------------------------------------------------------------------------------------------------*/
 
 this.fUrl      = aURL;
 this.fParams   = "";
 this.fMethod   = aMethod?aMethod:"GET";
 this.fSender   = aSender;
 this.fXML      = null;
 this.onSuccess = null;
 this.onError   = myTT_clsAjax_OnError;
 this.onRequest = myTT_clsAjax_OnRequest;
 
 function myTT_clsAjax_OnError(aMessage) {alert(aMessage);}
 /*------------------------------------------------------------------------------------------------------------------------------------
  </inhalt>
 </function>
 ------------------------------------------------------------------------------------------------------------------------------------*/
 
 function myTT_clsAjax_OnRequest() {
  
  //alert(this.fUrl);
  
  if(!this.fUrl) {
   this.onError("Es wurde kein URL angegeben. Der Request wird abgebrochen.");
   return false;
  }
  
  if (!this.fMethod) this.fMethod = "GET";
                else this.fMethod = this.fMethod.toUpperCase();
  var _this = this;
  var xmlHttpRequest = myTT_clsAjax_XMLHttpRequest();
  
  if (!xmlHttpRequest) {
   this.onError("Es konnte kein XMLHttpRequest-Objekt erstellt werden.");
   return false;
  }
  
  switch (this.fMethod) {
   case "GET":
    //alert(this.fUrl);
    xmlHttpRequest.open(this.fMethod, this.fUrl + "&" + this.fParams, true);
    xmlHttpRequest.onreadystatechange = myTT_clsAjax_ReadyStateHandler;
    xmlHttpRequest.send(null);
    break;
   case "POST":
    xmlHttpRequest.open(this.fMethod, this.fUrl, true);
    xmlHttpRequest.onreadystatechange = myTT_clsAjax_ReadyStateHandler;
    xmlHttpRequest.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    xmlHttpRequest.send(this.fParams);
    break;
  }
 
  function myTT_clsAjax_ReadyStateHandler() {
   if (xmlHttpRequest.readyState < 4) {
    return false;
   }
   if (xmlHttpRequest.status == 200 || xmlHttpRequest.status == 304) {
    if (_this.onSuccess) {
     if(_this.fSender) _this.onSuccess(_this.fSender,xmlHttpRequest.responseText, xmlHttpRequest.responseXML);
                  else _this.onSuccess(xmlHttpRequest.responseText, xmlHttpRequest.responseXML);
    }
   } else {
    if (_this.onError) {
     _this.onError("[" + xmlHttpRequest.status + " "
       + xmlHttpRequest.statusText
       + "] Es trat ein Fehler bei der Datenbertragung auf.");
    }
   }
  }
 }
 /*------------------------------------------------------------------------------------------------------------------------------------
  </inhalt>
 </function> 
 ------------------------------------------------------------------------------------------------------------------------------------*/

 
 function myTT_clsAjax_XMLHttpRequest() {
  if (window.XMLHttpRequest) {
   return new XMLHttpRequest();
  } else {
   if (window.ActiveXObject) {
    try {
     return new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
     try {
      return new ActiveXObject("Microsoft.XMLHTTP");
     } catch (e) {
      return null;
     }
    }
   }
   return false;
  }
 }
 /*------------------------------------------------------------------------------------------------------------------------------------
  </inhalt>
 </function> 
 ------------------------------------------------------------------------------------------------------------------------------------*/
}
/*------------------------------------------------------------------------------------------------------------------------------------
  </functions>
 </jsclass>
------------------------------------------------------------------------------------------------------------------------------------*/


