// ?? MH Musí to být i tady?
var POVOLENE_EDITACE = 2;

function i1(pImgObject) {
	try {pImgObject.src = String(pImgObject.src).replace(/_n\./, "_a.");}
	catch(e) {return;}
}

function i0(pImgObject) {
	try {pImgObject.src = String(pImgObject.src).replace(/_a\./, "_n.");}
	catch(e) {return;}
}

function ti0(pElement){
	pElement.className="tl0";
}
function ti1(pElement){
	pElement.className="tl1";
}

// kliknuto na tabulkove tlacitko
function tClick(pElement){
	try {
		var lElement = pElement.childNodes[0].childNodes[0].childNodes[1];

		if (lElement.childNodes[0].tagName == "A") {
			lElement.childNodes[0].click();
		}
	} catch (e) {}
}

// ?? MH k čemu to je?
function n(pElement){
	try {
		var lZmenit;
		if (typeof(pElement) == 'string') {
			lZmenit = pElement;
		} else {
			lZmenit = pElement.htmlFor;
		}

		if (document.getElementById(lZmenit).type == 'checkbox') {
			document.getElementById(lZmenit).checked = !document.getElementById(pElement.htmlFor).checked;
		} else {
			if (document.getElementById(lZmenit).type == 'radio') {
				document.getElementById(lZmenit).checked = true;
			} else {
				document.getElementById(lZmenit.replace(/i/i,'o')).innerHTML = '<input type="checkbox" name="o' + lZmenit.replace(/i/i, '') + '" value="1" id="' + lZmenit + '" checked="checked"/>';
			}
		}
	} catch (e) {}
	return false;
}

function ZobrazHistogram(pLevaHodnota, pPravaHodnota, pLevyStyl, pPravyStyl, pText, pNastaveni) {
	var lProcent = 50;
	var lVrat;

	if (pLevyStyl == null)
		pLevyStyl = "tbHstSpravne";
	if (pPravyStyl == null)
		pPravyStyl = "tbHstSpatne";

	if (pNastaveni == null)
		pNastaveni = '';

	if (pLevaHodnota + pPravaHodnota > 0)
		lProcent = parseInt(pLevaHodnota / (pLevaHodnota + pPravaHodnota) * 100);

	if (isNaN(lProcent))
		lProcent = 0;

	lVrat = '<table width="120" cellspacing="0" cellpadding="2" border=0 ' + pNastaveni + '><tr>' + (pText!= null ? '<td>' + pText + '</td>': '')+ '<td class="' + pLevyStyl + '" width="' + lProcent + '%">' + pLevaHodnota + '</td><td class="' + pPravyStyl + '" width="' + (100 - lProcent) + '%">' + pPravaHodnota + '</td></tr></table>';

	return lVrat;
}

// mělo by to projít všechny obrázky a zjistit, jestli náhodou nemohou mít aktivní ekvivalent, případně ho natáhnout
function nacistObrazky() {
	var lAI, laI = new Array();
	var dI = document.images;
	var lRE = new RegExp("(.)*(_n)\.[a-z]{3,}", "i");
	lRE.compile("(.)*(_n)\.[a-z]{3,}", "i");

	for (var i=0; i < dI.length; i++) {
		if (lRE.test(dI[i].src)) {
			(lAI = (laI[laI.length] = new Image())).src = String(dI[i].src).replace("_n\.", "_a\.");
			//			if (lAI.onmouseover != null) lAI.onmouseover = function { i1(this); }
		}
	}
}

// mělo by to projít všechny obrázky a zjistit, jestli náhodou nemohou mít aktivní ekvivalent, případně ho natáhnout a nastavit odpovídající události
function nacistANastavitTl() {
	var lAI, laI = new Array(), laIsrc = new Array();
	var dI = document.images;
	var lRE = new RegExp();
	lRE.compile("(.)*(_n)\.[a-z]{3,}", "i");

	for (var i=0; i < dI.length; i++) {
		lAI = dI[i];
		if (lRE.test(lAI.src)) {
			if (!laIsrc.exists(lAI.src)) {
				laIsrc[laIsrc.length] = lAI.src;
				(laI[laI.length] = new Image()).src = String(lAI.src).replace("_n\.", "_a\.");
			}
			if (lAI.onmouseover == null && lAI.onmouseout == null) {
				lAI.onmouseover = function() { i1(this); }
				lAI.onmouseout = function() { i0(this); }
			}
		}
	}
}

function nastavitBublinu(pHTML) {
	try {var lB = top.frames['horni'].document.getElementById('bublina');}
	catch(e) { return 0; }
	if (lB && lB.innerHTML != pHTML) {
		lB.innerHTML = String(pHTML).replace(/\n/g, '<br />');
		return 1;
	}
	return 0;
}

