
var visibleSubmenu = null;
var hideAncestors = false;

// po zapnuti timeoutu se vsechno schova
var timeout = null;

function hideSubmenu(submenu) {
	var unsetGlobal = false;
	if (submenu == null) {
		submenu = visibleSubmenu;
		unsetGlobal = true;
	}
	if (submenu != null) {
		$(submenu).hide();
		$(submenu).find("ul.submenu").hide();
		if (unsetGlobal) {
			visibleSubmenu = null;
		}
		if (hideAncestors) {
			$(submenu).parents("ul.submenu").hide();
		}
	}
}

function setUpMenu(menuId) {
	$(document.getElementById(menuId)).find("a").mouseover(function() {
		var menu = $(this).closest("ul").get(0);
		// pokud ma aktualni menu otevrene podmenu schova se
		if (menu.visibleSubmenu) {
			hideAncestors = false;
			hideSubmenu(menu.visibleSubmenu);
		}
		// pokud je zobrazene podmenu jineho menu schova se
		if (visibleSubmenu != null) {
			var visibleParent = $(visibleSubmenu).parents("ul.hoveringMenu").get(0);
			var actualParent = $(this).parents("ul.hoveringMenu").get(0);
			if (visibleParent != actualParent) {
				hideSubmenu();
			}
		}
		clearTimeout(timeout);
		if ($(this).hasClass("children")) {
			menu.visibleSubmenu = $(this.parentNode).children("ul").get(0);
			$(menu.visibleSubmenu).show();
		}
		return false;
	});

	$(document.getElementById(menuId)).find("a").mouseout(function() {
		// pokud se vyjede uplne ven z menu a je zobrazene podmenu nastavi se ke schovani
		// menu aktualniho, pokud nema nastavi se nejvyssi podmenu
		var ul = $(this).closest("ul").get(0);
		if (ul.visibleSubmenu == null) {
			visibleSubmenu = $(this).closest("ul.submenu").get(0);
		} else {
			visibleSubmenu = ul.visibleSubmenu;
		}
		hideAncestors = true;
		timeout = setTimeout("hideSubmenu()", 500);
		return false;
	});
}
