/*
	Slimbox v1.64 - The ultimate lightweight Lightbox clone
	(c) 2007-2008 Christophe Beyls <http://www.digitalia.be>
	MIT-style license.
*/
var Slimbox;(function(){
	var G=0,F,L,B,S,T,O,E,M,J=new Image(),K=new Image(),X,a,P,H,W,Z,I,Y,C;
	window.addEvent("domready",function(){
		$(document.body).adopt($$([
			X=new Element("div",{id:"lbOverlay"}).addEvent("click",N),a=new Element("div",{id:"lbCenter"}),Z=new Element("div",{id:"lbBottomContainer"})]).setStyle("display","none"));
			P=new Element("div",{id:"lbImage"}).injectInside(a).adopt(
				H=new Element("a",{id:"lbPrevLink",href:"#"}).addEvent("click",D),
				W=new Element("a",{id:"lbNextLink",href:"#"}).addEvent("click",R));
				I=new Element("div",{id:"lbBottom"}).injectInside(Z).adopt(
					Y=new Element("div",{id:"lbCaption"}),
					new Element("a",{id:"lbCloseLink",href:"#"}).addEvent("click",N),
					C=new Element("div",{id:"lbNumber"}),
					new Element("div",{styles:{clear:"both"}}
				)
			);
			E={
				overlay:new Fx.Tween(X,{property:"opacity",duration:500}).set(0),
				image:new Fx.Tween(P,{property:"opacity",duration:500,onComplete:A}),
				bottom:new Fx.Tween(I,{property:"margin-top",duration:400})}}
			);
	Slimbox={open:function(e,d,c){
		F=$extend({
			loop:false,
			overlayOpacity:0.8,
			resizeDuration:400,
			resizeTransition:false,
			initialWidth:250,
			initialHeight:250,
			animateCaption:true,
			showCounter:true,
			counterText:"Image {x} of {y}"},
			c||{});
			if(typeof e=="string"){e=[[e,d]];
			d=0}L=e;
			F.loop=F.loop&&(L.length>1);
			b();
			Q(true);
			O=window.getScrollTop()+(window.getHeight()/15);
			E.resize=new Fx.Morph(a,$extend({duration:F.resizeDuration,onComplete:A},F.resizeTransition?{transition:F.resizeTransition}:{}));
			a.setStyles({top:O,width:F.initialWidth,height:F.initialHeight,marginLeft:-(F.initialWidth/2),display:""});
			E.overlay.start(F.overlayOpacity);G=1;
			return U(d)}};Element.implement({slimbox:function(c,d){$$(this).slimbox(c,d);return this}});
			Elements.implement({slimbox:function(c,f,e){f=f||function(g){return[g.href,g.title]};
			e=e||function(){return true};
			var d=this;
			d.removeEvents("click").addEvent(
				"click",function(){
					var g=d.filter(e,this);
					return Slimbox.open(g.map(f),g.indexOf(this),c)});
					return d}
				}
			);
			function b(){
				X.setStyles({
					top:window.getScrollTop(),
					height:window.getHeight()
				})
			}
			function Q(c){
				["object",window.ie?"select":"embed"].forEach(function(e){
					Array.forEach(document.getElementsByTagName(e),
					function(f){
						if(c){f._slimbox=f.style.visibility}f.style.visibility=c?"hidden":f._slimbox
					})
				});
			X.style.display=c?"":"none";
			var d=c?"addEvent":"removeEvent";window[d]("scroll",b)[d]("resize",b);document[d]("keydown",V)}function V(c){switch(c.code){case 27:case 88:case 67:N();break;case 37:case 80:D();break;case 39:case 78:R()}return false}function D(){return U(S)}function R(){return U(T)}function U(c){if((G==1)&&(c>=0)){G=2;B=c;
			S=((B||!F.loop)?B:L.length)-1;T=B+1;
			if(T==L.length){T=F.loop?0:-1}$$(H,W,P,Z).setStyle("display","none");
			E.bottom.cancel().set(0);
			E.image.set(0);a.className="lbLoading";
			M=new Image();
			M.onload=A;M.src=L[c][0]}return false}function A(){switch(G++){
				case 2:a.className="";P.setStyles({backgroundImage:"url("+L[B][0]+")",display:""});$$(P,I).setStyle("width",M.width);$$(P,H,W).setStyle("height",M.height);Y.set("html",L[B][1]||"");C.set("html",(F.showCounter&&(L.length>1))?F.counterText.replace(/{x}/,B+1).replace(/{y}/,L.length):"");if(S>=0){J.src=L[S][0]}if(T>=0){K.src=L[T][0]}if(a.clientHeight!=P.offsetHeight){E.resize.start({height:P.offsetHeight});break}G++;
				case 3:if(a.clientWidth!=P.offsetWidth){E.resize.start({width:P.offsetWidth,marginLeft:-P.offsetWidth/2});
				break}G++;
				case 4:Z.setStyles({top:O+a.clientHeight,marginLeft:a.style.marginLeft,visibility:"hidden",display:""});
				E.image.start(1);
				break;
				case 5:if(S>=0){H.style.display=""}if(T>=0){W.style.display=""}if(F.animateCaption){E.bottom.set(-I.offsetHeight).start(0)}Z.style.visibility="";G=1}}function N(){if(G){G=0;M.onload=$empty;
				for(var c in E){E[c].cancel()}$$(a,Z).setStyle("display","none");
				E.overlay.chain(Q).start(0)}return false}
			})();

// AUTOLOAD CODE BLOCK (MAY BE CHANGED OR REMOVED)
Slimbox.scanPage = function() {
	var links = $$("a").filter(function(el) {
		return el.rel && el.rel.test(/^lightbox/i);
	});
	$$(links).slimbox({/* Put custom options here */}, null, function(el) {
		return (this == el) || ((this.rel.length > 8) && (this.rel == el.rel));
	});
};
window.addEvent("domready", Slimbox.scanPage);

