	
	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';
			}
		}
	}
	
//------------------------------------------------------------------------------
// AJAX update element content

//nacte obsah url do elementu s id dest a pripadne provede kod callback po nacteni obsahu do elementu
function loadElementContent(url, dest, callback) {
	if (url != "") {
		
		//odstraneni preloaderu, pokud nejaky existuje
		//removePreloader();
		//vytvoreni noveho preloaderu pred otevrenim dokumentu
		//createPreloader();
		
		//prepis hlavniho scriptu na content.php, pokud neni defonovany
		url = url.replace(/\/\?/, "/content.php?");
		//alert(url);
		
		//return(false);
		AjaxRequest.open("GET", url, true);
		AjaxRequest.onreadystatechange = function () { elementContentRequest(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 elementContentRequest(dest,callback) {
	//alert(AjaxRequest.readyState);
	
	if (AjaxRequest.readyState == 4) {
		//removePreloader();
		
		if(AjaxRequest.status == 200) {
			var destination = document.getElementById(dest);
			var content = AjaxRequest.responseText;
			
			//vytvoreni pomocneho elementu
			var tmp_content = document.createElement('div');
			tmp_content.innerHTML = content;
			
			var final_content = '';
			
			//cyklicke vytazeni html child elementu
			for (i = 0; i < tmp_content.childNodes.length; i++) {
				final_content += tmp_content.childNodes[i].innerHTML;
			}
			
			//ulozeni obsahu do elementu
			destination.innerHTML = final_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);
		}
	}
}

