var Scroller=new Class({initialize:function(a){a.addClass("scroller");this._scrollerElement=a;this._scrollItems=this._scrollerElement.getElements(".scrollItem");this._numScrollItems=0;this._scrollItemSize=0;this._currentScrollItem=0;this._animOptions={duration:200,transition:Fx.Transitions.Sine.easeOut};this._scrollBox=null;this._scrollBoxOffset=0;this._initScrollBox();this._scrollLeftArrow=null;this._scrollRightArrow=null;this._viewImageLink=null;this._initControls()},_initScrollBox:function(){if(this._scrollItems){this._numScrollItems=this._scrollItems.length;this._scrollItemSize=this._scrollItems[0].getStyle("width").toInt();this._scrollBox=this._scrollerElement.getElementById("scrollBox");this._scrollBox.set("tween",this._animOptions);this._scrollBox.setStyle("width",this._scrollItemSize*this._numScrollItems);this._alignItemsVertically()}},_alignItemsVertically:function(){var a=this._scrollerElement.getSize().y;this._scrollItems.forEach(function(b){b.setStyle("margin-top",((a-b.getSize().y)/2)+"px")})},_initControls:function(){this._scrollLeftArrow=new Element("a",{href:"#","class":"scrollerControl",styles:{"float":"left",visibility:"hidden"}});this._scrollLeftArrow.appendText("<<");this._scrollLeftArrow.addEvent("click",this._scrollLeft.bind(this));this._scrollRightArrow=new Element("a",{href:"#","class":"scrollerControl",styles:{"float":"right",visibility:"hidden"}});this._scrollRightArrow.appendText(">>");this._scrollRightArrow.addEvent("click",this._scrollRight.bind(this));this._viewImageLink=new Element("a",{href:this._getCurrentItemUri()});this._viewImageLink.appendText("View image");var a=new Element("div",{"class":"scrollerControlsBox",styles:{"text-align":"center"}});a.appendChild(this._scrollLeftArrow);a.appendChild(this._scrollRightArrow);a.appendChild(this._viewImageLink);a.inject(this._scrollerElement,"after");if(this._numScrollItems>1){this._enableControl(this._scrollLeftArrow);this._enableControl(this._scrollRightArrow)}},_scrollLeft:function(a){a.stop();if(this._currentScrollItem>0){this._scrollBoxOffset+=this._scrollItemSize;this._scrollBox.tween("margin-left",this._scrollBoxOffset);this._currentScrollItem--}else{this._scrollBoxOffset=-(this._scrollItemSize*(this._numScrollItems-1));this._currentScrollItem=this._numScrollItems-1;this._wrapAround()}this._viewImageLink.set("href",this._getCurrentItemUri())},_scrollRight:function(a){a.stop();if(this._currentScrollItem<this._numScrollItems-1){this._scrollBoxOffset-=this._scrollItemSize;this._scrollBox.tween("margin-left",this._scrollBoxOffset);this._currentScrollItem++}else{this._scrollBoxOffset=0;this._currentScrollItem=0;this._wrapAround()}this._viewImageLink.set("href",this._getCurrentItemUri())},_wrapAround:function(){var b;if(this._numScrollItems>20){b=this._animOptions.duration*10}else{b=Math.round(this._animOptions.duration/2*this._numScrollItems)}var a=new Fx.Tween(this._scrollBox,{duration:b,transition:Fx.Transitions.Sine.easeInOut});a.start("margin-left",this._scrollBoxOffset)},_enableControl:function(a){a.setStyle("visibility","visible")},_getCurrentItemUri:function(){var a=this._scrollItems[this._currentScrollItem].getElement("a");return a.getAttribute("href")}});window.addEvent("domready",function(){var a=$("articleImages");if(a){new Scroller(a)}});