
function loadXMLDocument(url, para, successHandler, errorHandler) {
	var req = false;
	// Mozilla, Safari etc.
	if(window.XMLHttpRequest) {
		try {
			req = new XMLHttpRequest();
		} catch(e) {
			req = false;
		}
	// IE
	} else if(window.ActiveXObject) {
		try {
			req = new ActiveXObject("Msxml2.XMLHTTP");
		} catch(e) {
			try {
				req = new ActiveXObject("Microsoft.XMLHTTP");
			} catch(e) {
				req = false;
			}
		}
	}
	if(req) {
		document.body.style.cursor = 'wait';
		if(para != '') {
			//alert(url);
			//alert(para);

			req.open("POST", url, true);
			req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			req.onreadystatechange = function() { processXMLDocumentResponse(req, successHandler, errorHandler); };
			req.send(para);
		} else {
			req.open("GET", url, true);
			req.onreadystatechange = function() { processXMLDocumentResponse(req, successHandler, errorHandler); };
			req.send(null);
		}
	}
	return req;
}

function processXMLDocumentResponse(req,successHandler,errorHandler) {
	if (req.readyState == 4) {
		document.body.style.cursor = 'default';
		// alert(req.getAllResponseHeaders());
		// alert(req.responseXML);
		// alert(req.responseText);
		// alert(req.responseBody);
		if (req.status == 200 && req.responseXML && req.responseXML.documentElement) {
			successHandler(req);
		} else if (errorHandler) {
			errorHandler(req);
		}
	}
}
