/*
    ajax.js, (c) j3nda <smid@fv.cz>
    -- prace s AJAX (Asynchronous JavaScript and XML)
    --
    -- rev.0.1, 31.05.2006, 13:49, j3nda :: revize souboru (via: 'www.jantichy.cz/vyuka/izi228/javascript' && 'ajax.js' <dennis.fridrich@visiontech.cz>)

*/

// vytvori zakladni instanci pro praci s AJAXem
function ajax_instance()
{
    var ajax = false;
    if (!ajax && typeof XMLHttpRequest != 'undefined')
    {
		ajax = new XMLHttpRequest();
    }
	return ajax;
}


// nahradi obsah libovolneho elementu vysledkem pozadavku GET na URL adresu
//   element = id elementu na strance, napr: <div id="moje_id">text, text</div>
//   url     = url adresa skriptu, jehoz vysledek bude vlozen do elementu
//   err_msg = chybova hlaska v pripade neuspechu pri prozadavku
function ajax_replace(element_id, url, err_msg)
{
	$("body").css('cursor', 'wait');
	if (!url)
	{
		document.getElementById(element_id).innerHTML = "";
		return false;
    }

    var ajax = ajax_instance();
    if (!ajax) { return false; }

    ajax.open('GET', url, true);
    ajax.onreadystatechange = function()
    {
		if (ajax.readyState == 4)
		{
			var which_element = document.getElementById(element_id);
			if (ajax.status == 200)
			{
				which_element.innerHTML = ajax.responseText;
			}
			else
			{
				if (!err_msg) { err_msg="ajax: error while GET url data!"; }
				which_element.innerHTML = err_msg+"<br />\n("+ ajax.status +") "+ ajax.statusText;
			}
			$("body").css('cursor', '');
		}
    }

    ajax.send(null);
	return true;
}

// send data using HTTP GET
function ajax_send(url)
{
	$("body").css('cursor', 'wait');
	if (!url)
		return false;

    var ajax = ajax_instance();
    if (!ajax) { return false; }

    ajax.open('GET', url, true);
    ajax.onreadystatechange = function()
    {
		if (ajax.readyState == 4)
			$("body").css('cursor', '');
    }

    ajax.send(null);
	return true;
}


