/*
	Slimbox v1.65 - 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:500})
			}
	});
	
	Slimbox={open:function(E,D,C){
		f=$extend({
			loop:false,
			overlayOpacity:0.7,
			resizeDuration:400,
			resizeTransition:true,
			initialWidth:250,
			initialHeight:250,
			animateCaption:true,
			showCounter:true,
			counterText:"Bild {x} von {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",Browser.Engine.trident?"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);

