// JavaScript Document
// MENU DESPLEGABLE
    nodos=new Array();
    n4 = (document.layers)? true:false;
    ie = (document.all)? true:false;
    n6 = (document.getElementById)? true:false;

    function show(id){
    if (n4)
    document.layers[id].visibility = "show";
    else if (ie)
    document.all[id].style.visibility = "visible";
    else if (n6)
    document.getElementById(id).style.visibility = "visible";
    }

    function hide(id){
    if (n4)
    document.layers[id].visibility = "hide";
    else if (ie)
    document.all[id].style.visibility = "hidden";
    else if (n6)
    document.getElementById(id).style.visibility = "hidden";
    }

    function disableselect(e){
    return false;
    }
    function reEnable(){
    return true;
    }

    function init(){
    capa=document.getElementById("Layer1");
    capa.onselectstart=new Function ("return false");
    if (window.sidebar){
    capa.onmousedown=disableselect;
    capa.onclick=reEnable;
    }
    //CREACION DEL ARRAY DE CAPAS QUE FORMAN EL MENU
    var nombre=String(window.location);
    var nom;
    var l= 0;
    l=nombre.length;
    var m=nombre.lastIndexOf("index.html")+1;
    nombre=nombre.substring(m,l);
    var tnodos = document.getElementsByTagName("div"); //esta variable será global, se declara para todo
    var i=0;
    var abrenodo=-1;
    for(i=0;i<tnodos.length;i++){
    if( tnodos[i].id.substring(0,4) == "desp") //si la capa forma parte del menu
    {
    nodos[nodos.length]=tnodos[i]; //el array nodos contiene solo las capas del menu
    nom=tnodos[i].innerHTML;
    if ((nombre!="")&&(nom.indexOf(nombre)!=-1)){
    abrenodo=nodos.length-1;
    }
    }
    }
    if(abrenodo>=0){
    var idnodo=nodos[abrenodo].id;
	var cadena=new Array();
	cadena=idnodo.split("nivel");
    if(cadena[1]!=10){
	while (cadena[1]!=10)
	{
	abrenodo--;
	cadena=nodos[abrenodo].id.split("nivel");
	}
	abrenodo++;
	desplegar(abrenodo,10);
	}
    }
    }

    function plegado(nodo,nivel){
    var myid="desp"+nodo+"nivel"+nivel;
    var padre=document.getElementById(myid);
    var idhijo;
    var hijos = new Array();
    nodo++; //nodo y nivel del supuesto primer hijo
    nivel--;
    idhijo="desp"+(nodo)+"nivel"+(nivel);
    primerhijo=document.getElementById(idhijo);
    if(!primerhijo)
    {
    return 2; //no tiene hijos
    }
    else //si tiene hijos, averiguar si está desplegado el menu
    {
    if(padre.style.top == primerhijo.style.top)   return 1;
    else return 0;
    }
    }

    function plegar(ident, nivel){
    var i=0;
    var pos = new Array();
    var hijo = new Array();
    var nivelhijo;
    var niveltop;
    var ultimapos;
    var ypos=0;
    var siguiente=false;
    pos=nodos[ident].style.top.split("px");
    ultimapos=Number(pos[0]);
    ultimapos-=15;
    for(i=ident;i<nodos.length;i++){
    pos=nodos[i].style.top.split("px");
	hijo=nodos[i].id.split("nivel");
	nivelhijo=Number(hijo[1]);
	if(siguiente==false){
	if(nivelhijo>=nivel){
	ypos=ultimapos+15;
	ultimapos=ypos;
	if (nivelhijo>=nivel){
	siguiente=true;
	niveltop=nivelhijo;
	}
	}
	else
	{
	ypos=ultimapos;
	hide(nodos[i].id);
	}
  	}
	else
	{
	if(nivelhijo>=niveltop){
	ypos=ultimapos+15;
	ultimapos=ypos;
	niveltop=nivelhijo;
	}
	else{
	ypos=ultimapos;
	hide(nodos[i].id);
    }
	}
   	ypos=String(ypos)+"px";
	nodos[i].style.top=ypos;
    }
    }

    function esGrupo(x)
    {    var pasa=true;
    if(x.indexOf("nivel")==-1){pasa=false;}
    return pasa;    }

    function desplegar(ident, nivel){
    var i=0;
    var pos = new Array();
    var hijo = new Array();
    var nivelhijo;
    var niveltop;
    var ultimapos;
    var ypos=0;
    var siguiente=false;

    pos=nodos[ident].style.top.split("px");
    ultimapos=Number(pos[0]);
	for(i=ident;i<=nodos.length-1;i++){
    pos=nodos[i].style.top.split("px");
	hijo=nodos[i].id.split("nivel");
	nivelhijo=Number(hijo[1]);
	if(siguiente==false)
	{
	if (nivelhijo>=nivel-1)
	{
 	ypos=ultimapos+15;
 	show(nodos[i].id);

	if (nivelhijo>=nivel){
	siguiente=true;
    niveltop=nivelhijo;
	ypos+=0;
	}
	ultimapos=ypos;
	}
	else
	{
	ypos=ultimapos;
	}
	}
	else
	{
	if(nivelhijo>=niveltop){
	ypos=ultimapos+15;
	ultimapos=ypos;
	niveltop=nivelhijo;
	show(nodos[i].id);
	}
    else ypos=ultimapos;
	}
   	ypos=String(ypos)+"px";
    nodos[i].style.top=ypos;//PRUEBA DE MOVIMIENTO
    }
    }

    function accionMenu(menu){
    var ja = new Array();
    var ja = menu.id.split("desp");
    var i=0;
    ja= ja[1].split("nivel");
    var ident=ja[0];
    var nivel=ja[1];
    switch(plegado(ident,nivel)){
    case 0:  //MENU DESPLEGADO: ACCION DE PLIEGUE
    plegar(ident, nivel);
    break;
    case 1:   //MENU PLEGADO : ACCION DE DESPLIEGUE
    plegar(0,nivel);
    desplegar(ident, nivel);
    break;
    case 2:
    break;
    }
    }
