
// Contrae el árbol de servicios
function contraerArbolFamilias() {
	$("#a_familias ul .pcon .contenido").hide();
	$("#a_familias ul .pcon > img").each(function(){
		$(this).attr("src", $(this).attr("src").replace(/Flecha/, "Mas"));
	});
}

// Despliega toda la ruta hasta el nodo activo
function desplegarArbolPadreActivoFamilias() {
	$("#a_familias .contenido:has('.pactivo')").show();
	$(".pactivo").parents().each(function(){
		if ($(this).is("li")) {
			$(this).find("img:eq(0)").each(function() {
				$(this).attr("src",$(this).attr("src").replace(/Mas/, "Menos"));
			});
		}
	});
}

// Despliega todos los hijos que cuelgan del nodo activo
function desplegarArbolHijoActivoFamilias() {
	$("#a_familias ul .pcon.pactivo .contenido").show();
	$("#a_familias ul .pcon.pactivo img").each(function() {	
		$(this).attr("src",$(this).attr("src").replace(/Mas/, "Menos"));
	});		
}

// Añade comportamiento para replegar/desplegar el arbol de familias
function activarTituloArbolFamilias() {
	$("#enlaceToggleBuscadorFamilias").click(function(){
		$("#arbolFamilias").slideToggle();
		$(this).parent().toggleClass("activo").toggleClass("oculto");
		return false;	
	});		
}

// Cambia el icono de una imagen al desplegar/contraer el árbol
function cambiarIconoArbolFamilias(img) {
	var srcIcono = $(img).attr("src");
	if (srcIcono.match(/Mas/)) {
		$(img).attr("src", srcIcono.replace(/Mas/, "Menos"));
	}
	if (srcIcono.match(/Menos/)) {
		$(img).attr("src", srcIcono.replace(/Menos/, "Mas"));
	}
}

// Añade comportamiento para expandir/contraer las sub-familia de un nodo del árbol
function activarEnlacesArbolFamilias() {
	$("#a_familias ul .pcon > img").click(function() {
		$(this).parent().find(".contenido:first").toggle();
		cambiarIconoArbolFamilias($(this));
		ajustarAlturaColumnas();
	});	
}

$(document).ready(function(){	
	contraerArbolFamilias();
	desplegarArbolPadreActivoFamilias();
	desplegarArbolHijoActivoFamilias();
	activarTituloArbolFamilias();
	activarEnlacesArbolFamilias();
});

