var viewer=new Class({mode:"rand",modes:["top","right","bottom","left","alpha"],sizes:{w:480,h:240},fxOptions:{duration:500},interval:5000,initialize:function(a,b){if(b){for(var c in b){this[c]=b[c]}}if(this.buttons){this.buttons.previous.addEvent("click",this.previous.bind(this,[true]));this.buttons.next.addEvent("click",this.next.bind(this,[true]))}this.current=0;this.previous=null;this.items=a.setStyle("display","none");this.items[this.current].setStyle("display","block");this.disabled=false;this.attrs={left:["left",-this.sizes.w,0,"px"],top:["top",-this.sizes.h,0,"px"],right:["left",this.sizes.w,0,"px"],bottom:["top",this.sizes.h,0,"px"],alpha:["opacity",0,1,""]};this.rand=this.mode=="rand";this.sequence=typeof(this.mode)=="object"?this.mode:false;this.curseq=0;this.timer=null},walk:function(e,d){if(this.current!==e&&!this.disabled){this.disabled=true;if(d){this.stop()}if(this.rand){this.mode=this.modes.getRandom()}else{if(this.sequence){this.mode=this.sequence[this.curseq];this.curseq+=this.curseq+1<this.sequence.length?1:-this.curseq}}this.previous=this.current;this.current=e;var b=this.attrs[this.mode].associate(["p","f","t","u"]);for(var c=0;c<this.items.length;c++){if(this.current===c){this.items[c].setStyles($extend({display:"block","z-index":"2"},JSON.decode('{"'+b.p+'":"'+b.f+b.u+'"}')))}else{if(this.previous===c){this.items[c].setStyles({"z-index":"1"})}else{this.items[c].setStyles({display:"none","z-index":"0"})}}}this.items[e].set("tween",$merge(this.fxOptions,{onComplete:this.onComplete.bind(this)})).tween(b.p,b.f,b.t)}},play:function(a){this.stop();if(!a){this.next()}this.timer=this.next.periodical(this.interval,this,[false])},stop:function(){$clear(this.timer)},next:function(a){this.walk(this.current+1<this.items.length?this.current+1:0,a)},previous:function(a){this.walk(this.current>0?this.current-1:this.items.length-1,a)},onComplete:function(){this.disabled=false;this.items[this.previous].setStyle("display","none");if(this.onWalk){this.onWalk(this.current)}}});