/*
	HL-Box (Highlight-Box) v0.6 (c) 2008 Riccardo Budini  -  <http://www.provisum-illumina.com>
	MIT-style license.
	Integrates Slimbox v1.51 by Christophe Beyls <http://www.digitalia.be>
	documentation: http://www.provisum-illumina.com/info/hl-box-plugin-and-javascript.html
*/

hlbox={init:function(b){this.anchors=[];$each(document.links,function(a){if(a.rel&&a.rel.test(/^hlbox/i)){a.onclick=this.click.pass(a,this);this.anchors.push(a)}},this);this.eventPosition=this.position.bind(this);this.overlay=new Element('div',{'id':'HL-Overlay'}).injectInside(document.body);this.center=new Element('div',{'id':'HL-C'}).injectInside(document.body);this.image=new Element('div',{'id':'HL-Image'}).injectInside(this.center);new Element('a',{'id':'HL-CloseImage','href':'#'}).injectInside(this.center).onclick=this.center.onclick=this.close.bind(this);this.st=new Element('div',{'id':'HL-B'}).injectInside(document.body);new Element('a',{'id':'HL-close','href':'#'}).injectInside(this.overlay).onclick=this.overlay.onclick=this.close.bind(this);effect=this.effect.bind(this);this.fx={overlay:this.overlay.effect('opacity',{duration:500}).hide(),center:this.center.effect('opacity',{duration:500}).hide(),st:this.st.effect('margin-top',{duration:500,onComplete:effect})};this.eventKeyDown=this.keyboardListener.bindAsEventListener(this)},keyboardListener:function(a){switch(a.keyCode){case 27:this.close();break}},click:function(b){image=[];this.anchors.each(function(a){if(a.rel==b.rel){for(jt=image;jt<image;)if(image[jt]==a.href)break;if(jt==image){image.push([a.href])}}},this);return this.open(image)},setup:function(a){var b=a?'addEvent':'removeEvent';window[b]('scroll',this.eventPosition)[b]('resize',this.eventPosition);document[b]('keydown',this.eventKeyDown)},open:function(a){this.setup(true);this.icon=a;this.position();this.top=window.getScrollTop()+(window.getHeight()/15);this.center.setStyles({top:this.top,display:''});this.fx.overlay.start(0.8);this.fx.center.start(1);this.preload=new Image();this.preload.onload=this.effect.bind(this);this.preload.src=this.icon[0];return false},position:function(){this.overlay.setStyles({'top':window.getScrollTop(),'height':window.getHeight()})},effect:function(a){this.image.style.backgroundImage='url('+this.icon[0]+')';this.image.style.width=this.st.style.width=this.preload.width+'px';this.image.style.height=this.preload.height+'px'},close:function(){this.fx.center.chain(this.setup.pass(false,this)).start(0);this.fx.overlay.chain(this.setup.pass(false,this)).start(0);return false}};window.addEvent('domready',hlbox.init.bind(hlbox));


