
function ajaxTimeout(sekunden,timeoutSeconds) {
    var timeoutHandler = function () {alert("Anfrage wegen Zeitüberschreitung abgebrochen.")};

    var url = "/code/WS/wartenWS/?mimeType=text/plain";
    url += "&sekunden=" + String(Number(sekunden));
    Lokris.AjaxCall(url,zeigeNachrichtTimeout,{timeout: timeoutSeconds*1000, timeoutHandler: timeoutHandler, async: true});

    logJs("JS> Request mit Wartezeit " + sekunden + " Sekunden abgesetzt. Timeout nach " + timeoutSeconds + " Sekunden.");
}

function zeigeNachrichtTimeout(message) {
    logJs("JS> Ausführen von zeigeNachrichtTimeout()");
    alert(message);
}


function testTimeout(sekunden,active) {
    if (window.XMLHttpRequest) { // Test, ob der Browser ein eingebautes XMLHttpRequest-Objekt besitzt oder...
        req = new XMLHttpRequest();
    } else if (window.ActiveXObject) { // ... ob er das Objekt per ActiveX implementiert
        req = new ActiveXObject("Microsoft.XMLHTTP");
    }
    req.onreadystatechange = zeigeNachricht;
    var url = "/code/WS/wartenWS/?mimeType=text/xml";
    url += "&sekunden=" + String(Number(sekunden));
    if (active) {
	url += "&aktivWarten=true";
    }
    req.open("GET", url, true);
    setCursor('wait');    
    req.send(null);	
}


function zeigeNachricht() {
    var message = "Ajax> ";

    message += "ReadyState == " + req.readyState + "\n";
    logJs(message);
    if (req.readyState == 4) {

	message =  "Ajax> ------------- Anfang ResponseHeaders -------------\n";
	message += req.getAllResponseHeaders();
	message += "\n-------------  Ende ResponseHeaders  -------------\n";
	logJs(message);

        message =  "Ajax> ------------- Anfang ResponseText -------------\n";
        message += req.responseText;
        message += "\n-------------  Ende ResponseText  -------------\n";
        logJs(message);

	message =  "HTTP-Status == " + req.status + "\n";
        message += "HTTP-Text == " + req.statusText + "\n";
	logJs(message);

        // aber nur, falls der Server den HTTP-Statuscode 200 gesendet hat
        if (req.status == 200) {
	   alert(req.responseXML.documentElement.firstChild.nodeValue);
	} else if (req.status >= 500) {
	   var error = "Serverseitig ist ein Fehler aufgetreten.";
	   error += "\nFehlernummer: " + req.status;
           error += "\nFehlermeldung: " + req.statusText;
	   alert(error);
	}
	setCursor('auto');

	logJs("\n\n================= Ajax-Transaktion beendet ================= \n\n");
    }
}


var cssCursorIndex = "-1";

function setCursor(mode) {
   var regel = "* { cursor: " + mode + "; }"; 

   if (cssCursorIndex >= 0) {
	lwCssRegelLoeschen(0,cssCursorIndex);
   }

   cssCursorIndex = lwCssRegelEinfuegen(0,regel);
}
   
