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