DL.Widget.ImageSlider=new DL.Class({initialize:function(d){this.animations={};this.nodes=[];this.prev=null;this.next=null;this.index=0;this.image=null;this.imageOld=null;this.thumbs=null;this.playing=false;this.options={id:'slideshow',classThumbs:'thumbs',classPreview:'preview',pWidth:640,pHeight:480,tHeight:120,iWidth:120,iHeight:120,slideShow:false,slideShowInterval:5000,mode:'mix'};var o=this.setOptions(d),self=this;if(typeof o.mode!='string')o.mode=(o.mode==1)?'slide':'mix';this.el=DL.$I(o.id);this.thumbs=DL.Element.whiteSpace(DL.Element.subNode(DL.$CN(o.classThumbs,this.el).shift(),[0]));this.preview=DL.$CN(o.classPreview,this.el).shift();DL.Element.addClass(this.el,'jsImageSlider');DL.Element.addNodes(this.preview,this.indicator=DL.$C('div',{className:'indicator',style:{width:o.iWidth+'px',height:o.iHeight+'px'}}));DL.Element.addNodes(this.preview,this.navigator=DL.$C('div',{className:'navigator'},this.prev=DL.$C('a',{className:'prev',onclick:function(){self.zappImage(-1);this.blur();return false}}),this.next=DL.$C('a',{className:'next',onclick:function(){self.zappImage(1);this.blur();return false}})));DL.Element.setStyles(this.el,{width:(o.pWidth+o.tWidth)+'px'});DL.Element.setStyles(this.preview,{width:o.pWidth+'px',height:o.pHeight+'px',display:'block'});DL.Element.setStyles(this.thumbs.parentNode,{height:o.pHeight+'px',width:o.tWidth+'px'});DL.Element.setStyle(this.indicator,'opacity',0);DL.Element.setStyle(this.navigator,'opacity',75);DL.Element.setStyle(this.indicator,{left:(this.preview.offsetWidth/2)-(this.indicator.offsetWidth/2)+'px',top:(this.preview.offsetHeight/2)-(this.indicator.offsetHeight/2)+'px'});this.animations.indicator=new DL.Animator({duration:1500}).addSubject(new DL.Animator.CSSStyleSubject(self.indicator,'opacity: 0.0;','opacity: 0.75;'));this.loadHandler=function(b){if(self.image.offsetHeight>self.preview.offsetHeight){DL.Element.setStyle(self.image,{height:self.preview.offsetHeight+'px'})}var c=((self.preview.offsetWidth/2)-(self.image.offsetWidth/2)),top=((self.preview.offsetHeight/2)-(self.image.offsetHeight/2)),start=(b._index>self.index?'left:'+self.preview.offsetWidth+'px;':'left:-'+self.preview.offsetWidth+'px;'),finish=('left:'+c+'px'),ani=this.animations.image=new DL.Animator({duration:1100,transition:DL.Animator.tx.easeInOut});ani.oncomplete=function(){if(self.imageOld){DL.Element.removeNode(self.imageOld)}DL.Element.setStyle(self.navigator,{display:'block'});self.playing=false;self.alignNavigator()};var a={visibility:'visible',left:c+'px',top:top+'px'};switch(o.mode){case'mix':case'slide':ani.addSubject(new DL.Animator.CSSStyleSubject(self.image,start,finish));a.left=self.preview.offsetWidth+'px';break;case'fade':a.opacity=0;ani.addSubject(new DL.Animator.CSSStyleSubject(self.image,"opacity: 0.0;","opacity: 1.0;"));self.image.style.width='auto';self.image.style.height='auto';break}if(self.imageOld){switch(o.mode){case'mix':case'fade':ani.addSubject(new DL.Animator.CSSStyleSubject(self.imageOld,"opacity: 1.0;","opacity: 0.0;"));break;case'slide':ani.addSubject(new DL.Animator.CSSStyleSubject(self.imageOld,(b._index>self.index?'left:-'+self.preview.offsetWidth+'px;':'left:'+self.preview.offsetWidth+'px;')));break}}DL.Element.setStyle(self.image,a);ani.toggle();self.index=b._index};this.clickHandler=function(a){if(self.image&&self.image.src==a.href||self.playing){return false}if(self.image){self.imageOld=self.image}self.playing=true;if(self.index!=a._index){DL.Element.removeClass(self.nodes[self.index],'active')}DL.Element.addClass(a,'active');DL.Element.addNodes(self.preview,self.image=DL.$C('img',{src:a.href,style:{visibility:'hidden'}}));if(!self.image.complete){var b=this.animations.indicator,end=0;var c=function(){end=1;b.toggle()},sto=setTimeout(c,500);self.image.onload=function(){clearTimeout(sto);self.loadHandler(a);if(end){b.toggle()}}}else{self.loadHandler(a)}};for(var i=0;i