function nastavitKontext(pHTML) {
	if (pHTML == null) return 1;

	try { var lK = top.frames['levy'].document.getElementById('divKontext'); }
	catch(e) { return 0 }
	if (lK && lK.innerHTML != pHTML) {
		lK.innerHTML = pHTML;
		return 1;
	}
	return 0;
}

function zobrazitNavigaci() {
	try { top.frames['levy'].document.getElementById('tbNavigace').style.display = "block";}
	catch(e) {return;}
}

function skrytNavigaci() {
	try { top.frames['levy'].document.getElementById('tbNavigace').style.display = "none";}
	catch(e) {return; }
}

function nastavitNavigaci(pHTML) {
	try {var lN = top.frames['pravy'].frames['pravyH'].document.body }
	catch(e) {return 0; }
	if (lN && lN.innerHTML != pHTML) {
		lN.innerHTML = pHTML;
		return 1;
	}
	return 0;
}

function nastavitPripominku(pStrankaID, pURL, pURLreferrer, pOstatni, pNazevFramu, pPredmetID, pSekceID, pPolozkaID) {
	var lLevy, lElement;

	pNazevFramu = (pNazevFramu == null ? 'levy' : pNazevFramu);

	try { lLevy = top.frames[pNazevFramu].document; }
	catch (e) { return 0 }

	if (lElement = lLevy.getElementById('strankaID')) lElement.value = pStrankaID;
	if (lElement = lLevy.getElementById('URL')) lElement.value = pURL;
	if (lElement = lLevy.getElementById('URLreferrer')) lElement.value = pURLreferrer;
	if (lElement = lLevy.getElementById('ostatni')) lElement.value = pOstatni;
	if (lElement = lLevy.getElementById('predmetID')) lElement.value = pPredmetID;
	if (lElement = lLevy.getElementById('polozkaID')) lElement.value = pPolozkaID;
	if (lElement = lLevy.getElementById('sekceID')) lElement.value = pSekceID;

	//Nastaveni Diskuse
	if (lElement = lLevy.getElementById('dPredmetID')) lElement.value = pPredmetID;
	if (lElement = lLevy.getElementById('dPolozkaID')) lElement.value = pPolozkaID;
	if (lElement = lLevy.getElementById('dSekceID')) lElement.value = pSekceID;
	if (lLevy.getElementById('dPredmetID'))	{
		if (lLevy.getElementById('dPredmetID').value > 0 || lLevy.getElementById('dPolozkaID').value > 0 || lLevy.getElementById('dSekceID').value > 0) {
			lLevy.getElementById('dTlacitkoDiskuse').style.display = 'block';
		} else {
			lLevy.getElementById('dTlacitkoDiskuse').style.display = 'none';
		}
	}

	return 1;
}

function pridatDoKontextu(pHTML, pPozice) {
	var lKontext, lLevy;
	if (lLevy = top.frames['levy']) {
		lKontext = lLevy.document.getElementById('divKontext');
		if (lKontext) {
			lKontext.insertAdjacentHTML(pPozice, pHTML);
			return 1;
		}
	}
	return 0;
}

function zobrazitLevouNavigaci(pJeViditelna) {
	var lLevaNavigace;
	if (pJeViditelna == null) pJeViditelna = true;

	try	{ lLevaNavigace = top.frames['levy'].document.getElementById('navigace') }
	catch (e) { return false; }
	if (pJeViditelna) {
		lLevaNavigace.style.display = 'block';
	} else {
		lLevaNavigace.style.dislpay = 'none';
	}
	return true;
}

function randomRequest() {
	return "ac=" + Math.round(Math.random()*1000000000);
}

function antiCache() {
	var a = document.getElementsByTagName("A"), it, ac = randomRequest(), txt;
	var f = document.forms;
	var fr = document.getElementsByTagName("IFRAME");

	for (var i=0; i < a.length; i++) {
		it = a.item(i);
		if (it.href != null && it.href.indexOf('javascript') == -1) {
			txt = it.innerHTML;
			it.href += (String(it.href).indexOf("?") == -1 ? "?" : "&") + ac;
			it.innerHTML = txt;
		}
	}
	for (var i=0; i < fr.length; i++) {
		it = fr[i];
		if (it && it.src) {
			try { it.src += (String(it.src).indexOf("?") == -1 ? "?" : "&") + ac; }
			catch(e) {}
		}
	}
	if (f.length > 0) {
		ac = document.createElement("input");
		with (ac) {
			type = "hidden";
			name = "ac";
			value = String(Math.round(Math.random()*1000000000));
		}
		for (i=0; i < f.length; i++) {
			f.item(i).appendChild(ac.cloneNode(false));
		}
	}
}


