/*
	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(new Element("a",{id:"lbCloseLink",href:"#"}).addEvent("click",N),Y=new Element("div",{id:"lbCaption"}),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);

