if (typeof XMLHttpRequest == "undefined" && window.ActiveXObject) {
	function XMLHttpRequest() {
		var arrSignatures = ["MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0",
		"MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP",
		"Microsoft.XMLHTTP"];
		for (var i=0; i < arrSignatures.length; i++) {
			try {
				var oRequest = new ActiveXObject(arrSignatures[i]);
				return oRequest;
			} catch (oError) {
				//ignore
			}
		}
		throw new Error("MSXML is not installed on your system.");
	}
}

//Make an Xml Loader For IE and Mozilla
function XmlDom() {
	if(window.ActiveXObject) {
		var arrSignatures = ["MSXML2.DOMDocument.5.0", "MSXML2.DOMDocument.4.0",
		"MSXML2.DOMDocument.3.0", "MSXML2.DOMDocument",
		"Microsoft.XmlDom"];
		for (var i=0; i < arrSignatures.length; i++) {
			try {
				var oXmlDom = new ActiveXObject(arrSignatures[i]);
				return oXmlDom;
			} catch (oError) {
				//ignore
			}
		}
		throw new Error("MSXML is not installed on your system.");
	} else if (document.implementation && document.implementation.createDocument) {
		var oXmlDom = document.implementation.createDocument("","",null);
		oXmlDom.addEventListener("load", function () {
			this.__changeReadyState__(4);
		}, false);
		return oXmlDom;
	} else {
		throw new Error("Your browser doesn’t support an XML DOM object.");
	}
}
function AJAX() {
	var url = arguments[0];
	var callback = arguments[1];
	var bXMLResult = arguments[2];
	var callLoading = arguments[3];
	var diveLoader = arguments[4];
	
	if(callLoading == ''){
		callLoading = false;
	}
	if(typeof XMLHttpRequest == "object" || typeof XMLHttpRequest == "function" || window.ActiveXObject) {
		var xmlhttp = new XMLHttpRequest();
		xmlhttp.onreadystatechange= function () {
			if((xmlhttp.readyState == 1 || xmlhttp.readyState == 2 || xmlhttp.readyState == 3) && callLoading){
				if(typeof diveLoader != "undefined"){
					sendDataToServer(diveLoader);	
				}
			}

			if (xmlhttp.readyState == 4) {

				if (xmlhttp.status == 200) {
					if(bXMLResult) {
						callback(xmlhttp.responseXML)
					} else {
						callback(xmlhttp.responseText)
					}
				} else {
					throw new Error("Could not connect to page")
				}
			}
		};
		urlData = url.split("?");
		url= urlData[0];
		data = urlData[1];
		if(data == undefined) {
			data = "";
		}
		xmlhttp.open('POST', url, true);
		xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xmlhttp.setRequestHeader("Content-length", data.length);
		xmlhttp.send(data)
	} else if(navigator.javaEnabled() && typeof java != "undefined" && typeof java.net != "undefined") {
		var oURL = new java.net.URL(url);
		var oStream = this.oURL.openStream();
		var oReader = new java.io.BufferedReader(new java.io.InputStreamReader(oStream));
		var sResponseText = "";
		var sLine = oReader.readLine();
		while (sLine != null) {
			sResponseText += sLine + "\n";
			sLine = oReader.readLine();
		}
		oReader.close();
		if(arguments[2]) {
			var oXmlDom = new XmlDom();
			oXmlDom.onreadystatechange = function () {
				if (oXmlDom.readyState == 4) {
					//alert(oXmlDom.xml);
				}
			};
			oXmlDom.loadXML(sResponseText);
			callback(oXmlDom);
		} else {
			callback(sResponseText);
		}
	} else {
		throw new Error("Could Not Perform AJAX Here")
	}
}
function sendDataToServer(diveLoader) {
	if (diveLoader != ""){
		document.getElementById(diveLoader).innerHTML = '<br ><center><img src=""+imagesPath+"loading.gif" border="0" align="center" /></center><br >';
	}
	
}