//TODO: remove
function debug(str){
	return;
	
	var value = document.getElementById('debug').value;
	document.getElementById('debug').value = str + '\n  ----\n' + value;
	
	document.getElementById('debug').style.position = 'absolute';
	document.getElementById('debug').style.top = '-250px';
	document.getElementById('debug').style.left = '-250px';
	document.getElementById('debug').style.width = '600px';
	document.getElementById('debug').style.height = '400px';
	document.getElementById('debug').style.display = 'block';
	//document.getElementById('debug').value = str;
}

var globalResponseText = null;

function httpRequest(i_requestUrl, callback){
    var requestUrl = null;    
    //erstellen des requests
    var req = null;

    try{
        req = new XMLHttpRequest();
    }
    catch (ms){
        try{
            req = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch (nonms){
            try{
                req = new ActiveXObject("Microsoft.XMLHTTP");
            } 
            catch (failed){
                req = null;
            }
        }  
    }

    if (req == null)
          alert("Error creating request object!");
      
    //anfrage erstellen
    requestUrl = i_requestUrl;
    //request ist asynchron
    req.open("GET", requestUrl, true);

    //Beim abschliessen des request wird diese Funktion ausgeführt
    req.onreadystatechange = function(){    
        switch(req.readyState) {
                case 4:
                if(req.status!=200) {
                    alert("Fehler:" + req.status + "\n" + requestUrl); 
                }else{
                    globalResponseText = req.responseText;
                    if(callback){
                    	eval(callback + ';');
                    }
                }
                break;
        
                default:
                    return false;
                break;     
            }
        };

      req.setRequestHeader("Content-Type",
                          "application/x-www-form-urlencoded");
    req.send(null);
}

function get_http_request_result(){
   debug(globalResponseText);
   var begin  = globalResponseText.indexOf('<ajx>');

   if(begin >= 0){
      begin += 5;
      var end    = globalResponseText.indexOf('</ajx>');
      var output = globalResponseText.substring(begin, begin + (end - begin));

      return output;
   }else{
      return('ERROR\n' + globalResponseText);
   }
}

function get_http_request_dom_result(){
   var xmlString = get_http_request_result();
   /*
   alert(xmlString);
   */
   var oDomDoc = Sarissa.getDomDocument();   
   oDomDoc = (new DOMParser()).parseFromString(xmlString, "text/xml");
   // the following two lines are needed for IE
   oDomDoc.setProperty("SelectionNamespaces", "xmlns:xsl='http://www.w3.org/1999/XSL/Transform'");  
   oDomDoc.setProperty("SelectionLanguage", "XPath");
   return oDomDoc;
}
