/*
	Slimbox v2.04 - The ultimate lightweight Lightbox clone for jQuery
	(c) 2007-2010 Christophe Beyls <http://www.digitalia.be>
	MIT-style license.
*/
(function(w){
var E=w(window),u,f,F=-1,n,x,D,v,y,L,r,m=!window.XMLHttpRequest,s=[],l=document.documentElement,k={},t=new Image(),J=new Image(),H,a,g,p,I,d,G,c,A,K;

w(function(){
	w("body").append(w([H=w('<div id="lbOverlay" />')[0],a=w('<div id="lbCenter" />')[0],G=w('<div id="lbBottomContainer" />')[0]]).css("display","none"));
	g=w('<div id="lbImage" />').appendTo(a).append(p=w('<div style="position: relative;" />').append([I=w('<a id="lbPrevLink" href="#" />').click(B)[0],d=w('<a id="lbNextLink" href="#" />').click(e)[0]])[0])[0];
	c=w('<div id="lbBottom" />').appendTo(G).append([w('<a id="lbCloseLink" href="#" />').add(H).click(C)[0],A=w('<div id="lbCaption" />')[0],K=w('<div id="lbNumber" />')[0],w('<div style="clear: both;" />')[0]])[0]});
	w.slimbox=function(O,N,M){
		u=w.extend({loop:false,overlayOpacity:0.8,overlayFadeDuration:400,resizeDuration:400,resizeEasing:"swing",initialWidth:250,initialHeight:250,imageFadeDuration:400,captionAnimationDuration:400,counterText:"Image {x} of {y}",closeKeys:[27,88,67],previousKeys:[37,80],nextKeys:[39,78]},M);
		if(typeof O=="string"){
			O=[[O,N]];
			N=0
		}
		y=E.scrollTop()+(E.height()/2);
		L=u.initialWidth;
		r=u.initialHeight;
		w(a).css({
		top:Math.max(0,y-(r/2)),width:L,height:r,marginLeft:-L/2
	}).show();
	v=m||(H.currentStyle&&(H.currentStyle.position!="fixed"));
	if(v){
		H.style.position="absolute"
	}
	w(H).css("opacity",u.overlayOpacity).fadeIn(u.overlayFadeDuration);
	z();
	j(1);
	f=O;
	u.loop=u.loop&&(f.length>1);
	return b(N)
};

w.fn.slimbox=function(M,P,O){P=P||function(Q){return[Q.href,Q.title]};O=O||function(){return true};

var N=this;

return N.unbind("click").click(function(){
	var S=this,U=0,T,Q=0,R;
	T=w.grep(N,function(W,V){
		return O.call(S,W,V)
	});
	for(R=T.length;Q<R;++Q)	{
		if(T[Q]==S){
			U=Q
		}
		T[Q]=P(T[Q],Q)
	}
	return w.slimbox(T,U,M)
	}
)};

function z(){
	var N=E.scrollLeft(),M=E.width();
	w([a,G]).css("left",N+(M/2));
	if(v){
		w(H).css({left:N,top:E.scrollTop(),width:M,height:E.height()})
	}
}

function j(M){
	if(M){
		w("object").add(m?"select":"embed").each(function(O,P){
			s[O]=[P,P.style.visibility];
			P.style.visibility="hidden"
		})
	} else{	
		w.each(s,function(O,P){
			P[0].style.visibility=P[1]
		});
	s=[]
	}
	var N=M?"bind":"unbind";
	E[N]("scroll resize",z);
	w(document)[N]("keydown",o)
}

function o(O){
var N=O.keyCode,M=w.inArray;
return(M(N,u.closeKeys)>=0)?C():(M(N,u.nextKeys)>=0)?e():(M(N,u.previousKeys)>=0)?B():false
}

function B(){
return b(x)
}

function e(){
return b(D)
}

function b(M){
if(M>=0){
F=M;
n=f[F][0];
x=(F||(u.loop?f.length:0))-1;
D=((F+1)%f.length)||(u.loop?0:-1);
q();
a.className="lbLoading";
k=new Image();
k.onload=i;
k.src=n
/*** GOOGLE ANALYTICS ***/
var newurl = n.replace('http://','/download/');
pageTracker._trackPageview(newurl);
}
return false
}

																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																function i(){
	a.className="";
	w(g).css({backgroundImage:"url("+n+")",visibility:"hidden",display:""});
	
	w(p).width(k.width);
	w([p,I,d]).height(k.height);
	w(A).html(f[F][1]||"");
	w(K).html((((f.length>1)&&u.counterText)||"").replace(/{x}/,F+1).replace(/{y}/,f.length));
	if(x>=0){
		t.src=f[x][0]
	}
	if(D>=0){
		J.src=f[D][0]
	}
	L=g.offsetWidth;
	r=g.offsetHeight;
	var M=Math.max(0,y-(r/2));
	if(a.offsetHeight!=r){
		w(a).animate({height:r,top:M},u.resizeDuration,u.resizeEasing)
	}
	if(a.offsetWidth!=L){
		w(a).animate({width:L,marginLeft:-L/2},u.resizeDuration,u.resizeEasing)
	}
	w(a).queue(function(){
		w(G).css({width:L,top:M+r,marginLeft:-L/2,visibility:"hidden",display:""});
		w(g).css({display:"none",visibility:"",opacity:""}).fadeIn(u.imageFadeDuration,h)
	})
}

function h(){
if(x>=0){
w(I).show()
}
if(D>=0){
w(d).show()
}
w(c).css("marginTop",-c.offsetHeight).animate({
marginTop:0
}
,u.captionAnimationDuration);
G.style.visibility=""
}
function q(){
k.onload=null;
k.src=t.src=J.src=n;
w([a,g,c]).stop(true);
w([I,d,g,G]).hide()
}
function C(){
if(F>=0){
q();
F=x=D=-1;
w(a).hide();
w(H).stop().fadeOut(u.overlayFadeDuration,j)
}
return false
}

}
)(jQuery);


// AUTOLOAD CODE BLOCK (MAY BE CHANGED OR REMOVED)
if (!/android|iphone|ipod|series60|symbian|windows ce|blackberry/i.test(navigator.userAgent)) {
	jQuery(function($) {
		$("a[rel^='lightbox']").slimbox({
		/* Put custom options here */
		}, null, function(el) {return (this == el) || ((this.rel.length > 8) && (this.rel == el.rel));});});
}

