function postDataReturnXml(url, data, callback)
{
	var XMLHttpRequestObject = false;
	if (window.XMLHttpRequest)
	{
		XMLHttpRequestObject = new XMLHttpRequest();
	} 
	else if (window.ActiveXObject) 
	{
		XMLHttpRequestObject = new
		ActiveXObject("Microsoft.XMLHTTP");
	}
	if (XMLHttpRequestObject.overrideMimeType)
	XMLHttpRequestObject.overrideMimeType('text/xml')
	if(XMLHttpRequestObject) 
	{
		XMLHttpRequestObject.open("POST", url);
		XMLHttpRequestObject.setRequestHeader('Content-Type',
		'application/x-www-form-urlencoded');
	
		XMLHttpRequestObject.onreadystatechange = function()
		{
			if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) 
			{
				//XMLHttpRequestObject.responseXML.load(XMLHttpRequestObject.responseBody);
				//do not use alert here anymore, use it on the test page, this function WORKS!!!!
				//document.write(XMLHttpRequestObject.responseText);
				callback(XMLHttpRequestObject.responseXML);
				delete XMLHttpRequestObject;
				XMLHttpRequestObject = null;
			}
		}
		
		XMLHttpRequestObject.send(data);
	}
}
function removeWhitespace(xml)
{
	var loopIndex;
	for (loopIndex = 0; loopIndex < xml.childNodes.length;
	loopIndex++) {
		var currentNode = xml.childNodes[loopIndex];
		if (currentNode.nodeType == 1) {
			removeWhitespace(currentNode);
		}
		if (((/^\s+$/.test(currentNode.nodeValue))) &&
		(currentNode.nodeType == 3)) {
			xml.removeChild(xml.childNodes[loopIndex--]);
		}
	}
}