fx.Combo=Class.create();fx.Combo.prototype={setOptions:function(options){this.options={opacity:true,height:true,width:false}
Object.extend(this.options,options||{});},initialize:function(el,options){this.el=$(el);this.setOptions(options);if(this.options.opacity){this.o=new fx.Opacity(el,options);options.onComplete=null;}
if(this.options.height){this.h=new fx.Height(el,options);options.onComplete=null;}
if(this.options.width)this.w=new fx.Width(el,options);},toggle:function(){this.checkExec('toggle');},hide:function(){this.checkExec('hide');},clearTimer:function(){this.checkExec('clearTimer');},checkExec:function(func){if(this.o)this.o[func]();if(this.h)this.h[func]();if(this.w)this.w[func]();},resizeTo:function(hto,wto){if(this.h&&this.w){this.h.custom(this.el.offsetHeight,this.el.offsetHeight+hto);this.w.custom(this.el.offsetWidth,this.el.offsetWidth+wto);}},customSize:function(hto,wto){if(this.h&&this.w){this.h.custom(this.el.offsetHeight,hto);this.w.custom(this.el.offsetWidth,wto);}}}
fx.Accordion=Class.create();fx.Accordion.prototype={setOptions:function(options){this.options={delay:100,opacity:false}
Object.extend(this.options,options||{});},initialize:function(togglers,elements,options){this.elements=elements;this.setOptions(options);var options=options||'';elements.each(function(el,i){options.onComplete=function(){if(el.offsetHeight>0)el.style.height='1%';}
el.fx=new fx.Combo(el,options);el.fx.hide();});togglers.each(function(tog,i){tog.onclick=function(){this.showThisHideOpen(elements[i]);}.bind(this);}.bind(this));},showThisHideOpen:function(toShow){this.elements.each(function(el,i){if(el.offsetHeight>0&&el!=toShow)this.clearAndToggle(el);}.bind(this));if(toShow.offsetHeight==0)setTimeout(function(){this.clearAndToggle(toShow);}.bind(this),this.options.delay);},clearAndToggle:function(el){el.fx.clearTimer();el.fx.toggle();}}