/*
	Slimbox v1.71 - The ultimate lightweight Lightbox clone
	(c) 2007-2009 Christophe Beyls <http://www.digitalia.be>
	MIT-style license.
*/
var Slimbox=(function(){
var F=window,n=Browser.Engine.trident4,u,g,G=-1,o,w,E,v,y,M,s,m={},t=new Image(),K=new Image(),I,c2,a,h,q,J,e,H,c,A,x,i,d,C,round1,round2,round3,top_round,bottom_round,round4,round5,round6;
F.addEvent("domready",function(){$(document.body).adopt($$(
I=new Element("div",{id:"lbOverlay",events:{click:D}}),
a=new Element("div",{id:"lbCenter"}),
H=new Element("div",{id:"lbBottomContainer"})).setStyle("display","none"));
//-------------------------------------------------------------------------------------------------------------------------------------------
	top_round=new Element("div",{id:"top_round"}).injectInside(a).adopt(
		round1=new Element("div",{id:"div_round1"}),
		round2=new Element("div",{id:"div_round2"}),
		round3=new Element("div",{id:"div_round3"})
	);
//-------------------------------------------------------------------------------------------------------------------------------------------

	h=new Element("div",{id:"lbImage"}).injectInside(a).adopt(
		q=new Element("div",{styles:{position:"relative"}}).adopt(
			J=new Element("a",{id:"lbPrevLink",href:"#",events:{click:B}}),
			e=new Element("a",{id:"lbNextLink",href:"#",events:{click:f}})
		)
	);

	c2=new Element("div",{id:"lbBottomContainer2"}).injectInside(H).adopt(
		c=new Element("div",{id:"lbBottom"}).injectInside(H).adopt(
			new Element("a",{id:"lbCloseLink",href:"#",events:{click:D}}),
			A=new Element("div",{id:"lbCaption"}),
			//L=new Element("div",{id:"lbNumber"}),
			new Element("div",{styles:{clear:"both"}})
		)
	);
	
//-------------------------------------------------------------------------------------------------------------------------------------------
	bottom_round=new Element("div",{id:"bottom_round", styles:{display:"none"}}).injectInside(H).adopt(
		round4=new Element("div",{id:"div_round4"}),
		round5=new Element("div",{id:"div_round5"}),
		round6=new Element("div",{id:"div_round6"})
	);
//-------------------------------------------------------------------------------------------------------------------------------------------
});

function z(){
var N=F.getScroll(),O=F.getSize();
	$$(a,H).setStyle("left",N.x+(O.x/2));
	//$$(round1,round2,round3).setStyle("left",N.x+(O.x/2));

	if(v){
		I.setStyles({left:N.x,top:N.y,width:O.x,height:O.y})
	}
	
}

function l(N){
	["object",n?"select":"embed"].forEach(
		function(P){
			Array.forEach(document.getElementsByTagName(P),
				function(Q){
					if(N){
						Q._slimbox=Q.style.visibility
					}
					Q.style.visibility=N?"hidden":Q._slimbox
				}
			)
		}
	);
	I.style.display=N?"":"none";
	var O=N?"addEvent":"removeEvent";
	F[O]("scroll",z)[O]("resize",z);
	document[O]("keydown",p)
}

function p(O){
	var N=O.code;
	return u.closeKeys.contains(N)?D():u.nextKeys.contains(N)?f():u.previousKeys.contains(N)?B():false
}
function B(){
	bottom_round.setStyles({display:"none"});
	return b(w)
}
function f(){
	bottom_round.setStyles({display:"none"});
	return b(E)
}
function b(N){
	if(N>=0){
		G=N;o=g[N][0];
		w=(G||(u.loop?g.length:0))-1;
		E=((G+1)%g.length)||(u.loop?0:-1);
		r();
		a.className="lbLoading";
		m=new Image();
		m.onload=k;
		m.src=o
	}
	return false
}

function k(){
	a.className="";
	d.set(0);
	h.setStyles({backgroundImage:"url("+o+")",display:""});
//-------------------------------------------------------------------------------------------------------------------------------------------
	top_round.setStyles({top:-3, display:""});
	round1.setStyles({display:""});
	round2.setStyles({display:""});
	round3.setStyles({display:""});
	
	
	

//-------------------------------------------------------------------------------------------------------------------------------------------	

	q.setStyle("width",m.width);
	$$(q,J,e).setStyle("height",m.height);
	A.set("html",g[G][1]||"");

	//L.set("html",(((g.length>1)&&u.counterText)||"").replace(/{x}/,G+1).replace(/{y}/,g.length));

	if(w>=0){
		t.src=g[w][0]
	}
	if(E>=0){
		K.src=g[E][0]
	}
	M=h.offsetWidth;
	s=h.offsetHeight;
	var P=Math.max(0,y-(s/2)),N=0,O;
	if(a.offsetHeight!=s){
		N=i.start({height:s,top:P});
	}
	if(a.offsetWidth!=M){
		N=i.start({width:M,marginLeft:-M/2});
	}
	O=function(){
		H.setStyles({width:M,top:P+s,marginLeft:-M/2,visibility:"hidden",display:""});
		d.start(1);
	};
	if(N){
		i.chain(O)
	}else{
		O()
	}
}
function j(){
	if(w>=0){
		J.style.display=""
	}
	if(E>=0){
		e.style.display=""
	}
	
	
	C.set(-c.offsetHeight).start(0);
	H.style.visibility="";
//---------------------------------------------------------------------------------------------------------------------
	round4.style.visibility="";
	round5.style.visibility="";
	round6.style.visibility="";	
	bottom_round.style.visibility="";
	
	round4.setStyles({display:""});
	round5.setStyles({display:""});
	round6.setStyles({display:""});	
	bottom_round.setStyles({bottom:-3, display:""});
//---------------------------------------------------------------------------------------------------------------------
}
	function r(){
		m.onload=$empty;
		m.src=t.src=K.src=o;
		i.cancel();
		d.cancel();
		C.cancel();
		$$(J,e,h,H).setStyle("display","none");
		round4.setStyles({display:"none"});
		round5.setStyles({display:"none"});
		round6.setStyles({display:"none"});	
		bottom_round.setStyles({display:"none"});
	}
	function D(){
		if(G>=0){
			r();
			G=w=E=-1;
			a.style.display="none";
//-------------------------------------------------------------------------------------------------------------------------------------------
			top_round.style.display="none";
			round1.style.display="none";
			round2.style.display="none";
			round3.style.display="none";
			
			round4.style.display="none";
			round5.style.display="none";
			round6.style.display="none";
			bottom_round.style.display="none";
			
			
//-------------------------------------------------------------------------------------------------------------------------------------------
			x.cancel().chain(l).start(0)
		}
		return false
	}
	Element.implement({
		slimbox:function(N,O){$$(this).slimbox(N,O);
		return this}
	});

Elements.implement({
	slimbox:function(N,Q,P){
		Q=Q||function(R){return[R.href,R.title]};
		P=P||function(){return true};
		var O=this;O.removeEvents("click").addEvent("click",function(){var R=O.filter(P,this);
		return Slimbox.open(R.map(Q),R.indexOf(this),N)});
		return O
	}
});

return{
	open:function(P,O,N){
		u=$extend({loop:false,overlayOpacity:0.8,overlayFadeDuration:400,resizeDuration:400,resizeTransition:false,initialWidth:250,initialHeight:250,imageFadeDuration:400,captionAnimationDuration:400,counterText:"Image {x} of {y}",closeKeys:[27,88,67],previousKeys:[37,80],nextKeys:[39,78]},N||{});
		x=new Fx.Tween(I,{property:"opacity",duration:u.overlayFadeDuration});


		i=new Fx.Morph(a,$extend({duration:u.resizeDuration,link:"chain"},u.resizeTransition?{transition:u.resizeTransition}:{}));

		d=new Fx.Tween(h,{property:"opacity",duration:u.imageFadeDuration,onComplete:j});

		C=new Fx.Tween(c,{property:"margin-top",duration:u.captionAnimationDuration});

		if(typeof P=="string"){
			P=[[P,O]];
			O=0
		}
		y=F.getScrollTop()+(F.getHeight()/2);
		M=u.initialWidth;
		s=u.initialHeight;
		a.setStyles({top:Math.max(0,y-(s/2)),width:M,height:s,marginLeft:-M/2,display:""});

		v=n||(I.currentStyle&&(I.currentStyle.position!="fixed"));
		if(v){
			I.style.position="absolute"
		}
		x.set(0).start(u.overlayOpacity);
		z();
		l(1);
		g=P;
		u.loop=u.loop&&(g.length>1);
		return b(O)
	}

}
})();

// AUTOLOAD CODE BLOCK (MAY BE CHANGED OR REMOVED)
Slimbox.scanPage = function() {
	$$("a").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));
	});
};
if (!/android|iphone|ipod|series60|symbian|windows ce|blackberry/i.test(navigator.userAgent)) {
	window.addEvent("domready", Slimbox.scanPage);
}