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