Fx.Elements=new Class({Extends:Fx.CSS,initialize:function(A,B){this.elements=this.subject=$$(A);this.parent(B)},compute:function(H,G,I){var C={};for(var D in H){var A=H[D],F=G[D],E=C[D]={};for(var B in A){E[B]=this.parent(A[B],F[B],I)}}return C},set:function(B){for(var C in B){var A=B[C];for(var D in A){this.render(this.elements[C],D,A[D],this.options.unit)}}return this},start:function(F){if(!this.check(arguments.callee,F)){return this}var I={},H={};for(var E in F){var B=F[E],C=I[E]={},G=H[E]={};for(var D in B){var A=this.prepare(this.elements[E],D,B[D]);C[D]=A.from;G[D]=A.to}}return this.parent(I,H)}});var Accordion=new Class({Extends:Fx.Elements,options:{display:0,show:false,height:true,width:false,opacity:true,fixedHeight:false,fixedWidth:false,wait:false,alwaysHide:false},initialize:function(){var C=Array.link(arguments,{container:Element.type,options:Object.type,togglers:$defined,elements:$defined});this.parent(C.elements,C.options);this.togglers=$$(C.togglers);this.container=$(C.container);this.previous=-1;if(this.options.alwaysHide){this.options.wait=true}if($chk(this.options.show)){this.options.display=false;this.previous=this.options.show}if(this.options.start){this.options.display=false;this.options.show=false}this.effects={};if(this.options.opacity){this.effects.opacity="fullOpacity"}if(this.options.width){this.effects.width=this.options.fixedWidth?"fullWidth":"offsetWidth"}if(this.options.height){this.effects.height=this.options.fixedHeight?"fullHeight":"scrollHeight"}for(var B=0,A=this.togglers.length;B<A;B++){this.addSection(this.togglers[B],this.elements[B])}this.elements.each(function(E,D){if(this.options.show===D){this.fireEvent("active",[this.togglers[D],E])}else{for(var F in this.effects){E.setStyle(F,0)}}},this);if($chk(this.options.display)){this.display(this.options.display)}},addSection:function(C,D,G){C=$(C);D=$(D);var F=this.togglers.contains(C);var B=this.togglers.length;this.togglers.include(C);this.elements.include(D);if(B&&(!F||G)){G=$pick(G,B-1);C.inject(this.togglers[G],"before");D.inject(C,"after")}else{if(this.container&&!F){C.inject(this.container);D.inject(this.container)}}var A=this.togglers.indexOf(C);C.addEvent("click",this.display.bind(this,A));if(this.options.height){D.setStyles({"padding-top":0,"border-top":"none","padding-bottom":0,"border-bottom":"none"})}if(this.options.width){D.setStyles({"padding-left":0,"border-left":"none","padding-right":0,"border-right":"none"})}D.fullOpacity=1;if(this.options.fixedWidth){D.fullWidth=this.options.fixedWidth}if(this.options.fixedHeight){D.fullHeight=this.options.fixedHeight}D.setStyle("overflow","hidden");if(!F){for(var E in this.effects){D.setStyle(E,0)}}return this},display:function(A){A=($type(A)=="element")?this.elements.indexOf(A):A;if((this.timer&&this.options.wait)||(A===this.previous&&!this.options.alwaysHide)){return this}this.previous=A;var B={};this.elements.each(function(E,D){B[D]={};var C=(D!=A)||(this.options.alwaysHide&&(E.offsetHeight>0));this.fireEvent(C?"background":"active",[this.togglers[D],E]);for(var F in this.effects){B[D][F]=C?0:E[this.effects[F]]}},this);return this.start(B)}});