var QueoSlideshow=new Class({Extends:Options,options:{animate:{timeout:5000},colors:{thumbInactive:"#000",thumbActive:"#fff"},fx:{slide:{duration:1000,transition:Fx.Transitions.linear}},opacity:{thumbnails:0.5}},animating:false,blocked:false,container:null,imgPause:null,imgPlay:null,moreInfoText:"",navigationBlocked:false,sliderMaskWidth:0,sliderWidth:0,sliderFx:null,initialize:function(a,c,b){this.setOptions(b);this.container=a.removeClass("nojs");this.moreInfoText=c;this.adjustModel();new Asset.images(this.getThumbnailLinks().get("rel"));this.getSlideLeft().addEvents({click:function(d){d.preventDefault()},mouseover:this.moveSliderAndFade.bindWithEvent(this,"left"),mouseout:this.stopSliderAndFade.bindWithEvent(this,"left")});this.getSlideRight().addEvents({click:function(d){d.preventDefault()},mouseover:this.moveSliderAndFade.bindWithEvent(this,"right"),mouseout:this.stopSliderAndFade.bindWithEvent(this,"right")});this.getSlider().getElements("a").addEvent("mouseover",function(d){var e=d.target.get("tag")=="a"?d.target.getFirst():d.target;e.tween("opacity",1)});this.getSlider().getElements("a").addEvent("mouseout",this.fadeOutThumbnail.bind(this));this.getSlider().getElements("a").addEvent("click",this.thumbClicked.bind(this));this.getNavLeft().addEvent("click",this.navigateAndStopAnimation.bind(this,"left"));this.getNavRight().addEvent("click",this.navigateAndStopAnimation.bind(this,"right"));this.getBigImage().addEvents({mouseover:this.bigImageMouseOver.bind(this),mouseout:this.bigImageMouseOut.bind(this)});window.addEvent("keydown",this.navigateByKey.bind(this));this.getPlayPause().addEvent("mouseover",this.fadeInPlayPause.bind(this));this.getPlayPause().addEvent("mouseout",this.fadeOutPlayPause.bind(this));this.imgPlay.addEvent("click",this.playAnimation.bind(this));this.imgPause.addEvent("click",this.pauseAnimation.bind(this));if(this.options.animate&&this.getThumbnails().length>1){this.animating=true;setTimeout(this.animate.bind(this),this.options.animate.timeout)}},animate:function(){if(this.animating){this.navigate("right");setTimeout(this.animate.bind(this),this.options.animate.timeout)}},bigImageMouseOut:function(){this.getNavLeft().tween("opacity",0);this.getNavRight().tween("opacity",0)},bigImageMouseOver:function(a){this.getNavLeft().tween("opacity",1-this.getDistanceToMouse(this.getNavLeft(),a)/this.getBigImage().getSize().x);this.getNavRight().tween("opacity",1-this.getDistanceToMouse(this.getNavRight(),a)/this.getBigImage().getSize().x)},getDistanceToMouse:function(a,d){var c=a.getSize();var e=Math.abs(d.client.x-(a.getLeft()+c.x/2));var b=Math.abs(d.client.y-(a.getTop()+c.y/2));return Math.sqrt(Math.pow(e,2)+Math.pow(b,2))},fadeInPlayPause:function(){this.getBigImageContainer().getElements("div.pp").tween("opacity",1)},fadeOutPlayPause:function(){this.getBigImageContainer().getElements("div.pp").tween("opacity",0.01)},fadeOutThumbnail:function(a){var b=a.target.get("tag")=="a"?a.target.getFirst():a.target;b.tween("opacity",this.options.opacity.thumbnails)},injectButton:function(b,a){if(!$chk(a)){a=false}this.getPlayPause().empty();if(b=="play"){this.imgPlay.set("opacity",0);this.getPlayPause().grab(this.imgPlay);this.imgPlay.fade("in")}else{if(b=="pause"){this.imgPause.set("opacity",0);this.getPlayPause().grab(this.imgPause);this.imgPause.fade("in")}}if(a){this.animating=true;this.animate()}},moveSlider:function(a,e){var d=0;var c=this.options.fx.slide.duration;if(a=="right"){d=(this.sliderWidth-this.sliderMaskWidth-2)*-1}else{if(a=="left"){d=0}else{d=e}}if(a=="right"||a=="left"){var b=0;if(a=="left"){b=-this.getSliderLeftMargin()}else{if(a=="right"){b=this.sliderWidth-(-this.getSliderLeftMargin()+this.sliderMaskWidth)}}c=b*(this.options.fx.slide.duration/500)}this.sliderFx=new Fx.Tween(this.getSlider(),{wait:false,duration:c,transition:this.options.fx.slide.transition},this);this.sliderFx.start("margin-left",this.getSlider().getStyle("margin-left"),d)},moveSliderAndFade:function(b,a){if(!this.blocked){this.stopAnimation();b.target.tween("opacity",1);this.moveSlider(a)}},navigate:function(a){var c=this.getSlider().getElement("a.selected");var b=a=="left"?c.getPrevious():c.getNext();if(!$chk(b)){b=a=="left"?this.getThumbnailLinks().getLast():this.getThumbnailLinks()[0]}this.setCurrentImage(b)},navigateAndStopAnimation:function(a){if(!this.blocked&&!this.navigationBlocked){this.navigationBlocked=true;this.stopAnimation();this.navigate(a)}},navigateByKey:function(a){if(a.code==37){a.preventDefault();this.stopAnimation();this.navigate("left")}else{if(a.code==39){a.preventDefault();this.stopAnimation();this.navigate("right")}}},pauseAnimation:function(){this.animating=false;new Fx.Tween(this.imgPause,{onComplete:this.injectButton.bind(this,"play")},this).start("opacity",0)},playAnimation:function(){if(!this.animating){new Fx.Tween(this.imgPlay,{onComplete:this.injectButton.bind(this,["pause",true])},this).start("opacity",0);this.animating=true;this.animate()}},resetBlock:function(){this.blocked=false},stopAnimation:function(){this.animating=false;this.injectButton("play")},stopSliderAndFade:function(b,a){if(!this.blocked){this.stopAnimation();b.target.tween("opacity",0.5);this.stopSlider(a)}},stopSlider:function(a){this.sliderFx.cancel()},thumbClicked:function(b){b.stop();if(!this.navigationBlocked){this.stopAnimation();var a=null;if(b.target.get("tag")=="img"){a=b.target.getParent("a")}else{a=b.target}this.setCurrentImage(a)}},adjustModel:function(){this.getPlayPause().set("opacity",0.01);this.imgPlay=this.getThumbnails().length>1?this.getPlayPause().getElement("img.play").dispose():this.getPlayPause().getElement("img.play");this.imgPause=this.getThumbnails().length>1?this.getPlayPause().getElement("img.pause"):this.getPlayPause().getElement("img.pause").dispose();this.getThumbnails().set("opacity",this.options.opacity.thumbnails);var a=this.getSlider().getElements("a");a.each(function(d){var e=d.getElement("img");var f=e.getSize()},this);var c=a[0].getStyle("height");var b=0;a.each(function(e,d){b+=e.getSize().x+e.getStyle("margin-left").toInt()+e.getStyle("margin-right").toInt()},this);this.getSlider().setStyles({width:b+"px",height:c});this.getSliderMask().setStyle("height",c);this.getSlideLeft().setStyle("height",c);this.getSlideRight().setStyle("height",c);this.setOftenUsedValues();this.setThumbnailsToInactiveMarkCurrent(a[0]);this.getBigImageContainer().getElement("img").slimboxSlideshow({},this.slimboxResolver.bind(this),this);this.setCurrentImageInfos(a[0])},replaceImage:function(c){this.getBigImage().getElement("img").dispose();this.getBigImage().grab(new Element("img",{src:c.get("rel"),longdesc:c.getElement("img").get("longdesc")}).fade("hide"));this.getBigImage().getElement("img").fade("in");this.getBigImage().getElement("img").slimboxSlideshow({},this.slimboxResolver.bind(this),this);this.getInformationTitle().empty();this.getInformationText().empty();var e=$chk(c.getFirst().get("title"))||$chk(c.getFirst().get("alt")||$chk(c.get("rev")));if(e){this.getInformationTitle().set("text",c.getFirst().get("title"));var d=c.getFirst().get("alt");var a=c.get("rev");var b=null!=d?d:"";b=null!=a?b+='<br /><br /><a href="'+a+'">'+this.moreInfoText+"</a>":b;this.getInformationText().set("html",b);this.getInformationContainer().tween("height",this.getInformationText().getSize().y+this.getInformationTitle().getSize().y)}this.blocked=false;this.navigationBlocked=false},setOftenUsedValues:function(){this.sliderWidth=this.getSlider().getStyle("width").toInt();this.sliderMaskWidth=this.getSliderMask().getStyle("width").toInt()},slimboxResolver:function(a){return[a.get("longdesc"),"<strong>"+this.getInformationTitle().get("html")+"</strong><br />"+this.getInformationText().get("html")]},setCurrentImage:function(b){if(!this.blocked){this.blocked=true;this.setThumbnailsToInactiveMarkCurrent(b);var d=b.getCoordinates();var c=d.left-b.getParent().getCoordinates().left;var a=this.getSliderLeftMargin();var e=a;if(a+c<0){e-=(a+c)}else{if((c+d.width)+a>this.sliderMaskWidth){e=a-(d.width-(this.sliderMaskWidth-(c+a)))}}this.moveSlider("",e);if(this.getInformationContainer().getStyle("height").toInt()>0){new Fx.Tween(this.getInformationContainer(),{property:"height"}).start(0).chain(this.setCurrentImageInfos.bind(this,b))}else{this.setCurrentImageInfos(b)}}},setCurrentImageInfos:function(b){var a=this.getBigImage().getElement("img");if($chk(a)){(new Fx.Tween(a,{property:"opacity"})).start(0).chain(this.replaceImage.bind(this,b))}else{this.replaceImage(b)}},setThumbnailsToInactiveMarkCurrent:function(a){this.getThumbnails().setStyle("border-color",this.options.colors.thumbInactive);this.getThumbnailLinks().removeClass("selected");a.getFirst().setStyle("border-color",this.options.colors.thumbActive);a.addClass("selected")},getSliderLeftMargin:function(){return this.getSlider().getStyle("margin-left").toInt()},getPlayPause:function(){return this.getBigImageContainer().getElement("div.pnp")},getInformationTitle:function(){return this.getInformationContainer().getElement("div.title")},getInformationText:function(){return this.getInformationContainer().getElement("div.text")},getInformationContainer:function(){return this.getBigImageContainer().getElement("div.info")},getBigImage:function(){return this.getBigImageContainer().getElement("div.bi")},getNavLeft:function(){return this.getBigImage().getElement("div.prev")},getNavRight:function(){return this.getBigImage().getElement("div.next")},getBigImageContainer:function(){return this.container.getElement("div.bic")},getSliderMask:function(){return this.container.getElement("div.sm")},getThumbnails:function(){return this.getSlider().getElements("img")},getThumbnailLinks:function(){return this.getSlider().getElements("a")},getSlider:function(){return this.getSliderMask().getElement("div.sldr")},getSlideLeft:function(){return this.container.getElement("a.sl")},getSlideRight:function(){return this.container.getElement("a.sr")}});