/*
	Slimbox v2.02 - 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)
//jQuery(function($) {
//    $("a[rel^='lightbox']").slimbox({/* Put custom options here */}, null, function(el) {
//        return (this == el) || ((this.rel.length > 8) && (this.rel == el.rel));
//    });
//});

jQuery(function($) {
    $("a[rel^='lightbox']").slimbox({ /* Put custom options here */ }, function(el) {
        return [el.href, el.getAttribute("slimboxcaption")];
    }, function(el) {
        return (this == el) || ((this.rel.length > 8) && (this.rel == el.rel));
    });
});
