function getRequObj()
{
	var wersjeMSXML = new Array(
		"MSXML2.XMLHTTP.6.0",
		"MSXML2.XMLHTTP.5.0",
		"MSXML2.XMLHTTP.4.0",
		"MSXML2.XMLHTTP.3.0",
		"MSXML2.XMLHTTP",
		"Microsoft.XMLHTTP"
	);
	try{
		return new XMLHttpRequest();
	}
	catch(e){
		for (var indeks in wersjeMSXML){
			try{
				return new ActiveXObject(wersjeMSXML[indeks]);
			}
			catch(e){
			}
		}
		return null;
	}
}
	
function startGet(url, onComplete, onEnd)
{
	var RequObj = getRequObj();
	if(RequObj){
		RequObj.open("GET", url);
		RequObj.onreadystatechange = function()
		{
			if (RequObj.readyState == 4){
				if(RequObj.status == 200){
					var xml = RequObj.responseXML;
					var txt = RequObj.responseText;
					onComplete(txt, xml);
				}
				delete RequObj;
				RequObj = null;
				onEnd();
			}
		}
		RequObj.send(null);
	}
}

function startPOSTRequest(url, params, onComplete, onEnd)
{
	var RequObj = getRequObj();
	if(RequObj){
		RequObj.open("POST", url);
		RequObj.setRequestHeader(
			'Content-Type', 'application/x-www-form-urlencoded');
		RequObj.onreadystatechange = function()
		{
			if (RequObj.readyState == 4){
				if(RequObj.status == 200){
					var xml = RequObj.responseXML;
					var txt = RequObj.responseText;
					onComplete(txt, xml);
				}
				delete RequObj;
				onEnd();
			}
		}
		RequObj.send(params);
	}
}