function createXMLHttpRequest() {
   return this.XMLHttpRequest ? 
      new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
}
function isParseError (doc) {
   return (doc.parseError!=null && doc.parseError.errorCode!=0) ||
      (doc.documentElement.tagName=='parsererror' 
         && doc.documentElement.namespaceURI==
           'http://www.mozilla.org/newlayout/xml/parsererror.xml') ||
      (doc.documentElement == null);
}

function callXmlRequest(url, func) {
    var req = createXMLHttpRequest();
    req.onreadystatechange = function() {
        if (req.readyState != 4) {
             return;
        }
        var status = req.responseText.charAt(0);
	var text = req.responseText;
	var data = req.responseXML.documentElement;
        if (status == "-") {
//	    alert("Error");
           return;
        } else if (isParseError(req.responseXML)) {
            alert("XML format error");
        } else {
               eval(func + "(text,data);");
        }
    }
    req.open("GET", url, true);
    req.setRequestHeader('User-Agent', 'XMLHttpRequest');
    req.send(null);
}
