function DoShowHide(oEl,sStav)
{
	var oCh = oEl.childNodes;
	//projdu vsechny podrizene uzly
	for (var i = 0; i < oCh.length; i++) {
		if(oCh[i].tagName=='UL') {
			if(sStav=='nevim') {//jeste nevim, jestli budu schovavat nebo ukazovat
				if(oCh[i].style.display=='none') { //prvni UL je schovany, budu tedy ukazovat
					sStav = '';
				}
				else {
					sStav = 'none'; //budu schovavat
				}
			}
			oCh[i].style.display = sStav; //nastavim stav
		}

		if (sStav!='') { //skryvam, skryji vse
			DoShowHide(oCh[i],sStav); //rekurzi projdu vsechny podrizene uzly
		}
	}
}

function ShowHide(oEl)
{

	//najdu nejblizsi nadrazeny LI
	while((oEl.tagName!='LI') && (oEl.tagName!='BODY'))	{
		oEl = oEl.parentNode;
	}
	
	if(oEl.tagName=='LI') { //naslo se
		DoShowHide(oEl,sStav='nevim');
	}
};

//skryje nebo zobrazi vsechny podrizene UL v DIV, pokud jsou druhe hlubsi urovne
function ShowHideUlInDiv(sDivId) {
	var oUls = document.getElementById(sDivId).getElementsByTagName('ul'); //vsechy UL v DIV
	sStav = 'nevim'; //pocatecni hodnota
	for (var i=0; i<oUls.length; i++) { //pro vsechny UL v DIV
		if (oUls[i].parentNode.tagName.toUpperCase()=='LI') { //je nadrizena polozka "LI"?
			if(sStav=='nevim') {//jeste nevim, jestli budu schovavat nebo ukazovat
				if(oUls[i].style.display=='none') { //prvni UL je schovany, budu tedy ukazovat
					sStav = '';
				}
				else {
					sStav = 'none'; //budu schovavat
				}
			}
			oUls[i].style.display = sStav; //zobrazim nebo skryji
		}
	}
}


