var req
var handler

// 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 ajaxRequest(url, func_handler) {

	handler = func_handler

    // branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) {
	//	debug('new XMLHttpRequest')
        req = new XMLHttpRequest();
        req.onreadystatechange = ajaxCheckState;
        req.open("GET", url, true);
        req.setRequestHeader('Content-Type','text/xml'); 
        req.setRequestHeader('encoding','ISO-8859-1');         
        req.send(null);
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
	//	debug('new ActiveXObject("Microsoft.XMLHTTP")')
        isIE = true;
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = ajaxCheckState;
            req.open("GET", url, true);
            req.setRequestHeader('Content-Type','text/xml'); 
            req.setRequestHeader('encoding','ISO-8859-1');         
            req.send();
        }
    }
}

// handle onreadystatechange event of req object
function ajaxCheckState()
{
//	debug(req.readyState);

    // only if req shows "loaded"
    if (req.readyState == 4) {
        // only if "OK"
        if (req.status == 200) {
			handler = handler +'(req.responseText)'
		//	alert(handler)
			eval(handler)
         } else {
            alert("There was a problem retrieving the XML data:\n" +
                req.statusText);
         }
    }
}

