var fx=new Object();fx.Base=function(){};fx.Base.prototype={setOptions:function(a){this.options={duration:500,onComplete:'',transition:fx.sinoidal};Object.extend(this.options,a||{})},go:function(){this.startTime=(new Date).getTime();this.timer=setInterval(this.step.bind(this),13)},step:function(){var a=(new Date).getTime();if(a>=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 b=(a-this.startTime)/(this.options.duration);this.now=this.options.transition(b)*(this.to-this.from)+this.from}this.increase()},custom:function(a,b){if(this.timer!=null)return;this.from=a;this.to=b;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(a,b){this.el=$(a);this.el.style.overflow="hidden";this.el.iniWidth=this.el.offsetWidth;this.el.iniHeight=this.el.offsetHeight;this.setOptions(b)}});fx.Height=Class.create();Object.extend(Object.extend(fx.Height.prototype,fx.Layout.prototype),{increase:function(){this.el.style.height=parseInt(this.now)+"px";$("loginAdd").style.height=(350-parseInt(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(a,b){this.el=$(a);this.now=1;this.increase();this.setOptions(b)},increase:function(){if(this.now==1&&(/Firefox/.test(navigator.userAgent)))this.now=0.9999;this.setOpacity(this.now)},setOpacity:function(a){if(a==0)this.el.style.visibility="hidden";else this.el.style.visibility="visible";if(window.ActiveXObject)this.el.style.filter="alpha(opacity="+a*100+")";this.el.style.opacity=a},toggle:function(){if(this.now>0)this.custom(1,0);else this.custom(0,1)}});fx.sinoidal=function(a){return((-Math.cos(a*Math.PI)/2)+0.5)};fx.linear=function(a){return a};fx.cubic=function(a){return Math.pow(a,3)};fx.circ=function(a){return Math.sqrt(a)};
