/*
 * Empresa desarrolladora: XXXXXX
 *
 * Autor: Junta de Andalucía
 * Derechos de explotación propiedad de la Junta de Andalucía.
 *
 * Éste programa es software libre: usted tiene derecho a redistribuirlo y/o modificarlo bajo los términos de la Licencia EUPL European Public License publicada por el organismo IDABC de la Comisión Europea, en su versión 1.0. o posteriores.
 *
 * Éste programa se distribuye de buena fe, pero SIN NINGUNA GARANTÍA, incluso sin las presuntas garantías implícitas de USABILIDAD o ADECUACIÓN A PROPÓSITO CONCRETO. Para mas información consulte la Licencia EUPL European Public License.
 *
 * Usted recibe una copia de la Licencia EUPL European Public License junto con este programa, si por algún motivo no le es posible visualizarla, puede consultarla en la siguiente URL: http://ec.europa.eu/idabc/servlets/Doc?id=31099
 *
 * You should have received a copy of the EUPL European Public License along with this program. If not, see
 * http://ec.europa.eu/idabc/servlets/Doc?id=31096
 *
 * Vous devez avoir reçu une copie de la EUPL European Public License avec ce programme. Si non, voir http://ec.europa.eu/idabc/servlets/Doc?id=30194
 *
 * Sie sollten eine Kopie der EUPL European Public License zusammen mit diesem Programm. Wenn nicht, finden Sie da http://ec.europa.eu/idabc/servlets/Doc?id=29919
 */
var acordeon = {

	configuracion : {
		velocidad : 4,
		incremento : 2
	},
	
	enMovimiento: false,
	padres : null,
	hijos : null,

	init : function(clickeables, colapsables) {
		libreria.setJSEnabled();
	
		acordeon.padres = clickeables;
		acordeon.hijos = colapsables;
		
		var i, j;
		
		for (i = 0; i < acordeon.padres.length; i++) {
			var padre = acordeon.padres[i];
			var hijo = padre.nextSibling;
			
			if (hijo.nodeType != 1) {
				hijo = hijo.nextSibling;
			}
			
			if (i > 0) {
				hijo.style.display = 'none';
			}
			
			hijo.setAttribute('alturaOriginal', libreria.fullHeight(hijo));
			
			//padre.style.cursor = 'pointer';
			
			libreria.addEvent(padre, 'click', function() {
				var hijo = this.nextSibling;

				if (hijo.nodeType != 1) {
					hijo = hijo.nextSibling;
				}
				
				acordeon.cambiaEstado(hijo);
			});
		}
	},
	
	cambiaEstado : function(hijo) {
		hijo.style.overflow = 'hidden';
		if(hijo.style.display == 'none')
			acordeon.expandir(hijo);
		else
			acordeon.contraer(hijo);
	},
	
	expandir : function(hijo) {
		acordeon.contraerAbiertas();
		
		libreria.expandir(hijo, acordeon.configuracion.incremento, acordeon.configuracion.velocidad);
	},
	
	contraer : function(hijo) {
	    var h = hijo.getAttribute('alturaOriginal');
	    
	    libreria.contraer(hijo, acordeon.configuracion.incremento, acordeon.configuracion.velocidad);
	},
	
	contraerAbiertas :  function(index){
		var hijos = acordeon.hijos;
		index = index==null?-1:index; 
		
		for(i=0; i<hijos.length; i++){
			var hijo = hijos[i];
			
			if(hijo.style.display != 'none' && i != index){
				hijo.style.overflow = 'hidden';
				acordeon.contraer(hijo);
			}
		}
	}

};

libreria.addEvent(window,'load',function() {
	var clickeables, colapsables;
	var componentes 	= libreria.getElementsByClass('componentes',document.getElementById('formDesigner'),'div');
	var h3				= componentes[0].getElementsByTagName('h3');
	var ul				= componentes[0].getElementsByTagName('ul');
	
	clickeables = new Array(h3[0], h3[1], h3[2], h3[3]);
	colapsables = new Array(ul[0], ul[1], ul[2], ul[3]);
	
	//clickeables = new Array(h3[0], h3[1], h3[2], h3[3]);
	//colapsables = new Array(ul[0], ul[1], ul[2], ul[3]);
	
	acordeon.init(clickeables, colapsables);
});
