	
	if (window.ActiveXObject) {
		AjaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		AjaxRequest = new XMLHttpRequest();
	}
	
	//nacte obsah url do elementu s id dest a pripadne provede kod callback po nacteni obsahu do elementu
	function loadContent(url, dest, callback) {
		if (url != "") {
			AjaxRequest.open("GET", url, true);
			AjaxRequest.onreadystatechange = function () { contentRequest(dest,callback); } ;
			
			//AjaxRequest.setRequestHeader("Content-type","text/htm; charset=windows-1250");
			AjaxRequest.setRequestHeader("Content-type","text/htm; charset=UTF-8");
			
			AjaxRequest.send(null);
			
		} else {
			document.getElementById(dest).innerHTML = "";
		}
	}
	
	//pokud je vracen status provedeni pozadavku, je volana tato fce pro vlozeni noveho obsahu do elementu
	function contentRequest(dest,callback) {
		if (AjaxRequest.readyState == 4) {
			if(AjaxRequest.status == 200) {
				var destination = document.getElementById(dest);
				var content = AjaxRequest.responseText;
				
				//ulozeni obsahu do elementu
				destination.innerHTML = content;
				
				el = document.getElementById(dest).style;
				if (navigator.appName == "Microsoft Internet Explorer") {
					el.display = 'block';
				} else {
					el.display = 'block';
				}
				
				//pokud je predan kod, ktery ma byt volan po vlozeni noveho obsahu do dest elementu, provede se
				if (callback) {
					eval(callback);
				}
			} else {
				alert("Chyba pri nacitani stranky"+ AjaxRequest.status +":"+ AjaxRequest.statusText);
			}
		}
	}
	
	//funkce odstrani HTML obsah prvdu destId
	function clearObjectId(destId, defContent) {
		var destination = document.getElementById(destId);
		if (destination) {
			
			if (defContent) {
				destination.innerHTML = defContent;
			} else {
				destination.innerHTML = "";
				
				el = document.getElementById(destId).style;
				el.display = 'none';
			}
		}
	}
	