/**************************************************/
/* Funciona para desplegables que tienen clase    */
/* única en toda la página, si no despliega y     */
/* pliega todos a la vez.						  */
/**************************************************/

function cambiar_estado(clase) {
	var elementos = getElementsByClass(clase);
	var estado = elementos[0].style.position;

	if (estado == "absolute") {
		mostrar(clase);
	} else {
		ocultar(clase);
	}
}

function ocultar(clase) {
	var elementos = getElementsByClass(clase);
	for(var i=0;i<elementos.length;i++){
		elementos[i].style.position="absolute";
		elementos[i].style.left="-9999px";
		elementos[i].style.overflow="hidden";
		elementos[i].style.height="0";
	}

	//imagenes
	var elementos = getElementsByClass("g"+clase);
	for(var i=0;i<elementos.length;i++){
		elementos[i].style.display="none";
	}
}

function mostrar(clase) {
	var elementos = getElementsByClass(clase);
	for(var i=0;i<elementos.length;i++){
		elementos[i].style.position="relative";
		elementos[i].style.left="0px";
		elementos[i].style.overflow="visible";
		elementos[i].style.height="100%";
	}	
	
	//imagenes
	var elementos = getElementsByClass("g"+clase);
	for(var i=0;i<elementos.length;i++){
		elementos[i].style.display="inline";
	}
}

function cambiar_img(clase) {
	var elementos = getElementsByClass(clase);
	var estado = elementos[0].src.charAt(elementos[0].src.length-6); //solución algo chapuza, si tiene una 'o' es que es menos.png

	for(var i=0;i<elementos.length;i++){
		if (estado == "a") {
			elementos[i].src = "data/imagenes/web/menos.png";
		} else {
			elementos[i].src = "data/imagenes/web/mas.png";
		}
	}	
}

/* GENERAL */
function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;	
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}