/*
	Slimbox v1.5 - The ultimate lightweight Lightbox clone
	(c) 2007-2008 Christophe Beyls <http://www.digitalia.be>
	MIT-style license.
*/
var Slimbox;(function(){var G=0,F,L,B,O,Z,E,M,I=new Image(),K=new Image(),V,Y,P,H,U,X,J,W,C;window.addEvent("domready",function(){Z=T.bindWithEvent();$(document.body).adopt($$([V=new Element("div",{id:"lbOverlay"}),Y=new Element("div",{id:"lbCenter"}),X=new Element("div",{id:"lbBottomContainer"})]).setStyle("display","none"));P=new Element("div",{id:"lbImage"}).injectInside(Y).adopt(H=new Element("a",{id:"lbPrevLink",href:"#"}),U=new Element("a",{id:"lbNextLink",href:"#"}));H.onclick=D;U.onclick=R;var b;J=new Element("div",{id:"lbBottom"}).injectInside(X).adopt(b=new Element("a",{id:"lbCloseLink",href:"#"}),W=new Element("div",{id:"lbCaption"}),C=new Element("div",{id:"lbNumber"}),new Element("div",{styles:{clear:"both"}}));b.onclick=V.onclick=N;E={overlay:V.effect("opacity",{duration:500}).set(0),image:P.effect("opacity",{duration:500,onComplete:A}),bottom:J.effect("margin-top",{duration:400})}});Slimbox={open:function(d,c,b){F=$extend({overlayOpacity:0.8,resizeDuration:400,resizeTransition:false,initialWidth:250,initialHeight:250,animateCaption:true,showCounter:true,counterText:"Image {x} of {y}"},b||{});if(typeof d=="string"){d=[[d,c]];c=0}L=d;a();Q(true);O=window.getScrollTop()+(window.getHeight()/15);E.resize=Y.effects($extend({duration:F.resizeDuration,onComplete:A},F.resizeTransition?{transition:F.resizeTransition}:{}));Y.setStyles({top:O,width:F.initialWidth,height:F.initialHeight,marginLeft:-(F.initialWidth/2),display:""});E.overlay.start(F.overlayOpacity);return S(c)}};Element.extend({slimbox:function(b,c){$$(this).slimbox(b,c)}});Elements.extend({slimbox:function(b,e,d){e=e||function(f){return[f.href,f.title]};d=d||function(){return true};var c=this;c.forEach(function(f){f.onclick=function(){var g=c.filter(d,this);return Slimbox.open(g.map(e),g.indexOf(this),b)}})}});function a(){V.setStyles({top:window.getScrollTop(),height:window.getHeight()})}function Q(b){$$("object",window.ie?"select":"embed").forEach(function(d){if(b){d.slimbox=d.style.visibility}d.style.visibility=b?"hidden":d.slimbox});V.style.display=b?"":"none";var c=b?"addEvent":"removeEvent";window[c]("scroll",a)[c]("resize",a);document[c]("keydown",Z)}function T(b){switch(b.code){case 27:case 88:case 67:N();break;case 37:case 80:D();break;case 39:case 78:R()}b.preventDefault()}function D(){return S(B-1)}function R(){return S(B+1)}function S(b){if((G>1)||(b<0)||(b>=L.length)){return false}G=2;B=b;$$(H,U,P,X).setStyle("display","none");E.bottom.stop().set(0);E.image.set(0);Y.className="lbLoading";M=new Image();M.onload=A;M.src=L[b][0];return false}function A(){switch(G++){case 2:Y.className="";P.setStyles({backgroundImage:"url("+L[B][0]+")",display:""});$$(P,J).setStyle("width",M.width);$$(P,H,U).setStyle("height",M.height);W.setHTML(L[B][1]||"");C.setHTML((F.showCounter&&(L.length>1))?F.counterText.replace(/{x}/,B+1).replace(/{y}/,L.length):"");if(B){I.src=L[B-1][0]}if(B!=(L.length-1)){K.src=L[B+1][0]}if(Y.clientHeight!=P.offsetHeight){E.resize.start({height:P.offsetHeight});break}G++;case 3:if(Y.clientWidth!=P.offsetWidth){E.resize.start({width:P.offsetWidth,marginLeft:-P.offsetWidth/2});break}G++;case 4:X.setStyles({top:O+Y.clientHeight,height:0,marginLeft:Y.style.marginLeft,display:""});E.image.start(1);break;case 5:if(B){H.style.display=""}if(B<(L.length-1)){U.style.display=""}if(F.animateCaption){E.bottom.set(-J.offsetHeight).start(0)}X.style.height="";G=1}}function N(){if(!G){return false}G=0;M.onload=Class.empty;for(var b in E){E[b].stop()}$$(Y,X).setStyle("display","none");E.overlay.chain(Q).start(0);return false}})();

// AUTOLOAD CODE BLOCK (MAY BE CHANGED OR REMOVED)
Slimbox.scanPage = function() {
	var links = $$("a").filter(function(el) {
		return el.rel && el.rel.test(/^lightbox/i);
	});
	// PUT YOUR CUSTOM OPTIONS INSIDE THE FOLLOWING {}
	$$(links).slimbox({}, null, function(el) {
		return (this == el) || ((this.rel.length > 8) && (this.rel == el.rel));
	});
};
window.addEvent("domready", Slimbox.scanPage);
