function MultilevelMenu_getSelectionIdentification(id) {
	var menu = document.getElementById(id);
	if (menu != null) {
		var selId = menu.getAttribute("selId");
		if (selId == null) {
			menu.setAttribute("selId", "");
			selId = "";
		}
		return selId;
	} else {
		return "";
	}
}

function MultilevelMenu_setSelectionIdentification(id, identification) {
	var menu = document.getElementById(id);
	if (menu != null) {
		menu.setAttribute("selId", identification);
		try {
			eval(id + "_onSelectionChanged('" + identification + "');");
		} catch (err) {}
		MultilevelMenu_hideSubMenus(menu, id + ".");
	}
}

function MultilevelMenu_makeSureMenuVisible(menuId) {
	changeVisibility(menuId, 1, false);
	var dotIndex = menuId.lastIndexOf(".");
	if (dotIndex != -1) {
		MultilevelMenu_makeSureMenuVisible(menuId.substring(0, dotIndex));
	}
}

function MultilevelMenu_showSubMenu(subMenuId) {
	var parentMenuId = subMenuId.substring(0, subMenuId.indexOf("."));
	var parentMenu = document.getElementById(parentMenuId);
	MultilevelMenu_hideSubMenus(parentMenu, parentMenuId + ".");
	MultilevelMenu_makeSureMenuVisible(subMenuId);
}

function MultilevelMenu_hideSubMenus(parentMenu, idPrefix) {
	if (parentMenu != null) {
		for (var i = 0; i < parentMenu.childNodes.length; i ++){             
			if(parentMenu.childNodes[i].id != null 
				&& parentMenu.childNodes[i].id.indexOf(idPrefix) == 0) {
				changeVisibility(parentMenu.childNodes[i].id, 0, false);
			}
			MultilevelMenu_hideSubMenus(parentMenu.childNodes[i], idPrefix);
		}
	}
}
