
function LoadXML(url)
{
	var req = null;
	this.loadXMLDoc = loadXMLDoc;
	this.processReqChange = processReqChange;
	 
	loadXMLDoc(url);
	
	//load an XML doc
	function loadXMLDoc(url) 
	{
		//alert(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() 
	{
		// only if req shows "complete"
		if (req.readyState == 4) {
			// only if "OK"
			if (req.status == 200) {
				response  = req.responseXML.documentElement;
				for (var i=0; i<response.getElementsByTagName('method').length; i++)
				{
					  method    = response.getElementsByTagName('method')[i].firstChild.data;
					  result    = response.getElementsByTagName('result')[i].firstChild.data;
	
					  eval(method + '(result)');
				}
			} else {
				alert("There was a problem retrieving the XML data:\n" + req.statusText);
			}
		}
	}
}

