var Slimbox;(function(){var elementsStyle={},state=0,options,images,activeImage,prevImage,nextImage,top,fx,preload,preloadPrev=new Image(),preloadNext=new Image(),overlay,center,image,prevLink,nextLink,bottomContainer,bottom,caption,number;window.addEvent("domready",function(){$(document.body).adopt($$([overlay=new Element("div",{id:"lbOverlay"}).addEvent("click",close),center=new Element("div",{id:"lbCenter"}),bottomContainer=new Element("div",{id:"lbBottomContainer"})]).setStyle("display","none"));image=new Element("div",{id:"lbImage"}).injectInside(center).adopt(prevLink=new Element("a",{id:"lbPrevLink",href:"#"}).addEvent("click",previous),nextLink=new Element("a",{id:"lbNextLink",href:"#"}).addEvent("click",next));bottom=new Element("div",{id:"lbBottom"}).injectInside(bottomContainer).adopt(new Element("a",{id:"lbCloseLink",href:"#"}).addEvent("click",close),caption=new Element("div",{id:"lbCaption"}),number=new Element("div",{id:"lbNumber"}),new Element("div",{styles:{clear:"both"}}));fx={overlay:new Fx.Tween(overlay,{property:"opacity",duration:500}).set(0),image:new Fx.Tween(image,{property:"opacity",duration:500,onComplete:nextEffect}),bottom:new Fx.Tween(bottom,{property:"margin-top",duration:400})};});Slimbox={open:function(_images,startImage,_options){options=$extend({loop:true,overlayOpacity:0.6,resizeDuration:400,resizeTransition:false,initialWidth:250,initialHeight:250,animateCaption:true,showCounter:true,counterText:"Bild {x} von {y}"},_options||{});if(typeof _images=="string"){_images=[[_images,startImage]];startImage=0;}
images=_images;options.loop=options.loop&&(images.length>1);position();setup(true);top=window.getScrollTop()+(window.getHeight()/15);fx.resize=new Fx.Morph(center,$extend({duration:options.resizeDuration,onComplete:nextEffect},options.resizeTransition?{transition:options.resizeTransition}:{}));center.setStyles({top:top,width:options.initialWidth,height:options.initialHeight,marginLeft:-(options.initialWidth/2),display:""});fx.overlay.start(options.overlayOpacity);state=1;return changeImage(startImage);}};Element.implement({slimbox:function(_options,linkMapper){$$(this).slimbox(_options,linkMapper);return this;}});Elements.implement({slimbox:function(_options,linkMapper,linksFilter){linkMapper=linkMapper||function(el){return[el.href,el.title];};linksFilter=linksFilter||function(){return true;};var links=this;links.removeEvents("click").addEvent("click",function(){var filteredLinks=links.filter(linksFilter,this);return Slimbox.open(filteredLinks.map(linkMapper),filteredLinks.indexOf(this),_options);});return links;}});function position(){overlay.setStyles({top:window.getScrollTop(),height:window.getHeight()});}
function setup(open){["object",window.ie?"select":"embed"].forEach(function(tag){Array.forEach(document.getElementsByTagName(tag),function(el){if(open)elementsStyle[el]=el.style.visibility;el.style.visibility=open?"hidden":elementsStyle[el];});});overlay.style.display=open?"":"none";var fn=open?"addEvent":"removeEvent";window[fn]("scroll",position)[fn]("resize",position);document[fn]("keydown",keyDown);}
function keyDown(event){switch(event.code){case 27:case 88:case 67:close();break;case 37:case 80:previous();break;case 39:case 78:next();}
return false;}
function previous(){return changeImage(prevImage);}
function next(){return changeImage(nextImage);}
function changeImage(imageIndex){if((state==1)&&(imageIndex>=0)){state=2;activeImage=imageIndex;prevImage=((activeImage||!options.loop)?activeImage:images.length)-1;nextImage=activeImage+1;if(nextImage==images.length)nextImage=options.loop?0:-1;$$(prevLink,nextLink,image,bottomContainer).setStyle("display","none");fx.bottom.cancel().set(0);fx.image.set(0);center.className="lbLoading";preload=new Image();preload.onload=nextEffect;preload.src=images[imageIndex][0];}
return false;}
function nextEffect(){switch(state++){case 2:center.className="";image.setStyles({backgroundImage:"url("+images[activeImage][0]+")",display:""});$$(image,bottom).setStyle("width",preload.width);$$(image,prevLink,nextLink).setStyle("height",preload.height);caption.set('html',images[activeImage][1]||"");number.set('html',(options.showCounter&&(images.length>1))?options.counterText.replace(/{x}/,activeImage+1).replace(/{y}/,images.length):"");if(prevImage>=0)preloadPrev.src=images[prevImage][0];if(nextImage>=0)preloadNext.src=images[nextImage][0];if(center.clientHeight!=image.offsetHeight){fx.resize.start({height:image.offsetHeight});break;}
state++;case 3:if(center.clientWidth!=image.offsetWidth){fx.resize.start({width:image.offsetWidth,marginLeft:-image.offsetWidth/2});break;}
state++;case 4:bottomContainer.setStyles({top:top+center.clientHeight,marginLeft:center.style.marginLeft,visibility:"hidden",display:""});fx.image.start(1);break;case 5:if(prevImage>=0)prevLink.style.display="";if(nextImage>=0)nextLink.style.display="";if(options.animateCaption){fx.bottom.set(-bottom.offsetHeight).start(0);}
bottomContainer.style.visibility="";state=1;}}
function close(){if(state){state=0;preload.onload=$empty;for(var f in fx)fx[f].cancel();$$(center,bottomContainer).setStyle("display","none");fx.overlay.chain(setup).start(0);}
return false;}})();Slimbox.scanPage=function(){var links=$$("a").filter(function(el){return el.rel&&el.rel.test(/^lightbox/i);});$$(links).slimbox({},null,function(el){return(this==el)||((this.rel.length>8)&&(this.rel==el.rel));});};window.addEvent("domready",Slimbox.scanPage);