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

Slimbox.scanPage=function(){var b=$$("a").filter(function(a){return a.rel&&a.rel.test(/^lightbox/i)});$$(b).slimbox({},null,function(a){return(this==a)||((this.rel.length>8)&&(this.rel==a.rel))})};window.addEvent("domready",Slimbox.scanPage);