function newXMLHttpRequest() {
	var xmlreq = false;
	if (window.XMLHttpRequest) {
	    // Create XMLHttpRequest object in non-Microsoft browsers
	    xmlreq = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
    	// Create XMLHttpRequest via MS ActiveX
    	try {
    		// Try to create XMLHttpRequest in later versions
    		// of Internet Explorer
    		xmlreq = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e1) {
			// Failed to create required ActiveXObject
    		try {
      			// Try version supported by older versions
       			xmlreq = new ActiveXObject("Microsoft.XMLHTTP");
    		}
    		catch (e2) {
				// Unable to create an XMLHttpRequest with ActiveX
				showMessage("Unable to create an XMLHttpRequest", 1, "mapMessage");
    		}
    	}
  	}
  	return xmlreq;
}

function getReadyStateHandler(req, responseXmlHandler, frm, option) {	
	return function () {	
		if (req.readyState == 4) {			
			if (req.status == 200) {				
				var resp = req.responseText;	
				var gobjDatabaseDom = new XMLDoc(resp, xmlError);
    			var gobjDatabaseDomTree = gobjDatabaseDom.docNode;
    			responseXmlHandler(gobjDatabaseDom, gobjDatabaseDomTree, frm, option);
				//responseXmlHandler(resp, frm, option);
			} else {
				// An HTTP problem has occurred
				clearMessage();
				showMessage("HTTP error: "+req.status + "\nPlease retry your last operation", 1, "xmlErrorTd");
			}
		}
	}
}
function getReadyStateHandlerForHTML(req, responseHTMLHandler, frm, option,target) {	
	return function () {	
		if (req.readyState == 4) {			
			if (req.status == 200) {				
				var resp = req.responseText;
    			responseHTMLHandler(resp, frm, option,target);				
			} else {				
				clearMessage();
				showMessage("HTTP error: "+req.status + "\nPlease retry your last operation", 1, "xmlErrorTd");
			}
		}
	}
} 

function xmlError(){
	alert("XML feed error: Please retry your last operation");
//	clearMessage();
//	showMessage("XML feed error: Please retry your last operation", 1, "xmlErrorTd");
}
