/**
* Gestor del menú principal
*
* Funciones para manejar el menu y submenus
* @package SISTEMA
* @subpackage MENU
* @author Manuel Segura
* @version 1.0
* @copyright OVALUS
*/

function cMenu()
{
	//Datos
	// Inicializing require objects
	try
	{
		this.oBrowser 	= new cBrowser();
	}
	catch(oEvt)
	{
			alert("No se ha podido inicializar el objecto BROWSER. Asegúrate que esta incluida su definición.");
	};

	// Datos
	this.aOptVis  = new Array(); 	// Menús visibles
	this.idTimer  = 0; 				// Temporizador


	// Procedimientos
	this.show 			= fMenu_Show;
	this.hide 			= fMenu_Hide;
	this.hideDelay		= fMenu_HideDelay;
	this.stopDelay		= fMenu_StopDelay;
};

function fMenu_Show(idElement, iLevel)
{
	var oSubmenuOFF = null;
	var oSubmenuON  = null;

	this.stopDelay(iLevel);
	if (this.aOptVis[iLevel]!=idElement)
	{
		this.hide(iLevel);

		oSubmenuON = this.oBrowser.findObj(idElement);
		this.oBrowser.changeStyle(oSubmenuON, "display", "block");
		this.aOptVis[iLevel] = idElement;
	};
};

function fMenu_Hide(iLevel)
{
	var oSubmenuOFF = null;
	if (this.aOptVis[iLevel+1] && this.aOptVis[iLevel+1]!="") this.hide(iLevel+1);
	if (this.aOptVis[iLevel] && this.aOptVis[iLevel]!="")
	{
		oSubmenuOFF = this.oBrowser.findObj(this.aOptVis[iLevel]);
		this.oBrowser.changeStyle(oSubmenuOFF, "display", "none");
		this.aOptVis[iLevel] = "";
	};
};

function fMenu_HideDelay()
{
	if (!this.idTimer) this.idTimer = setInterval("gMenu.hide(0);", 500);
};

function fMenu_StopDelay(iLevel)
{
	if (this.idTimer) clearInterval(this.idTimer);
	this.idTimer=0;
	this.hide(iLevel+1);
};

var gMenu = new cMenu();