var acordeon=Class.create ()
acordeon.prototype=
{
initialize:function (objetoClick,capaContenedora,claseActiva,clasePasiva,efectos,idCapaMostrar){
	this.capaAbierta="";
	this.nodosEnlace=$$(objetoClick);
	this.nodosCapa=$$(capaContenedora);
	this.claseActiva=claseActiva;
	this.clasePasiva=clasePasiva;
	this.objetoEffect=null;
	if(arguments.length>4){
		this.efectos=efectos;
	}else{
		this.efectos=0;
	}
	if(arguments.length>5){
		this.capaAbierta=idCapaMostrar;
	}else{
		this.capaAbierta=0
	}
	for (var i=0;i<this.nodosCapa.length;i++){
		if (i!=this.capaAbierta){
			Element.hide (this.nodosCapa[i]);
		}
	}
	
	for (var i=0;i<this.nodosEnlace.length;i++){
		if (i==this.capaAbierta){
			$(this.nodosEnlace[i]).addClassName(claseActiva)
		} else {
			$(this.nodosEnlace[i]).addClassName(clasePasiva)
		}
		this.nodosEnlace[i].numero=i;
		this.nodosEnlace[i].ref=this;
		this.nodosEnlace[i].onmouseupOld=this.nodosEnlace[i].onmouseup
		this.nodosEnlace[i].onmouseup=function () {
			this.ref.mostrarOcultar(this.numero);
			if(this.onmouseupOld){
				this.onmouseupOld();
			}
			return false;
		}
	}
},
mostrarOcultar:function (index){
	
	if(this.capaAbierta==index && this.efectos==1){
		capa=this.nodosCapa[index]
		if(Element.visible(capa)){
			this.ocultar(index)
		}else{
			this.mostrar(index)
		}
	}else{
		this.ocultar(this.capaAbierta);
		this.mostrar(index)
		this.capaAbierta=index;
	}
	
},

ocultar:function(indice){
	capa=this.nodosCapa[indice]
	enlace=this.nodosEnlace[indice]
	if ($(capa)){
		$(enlace).removeClassName(this.claseActiva)
		$(enlace).addClassName(this.clasePasiva)
		if (this.efectos==1){
			this.objetoEffect=new Effect.BlindUp($(capa),{ duration:0.3});
		}else{
			Element.hide(capa)
		}
	}
},

mostrar:function(indice){
	capa=this.nodosCapa[indice]
	enlace=this.nodosEnlace[indice]
	if ($(capa)){
		$(enlace).removeClassName(this.clasePasiva)
		$(enlace).addClassName(this.claseActiva)

		if (this.efectos==1){
			this.objetoEffect=new Effect.BlindDown($(capa),{ duration:0.3});
		} else{
			Element.show(capa)
		}
	}
}

}
