/*
	Original Code:
	Slimbox v1.64 - The ultimate lightweight Lightbox clone
	(c) 2007-2008 Christophe Beyls <http://www.digitalia.be>
	MIT-style license.
	
	Slimbox Plus v1.00 
	Modified by OrangeBread (http://www.lifewithpixel.com)
	License is the same as the original Slimbox v1.64
	29th Sept, 2008
	1) Added IFrame support to Slimbox v1.64.	
	
*/
var Slimbox;(function(){var state=0,options,images,activeImage,prevImage,nextImage,top,fx,preload,preloadPrev=new Image(),preloadNext=new Image(),overlay,center,image,iframe,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));iframe=new Element("iframe",{id:"lbImage"}).addEvent("load",nextEffect).injectInside(image);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:false,overlayOpacity:0.8,resizeDuration:400,resizeTransition:false,initialWidth:250,initialHeight:250,animateCaption:true,showCounter:true,counterText:"Item {x} of {y}",defaultIframeWidth:650,defaultIframeHeight:550},_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){el._slimbox=el.style.visibility;}el.style.visibility=open?"hidden":el._slimbox;});});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,iframe,bottomContainer).setStyle("display","none");fx.bottom.cancel().set(0);fx.image.set(0);center.className="lbLoading";var url=images[activeImage][0];var re_imageURL=/\.(jpe?g|png|gif|bmp)/i;if(url.match(re_imageURL)){preload=new Image();preload.datatype="image";preload.onload=nextEffect;preload.src=url;}else{preload=new Object();preload.datatype="iframe";preload.w=options.defaultIframeWidth;preload.h=options.defaultIframeHeight;iframe.setProperties({id:"lbFrame_"+new Date().getTime(),width:preload.w,height:preload.h,scrolling:"yes",frameBorder:0,src:url});}}return false;}function nextEffect(){switch(state++){case 2:center.className="";if(preload.datatype=="image"){image.setStyles({backgroundImage:"url("+preload.src+")",display:""});$$(image,bottom).setStyle("width",preload.width);$$(image,prevLink,nextLink).setStyle("height",preload.height);$$(prevLink,nextLink).setStyle("width","50%");}else{image.setStyles({backgroundImage:"",display:""});$$(image,bottom).setStyle("width",preload.w);$$(image).setStyle("height",preload.h);$$(prevLink,nextLink).setStyle("height","35px");$$(prevLink,nextLink).setStyle("width","65px");iframe.setStyles({display:""});}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);