/*******************************************************************************
****** JAVASCRIPT PARA MENU DESPLEGABLE ****************************************
*******************************************************************************/
/*
        Creado por: Álvaro Marín
        Fecha de creación: 2 de Noviembre de 2004
        Fecha de modificación: 27 de Octubre de 2005
*/
/****** DESCRIPCIÓN ************************************************************

Requerimientos: finddom.js

En este caso utilizamos el atributo "visibility" para ocultar o visualizar el
submenu. De este modo podemos obtener las dimensiones del submenu que queremos
visualizar para asignar la posición de este en pantalla sin tener que hacerlo
visible antes.

IDboton -> id del boton desde el que se activa el submenu
IDsubmenu -> id del submenu que se va ha mostrar
distrib -> horientacion del submenu, cuyas opciones son: derecha, izquierda,
arriba, debajo
totalSubmenus -> el número total de submenus que forman el barra de menu


*******************************************************************************/


//****** Desarrollo de la función **********************************************

function mostrar_capa( ID )
{
//*** DOM's del menu desde donde se llama a la función *************************
    
	if( !arguments[ 2 ] )
    {
        distrib = 'abajo';
    }
    else
    {
        distrib = arguments[ 2 ];
    }
	
    if( !arguments[ 3 ] )
    {
        totalSubmenus = 7;
    }
    else
    {
        totalSubmenus = arguments[ 3 ];
    }
	
	var SeparadorVertical = 0;
	var SeparadorHorizontal = 1;

    if( findDOM( 'submenu' + ID, 0 ) )
    {
        var domBoton = findDOM( 'boton' + ID, 0 );
        var domSubmenu = findDOM( 'submenu' + ID, 1 );
        var domSubDIM = findDOM( 'submenu' + ID, 0 );
        var botonPosLeft = domBoton.offsetLeft; // posición horizontal del botón
        var botonPosTop = domBoton.offsetTop;    // posición vertical del botón
        var botonHeight = domBoton.offsetHeight; // alto del botón
        var botonWidth = domBoton.offsetWidth; // ancho del boton
        var submenuHeight = domSubDIM.offsetHeight; // alto total del submenu
        var submenuWidth = domSubDIM.offsetWidth; // ancho total del submenu


        if ( domSubmenu.visibility == 'visible' ) // comprobamos si el submenu está ya visible
        {
            domSubmenu.visibility = 'hidden'; // ocultamos el submenu en el caso de que este este visible
            domBoton.className = 'boton'; // cambiamos la clase del botón
        }
        else  // si no está visible
        {
            // Ocultamos todos los submenus que estén visibles
            for( i = 1; i <= totalSubmenus; i++ )
            {
                if( i != ID )
                {
                    if( findDOM( 'submenu' + i, 0 ) != null )
                    {
                        var domSub =  findDOM( 'submenu' + i, 1 );
                        var domBotones = findDOM( 'boton' + i, 0 );

                        if ( domSub.visibility == 'visible' )
                        {
                            domSub.visibility = 'hidden';
                            //domBotones.className = 'no_act'; // cambiamos la clase del botón
                        }
                    }
                }
            }

            switch( distrib ) // Colocamos el submenu según la distribución elegida
            {
                case 'derecha':
                    var SubmenuPosLeft = ( botonPosLeft + botonWidth ) + 'px'; // asignación de la posición horizontal del submenu
                    var SubmenuPosTop = botonPosTop + 'px'; // asignación de la posición vertical del submenu
                    break;

                case 'izquierda':
                    var SubmenuPosLeft = ( botonPosLeft - submenuWidth ) + 'px'; // asignación de la posición horizontal del submenu
                    var SubmenuPosTop = botonPosTop + 'px'; // asignación de la posición vertical del submenu
                    break;

                case 'arriba':
                    var SubmenuPosLeft = botonPosLeft +  'px'; // asignación de la posición horizontal del submenu
                    var SubmenuPosTop = ( botonPosTop - submenuHeight ) + 'px'; // asignación de la posición vertical del submenu
                    if ( submenuWidth < botonWidth )
                    {
						domSubmenu.width = botonWidth + 1 + 'px';
                    }
                    break;

                case 'abajo':
                    var SubmenuPosLeft = botonPosLeft + 'px';  // asignación de la posición horizontal del submenu
                    var SubmenuPosTop = ( botonPosTop +  botonHeight ) + SeparadorVertical + 'px';  // asignación de la posición vertical del submenu
                    if ( submenuWidth < botonWidth )
                    {
						domSubmenu.width = botonWidth + 1 + 'px';
                    }
                    break;

                default:
                    var SubmenuPosLeft = botonPosLeft + 'px';  // asignación de la posición horizontal del submenu
                    var SubmenuPosTop = ( botonPosTop +  botonHeight ) + SeparadorVertical + 'px';  // asignación de la posicion vertical del submenu
                    break;
            }

            domSubmenu.top = SubmenuPosTop; // posición vertical del submenu
            domSubmenu.left = SubmenuPosLeft; // posición horizontal del submenu
            domSubmenu.visibility = 'visible'; // mostramos el submenu
            //domBoton.className = 'boton_act'; // cambiamos la clase del botón
        }
    }
    else
    {
        // Ocultamos todos los submenus que estén visibles
        for( i = 1; i <= totalSubmenus; i++ )
        {
            if( i != ID )
            {
                if( findDOM( 'submenu' + i, 0 ) != null )
                {
                    var domSub =  findDOM( 'submenu' + i, 1 );
                    var domBotones = findDOM( 'boton' + i, 0 );

                    if ( domSub.visibility == 'visible' )
                    {
                        domSub.visibility = 'hidden';
                        domBotones.className = 'boton'; // cambiamos la clase del botón
                    }
                }
            }
        }
    }
}


function ocultar_capa( ID )
{
  //*** DOM's del menu desde donde se llama a la función ***********************
	
	var domBoton = findDOM( 'boton'+ID, 0 );
	var domSubmenu = findDOM( 'submenu'+ID, 1 );
	
  //****************************************************************************

	domSubmenu.visibility = 'hidden'; // mostramos el submenu
	//domBoton.className = 'boton'; // cambiamos la clase del botón
	
}

//******************************************************************************