//variable para almacenar todos los nodos que representan un submenu
var menu = new Array();

//carga los nodos que representan un submenu en memoria
function loadMenu() {

	if ($('menu') == null) return null;

	var nodos = $('menu').childNodes;
	for (i=0; i<nodos.length; i++) {
		if (nodos[i].nodeName == 'LI') {
			var hijos = nodos[i].childNodes;
			for (j=0; j<hijos.length; j++) {
				if (hijos[j].nodeName == 'UL') {

					//guardamos el <ul>
					menu[menu.length] = hijos[j];

					//creamos la imagen pinchable
					var a = document.createElement('a');
					a.setAttribute('href', 'javascript:opcionMenu(' + (menu.length - 1) + ')');
					
					var span = document.createElement('span');
					span.className = 'img menos';
					
					a.appendChild(span);
					
					//borramos la imagen vacia
					nodos[i].removeChild( nodos[i].firstChild );
					
					//añadimos la nueva imagen pinchable como primer hijo del <li>
					nodos[i].insertBefore(a, nodos[i].firstChild);
					
					//si no, se mete en un bucle infinito al insertar un nuevo elemento en cada iteracion
					break;
				}
			}
		}
	}
}

//oculta todos los submenus, excepto la rama destacada
function ocultaSubmenus() {

	for (i=0; i<menu.length; i++) {
		var ocultar = true;
		
		//comprobar si el padre esta destacado
		if (menu[i].parentNode.className == 'selected')
			ocultar = false;

// modificado por Eva para no ocultar ninguna rama
ocultar=false;

		
		//comprobar si la url de los enlaces forma parte de la url de la pagina
		if (ocultar) {
			var as = menu[i].parentNode.getElementsByTagName('A');
			for (j=0; j<as.length; j++)
				if ((document.location+"").indexOf( as[j].href ) == 0) {
					ocultar = false;
					break;
				}
		}
		
		//ocultar si no esta destacado
		if (ocultar) {
			menu[i].style.display = 'none';
			var span = menu[i].parentNode.firstChild.firstChild;
			span.className = 'img mas';
		}
	}
}

//muestra u oculta una opcion de menu
function muestraSubmenu(submenu) {
	var ul = menu[submenu];
	var span = ul.parentNode.firstChild.firstChild;
	if (ul.style.display == 'none') {
		ul.style.display = 'block';
		span.className = 'img menos';
	}
	else {
		ul.style.display = 'none';
		span.className = 'img mas';
	}
}

//oculta todos los submenus y muestra uno concreto
//si el submenu estaba desplegado, se oculta
function opcionMenu(opcion) {
	var ul = menu[opcion];
	if (ul.style.display == 'block') {
		ocultaSubmenus();
	}
	else {
		ocultaSubmenus();
		muestraSubmenu(opcion);
	}
}

//carga el menu en memoria y oculta los submenus
function initMenu() {
	loadMenu();
	if (menu.length > 0) ocultaSubmenus();
}

//guarda el evento onLoad en nuestro manejador
setOnLoad('initMenu()');
