
// AJAX : Cross-browser AJAX utilities
AJAX = {};

// Create XML-HTTP-Request 
AJAX.createHttpReq = function() { 
	if (typeof XMLHttpRequest != "undefined") { 
		return new XMLHttpRequest(); 
	} 
	else if (window.ActiveXObject) { 
		var aVersions = [ "MSXML2.XMLHttp.5.0", "MSXML2.XMLHttp.4.0", "MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp", "Microsoft.XMLHttp" ]; 
		for (var i = 0; i < aVersions.length; i++) { 
			try { 
				var oXmlHttp = new ActiveXObject(aVersions[i]); 
				return oXmlHttp; 
			} 
			catch (oError) { 
			} 
		} 
	} 
	throw new Error("XMLHttp object could be created."); 
};

// Create XML document
AJAX.createDocument = function() {
	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) {	
			}
		}
		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.");
	}
};