/*
	Slimbox v1.68 - The ultimate lightweight Lightbox clone
	(c) 2007-2008 Christophe Beyls <http://www.digitalia.be>
	MIT-style license.
*/
var Slimbox=(
	function(){
		var E=window,n=Browser.Engine.trident4,t,g,F=-1,v,D,u,x,L,r,m={},
			s=new Image(),
			J=new Image(),H,a,h,p,I,e,G,c,z,K,w,i,d,B;
		E.addEvent("domready",function(){
			$(document.body).adopt($$(H=new Element("div",{
				id:"lbOverlay",events:{click:C}}),
					a=new Element("div",{id:"lbCenter"}),
					G=new Element("div",{id:"lbBottomContainer"})).setStyle("display","none"));
		h=new Element("div",{id:"lbImage"}).injectInside(a).adopt(p=new Element("div",{styles:{position:"relative"}}).adopt(I=new Element("a",{
			id:"lbPrevLink",href:"#",
			events:{click:A}}),
			e=new Element("a",{
				id:"lbNextLink",href:"#",events:{
				click:f}})));
		c=new Element("div",{id:"lbBottom"}).injectInside(G).adopt(new Element("a",
			{
			id:"lbCloseLink",href:"#",events:{click:C}}),
			z=new Element("div",{id:"lbCaption"}),
			K=new Element("div",{id:"lbNumber"}),
			new Element("div",{styles:{clear:"both"}}))});
		function y(){
			var M=E.getScroll(),N=E.getSize();$$(a,G).setStyle("left",M.x+(N.x/2));
		if(u){H.setStyles({left:M.x,top:M.y,width:N.x,height:N.y})
			}
		}
		function l(M){
			["object",n?"select":"embed"].forEach(function(O){
				Array.forEach(document.getElementsByTagName(O),function(P){
				if(M){
					P._slimbox=P.style.visibility}
					P.style.visibility=M?"hidden":P._slimbox
					})
					});
		H.style.display=M?"":"none";var N=M?"addEvent":"removeEvent";
		E[N]("scroll",y)[N]("resize",y);
		document[N]("keydown",o)}
		function o(N){
			var M=N.code;
			return t.closeKeys.contains(M)?C():t.nextKeys.contains(M)?f():t.previousKeys.contains(M)?A():false
			}
		function A(){
			return b(v)
				}
			function f(){
				return b(D)
					}
				function b(M){
					if(M>=0){
						F=M;v=(F||(t.loop?g.length:0))-1;
						D=((F+1)%g.length)||(t.loop?0:-1);q();
					a.className="lbLoading";
					m=new Image();m.onload=k;m.src=g[M][0]
						}
					return false
						}

function k(){
	a.className="";d.set(0);
	h.setStyles({
		backgroundImage:"url("+m.src+")",display:""});
	p.setStyle("width",m.width);
	$$(p,I,e).setStyle("height",m.height);z.set("html",g[F][1]||"");
	K.set("html",(((g.length>1)&&t.counterText)||"").replace(/{x}/,F+1).replace(/{y}/,g.length));
	if(v>=0){s.src=g[v][0]}
	if(D>=0){J.src=g[D][0]}L=h.offsetWidth;r=h.offsetHeight;
	var N=Math.max(0,x-(r/2)),M;
	if(a.offsetHeight!=r){i.start({
		height:r,top:N})
		}
	if(a.offsetWidth!=L){
		i.start({width:L,marginLeft:-L/2})}
	M=function(){
		G.setStyles({
			width:L,top:N+r,marginLeft:-L/2,visibility:"hidden",display:""});
	d.start(1)};
	if(i.check(M)){M()}
	}
	function j(){
		if(v>=0){I.style.display=""
		}
		if(D>=0){
			e.style.display=""}B.set(-c.offsetHeight).start(0);G.style.visibility=""}
	function q(){
		m.onload=$empty;m.src=s.src=J.src="";
	i.cancel();
	d.cancel();
	B.cancel();
	$$(I,e,h,G).setStyle("display","none")
		}
	function C(){
		if(F>=0){q();F=v=D=-1;a.style.display="none";w.cancel().chain(l).start(0)
		}
		return false
		}
		Element.implement({
			slimbox:function(M,N){$$(this).slimbox(M,N);
		return this}});
		Elements.implement({
			slimbox:function(M,P,O){P=P||function(Q){
			return[Q.href,Q.title]};O=O||function(){
				return true};
		var N=this;
		N.removeEvents("click").addEvent("click",function(){
			var Q=N.filter(O,this);
		return Slimbox.open(Q.map(P),Q.indexOf(this),M)});
		return N}});
		return{
			open:function(O,N,M){
				t=$extend({loop:false,overlayOpacity:0.8,
					overlayFadeDuration:400,resizeDuration:400,
					resizeTransition:false,
					initialWidth:250,initialHeight:250,
					imageFadeDuration:400,
					captionAnimationDuration:400,
					counterText:"Immagine {x} of {y}",
					closeKeys:[27,88,67],
					previousKeys:[37,80],
					nextKeys:[39,78]},M||{});
		w=new Fx.Tween(H,{property:"opacity",
			duration:t.overlayFadeDuration});
		i=new Fx.Morph(a,$extend({
			duration:t.resizeDuration,
			link:"chain"},
			t.resizeTransition?{
			transition:t.resizeTransition}:{}));
		d=new Fx.Tween(h,{
			property:"opacity",duration:t.imageFadeDuration,
				onComplete:j});
		B=new Fx.Tween(c,{property:"margin-top",
			duration:t.captionAnimationDuration});
		if(typeof O=="string"){O=[[O,N]];N=0}x=E.getScrollTop()+(E.getHeight()/2);
		L=t.initialWidth;
		r=t.initialHeight;
		a.setStyles({
			top:Math.max(0,x-(r/2)),
				width:L,
				height:r,
			marginLeft:-L/2,
				display:""});
		u=n||(H.currentStyle&&(H.currentStyle.position!="fixed"));
		if(u){H.style.position="absolute"}w.set(0).start(t.overlayOpacity);y();l(1);g=O;t.loop=t.loop&&(g.length>1);
		return b(N)}}})();

// AUTOLOAD CODE BLOCK (MAY BE CHANGED OR REMOVED)
Slimbox.scanPage = function() {
	$$(document.links).filter(function(el) {
		return el.rel && el.rel.test(/^lightbox/i);
	}).slimbox({/* Put custom options here */}, null, function(el) {
		return (this == el) || ((this.rel.length > 8) && (this.rel == el.rel));
	});
};
window.addEvent("domready", Slimbox.scanPage);