var menuItems = new Array();

/*
 * Zakladni class objektu
 */
function MenuItem(obj,id,master,visible,opened)
{
	this.obj = obj;
	this.id = id;
	this.master = master;
	this.visible = visible;
	this.opened = opened;
	this.doScroll = doScroll;
	if (this.obj.tagName=="DIV")
	{
		this.obj.onclick = doScroll;
	}
}

/*
 * Otevirani/zavirani polozek v menu.
 */
function openItem(item)
{
	item.visible = 1;
	item.obj.style.display = "block";
}

function closeItem(item)
{
	item.visible = 0;
	item.opened = 0;
	item.obj.style.display = "none";
	// Pokud je to DIV, tak zavirame rekurzivne celou vetev
	if (item.obj.tagName=="DIV")
	{
		for (var i=0;i<menuItems.length;i++)
		{
			if (menuItems[i].master==item.id)
			{
				closeItem(menuItems[i])
			}
		}
	}
}

function doScroll()
{
	// Nejdrive hledame vlastni objekt
	var j=0;
	while ((this.id!=menuItems[j].obj.id) && (j<menuItems.length) )
	{
		j++;
	}
	var myItem = menuItems[j];
	myItem.opened = 1-myItem.opened;
	// hledame, kdo nas ma za mastera a toho otevreme
	for (var i=0;i<menuItems.length;i++)
	{
		if (menuItems[i].master==myItem.id)
		{
			if (myItem.opened==1)
			{
				openItem(menuItems[i]);
			}
			else
			{
				closeItem(menuItems[i]);
			}
		}
	}
}

/*
 * OnLoad funkce zajistujici nacteni dat z HTML stranky
 * do promennych JavaScriptu.
 */
function readMenu()
{
	var tags = new Array("a","div");
	for (var t=0;t<tags.length;t++)
	{
		var objects = document.getElementsByTagName(tags[t]);
		//alert(objects.length);
		for (var i=0;i<objects.length;i++)
		{
			if (objects[i].parentNode.id=="leftMenu")
			{
				var myObj = objects[i];
				if (myObj.id)
				{
					var params = myObj.id.split("_");
					menuItems[menuItems.length] = new MenuItem(myObj,params[0].substring(1,params[0].length),params[1],params[3],params[2]);
				}
			}
		}
	}
	if(typeof customOnLoad=='function')
	{
		customOnLoad();
	}
}
