var req;

function loadXMLDoc(url)
{
    // branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.onreadystatechange = processReqChange;
        req.open("GET", url, true);
        req.send(null);
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = processReqChange;
            req.open("GET", url, true);
            req.send();
        }
    }
}
function processReqChange() 
{
    if (req.readyState == 4) { // only if req shows "complete"
       	if (req.status == 200) { // only if "OK"
		// ...processing statements go here...
		response=req.responseXML.documentElement;
      		method=response.getElementsByTagName('method')[0].firstChild.data;
     		what=response.getElementsByTagName('what')[0].firstChild.data;
     		result=response.getElementsByTagName('result')[0].firstChild.data;
//alert("processReqChange calling "+method+" '',"+result);
		eval(method + '(result,what,\'\')');
        } else {
            alert("There was a problem retrieving the XML data:\n" + req.statusText);
        }
    }
}

