var Slimbox;
(function(){
var _1=window,_2=0,_3,_4,_5,_6,_7,_8,_9,_a,_b,_c=keyDown.bindWithEvent(),_d,_e=new Image(),_f=new Image(),_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_1a,_1b,_1c;
_1.addEvent("domready",function(){
$(document.body).adopt($$(_10=new Element("div",{id:"lbOverlay"}),_11=new Element("div",{id:"lbCenter"}),_15=new Element("div",{id:"lbBottomContainer"})).setStyle("display","none"));
_12=new Element("div",{id:"lbImage"}).injectInside(_11).adopt(_13=new Element("a",{id:"lbPrevLink",href:"#"}),_14=new Element("a",{id:"lbNextLink",href:"#"}));
_13.onclick=previous;
_14.onclick=next;
var _1d;
_16=new Element("div",{id:"lbBottom"}).injectInside(_15).adopt(_1d=new Element("a",{id:"lbCloseLink",href:"#"}),_17=new Element("div",{id:"lbCaption"}),_18=new Element("div",{id:"lbNumber"}),new Element("div",{styles:{clear:"both"}}));
_1d.onclick=_10.onclick=close;
});
Slimbox={open:function(_1e,_1f,_20){
_3=$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]},_20||{});
_19=_10.effect("opacity",{duration:_3.overlayFadeDuration});
_1a=_11.effects($extend({duration:_3.resizeDuration},_3.resizeTransition?{transition:_3.resizeTransition}:{}));
_1b=_12.effect("opacity",{duration:_3.imageFadeDuration,onComplete:animateCaption});
_1c=_16.effect("margin-top",{duration:_3.captionAnimationDuration});
if(typeof _1e=="string"){
_1e=[[_1e,_1f]];
_1f=0;
}
_9=_1.getScrollTop()+(_1.getHeight()/2);
_a=_3.initialWidth;
_b=_3.initialHeight;
_11.setStyles({top:Math.max(0,_9-(_b/2)),width:_a,height:_b,marginLeft:-_a/2,display:""});
_8=_1.ie6||(_10.currentStyle&&(_10.currentStyle.position!="fixed"));
if(_8){
_10.style.position="absolute";
}
_19.set(0).start(_3.overlayOpacity);
position();
setup(true);
_2=1;
_4=_1e;
_3.loop=_3.loop&&(_4.length>1);
return changeImage(_1f);
}};
Element.extend({slimbox:function(_21,_22){
$$(this).slimbox(_21,_22);
return this;
}});
Elements.extend({slimbox:function(_23,_24,_25){
_24=_24||function(el){
return [el.href,el.title];
};
_25=_25||function(){
return true;
};
var _27=this;
_27.forEach(function(_28){
_28.removeEvents("click").addEvent("click",function(_29){
var _2a=_27.filter(_25,this);
Slimbox.open(_2a.map(_24),_2a.indexOf(this),_23);
_29.stop();
}.bindWithEvent(_28));
});
return _27;
}});
function position(){
var l=_1.getScrollLeft(),w=_1.getWidth();
$$(_11,_15).setStyle("left",l+(w/2));
if(_8){
_10.setStyles({left:l,top:_1.getScrollTop(),width:w,height:_1.getHeight()});
}
};
function setup(_2d){
["object",_1.ie?"select":"embed"].forEach(function(tag){
$each(document.getElementsByTagName(tag),function(el){
if(_2d){
el._slimbox=el.style.visibility;
}
el.style.visibility=_2d?"hidden":el._slimbox;
});
});
_10.style.display=_2d?"":"none";
var fn=_2d?"addEvent":"removeEvent";
_1[fn]("scroll",position)[fn]("resize",position);
document[fn]("keydown",_c);
};
function keyDown(_31){
var _32=_31.code;
if(_3.closeKeys.contains(_32)){
close();
}else{
if(_3.nextKeys.contains(_32)){
next();
}else{
if(_3.previousKeys.contains(_32)){
previous();
}
}
}
_31.stop();
};
function previous(){
return changeImage(_6);
};
function next(){
return changeImage(_7);
};
function changeImage(_33){
if((_2==1)&&(_33>=0)){
_2=2;
_5=_33;
_6=(_5||(_3.loop?_4.length:0))-1;
_7=((_5+1)%_4.length)||(_3.loop?0:-1);
_1c.stop();
$$(_13,_14,_12,_15).setStyle("display","none");
_11.className="lbLoading";
_d=new Image();
_d.onload=animateBox;
_d.src=_4[_33][0];
}
return false;
};
function animateBox(){
_11.className="";
_1b.set(0);
_12.setStyles({width:_d.width,backgroundImage:"url("+_4[_5][0]+")",display:""});
$$(_12,_13,_14).setStyle("height",_d.height);
_17.setHTML(_4[_5][1]||"");
_18.setHTML((((_4.length>1)&&_3.counterText)||"").replace(/{x}/,_5+1).replace(/{y}/,_4.length));
if(_6>=0){
_e.src=_4[_6][0];
}
if(_7>=0){
_f.src=_4[_7][0];
}
_a=_12.offsetWidth;
_b=_12.offsetHeight;
var top=Math.max(0,_9-(_b/2));
if(_11.clientHeight!=_b){
_1a.chain(_1a.start.pass({height:_b,top:top},_1a));
}
if(_11.clientWidth!=_a){
_1a.chain(_1a.start.pass({width:_a,marginLeft:-_a/2},_1a));
}
_1a.chain(function(){
_15.setStyles({width:_a,top:top+_b,marginLeft:-_a/2,visibility:"hidden",display:""});
_1b.start(1);
});
_1a.callChain();
};
function animateCaption(){
if(_6>=0){
_13.style.display="";
}
if(_7>=0){
_14.style.display="";
}
_1c.set(-_16.offsetHeight).start(0);
_15.style.visibility="";
_2=1;
};
function close(){
if(_2){
_2=0;
_d.onload=Class.empty;
_1a.clearChain();
[_19,_1a,_1b,_1c].forEach(function(fx){
fx.stop();
});
$$(_11,_15).setStyle("display","none");
_19.chain(setup).start(0);
}
return false;
};
})();

