/**
 * Obsluha hlavního menu, vygenerovaného komponentou mmenu
 *
 * @author mirek@multimedia.cz
 */

/**
 * Kontruktor všech mmenu položek
 */
function submenu(id_sub, id_item, parent, basic_class)
{
	this.ch = new Object(); //children
	this.obj_sub = document.getElementById(id_sub); //submenu
	this.obj_item = document.getElementById(id_item); //sas
	this.show = submenu_show;
	this.hide = submenu_hide;
	this.hide_children = submenu_hide_children; //hide children only
	this.visible = false;
	this.parent = parent;
	this.basic_class = basic_class;
	this.onShow = null;
	this.onHide = null;
	this.level = parent.level?parent.level+1:1;
}



/*
 * Zobrazí submenu
 */
function submenu_show()
{
	if (!this.visible)
	{
		for (var i in this.parent.ch)
		{
			if (this != this.parent.ch[i]) this.parent.hide_children();
		}
		
		this.obj_item.className = this.basic_class+' hassub hassub-level'+(this.level-1)+' subact subact-level'+(this.level-1);
		this.obj_sub.style.display = 'block';
		this.obj_sub.style.visibility = 'visible'; //haluzny reseni chyby v ie - dcerinny prvky rodoce s display='none' jsou videt
		this.visible = true;
		if (this.onShow != null) this.onShow();
	}
}



/**
 * Skryje submenu a jeho dceřinné položky
 */
function submenu_hide()
{
	if (this.visible)
	{
		this.obj_item.className = this.basic_class+' hassub hassub-level'+(this.level-1);
		this.obj_sub.style.display = 'none';
		this.obj_sub.style.visibility = 'hidden';
		this.visible = false;
		if (this.onHide != null) this.onHide();
	}
	this.hide_children();	
}



/**
 * Skryje jenom dceřinné prvky
 */
function submenu_hide_children()
{
	for (var i in this.ch)
		this.ch[i].hide();
}



/**
 * Startuje timeout pro skrytí menu
 */
function start_hiding()
{
	mmenu_timer = setTimeout('mmenu.hide_children()', 600);
}



/**
 * Ruší skrývání menu
 */
function stop_hiding()
{
	clearTimeout(mmenu_timer);
	mmenu_timer = null;
}
