/*
	Slimbox v1.7 - The ultimate lightweight Lightbox clone
	(c) 2007-2009 Christophe Beyls <http://www.digitalia.be>
	MIT-style license.
*/
function basename(d,c){var a=d.replace(/^.*[\/\\]/g,"");if(typeof(c)=="string"&&a.substr(a.length-c.length)==c){a=a.substr(0,a.length-c.length)}return a}function urldecode(f){var d={},b=f.toString(),a="",e="";var c=function(i,h,j){var g=[];g=j.split(i);return g.join(h)};d["'"]="%27";d["("]="%28";d[")"]="%29";d["*"]="%2A";d["~"]="%7E";d["!"]="%21";d["%20"]="+";d["\u00DC"]="%DC";d["\u00FC"]="%FC";d["\u00C4"]="%D4";d["\u00E4"]="%E4";d["\u00D6"]="%D6";d["\u00F6"]="%F6";d["\u00DF"]="%DF";d["\u20AC"]="%80";d["\u0081"]="%81";d["\u201A"]="%82";d["\u0192"]="%83";d["\u201E"]="%84";d["\u2026"]="%85";d["\u2020"]="%86";d["\u2021"]="%87";d["\u02C6"]="%88";d["\u2030"]="%89";d["\u0160"]="%8A";d["\u2039"]="%8B";d["\u0152"]="%8C";d["\u008D"]="%8D";d["\u017D"]="%8E";d["\u008F"]="%8F";d["\u0090"]="%90";d["\u2018"]="%91";d["\u2019"]="%92";d["\u201C"]="%93";d["\u201D"]="%94";d["\u2022"]="%95";d["\u2013"]="%96";d["\u2014"]="%97";d["\u02DC"]="%98";d["\u2122"]="%99";d["\u0161"]="%9A";d["\u203A"]="%9B";d["\u0153"]="%9C";d["\u009D"]="%9D";d["\u017E"]="%9E";d["\u0178"]="%9F";for(a in d){e=d[a];b=c(e,a,b)}b=decodeURIComponent(b);return b}function parse_str(str,array){var glue1="=",glue2="&",array2=String(str).split(glue2),i,j,chr,tmp,key,value,bracket,keys,evalStr,fixStr=function(str){return urldecode(str).replace(/([\\"'])/g,"\\$1").replace(/\n/g,"\\n").replace(/\r/g,"\\r")};if(!array){array=window}for(i=0;i<array2.length;i++){tmp=array2[i].split(glue1);if(tmp.length<2){tmp=[tmp,""]}key=fixStr(tmp[0]);value=fixStr(tmp[1]);while(key.charAt(0)===" "){key=key.substr(1)}if(key.indexOf("\0")!==-1){key=key.substr(0,key.indexOf("\0"))}if(key&&key.charAt(0)!=="["){keys=[];bracket=0;for(j=0;j<key.length;j++){if(key.charAt(j)==="["&&!bracket){bracket=j+1}else{if(key.charAt(j)==="]"){if(bracket){if(!keys.length){keys.push(key.substr(0,bracket-1))}keys.push(key.substr(bracket,j-bracket));bracket=0;if(key.charAt(j+1)!=="["){break}}}}}if(!keys.length){keys=[key]}for(j=0;j<keys[0].length;j++){chr=keys[0].charAt(j);if(chr===" "||chr==="."||chr==="["){keys[0]=keys[0].substr(0,j)+"_"+keys[0].substr(j+1)}if(chr==="["){break}}evalStr="array";for(j=0;j<keys.length;j++){key=keys[j];if((key!==""&&key!==" ")||j===0){key="'"+key+"'"}else{key=eval(evalStr+".push([]);")-1}evalStr+="["+key+"]";if(j!==keys.length-1&&eval("typeof "+evalStr)==="undefined"){eval(evalStr+" = [];")}}evalStr+=" = '"+value+"';\n";eval(evalStr)}}}function substr(a,c,b){a+="";if(c<0){c+=a.length}if(b==undefined){b=a.length}else{if(b<0){b+=a.length}else{b+=c}}if(b<c){b=c}return a.substring(c,b)}var Slimbox=(function(){var G=window,n=Browser.Engine.trident4,u,g,H=-1,o,x,F,w,z,N,s,v=0,m={},t=new Image(),L=new Image(),J,b,h,q,K,e,I,c,B,M,y,i,d,D;G.addEvent("domready",function(){$(document.body).adopt($$(J=new Element("div",{id:"lbOverlay",events:{click:E}}),b=new Element("div",{id:"lbCenter"}),I=new Element("div",{id:"lbBottomContainer"})).setStyle("display","none"));h=new Element("div",{id:"lbImage"}).injectInside(b).adopt(q=new Element("div",{styles:{position:"relative"}}).adopt(K=new Element("a",{id:"lbPrevLink",href:"#",events:{click:C}}),e=new Element("a",{id:"lbNextLink",href:"#",events:{click:f}})));c=new Element("div",{id:"lbBottom"}).injectInside(I).adopt(new Element("a",{id:"lbCloseLink",href:"#",events:{click:E}}),B=new Element("div",{id:"lbCaption"}),M=new Element("div",{id:"lbNumber"}),new Element("div",{styles:{clear:"both"}}))});function A(){var O=G.getScroll(),P=G.getSize();$$(b,I).setStyle("left",O.x+(P.x/2));if(w){J.setStyles({left:O.x,top:O.y,width:P.x,height:P.y})}}function l(O){["object",n?"select":"embed"].forEach(function(Q){Array.forEach(document.getElementsByTagName(Q),function(R){if(O){R._slimbox=R.style.visibility}R.style.visibility=O?"hidden":R._slimbox})});J.style.display=O?"":"none";var P=O?"addEvent":"removeEvent";G[P]("scroll",A)[P]("resize",A);document[P]("keydown",p)}function p(P){var O=P.code;return u.closeKeys.contains(O)?E():u.nextKeys.contains(O)?f():u.previousKeys.contains(O)?C():false}function C(){v=1;return a(x)}function f(){v=1;return a(F)}function a(O){if(O>=0){H=O;o=g[O][0];x=(H||(u.loop?g.length:0))-1;F=((H+1)%g.length)||(u.loop?0:-1);r();b.className="lbLoading";m=new Image();m.onload=k;m.src=o}return false}function k(){b.className="";d.set(0);h.setStyles({backgroundImage:"url("+o+")",display:""});q.setStyle("width",m.width);$$(q,K,e).setStyle("height",m.height);B.set("html",g[H][1]||"");M.set("html",(((g.length>1)&&u.counterText)||"").replace(/{x}/,H+1).replace(/{y}/,g.length));if(x>=0){t.src=g[x][0]}if(F>=0){L.src=g[F][0]}N=h.offsetWidth;s=h.offsetHeight;var Q=Math.max(0,z-(s/2)),O=0,P;if(b.offsetHeight!=s){O=i.start({height:s,top:Q})}if(b.offsetWidth!=N){O=i.start({width:N,marginLeft:-N/2})}P=function(){I.setStyles({width:N,top:Q+s,marginLeft:-N/2,visibility:"hidden",display:""});d.start(1)};if(O){i.chain(P)}else{P()}}function j(){if(x>=0){K.style.display=""}if(F>=0){e.style.display=""}D.set(-c.offsetHeight).start(0);I.style.visibility=""}function r(){m.onload=$empty;m.src=t.src=L.src=o;i.cancel();d.cancel();D.cancel();$$(K,e,h,I).setStyle("display","none")}function E(){if(H>=0){r();H=x=F=-1;b.style.display="none";y.cancel().chain(l).start(0)}if(u.changeLocation&&v==1){var O={};parse_str(substr(this.search,1),O);document.location=u.link_url+u.name_galid+"="+O[u.name_galid]+"&"+u.name_picfilename+"="+basename(o)}return false}Element.implement({slimbox:function(O,P){$$(this).slimbox(O,P);return this}});Elements.implement({slimbox:function(O,R,Q){R=R||function(S){return[S.href,S.title]};Q=Q||function(){return true};var P=this;P.removeEvents("click").addEvent("click",function(){var S=P.filter(Q,this);return Slimbox.open(S.map(R),S.indexOf(this),O)});return P}});return{open:function(Q,P,O){u=$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],name_galid:"galid",name_picfilename:"picfilename",link_url:"",changeLocation:false},O||{});y=new Fx.Tween(J,{property:"opacity",duration:u.overlayFadeDuration});i=new Fx.Morph(b,$extend({duration:u.resizeDuration,link:"chain"},u.resizeTransition?{transition:u.resizeTransition}:{}));d=new Fx.Tween(h,{property:"opacity",duration:u.imageFadeDuration,onComplete:j});D=new Fx.Tween(c,{property:"margin-top",duration:u.captionAnimationDuration});if(typeof Q=="string"){Q=[[Q,P]];P=0}z=G.getScrollTop()+(G.getHeight()/2);N=u.initialWidth;s=u.initialHeight;b.setStyles({top:Math.max(0,z-(s/2)),width:N,height:s,marginLeft:-N/2,display:""});w=n||(J.currentStyle&&(J.currentStyle.position!="fixed"));if(w){J.style.position="absolute"}y.set(0).start(u.overlayOpacity);A();l(1);g=Q;u.loop=u.loop&&(g.length>1);return a(P)}}})();

