// global flag var isIE = false; // global request and XML document objects var req; // global intervall var aktiv; // global name of layer var layerName; // debug var debug = false; var tagName = ''; // invoked by "Category" select element change; // loads chosen XML document, clears Topics select // element, loads new items into Topics select element function loadDoc(url) { try { loadXMLDoc(url); } catch(e) { var msg = (typeof e == "string") ? e : ((e.message) ? e.message : "Unknown Error"); if (debug == true) alert("Unable to get XML data:\n" + msg); window.clearInterval(aktiv); writeToDiv('Error'); } } // retrieve XML document (reusable generic function); // parameter is URL string (relative or complete) to // an .xml file whose Content-Type is a valid XML // type, such as text/xml; XML source must be from // same domain as HTML file function loadXMLDoc(url) { // branch for native XMLHttpRequest object if (window.XMLHttpRequest) { req = new XMLHttpRequest(); req.onreadystatechange = processReqChange; // req.overrideMimeType('text/xml; charset=utf-8'); req.open("GET", url, true); req.send(null); // branch for IE/Windows ActiveX version } else if (window.ActiveXObject) { isIE = true; req = new ActiveXObject("Microsoft.XMLHTTP"); if (req) { req.onreadystatechange = processReqChange; req.open("GET", url, true); req.send(); } } } // handle onreadystatechange event of req object function processReqChange() { // alert(tagName); // only if req shows "loaded" if (req.readyState == 4) { // only if "OK" // alert(req.getAllResponseHeaders()); if (req.status == 200) { if (tagName == 'textonly') { // Daten als Text empfangen var Value = req.responseText; } else { // Daten als XML-DOM empfangen var Tag = req.responseXML.getElementsByTagName(tagName).item(0); var Value = Tag.firstChild.nodeValue; // var data = req.responseXML.getElementsByTagName("time").item(0).data; } writeToDiv(Value); } else { if (debug == true) alert("There was a problem retrieving the XML data:\n" + req.status + " " + req.statusText); window.clearInterval(aktiv); writeToDiv('Error'); } } } function writeToDiv(text) { div = document.getElementById(layerName); div.innerHTML = ""; // blast new HTML content into "details"
div.innerHTML = text; // alert(timeValue); } function getURLData(url, interval, writeTo, xmlTagName) { // 2006-11-02 Layer wb_detail bei einem neuen Buchstaben leeren... if (writeTo == "wb_list") document.getElementById("wb_detail").innerHTML = ""; layerName = writeTo; tagName = xmlTagName; if (interval > 0) { // Zeit in Millisekunden interval = interval * 1000; aktiv = window.setInterval("loadDoc('"+url+"');", interval); } else aktiv = null; loadDoc(url); }