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()
{
	// only if req shows "complete"
	if (req.readyState == 4)
	{
		// only if "OK"
		if (req.status == 200)
		{
			// ...processing statements go here...
			response  = req.responseXML.documentElement;
			method    = response.getElementsByTagName('method')[0].firstChild.data;
			result    = response.getElementsByTagName('result')[0].firstChild.data;

			eval(method + '(\'\', result)');
		}
		else
		{
			alert("There was a problem retrieving the XML data:\n");
		}
	}
}
