function dumpObject(obj){ var output = ''; for (i in obj){ output = output + i+':'+obj[i]+"\n"; } return output; } // global flag var isIE = /*@cc_on!@*/false, XHR = (function() { if (window.XMLHttpRequest) { return XMLHttpRequest; } else if (window.ActiveXObject) { try { return ActiveXObject("Microsoft.XMLHTTP"); } catch(e) { try { return ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { return false; } } } }()), request = new XHR(), zip = request; // 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 loadZipDoc(url) { request.onreadystatechange = processReqChange; request.open("GET", url, true); request.send(null); } // handle onreadystatechange event of request object function processReqChange() { // only if request shows "loaded" if (this.readyState == 4) { // only if "OK" if (this.status == 200) { var city = zip.responseXML.getElementsByTagName('city')[0].firstChild, state = zip.responseXML.getElementsByTagName('state')[0].firstChild; if (city && state){ processZip(city.nodeValue, state.nodeValue); } else { return; } } else { //silently ignore any errors //alert("There was a problem retrieving the XML data:\n" + this.statusText); } } } // invoked by "Category" select element change; // loads chosen XML document, clears Topics select // element, loads new items into Topics select element function loadDoc(evt) { if (document.getElementById("country").value != "United States") { return; } // equalize W3C/IE event models to get event object evt = evt || window.event; if (evt) { // equalize W3C/IE models to get event target reference var elem = evt.target || evt.srcElement; if (elem) { try { if (elem.value != '') { //Load from specific URL loadZipDoc('/xmljs/flprocess_zip.asp?zip='+elem.value); } } catch(e) { var msg = (typeof e == "string") ? e : ((e.message) ? e.message : "Unknown Error"); // alert("Unable to get XML data:\n" + msg); return; } } } } function processZip(city, state) { document.getElementById('city').value = city; var stateobj = document.getElementById('state'); for (i=0; i