function getXMLParser(){
	if (getXMLParser.type){
		return getXMLParser.type;
	}
	
	var types = ['Microsoft.XMLHTTP','MSXML2.XMLHTTP.5.0','MSXML2.XMLHTTP.4.0','MSXML2.XMLHTTP.3.0','MSXML2.XMLHTTP'];
	for (var i=0;i<types.length;i++) {
		try {
			new ActiveXObject(types[i]);
			return getXMLParser.type = types[i];
		}
		catch(ex){};
	}
	throw new Error("No suitable XML parser installed for XMLHttp operations");
}

function XmlHttp(){}

XmlHttp.create = function () {
	try {
		if(window.XMLHttpRequest) {
			return new XMLHttpRequest();
		}
		if(window.ActiveXObject) {
			return new ActiveXObject(getXMLParser());
		}
	}
	catch(ex){};
	throw new Error("XMLHttp is not supported on this browser");
};
