
addEvent(window, "load", init);
addEvent(window, "load", makeTreesC);
addEvent(window, "load", eleccionmenu);

/*************************/


function init() 
{
	if (arguments.callee.done) return;

    arguments.callee.done = true;
};

   /* for Mozilla */
   if (document.addEventListener) 
   {
       document.addEventListener("DOMContentLoaded", init, null);
   }
    window.onload = init;
  

/************************/



function makeTreesC() {
	
    // We don't actually need createElement, but we do
    // need good DOM support, so this is a good check.
    if (!document.createElement) return;
    
    uls = document.getElementsByTagName("ul"); // Metemos en un array todos los ul
    for (uli=0;uli<uls.length;uli++) { //recorremos el array de  ul
        ul = uls[uli];
        if (ul.nodeName == "UL" && ul.className == "aqtree3clickable") { //Si esun ul y tiene la clase  aqtree3clickable
            processULELC(ul); //Llamamos a la función
        }
    }
}

function processULELC(ul) {
					
				
    if (!ul.childNodes || ul.childNodes.length == 0) return; //Si no es un nodo hijo o no tiene nodos hijos (salimos?)
	
    for (var itemi=0;itemi<ul.childNodes.length;itemi++) { //Recorremos todos los nodos hijos del ul recibido
        var item = ul.childNodes[itemi]; //Metemos a cada nodo hijo en un arrary
        if (item.nodeName == "LI") { //Si el nodo  hijo es un LI
            // Iterate things in this LI
            var a;
            var subul;
	    subul = "";
            for (var sitemi=0;sitemi<item.childNodes.length;sitemi++) { //Recorremos los LI
                var sitem = item.childNodes[sitemi];
                switch (sitem.nodeName) {
                    case "A": a = sitem; break; //Si tiene un enlace A
                    case "UL": subul = sitem; //Si tiene un UL llamamos a la misma  función, es un función recursiva
                               processULELC(subul);
							   	
                               break;
				
                }
            }
            if (subul) {//Si tiene más subopciones 
                associateELC(a,subul); //Llamamos a una función
				
            } else {
				
                a.parentNode.className = "aq3bullet";//Nos encontramos en el final de un nodo, no tiene más subopciones
            }
        }
    }
}

function associateELC(a,ul) {
		
    if (a.parentNode.className.indexOf('aq3open') == -1) //Si está abierto 
      a.parentNode.className = 'aq3closed'; //lo cerramos
	  
    a.onclick = function () 
	{
        this.parentNode.className = (this.parentNode.className=='aq3open') ? "aq3closed" : "aq3open";
		
        return true;
    }
}

/*              Utility functions                 */

function addEvent(obj, evType, fn)
{
  if (obj.addEventListener)
  {
    obj.addEventListener(evType, fn, false);
    return true;
  }else if (obj.attachEvent)
  {
	var r = obj.attachEvent("on"+evType, fn);
	
    return r;
  }
  else 
  {
	return false;
  }
}

function Cambiaclass(objeto, clase)
{
	objeto = "item" + objeto;
	
	document.getElementById(objeto).className=clase;
}


function eleccionmenu()
{
	var seleccion="";
	var posguionsig=0;
	
	var Cap="";
	var SubCap="";
	var Op="";
	var SubOp="";

	seleccion=(document.getElementsByTagName("body")[0].id).substr(3); 
	//El tag body lleva un id que es de la forma opcX_Y_Z_V donde X, Y, Z y V son los valores de cada nivel de menú.
	//Hemos extraído la parte que lleva esa información eliminando la subcadena 'opc' mediante la función substr
	//alert (seleccion);
	
	/////////////////////////////////////////////////////////////
	//esto coge los valores de Cap, SubCap, Op y SubOp
	posguionsig=seleccion.indexOf("_",posguionsig);
	//alert("pos1: " + posguionsig);
	if(posguionsig!=-1)
	{
		Cap=seleccion.substring(0,posguionsig);
		posguionsig=seleccion.indexOf("_",posguionsig+1);
		//alert("pos2: " + posguionsig);
		if(posguionsig!=-1)
		{
			SubCap=seleccion.substring(0,posguionsig);
			
			posguionsig=seleccion.indexOf("_",posguionsig+1);
			//alert("pos3: " + posguionsig);
			if(posguionsig!=-1)
			{
				Op=seleccion.substring(0,posguionsig);
			}
			else
			{
				Op=seleccion;
			}
		}
		else
		{
			SubCap=seleccion;
		}
	}
	else
	{
		Cap=seleccion;
	}
	/////////////////////////////////////////////////////////
	
	/*alert(Cap);
	alert(SubCap);
	alert(Op);
	alert(SubOp);*/
	
	if(SubOp!="")
	{
		Cambiaclass(Cap, 'aq3open');
		Cambiaclass(SubCap, 'aq3open');
		Cambiaclass(Op, 'aq3open');
	}
	else
	{	
		if(Op!="")
		{
			Cambiaclass(Cap, 'aq3open');
			Cambiaclass(SubCap, 'aq3open');
		}
		else
		{
			if(SubCap!="")
			{
					Cambiaclass(Cap, 'aq3open');
			}
		}
	}
	
}