﻿function marcarOpcionExclusiva(itemMenu){
	
	if(_paginaCargada){
		// Oculto las subopciones de sus opciones hermanas
		for(var i = 0; i < itemMenu.parentNode.parentNode.childNodes.length; i++){
			var itemHermano = itemMenu.parentNode.parentNode.childNodes[i];
			if(itemHermano != itemMenu.parentNode && itemHermano.nodeName == "DIV"){
				var contenedorSubopcionesItemHermano = getContenedorSubopciones(itemHermano);
				if(contenedorSubopcionesItemHermano!=null){
					$(contenedorSubopcionesItemHermano).hide("slow");
				}
			}
		}

		var contenedorSubopciones = getContenedorSubopciones(itemMenu.parentNode);

		if(contenedorSubopciones != null){
		    if(contenedorSubopciones.style.display == "none"){
			    $(contenedorSubopciones).show("slow");
		    }else{
			    $(contenedorSubopciones).hide("slow");
		    }
		}
	}
	return false;
	
}

function marcarOpcion(itemMenu){
    
	// Simplemente mostramos u ocultamos las subopciones pero sin tener en cuenta las otras opciones hermanas.
	// Primero obtenemos el elmento que contiene las subopciones y vemos si está o no visible.
	// Ep! Tenemos que hacer 2 veces nextSibling porque hay un retorno de carro por ahí.
	if(_paginaCargada){
		var contenedorSubopciones = getContenedorSubopciones(itemMenu.parentNode);
		if(contenedorSubopciones.style.display == "none"){
			$(contenedorSubopciones).show("slow");
		}else{
			$(contenedorSubopciones).hide("slow");
		}
	}

	return false;

}

function getContenedorSubopciones(nodo){

	var contenedorSubopciones = null;
	
	for(var i = 0; i < nodo.childNodes.length; i++){
		if(nodo.childNodes[i].nodeName == "DIV"){
			contenedorSubopciones = nodo.childNodes[i];
		}		
	}
	
	return contenedorSubopciones;
}


function obtenerOpcionInicial(){

	// La opción inicial la obtenemos de la URL.
	// Cotejaremos la URL con los enlaces que figuran en los elementos de menú.
	var urlPagina = document.URL;

	// Obtenemos todos los elementos A que dependen del menú.
	var enlaces = $("#menuPrincipal a");
	for( var i = 0; i < enlaces.length; i++){
		var enlace = enlaces[i];
		if( urlPagina.substring(0, urlPagina.length) == enlace.href){
			enlace.className = "opcionSeleccionada";
			// En cualquier caso, tenemos que hacer que todos los elmentos padre de nuestra opción estén visibles.
			// Aquí paso de acordeones, ... o  no, quizá quede bonito que se vaya abriendo el menú, ya veremos.
			var nodoLI = enlace.parentNode;
			mostrarOpcionPadre(nodoLI);
		}
	}
}

function mostrarOpcionPadre(nodo){
	var nodoPadre = nodo.parentNode;
    nodoPadre.style.display = "";
    if(nodoPadre.className != "menu1"){
	    mostrarOpcionPadre(nodoPadre);
	}
}

var _paginaCargada = false;
$(document).ready(function(){_paginaCargada = true; obtenerOpcionInicial();});