/* * @author RocketTheme http://www.rockettheme.com * @copyright Copyright (C) 2007 - 2011 RocketTheme, LLC * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 only */ (function(){if(typeof this.RokGallery=="undefined"){this.RokGallery={};}Element.extend({sumStyles:function(d){var e=[],c=0;d.each(function(f){e.push(this.getStyle(f).toInt()); },this);e.each(function(f){c+=f;});return c;}});Elements.extend({sumStyles:function(d){var c=0;this.each(function(e){c+=e.sumStyles(d);},this);return c; }});this.RokGallery.Slideshow=new Class({options:{onJump:function(c){this.animation.index=this.current;this.animation.setBackground(this.slices[c].getElement("img").getProperty("src")); this.animation.setAnimation(this.options.animation);this.animation.play();if(this.captions.length){if(this.current==c){this.captions[this.current].fx.start(1); }else{this.captions[this.current].fx.start(0);this.captions[c].fx.start(1);}}},animation:"random",duration:500,autoplay:{enabled:true,delay:5000,complete:function(){this.progress.reset(); this.next();}}},initialize:function(d,c){this.setOptions(c);this.element=$(d)||$E(d)||null;this.rtl=document.body.getStyle("direction")=="rtl";if(!this.element){throw new Error('The element "'+d+'" has not been found in the page.'); }this.current=0;this.container=$E(".rg-ss-slice-container",this.element);this.slices=$ES(".rg-ss-slice",this.element);this.captions=$ES(".rg-ss-info",this.element); this.arrows=$ES(".rg-ss-controls .next, .rg-ss-controls .prev",this.element);this.scrollerContainer=$E(".rg-ss-thumb-scroller",this.element);this.loaderBar=$E(".rg-ss-loader",this.element); this.progressBar=$E(".rg-ss-progress",this.element);if(this.options.autoplay.enabled){var e=this.progressBar;if(!e){e=new Element("div",{styles:{display:"none",position:"absolute"}}).inject(document.body); }this.progress=new RokGallery.Slideshow.Progress(e,{duration:this.options.autoplay.delay,width:this.loaderBar?this.loaderBar.getSize().size.x:0,onComplete:this.options.autoplay.complete.bind(this)}).play(); this.bounds={progress:{mouseenter:this.progress.pause.bind(this.progress),mouseleave:this.progress.resume.bind(this.progress)}};this.element.addEvents(this.bounds.progress); }else{if(this.loaderBar){this.loaderBar.setStyle("display","none");}}this.setup();if(this.arrows.length){this.setArrows();}if(this.scrollerContainer){this.setNavigation(); }this.jump(0,true);},setup:function(){this.animation=new RokGallery.Slideshow.Animations(this.element,{container:this.container,width:this.container.getSize().size.x,height:this.container.getSize().size.y,duration:this.options.duration,transition:Fx.Transitions.Quad.easeInOut,onStart:function(){if(this.options.autoplay.enabled){this.progress.pause(); }}.bind(this),onComplete:function(){this.slices[this.current].setStyle("display","block");if(this.current!=this.animation.index){this.slices[this.animation.index].setStyle("display","none"); }this.animation.clean();if(this.options.autoplay.enabled){this.progress.play();}}.bind(this)});if(this.captions.length){this.captions.setStyles({display:"block",opacity:0,visibility:"hidden"}); this.captions.each(function(c){c.fx=new Fx.Style(c,"opacity",{duration:this.options.duration,transition:Fx.Transitions.Quad.easeInOut});},this);}this.fireEvent("onSetup"); },setArrows:function(){["next","previous"].each(function(d,c){this.arrows[c].addEvent("click",this[d].bind(this));},this);},setNavigation:function(){this.scroller=new RokGallery.Slideshow.Thumbnails(this.element,this,{}); },next:function(){var c=this.getNext();this.jump(c);if(this.options.autoplay.enabled&&!this.progress.isPaused){this.progress.play();}return this;},previous:function(){var c=this.getPrevious(); this.jump(c);return this;},jump:function(c,d){if(c==this.current&&!d){return this;}if(this.animation.timer){return this;}this.fireEvent("onJump",c);if(this.scrollerContainer){this.scroller.setActive(c); this.scroller.toThumb(c);}this.current=c;return this;},getNext:function(){return(this.current+1>=this.slices.length)?0:this.current+1;},getPrevious:function(){return(this.current-1<0)?this.slices.length-1:this.current-1; }});this.RokGallery.Slideshow.implement(new Events,new Options);this.RokGallery.Slideshow.Progress=Fx.Style.extend({options:{transition:Fx.Transitions.linear,fps:24,width:100},initialize:function(d,c){this.element=$(d); this.isPaused=false;this.property="width";this.reset();this.setOptions(c);this.parent(c);},increase:function(){if(this.element){this.element.setStyle(this.property,this.css.getValue(this.now,this.options.unit,this.property)); }},reset:function(){this.set(0);return this;},play:function(){this.start(0,this.options.width);return this;},pause:function(){this.isPaused=true;this.stopTimer(); return this;},resume:function(){this.isPaused=false;this.startTimer();return this;},stopTimer:function(){if(!this.timer){return false;}this.time=$time()-this.time; this.timer=$clear(this.timer);return true;},startTimer:function(){if(this.timer){return false;}this.time=$time()-this.time;this.timer=this.step.periodical(Math.round(1000/this.options.fps),this); return true;}});this.RokGallery.Slideshow.Thumbnails=new Class({options:{onClickElement:function(c,d){if(this.base.animation.timer){return this;}this.base.jump(d); this.setActive(d);return this;},scroller:{duration:300,transition:Fx.Transitions.Expo.easeInOut}},initialize:function(d,e,c){this.setOptions(c);this.base=e; this.element=d;this.thumbSize=0;this.wrapper=$E(".rg-ss-navigation-container",this.element);this.container=$E(".rg-ss-thumb-scroller",this.wrapper);this.arrows=$ES(".rg-ss-arrow-left, .rg-ss-arrow-right",this.wrapper); this.list=$E(".rg-ss-thumb-list",this.wrapper);this.thumbsWrapper=$ES(".rg-ss-thumb-list .rg-ss-thumb",this.wrapper);this.thumbs=$ES(".rg-ss-thumb-list .rg-ss-thumb img",this.wrapper); this.arrowsSize=this.arrows.sumStyles(["width"]);this.scroller=new Fx.Scroll(this.container,this.options.scroller);this.scroller.set(0,0);this.setup(); this.attach();return this;},attach:function(){this.thumbsWrapper.each(function(c,d){c.bounds={click:this.clickElement.bindWithEvent(this,c)};c.addEvents(c.bounds); },this);this.arrows.each(function(d,c){d.bounds={click:this.arrowsClick.bindWithEvent(this,[d,(!c?"left":"right")])};d.addEvent("dblclick",function(f){f.stop(); });d.addEvents(d.bounds);},this);},detach:function(){this.thumbsWrapper.each(function(c,d){c.removeEvents(c.bounds);},this);this.arrows.removeEvents(this.bounds.arrows); },arrowsClick:function(e,f,g){e.stop();var c=this.container.scrollLeft+(g=="left"?-this.thumbSize:+this.thumbSize),d=this.container.scrollWidth-this.container.offsetWidth,h=this.container.scrollLeft+this.thumbSize; if(d-h