/* Univerzální funkce pro AJAX, zdroj: http://citron.blueboard.cz/clanek-270-univerzalni-funkce-pro-ajax.html */

function ajax(stranka, kam, show_waiting, waiting_message, waiting_element) {
	var httpRequest;
	if (typeof waiting_message == 'undefined') { waiting_message='Čekejte...' }
	if (typeof show_waiting == 'undefined') { show_waiting=true }
	if (typeof window.ActiveXObject != 'undefined')	{
		httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		httpRequest = new XMLHttpRequest();
	}
	httpRequest.open("GET", stranka, true);
	httpRequest.onreadystatechange=function () {
		processRequest(httpRequest, kam, show_waiting, waiting_message, waiting_element)
	};
	httpRequest.send(null);
}


function processRequest(httpRequest, kam, show_waiting, waiting_message, waiting_element)
{
		if (httpRequest.readyState == 4)
		{
				if(httpRequest.status == 200)
				{
						if (typeof kam == 'string')
						{
								document.getElementById(kam).innerHTML = httpRequest.responseText;
						}
						if (typeof kam == 'function')
						{
								kam(httpRequest.responseText);
						}
						if (typeof waiting_element != 'undefined')
						{
								document.getElementById(waiting_element).style['display'] = 'none';
						}
				}
				else
				{
						alert("Chyba pri nacitani stanky " + httpRequest.status +" : "+ httpRequest.statusText);
				}
		}
		else
		{
				if (typeof kam == 'string' && kam != '' && show_waiting)
				{
						document.getElementById(kam).innerHTML = waiting_message;
				}
				if (typeof waiting_element != 'undefined')
				{
						document.getElementById(waiting_element).style['display'] = '';
				}
		}
}
