Ext.namespace("THSite.other");THSite.controls.SlideshowPlayer=Ext.extend(Ext.util.Observable,{constructor:function(a){this.duration=a.duration||5000;this.transition=a.transition||2000;this.autoStart=a.autoStart||false;this.initPrivate();this.addEvents("selected");this.listeners=a.listeners;THSite.controls.SlideshowPlayer.superclass.constructor.call(this,a)},init:function(a){this.playEl=a.select(".slideshow-control-play").first();this.prevEl=a.select(".slideshow-control-prev").first();this.nextEl=a.select(".slideshow-control-next").first();this.buttonEls=a.select(".slideshow-control-button",true);this.slidesCount=this.buttonEls.getCount();this.playEl.on("click",this.onPlayClick,this);this.prevEl.on("click",this.onPrevClick,this);this.nextEl.on("click",this.onNextClick,this);this.playEl.hover(this.onMouseIn.createDelegate(this,[this.playEl]),this.onMouseOut.createDelegate(this,[this.playEl]));this.prevEl.hover(this.onMouseIn.createDelegate(this,[this.prevEl]),this.onMouseOut.createDelegate(this,[this.prevEl]),this);this.nextEl.hover(this.onMouseIn.createDelegate(this,[this.nextEl]),this.onMouseOut.createDelegate(this,[this.nextEl]),this);this.buttonEls.each(function(b,d,c){b.on("click",function(){this.onButtonClick(b,c)},this);b.hover(this.onMouseIn.createDelegate(this,[b]),this.onMouseOut.createDelegate(this,[b]),this)},this);this.buttonEls.item(0).addClass("selected");if(this.autoStart){this.onPlayClick()}},getHtml:function(a){var m=[7,5,3,2,2,1,1];var n='<div class="slideshow-control-play">{0}</div>';var c='<div class="slideshow-control-prev"><div>&lt;</div></div>';var p='<div class="slideshow-control-next">{0}</div>';var h='<div class="slideshow-control-button"><div>{0}</div></div>';var d='<b style="margin-left: {0}px"></b>';var k='<b style="margin-right: {0}px"></b>';var o='<div class="slideshow-control-frame">{0}<div style="height: 0; clear: both"></div></div>';var r="",l="",b="",q="";for(var f=0;f<m.length;f++){r+=String.format(d,m[f]);l+=String.format(k,m[f]);b+=String.format(d,m[m.length-f-1]);q+=String.format(k,m[m.length-f-1])}var e=String.format(n,r+"<div></div>"+b);var g=String.format(p,l+"<div>&gt;</div>"+q);var j="";for(var f=0;f<a;f++){j+=String.format(h,f+1)}return String.format(o,[e,c,j,g].join("\n"))},initPrivate:function(){var a=0;this.getActiveSlide=function(){return a};this.setActiveSlide=function(b){if(b!=a){this.buttonEls.item(a).removeClass("selected");this.buttonEls.item(b).addClass("selected");a=b;this.fireEvent("selected",b)}}},runSlideshow:function(){if(!this.playTask){this.playTask=new THSite.misc.Task({run:this.onNextClick,scope:this,args:[null],interval:this.duration,delayed:true});this.playEl.addClass("stop")}},stopSlideshow:function(){if(this.playTask){this.playTask.stop();this.playTask=null;this.playEl.removeClass("stop")}},onPlayClick:function(){if(!this.playTask){this.runSlideshow()}else{this.stopSlideshow()}},onPrevClick:function(){this.stopSlideshow();this.setActiveSlide((this.getActiveSlide()+this.slidesCount-1)%this.slidesCount)},onNextClick:function(a){if(a){this.stopSlideshow()}this.setActiveSlide((this.getActiveSlide()+1)%this.slidesCount)},onButtonClick:function(a,b){this.stopSlideshow();this.setActiveSlide(b)},onMouseIn:function(a){a.addClass("over")},onMouseOut:function(a){a.removeClass("over")}});
