Adept.Core.namespace("Adept.Effect");Adept.Effect.Base=Class.create({element:null,options:null,initialize:function(element){this.element=element;this.options=new Object()},setOption:function(name,value){this.options[name]=value},getOption:function(name){return Adept.Core.isset(this.options[name])?this.options[name]:null},go:function(){},duration:function(duration){this.setOption('duration',duration);return this},fps:function(fps){this.setOption('fps',fps);return this},transition:function(transition){this.setOption('transition',transition);return this},from:function(from){this.setOption('from',from);return this},to:function(to){this.setOption('to',to);return this},sync:function(sync){this.setOption('sync',sync);return this},queue:function(queue){this.setOption('queue',queue);return this},delay:function(delay){this.setOption('delay',delay);return this},direction:function(direction){this.setOption('direction',direction);return this},beforeStart:function(listener){this.setOptions('beforeStart',listener);return this},beforeUpdate:function(listener){this.setOptions('beforeUpdate',listener);return this},afterUpdate:function(listener){this.setOptions('afterUpdate',listener);return this},afterFinish:function(listener){this.setOptions('afterFinish',listener);return this}});Adept.Core.namespace("Adept.Effect");Adept.Effect.Highlight=Class.create(Adept.Effect.Base,{startColor:function(color){this.setOption('startcolor',color);return this},endColor:function(color){this.setOption('endcolor',color);return this},restoreColor:function(color){this.setOption('restorecolor',color);return this},go:function(){return new Effect.Highlight(this.element,this.options)}});Adept.Core.namespace("Adept.Effect");Adept.Effect.Appear=Class.create(Adept.Effect.Base,{go:function(){return new Effect.Appear(this.element,this.options)}});Adept.Core.namespace("Adept.Effect");Adept.Effect.Fade=Class.create(Adept.Effect.Base,{go:function(){return new Effect.Fade(this.element,this.options)}});Adept.Core.namespace("Adept.Effect");Adept.Effect.Morth=Class.create(Adept.Effect.Base,{style:function(style){this.setOption('style',style);return this},go:function(){return new Effect.Morth(this.element,this.options)}});Adept.Core.namespace("Adept.Effect");Adept.Effect.Move=Class.create(Adept.Effect.Base,{x:function(x){this.setOption('x',x);return this},y:function(y){this.setOption('y',y);return this},mode:function(mode){this.setOption('mode',mode);return this},go:function(){return new Effect.Move(this.element,this.options)}});Adept.Core.namespace("Adept.Effect");Adept.Effect.Opacity=Class.create(Adept.Effect.Base,{go:function(){return new Effect.Opacity(this.element,this.options)}});Adept.Core.namespace("Adept.Effect");Adept.Effect.Scale=Class.create(Adept.Effect.Base,{_percent:null,percent:function(percent){this._percent=percent;return this},scaleX:function(scaleX){this.setOption('scaleX',scaleX);return this},scaleY:function(scaleY){this.setOption('scaleY',scaleY);return this},scaleContent:function(scaleContent){this.setOption('scaleContent',scaleContent);return this},scaleFromCenter:function(scaleFromCenter){this.setOption('scaleFromCenter',scaleFromCenter);return this},scaleMode:function(scaleMode){this.setOption('scaleMode',scaleMode);return this},go:function(){return new Effect.Scale(this.element,this._percent,this.options)}});Adept.Core.namespace("Adept.Effect");Adept.Effect.SlideDown=Class.create(Adept.Effect.Base,{scaleX:function(scaleX){this.setOption('scaleX',scaleX);return this},scaleY:function(scaleY){this.setOption('scaleY',scaleY);return this},scaleContent:function(scaleContent){this.setOption('scaleContent',scaleContent);return this},scaleFromCenter:function(scaleFromCenter){this.setOption('scaleFromCenter',scaleFromCenter);return this},scaleMode:function(scaleMode){this.setOption('scaleMode',scaleMode);return this},scaleTo:function(scaleTo){this.setOption('scaleTo',scaleTo);return this},scaleFrom:function(scaleFrom){this.setOption('scaleFrom',scaleFrom);return this},go:function(){return new Effect.SlideDown(this.element,this.options)}});Adept.Core.namespace("Adept.Effect");Adept.Effect.SlideUp=Class.create(Adept.Effect.Base,{scaleX:function(scaleX){this.setOption('scaleX',scaleX);return this},scaleY:function(scaleY){this.setOption('scaleY',scaleY);return this},scaleContent:function(scaleContent){this.setOption('scaleContent',scaleContent);return this},scaleFromCenter:function(scaleFromCenter){this.setOption('scaleFromCenter',scaleFromCenter);return this},scaleMode:function(scaleMode){this.setOption('scaleMode',scaleMode);return this},scaleTo:function(scaleTo){this.setOption('scaleTo',scaleTo);return this},scaleFrom:function(scaleFrom){this.setOption('scaleFrom',scaleFrom);return this},go:function(){return new Effect.SlideUp(this.element,this.options)}});Adept.Core.namespace("Adept.Effect");Adept.Effect.Parallel=Class.create(Adept.Effect.Base,{effects:null,initialize:function($super){$super(null);this.effects=new Array()},add:function(effect){this.effects.push(effect);return this},go:function(){return new Effect.Parallel(this.effects,this.options)}});Adept.Core.namespace("Adept.Effect");Adept.Effect.Factory={TYPE_APPEAR:'appear',TYPE_FADE:'fade',TYPE_MORPH:'morph',TYPE_MOVE:'move',TYPE_OPACITY:'opacity',TYPE_SLIDEUP:'slideUp',TYPE_SLIDEDOWN:'slideDown',TYPE_HIGHLIGHT:'highlight',TYPE_SCALE:'scale',create:function(element,type){switch(type){case this.TYPE_HIGHLIGHT:return new Adept.Effect.Highlight(element);case this.TYPE_SCALE:return new Adept.Effect.Scale(element);case this.TYPE_APPEAR:return new Adept.Effect.Appear(element);case this.TYPE_FADE:return new Adept.Effect.Fade(element);case this.TYPE_MORPH:return new Adept.Effect.Morph(element);case this.TYPE_MOVE:return new Adept.Effect.Move(element);case this.TYPE_OPACITY:return new Adept.Effect.Opacity(element);case this.TYPE_SLIDEUP:return new Adept.Effect.SlideUp(element);case this.TYPE_SLIDEDOWN:return new Adept.Effect.SlideDown(element);default:throw new Adept.Exception.IllegalArgument('effect type not supported')}}};