var xmlHttp = createXmlHttpRequestObject(); 

function createXmlHttpRequestObject() 
{
	var xmlHttp;
	// Internet Explorer
	if (window.ActiveXObject)
	{
		try
		{
			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch (e) 
		{
			xmlHttp = false;
		}
	}
  	// Mozilla
	else
	{
		try 
		{
			xmlHttp = new XMLHttpRequest();
		}
		catch (e) 
		{
			xmlHttp = false;
		}
	}
	// error
	if (!xmlHttp)
		alert("Wysiąpił błąd podczas tworzenia obiektu XMLHttpRequest.");
	else 
		return xmlHttp;
}

function processHttpRequest(url, handleServerResponse, xml)
{
	if (xml)
	{
		if (xml.readyState == 4 || xml.readyState == 0)
		{
			xml.open("GET", url, true);  
			xml.onreadystatechange = handleServerResponse;
			xml.send(null);
		}
	}
	else
	{
		if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
		{
			xmlHttp.open("GET", url, true);  
			xmlHttp.onreadystatechange = handleServerResponse;
			xmlHttp.send(null);
		}
		else
		{
			setTimeout('processHttpRequest(\''+url+'\','+handleServerResponse+')', 500);
		}
	}
}

function responseSwitcher(page, pagesize, count, url, handleServerResponse, xml)
{
	var html = '';

	if (page > 1)
		html += '<span style="cursor:pointer" onclick="javascript:processHttpRequest(\'' + url + '&amp;page=' + (page-1) + '\',' + handleServerResponse + ')">&laquo;</span>&nbsp;';
		
	for(var i = 1; i <= Math.ceil(count/pagesize); i++)
	{
		if (i>1)
			html += '&nbsp;';

		if (i==page)
			html += '<span>[' + i + ']</span>';
		else
			html += '<span style="cursor:pointer" onclick="javascript:processHttpRequest(\'' + url + '&amp;page=' + i + '\',' + handleServerResponse + ', ' + xml + ')">' + i + '</span>';
	}

	if (page < Math.ceil(count/pagesize))
		html += '&nbsp;<span style="cursor:pointer" onclick="javascript:processHttpRequest(\'' + url + '&amp;page=' + (page+1) + '\',' + handleServerResponse + ', ' + xml + ')">&raquo;</span>';

	return '<div align="center">'+html+'</div>';
}

