
if (typeof XMLHttpRequest == "undefined" && window.ActiveXObject) {

	XMLHttpRequest = function () {

		var aSignatures = ["Microsoft.XMLHTTP", "MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0",
		"MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP",
		"Microsoft.XMLHTTP"];

		for (var i=0; i < aSignatures.length; i++) {
			try {

				var oRequest = new ActiveXObject(aSignatures[i]);

				return oRequest;

			} catch (oError) {
				// zignorowanie b��du
			}
		}

		throw new Error("Biblioteka MSXML nie jest zainstalowana w systemie.");
	}
}
function HttpRequest() {
	TempObject = new Object;
	TempObject = {

		sURL : '',
		oRequest : null, 
		aParams : new Array(),
		bXmlHttpSupport : typeof XMLHttpRequest == "object" || window.ActiveXObject,

		addParam : function (sParamName, sParamValue) {
			this.aParams.push(new Array(encodeURIComponent(sParamName), encodeURIComponent(sParamValue)));
		},

		getURL : function () {
			sURL = this.sURL;
			sURL += (sURL.indexOf("?") == -1 ? "?" : "&");
			sURL += this.sParamsData();
			return sURL;
		},

		sParamsData : function () {
			if(this.aParams.length ==  0) return '';
			var sData = this.aParams[0][0] + '=' + this.aParams[0][1];
			for(i=1; i < this.aParams.length; i++){
				sData += '&' + this.aParams[i][0] + '=' + this.aParams[i][1];
			}
			return sData;
		},

		setURL : function (sURL) {
			this.sURL = sURL;
		},

		get : function (onRespons) {

			if ( typeof XMLHttpRequest == "function" || window.ActiveXObject ||  typeof XMLHttpRequest == "object") {

				var oRequest = new XMLHttpRequest();
				oRequest.open("get", this.getURL(), true);
				oRequest.onreadystatechange = function () {
					if (oRequest.readyState == 4) {
						rText = oRequest.responseText
						onRespons(rText, oRequest);
					}
				}
				oRequest.send(null);
				this.oRequest = oRequest;

			} else {
				alert("Przeglądarka nie obsługuje żądań HTTP.");
			}
		},

		post : function (onRespons) {

			if ( typeof XMLHttpRequest == "function" || window.ActiveXObject ||  typeof XMLHttpRequest == "object") {

				var oRequest = new XMLHttpRequest();
				oRequest.open("post", this.sURL, true);
				oRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
				oRequest.onreadystatechange = function () {
					if (oRequest.readyState == 4) {
						rText = oRequest.responseText
						onRespons(rText, oRequest);
					}
				}
				oRequest.send(this.sParamsData());
				this.oRequest = oRequest;


			} else {
				alert(typeof XMLHttpRequest);
				alert(window.ActiveXObject);
				alert("Przeglądarka nie obsługuje żądań HTTP.");
			}
		},
		
		abord : function () {
				this.oRequest.abord();
		}
	}
	return TempObject;
}

function stripXML(t, tag){
	startTag = "<" + tag +">";
	stopTag = "</" + tag + ">";
	t = t.substring(t.indexOf(startTag) + startTag.length);
	return t.substring(0, t.indexOf(stopTag));
}

function getTagList(t, tag){
	eval("re = /(?:<" + tag + ">)([\\S\\s]*?)(?:<\\/" + tag + ">)/gi;");
	test_wynik = t.match(re);
	//alert(test);
	return test_wynik;
}

function simpleRequest(sUrl, oParams,  sType, oOutPutFunc){
	
	oReq = new HttpRequest();
	oReq.setURL(sUrl);

	for (var i in oParams) {
		oReq.addParam(i, oParams[i]);
	}
	
	return oReq[sType](oOutPutFunc);
}
