/*
    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;

    /*@cc_on @*/
    /*@if (@_jscript_version >= 5)
	try {
	    ajax = new ActiveXObject('Msxml2.XMLHTTP');

        } catch (e) {
	    try {
		ajax = new ActiveXObject('Microsoft.XMLHTTP');
	    } catch (E) {
		ajax = false;
	    }
	}
    @end @*/
    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) {
    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) {

	    if (ajax.status == 200) {
		var which_element = document.getElementById(element_id);
		which_element.innerHTML = ajax.responseText;

	    } else {
		var which_element = document.getElementById(element_id);
		
		if (!err_msg) { err_msg="ajax: error while GET url data!"; }
		which_element.innerHTML = err_msg+"<br />\n("+ ajax.status +") "+ ajax.statusText;
	    }

//            element.innerHTML = ajax.responseText;
	}
    }
    // END of function()

    ajax.send(null);
return true;
}

