// Pseudo-NameSpace. 
ejercicio1={

inicio:function()
{
	$("ul#menudesp li.primero > a ").click(ejercicio1.acordeon3); // Todos los <li> hijos directos (sus descendientes heredan)
	$("ul#menudesp li ul").hide();
	$("ul#menudesp li.desplegado ul").show();
}, 
acordeon1:function()
{
	// oculto todo
	$("ul#menudesp li ul").hide();
	
	// muestro solo el actual
	$("ul",this).slideDown();
	
},
acordeon2:function()
{
	// si tiene la clase no hace falta nada
	if ($(this).is(".desplegado")) return;
	
	// buscar el marcado como desplegado y ocultarlo
	$("ul#menudesp li.desplegado ul").slideUp();
	$("ul#menudesp li.desplegado").removeClass("desplegado"); // elimina una clase si no la tiene
	
	// marcar el actual y desplegarlo
	$(this).addClass("desplegado"); // aņade si no estaba puesta ya
	$("ul",this).slideDown();
	return false;
	
},
/*
 * this esta aplicado al elemento <a> hijo directo de li y a su vez directo de menudesp.
 * La funcion retorna false para q el enlace de las supracategorias no salte.
 * Si JS no esta activado todo esto no funcionara y se vera el menu completo desplegado y con
 * los enlaces correctos.
 * Para el despliegue se debe actuar desde el padre de <a>, es decir, el li que contiene a
 * los uls que hay que desplegar, y sobre el que hay que marcar con la clase desplegado
 */
acordeon3:function()
{
	// si tiene la clase no hace falta nada
	if ($(this.parentNode).is(".desplegado")) 
	{
		// buscar el marcado como desplegado y ocultarlo
		$("ul",this.parentNode).slideUp();
		$(this.parentNode).removeClass("desplegado"); // elimina una clase si no la tiene
	}
	else
	{
		// marcar el actual y desplegarlo
		$(this.parentNode).addClass("desplegado"); // aņade si no estaba puesta ya
		$("ul",this.parentNode).slideDown();
	}
	
	//alert(this.parentNode);
	return false;
}
}


$(document).ready(ejercicio1.inicio);
