/**
 * Objeto Buscador_popup.
 */
var Buscador_popup = Class.create({
	/**
	 * Iniciar el objeto.
	 */
	initialize: function(oBuscador) {
		//Coger la referencia el buscador general
		this.buscador = oBuscador;
		
		//Dibujar las familias
		this._drawFamilias();
		
		
	},
	
	/**
	 * Dibuajr el html de las familias
	 */
	_drawFamilias : function() {
		var familias_array = this.buscador.getFamiliasArray();
		
		//Dibujar cada uno.
		for (var i = 0, len = familias_array.length; i < len; ++i) {
			//Coger la familia
			var familia_in_array = familias_array[i];			
			var id = familia_in_array.get('id');
			var nombre = familia_in_array.get('nombre');
			
			if (this.buscador.getFamilia(id)) {
				var familia = this.buscador.getFamilia(id);
			} else {
				var familia = new Familia(id, nombre, this.buscador);
				this.buscador.insertFamilia(id, familia);				
			}
			familia.drawHTML();
		}
	},
	
	/**
	 * El handler cuando se hace click en un toggle de una familia
	 * @param {Object} event
	 */
	_toggleFamiliaHandler : function(event) {
		var id = arguments[1];
		
		//Si se hace click en el, se abre.
		this._toggleFamilia(id);
	},
	
	/**
	 * Abrir o cerrar una rama familia
	 * @param {Object} id
	 */
	_toggleFamilia : function(id) {
		//Comprobar si esta abiero o cerrado.
		var layer = $('cualificaciones.' + id);
		var toggle = $('toggle_familia.' + id);
		
		if (layer.visible()) {
			toggle.src = toggle.getAttribute('open_src');
			layer.hide();
		} else {
			toggle.src = toggle.getAttribute('close_src');
			this.openFamilia(id);
			layer.show();
		}
	},
	
	/**
	 * Abrir una familia y mostrar sus cualificaciones
	 * @param {Int} id
	 */
	openFamilia : function(id) {
		//Si la familia no esta cargado, carga sus cualificaciones
		
	},
	
	/**
	 * Mostrar que se esta cargando
	 */
	cargando : function(force) {
		var loading = $('loader');
		switch (force) {
			case true:
				loading.show();
				break;
			case false:
				loading.hide();
				break;
			default:
				loading.toggle();
				break;
		}
	}
});