// pro kontrolu formulářů...
//var chybovaHlaska = '';
function check(poFormular) {
	var activeElement, i;
	var chybovaHlaska = '';

	for (i=0; i < poFormular.elements.length; i++) {
		activeElement = poFormular.elements.item(i);
		if (activeElement.check) {
			try { eval(activeElement.check); }
			catch(e) { alert('Evaluated expression:\n' + activeElement.check + '\n' + e) }
		}
	}
	if (chybovaHlaska != '') { alert(chybovaHlaska); return false;}
	return true;
}

Array.prototype.exists = function(pValue) {
	var lValue = String(pValue);
	for (var i=0; i < this.length; i++) {
		if (String(this[i]) == lValue) {
			return true;
		}
	}
	return false;
}

// pouze pokud to prohlížeč neimplementuje
if (Array.prototype.push == null) {
	Array.prototype.push = function(pPrvek) {
		return (this[this.length] = pPrvek);
	}
}

Error.prototype.toString = function() {
	var lVystup = '';
	lVystup += ('CHYBA:\nČíslo: ');
	lVystup += ((this.number & 0xFFFF) + '\nPopis: ');
	lVystup += (this.description);
	return lVystup;
}

window.onerror = function (message, url, line) {
	if (top.frames && top.dolni && top.dolni.document) {
		var lFrm = top.dolni.document.getElementById('frmErrorDetect');
		var lInfo = top.dolni.document.getElementById('hidErrInfo');
		var lURL = top.dolni.document.getElementById('hidURL');
		if (lFrm != null && lInfo != null) {
			lInfo.value = 'Zpráva:' + message + '\nurl: ' + url + '\nřádek:' + line;

			if (this.getDebugInfo) {
				lInfo.value += '\n' + this.getDebugInfo();
			}
			if (lURL) {
				lURL.value = url;
			}
			lFrm.submit();
		}
	}
	return false;
}

function zobrazitNapovedu(){
	if (top.napoveda){
		var el=window.event.srcElement;
		for (;!el.title;el=el.parentElement)
			if (!el.parentElement) {
				nastavitBublinu('Přejížděj myší přes jednotlivé části obrazovky a já to řeknu, co je to. Nápovědu vypneš kliknutím na tlačítko nápovědy.');
				return;
			}
		nastavitBublinu(el.title);
	}
}

function prepnoutNapovedu(pElement){
	if (top.napoveda) {
		top.napoveda=false;
		pElement.src=String(pElement.src).replace(/zap/,'vyp');
		nastavKurzor(top,'auto');
	} else {
		top.napoveda=true;
		pElement.src=String(pElement.src).replace(/vyp/,'zap');
		nastavKurzor(top,'help');
	}
}

function nastavKurzor(pOkno, pKurzor) {
	pOkno.document.body.style.cursor=pKurzor;
	for (var i=0; i<pOkno.frames.length; i++)
		nastavKurzor(pOkno.frames[i],pKurzor)
}

function nacteno(){
	return gNacteno;
}

function $(pElementId) {
	return document.getElementById(pElementId);
}

// zkusí předat oknu focus. Nemusí vždy vyjít, zejména při použití window.opener
function zkusitFocusWindow(poWindow) {
	try {
		poWindow.focus();
	} catch(e){}
}

// zkusí refrešnout okno focus. Nemusí vždy vyjít, zejména při použití window.opener
function zkusitRefreshWindow(poWindow) {
	try {
		poWindow.location.reload(true);
	} catch(e){}
}

// pPredatFokus - default true
function zkusitOtevritOkno(pAdresa, pNazevOkna, pParametry, pPopUpBlockerHlaska, pPredatFokus) {
	var lOkno;
	// pokud se předají null parametry, tak se otevírá okno bez scrollbarů. Proto tahle odbočka
	if (pNazevOkna == null && pParametry == null) {
		lOkno = window.open(pAdresa);
	} else {
		lOkno = window.open(pAdresa, pNazevOkna, pParametry);
	}

	if (!lOkno || !lOkno.top) {
		if (pPopUpBlockerHlaska != null) {
			alert(pPopUpBlockerHlaska);
		} else if (gPopUpBlockerInfo != null) {
			alert(gPopUpBlockerInfo);
		}
		return null;
	}

	if (lOkno && !lOkno.closed && pPredatFokus !== false) {
		lOkno.focus();
	}
	return false;
}