/*
neue version mit klasse
*/
function ajax(url, callback, asXML) {

    var req = init();
    req.onreadystatechange = processRequest;
        
    function init() {
      if (window.XMLHttpRequest) {
        return new XMLHttpRequest();
      } else if (window.ActiveXObject) {
          return new ActiveXObject("Microsoft.XMLHTTP");
      }
    }
    
    function processRequest () {
      // readyState of 4 signifies request is complete
      if (req.readyState == 4) {
        // status of 200 signifies sucessful HTTP call
        if (req.status == 200) {
          if (callback) 
          {
          	// ie-furz:
          	if(document.all)
          	{
	          	if(req.responseXML.childNodes.length > 0) callback(req.responseXML);
          		else callback(req.responseText);
          	}
          	else
          	{
				if(asXML)
				{
	          		if(req.responseXML) callback(req.responseXML);
    	      		else callback(req.responseText);
    	      	}
    	      	else
    	      	{
    	      		callback(req.responseText);
    	      	}
          	}
          }
        }
      }
    }

    this.doGet = function() {
      req.open("GET", url, true);
      req.send(null);
    }
    
    this.doPost = function(str) {
      req.open("POST",url,true);
      req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
      req.send(str);
    }
}