function createXMLHTTP()
{
	var aSignatures = ["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) {}
	}
	return false;
}

var bXmlHttpSupport = (typeof XMLHttpRequest == "object" || typeof XMLHttpRequest == "function" || window.ActiveXObject);

var Http = new Object;

Http.get = function (sURL, fnCallback)
{
	if(bXmlHttpSupport)
	{
		if(window.ActiveXObject)
			var oRequest = new createXMLHTTP();
		else
			var oRequest = new XMLHttpRequest();
		oRequest.open("get", sURL);
		oRequest.onreadystatechange = function()
		{
			if(oRequest.readyState == 4){
				fnCallback(oRequest.responseText);
			}
		}
		oRequest.send(null);
	}
	else {
		alert("Przegladarka nie obsluguje zadan HTTP.");
	}
}

Http.post = function (sURL, sParams, fnCallback)
{
	if(bXmlHttpSupport)
	{
		if(window.ActiveXObject)
			var oRequest = new createXMLHTTP();
		else
			var oRequest = new XMLHttpRequest();
		oRequest.open("post",sURL,true);
		oRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		oRequest.onreadystatechange = function()
		{
			if(oRequest.readyState == 4)
			{
				fnCallback(oRequest.responseText);
			}
		}
		oRequest.send(sParams);
	} else
	{
		alert("Przegladarka nie obsluguje zadan HTTP.");
	}
}

Http.addPostParam = function (sParams, sParamName, sParamValue)
{
	if(!sP) var sP = '';
	if(sParams.length>0) sParams +="&";
	return sParams + encodeURIComponent(sParamName)+"="+encodeURIComponent(sParamValue);
}

Http.form = function (sID,fnCallBack)
{
	document.getElementById(sID).onsubmit = function () {
        	return Http.SendForm(sID,fnCallBack);
    	}
}

Http.SendForm = function (sID,fnCallBack)
{
	var oForm = document.getElementById(sID);
	var sParams = "";
	var sAction = oForm.action;
	for(var i=0;i<oForm.elements.length;i++)
	{
		if(oForm.elements[i].type == 'radio' || oForm.elements[i].type == 'checkbox'){ 
			if(oForm.elements[i].checked)
				sParams = Http.addPostParam(sParams,oForm.elements[i].name,oForm.elements[i].value);
		} else
			sParams = Http.addPostParam(sParams,oForm.elements[i].name,oForm.elements[i].value);
		oForm.elements[i].disabled = true;
	}
	Http.post(oForm.action,sParams, function(sData)
	{
		fnCallBack(sData);
		for(var i=0;i<oForm.elements.length;i++)
			oForm.elements[i].disabled = false;
	});
	return false;
} 

function PostDone(sData)
{
	if(sData.substring(2,-3)=='r:'){
		location.href = sData.substring(2);
	}else if(sData != ''){
		document.getElementById('message').innerHTML = sData;
		document.getElementById('message').style.display = 'block';
	}
}

