/*
	Slimbox v2.03 - The ultimate lightweight Lightbox clone for jQuery
	(c) 2007-2009 Christophe Beyls <http://www.digitalia.be>
	MIT-style license.
*/
(
	function(w){
		var E=w(window),u,g,F=-1,o,x,D,v,y,L,s,n=!window.XMLHttpRequest,e=window.opera&&(document.compatMode=="CSS1Compat")&&(w.browser.version>=9.3),m=document.documentElement,l={},t=new Image(),J=new Image(),H,a,h,q,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"));h=w('<div id="lbImage" />').appendTo(a).append(q=w('<div style="position: relative;" />').append([I=w('<a id="lbPrevLink" href="#" />').click(B)[0],d=w('<a id="lbNextLink" href="#" />').click(f)[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?m.clientHeight:E.height())/2);
			L=u.initialWidth;
			s=u.initialHeight;
			w(a).css({top:Math.max(0,y-(s/2)),width:L,height:s,marginLeft:-L/2}).show();
			v=n||(H.currentStyle&&(H.currentStyle.position!="fixed"));
			if(v){
				H.style.position="absolute"
			}
			w(H).css("opacity",u.overlayOpacity).fadeIn(u.overlayFadeDuration);
			z();
			k(1);
			g=O;
			u.loop=u.loop&&(g.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?m.clientWidth: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 k(M){
			w("object").add(n?"select":"embed").each(function(O,P){
				if(M){
					w.data(P,"slimbox",P.style.visibility)
				}
				P.style.visibility=M?"hidden":w.data(P,"slimbox")
			});
			var N=M?"bind":"unbind";
			E[N]("scroll resize",z);
			w(document)[N]("keydown",p)
		}
		function p(O){
			var N=O.keyCode,M=w.inArray;
			return(M(N,u.closeKeys)>=0)?C():(M(N,u.nextKeys)>=0)?f():(M(N,u.previousKeys)>=0)?B():false
		}
		function B(){
			return b(x)
		}
		function f(){
			return b(D)
		}
		function b(M){
			if(M>=0){
				F=M;
				o=g[F][0];
				x=(F||(u.loop?g.length:0))-1;
				D=((F+1)%g.length)||(u.loop?0:-1);
				r();
				a.className="lbLoading";
				l=new Image();
				l.onload=j;
				l.src=o
			}
			return false
		}
		function j(){
			a.className="";
			w(h).css({backgroundImage:"url("+o+")",visibility:"hidden",display:""});
			w(q).width(l.width);
			w([q,I,d]).height(l.height);
			w(A).html(g[F][1]||"");
			w(K).html((((g.length>1)&&u.counterText)||"").replace(/{x}/,F+1).replace(/{y}/,g.length));
			if(x>=0){
				t.src=g[x][0]
			}
			if(D>=0){
				J.src=g[D][0]
			}
			L=h.offsetWidth;
			s=h.offsetHeight;
			var M=Math.max(0,y-(s/2));
			if(a.offsetHeight!=s){
				w(a).animate({height:s,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+s,marginLeft:-L/2,visibility:"hidden",display:""});
				w(h).css({display:"none",visibility:"",opacity:""}).fadeIn(u.imageFadeDuration,i)
			})
		}
		function i(){
			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 r(){
			l.onload=null;
			l.src=t.src=J.src=o;
			w([a,h,c]).stop(true);
			w([I,d,h,G]).hide()
		}
		function C(){
			if(F>=0){
				r();
				F=x=D=-1;
				w(a).hide();
				w(H).stop().fadeOut(u.overlayFadeDuration,k)
			}
			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));
		});
	});
}