Fx.Scroll.Carousel=new Class({Extends:Fx.Scroll,options:{mode:"horizontal",childSelector:false,loopOnScrollEnd:false},initialize:function(b,a){this.parent(b,a);this.cacheElements();this.element.getElements("img").setStyle("opacity",1);this.cacheImgs();this.prepImg();this.currentIndex=0},cacheImgs:function(){var b=this.element.getParent().getPrevious();var a=this.element.getElements("li");this.element.getElements("li").each(function(d,c){d.getElement("img").addEvents({click:function(j){var i=b.getElement(".imgHolder");var l=b.getElement(".fullFocus");var g=b.getElement(".imgDesc");var m=b.getElement(".imgBefore");var k=b.getElement(".imgAfter");var o=this.get("src");var e=this.getNext().get("html");if(this.hasClass("showBefAft")){m.setStyle("display","block");k.setStyle("display","block")}else{m.setStyle("display","none");k.setStyle("display","none")}i.empty();var n=new Element("img",{src:o.substr(o.indexOf("/")+1,o.indexOf("&")-(o.indexOf("/")+1))});var h=new Fx.Morph(l,{duration:300,transition:Fx.Transitions.Sine.easeOut});var f=new Fx.Morph(g,{duration:100,transition:Fx.Transitions.Sine.easeOut});h.start({opacity:0}).chain(function(){i.empty();g.setStyle("opacity",0);n.inject(i);h.start({opacity:1}).chain(function(){if(e){g.set("html",e)}f.start({opacity:1})})});a.getElements("img").each(function(p,q){if(p.hasClass("lightUp")){p.removeClass("lightUp");p.setStyle("opacity",1)}});this.addClass("lightUp");this.setStyle("opacity",0.7)},mouseenter:function(f){var e=new Fx.Morph(this,{duration:300,transition:Fx.Transitions.Sine.easeOut});e.start({opacity:0.7})},mouseleave:function(f){if(!this.hasClass("lightUp")){var e=new Fx.Morph(this,{duration:300,transition:Fx.Transitions.Sine.easeOut});e.start({opacity:1})}}})})},prepImg:function(){var e=this.element.getParent().getPrevious();var f=e.getElement(".imgHolder");var c=this.element.getElement("li").getElement("img").get("src");var h=e.getElement(".imgDesc");var b=e.getElement(".imgBefore");var a=e.getElement(".imgAfter");var g=this.element.getElement("li").getElement("span").get("html");var d=new Element("img",{src:c.substr(c.indexOf("/")+1,c.indexOf("&")-(c.indexOf("/")+1))});if(g){h.set("html",g)}if(this.element.getElement("li").getElement("img").hasClass("showBefAft")){b.setStyle("display","block");a.setStyle("display","block")}else{b.setStyle("display","none");a.setStyle("display","none")}d.inject(f)},cacheElements:function(){var a=this.options.childSelector;if(a){els=this.element.getElements(a)}else{if(this.options.mode=="horizontal"){els=this.element.getElements("ul")}else{els=this.element.getChildren()}}this.elements=els;return this},toNext:function(a){this.toElement(this.elements[this.currentIndex]);return this},toPrevious:function(){this.toElement(this.elements[this.currentIndex]);return this},getNextIndex:function(){this.currentIndex++;if(this.currentIndex==this.elements.length||this.checkScroll()){this.fireEvent("loop");this.fireEvent("nextLoop");return 0}else{return this.currentIndex}},getPreviousIndex:function(){this.currentIndex--;var a=this.checkScroll();if(this.currentIndex<0||a){this.fireEvent("loop");this.fireEvent("previousLoop");return(a)?this.getOffsetIndex():this.elements.length-1}else{return this.currentIndex}},getOffsetIndex:function(){var a=(this.options.mode=="horizontal")?this.element.getStyle("width").toInt()/this.elements[0].getStyle("width").toInt():this.element.getStyle("height").toInt()/this.elements[0].getStyle("height").toInt();return this.currentIndex+1-a},checkLink:function(){return(this.timer&&this.options.link=="ignore")},checkScroll:function(){if(!this.options.loopOnScrollEnd){return false}if(this.options.mode=="horizontal"){var a=this.element.getScroll().x;var b=this.element.getScrollSize().x-this.element.getSize().x}else{var a=this.element.getScroll().y;var b=this.element.getScrollSize().y-this.element.getSize().y}return(a==b)},getCurrent:function(){return this.elements[this.currentIndex]}});
