var fx=new Object();fx.Base=function(){};fx.Base.prototype={setOptions:function(_1){this.options={duration:500,onComplete:"",transition:fx.sinoidal};Object.extend(this.options,_1||{});},go:function(){this.startTime=(new Date).getTime();this.timer=setInterval(this.step.bind(this),13);},step:function(){var _2=(new Date).getTime();if(_2>=this.options.duration+this.startTime){this.now=this.to;clearInterval(this.timer);this.timer=null;if(this.options.onComplete){setTimeout(this.options.onComplete.bind(this),10);}}else{var _3=(_2-this.startTime)/(this.options.duration);this.now=this.options.transition(_3)*(this.to-this.from)+this.from;}this.increase();},custom:function(_4,to){if(this.timer!=null){return;}this.from=_4;this.to=to;this.go();},hide:function(){this.now=0;this.increase();},clearTimer:function(){clearInterval(this.timer);this.timer=null;}};fx.Layout=Class.create();fx.Layout.prototype=Object.extend(new fx.Base(),{initialize:function(el,_7){this.el=$(el);this.el.style.overflow="hidden";this.el.iniWidth=this.el.offsetWidth;this.el.iniHeight=this.el.offsetHeight;this.setOptions(_7);}});fx.Height=Class.create();Object.extend(Object.extend(fx.Height.prototype,fx.Layout.prototype),{increase:function(){this.el.style.height=this.now+"px";},toggle:function(){if(this.el.offsetHeight>0){this.custom(this.el.offsetHeight,0);}else{this.custom(0,this.el.scrollHeight);}}});fx.Width=Class.create();Object.extend(Object.extend(fx.Width.prototype,fx.Layout.prototype),{increase:function(){this.el.style.width=this.now+"px";},toggle:function(){if(this.el.offsetWidth>0){this.custom(this.el.offsetWidth,0);}else{this.custom(0,this.el.iniWidth);}}});fx.Opacity=Class.create();fx.Opacity.prototype=Object.extend(new fx.Base(),{initialize:function(el,_9){this.el=$(el);this.now=1;this.increase();this.setOptions(_9);},increase:function(){if(this.now==1&&(/Firefox/.test(navigator.userAgent))){this.now=0.9999;}this.setOpacity(this.now);},setOpacity:function(_a){if(window.ActiveXObject){this.el.style.filter="alpha(opacity="+_a*100+")";}this.el.style.opacity=_a;if(window.opera){if(_a<0.3){this.el.style.visibility="hidden";}else{this.el.style.visibility="visible";}}},toggle:function(){if(this.now>0){this.custom(1,0);}else{this.custom(0,1);}}});fx.sinoidal=function(_b){return ((-Math.cos(_b*Math.PI)/2)+0.5);};fx.linear=function(_c){return _c;};fx.cubic=function(_d){return Math.pow(_d,3);};fx.circ=function(_e){return Math.sqrt(_e);};