var zXml={ useActiveX:(typeof ActiveXObject!="undefined"), useDom:document.implementation&&document.implementation.createDocument, useXmlHttp:(typeof XMLHttpRequest!="undefined") };
zXml.ARR_XMLHTTP_VERS=["MSXML2.XmlHttp.5.0","MSXML2.XmlHttp.4.0","MSXML2.XmlHttp.3.0","MSXML2.XmlHttp","Microsoft.XmlHttp"];
zXml.ARR_DOM_VERS=["MSXML2.DOMDocument.5.0","MSXML2.DOMDocument.4.0","MSXML2.DOMDocument.3.0","MSXML2.DOMDocument","Microsoft.XmlDom"];;

function zXmlHttp(){ }

zXmlHttp.createRequest=function(){
		if(zXml.useXmlHttp){
				return new XMLHttpRequest();
		}else if(zXml.useActiveX){
			if(!zXml.XMLHTTP_VER){
				for(var i=0;i<zXml.ARR_XMLHTTP_VERS.length;i++){
					try{
						new ActiveXObject(zXml.ARR_XMLHTTP_VERS[i]);
						zXml.XMLHTTP_VER=zXml.ARR_XMLHTTP_VERS[i];
						break;
					} catch(oError){
						;
					}
				}
			}
			if(zXml.XMLHTTP_VER){
				return new ActiveXObject(zXml.XMLHTTP_VER);
			}else{
				throw new Error("Could not create XML HTTP Request.");
			}
		} else {
			throw new Error("Your browser doesn't support an XML HTTP Request.");
		}
};