
function getStream(sekunden) {
    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/stromWS/?mimeType=text/xml";
    url += "&dauer=" + sekunden;

    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 == 3) {
        message =  "Ajax> ------------- Anfang Zwischenstand -------------\n";
        message += req.getAllResponseHeaders();
	message += "\n\n" + req.responseText;
        message += "\n-------------  Ende Zwischenstand  -------------\n";
	logJs(message);

	var aktStatusRegExp = /<status.*>.+<\/status>/g;
	RegExp.multiline = true;
	var treffer = message.match(aktStatusRegExp); 


	if (treffer != null && treffer.length > 0) {
		var tagRE = /<\/?status[^<]*>/g;
		var aktuellerStatus = String(treffer[treffer.length-1]).replace(tagRE,'');

		var countdownElem = document.getElementById('countdown');
		var text = document.createTextNode('Loading... ' + aktuellerStatus);

		if (countdownElem.childNodes.length > 0) {
			countdownElem.replaceChild(text,countdownElem.firstChild);
		} else {
			countdownElem.appendChild(text);
		}
	}

    } else if (req.readyState == 4) {
        var countdownElem = document.getElementById('countdown');
	countdownElem.removeChild(countdownElem.firstChild);

	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) {
	   var xmlMessages = req.responseXML.getElementsByTagName("message");
	   alert(xmlMessages[xmlMessages.length-1].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);
*/
}
   
