var applicationRoot="",overlayOpacity=0.8,animate=!0,resizeSpeed=7,borderSize=10,imageArray=[],activeImage;animate==!0?(overlayDuration=0.2,resizeSpeed>10&&(resizeSpeed=10),resizeSpeed<1&&(resizeSpeed=1),resizeDuration=(11-resizeSpeed)*0.15):resizeDuration=overlayDuration=0;
Object.extend(Element,{getWidth:function(a){a=$(a);return a.offsetWidth},setWidth:function(a,b){a=$(a);a.style.width=b+"px"},setHeight:function(a,b){a=$(a);a.style.height=b+"px"},setTop:function(a,b){a=$(a);a.style.top=b+"px"},setLeft:function(a,b){a=$(a);a.style.left=b+"px"},setSrc:function(a,b){a=$(a);a.src=b},setHref:function(a,b){a=$(a);a.href=b},setInnerHTML:function(a,b){a=$(a);a.innerHTML=b}});
Array.prototype.removeDuplicates=function(){for(i=0;i<this.length;i++)for(j=this.length-1;j>i;j--)this[i][0]==this[j][0]&&this.splice(j,1)};Array.prototype.empty=function(){for(i=0;i<=this.length;i++)this.lbshift()};var Lightbox=Class.create();
Lightbox.prototype={initialize:function(){this.updateImageList();var a=document.getElementsByTagName("body").item(0),b=document.createElement("div");b.setAttribute("id","overlay");b.style.display="none";b.onclick=function(){myLightbox.end()};a.appendChild(b);b=document.createElement("div");b.setAttribute("id","lightbox");b.style.display="none";b.onclick=function(a){if(!a)a=window.event;Event.element(a).id=="lightbox"&&myLightbox.end()};a.appendChild(b);var c=document.createElement("div");c.setAttribute("id",
"outerImageContainer");b.appendChild(c);animate?(Element.setWidth("outerImageContainer",250),Element.setHeight("outerImageContainer",250)):(Element.setWidth("outerImageContainer",1),Element.setHeight("outerImageContainer",1));a=document.createElement("div");a.setAttribute("id","imageContainer");c.appendChild(a);c=document.createElement("img");c.setAttribute("id","lightboxImage");a.appendChild(c);c=document.createElement("div");c.setAttribute("id","hoverNav");a.appendChild(c);var d=document.createElement("a");
d.setAttribute("id","prevLink");d.setAttribute("href","#");c.appendChild(d);d=document.createElement("a");d.setAttribute("id","nextLink");d.setAttribute("href","#");c.appendChild(d);c=document.createElement("div");c.setAttribute("id","loading");a.appendChild(c);a=document.createElement("a");a.setAttribute("id","loadingLink");a.setAttribute("href","#");a.onclick=function(){myLightbox.end();return!1};c.appendChild(a);a=document.createElement("div");a.setAttribute("id","imageDataContainer");b.appendChild(a);
b=document.createElement("div");b.setAttribute("id","imageData");a.appendChild(b);a=document.createElement("div");a.setAttribute("id","imageDetails");b.appendChild(a);c=document.createElement("span");c.setAttribute("id","caption");a.appendChild(c);c=document.createElement("span");c.setAttribute("id","numberDisplay");a.appendChild(c);a=document.createElement("div");a.setAttribute("id","bottomNav");b.appendChild(a);b=document.createElement("a");b.setAttribute("id","bottomNavClose");b.setAttribute("href",
"#");b.onclick=function(){myLightbox.end();return!1};a.appendChild(b)},updateImageList:function(){if(document.getElementsByTagName){for(var a=document.getElementsByTagName("a"),b=document.getElementsByTagName("area"),c=0;c<a.length;c++){var d=a[c],e=String(d.getAttribute("rel"));if(d.getAttribute("href")&&e.toLowerCase().match("lightbox"))d.onclick=function(){myLightbox.start(this);return!1}}for(c=0;c<b.length;c++)if(a=b[c],e=String(a.getAttribute("rel")),a.getAttribute("href")&&e.toLowerCase().match("lightbox"))a.onclick=
function(){myLightbox.start(this);return!1}}},start:function(a){hideSelectBoxes();hideFlash();var b=getPageSize();Element.setWidth("overlay",b[0]);Element.setHeight("overlay",b[1]);new Effect.Appear("overlay",{duration:overlayDuration,from:0,to:overlayOpacity});imageArray=[];imageNum=0;if(document.getElementsByTagName){var c=document.getElementsByTagName(a.tagName);if(a.getAttribute("rel")=="lightbox")imageArray.push([a.getAttribute("href"),a.getAttribute("title")]);else{for(var d=0;d<c.length;d++){var e=
c[d];e.getAttribute("href")&&e.getAttribute("rel")==a.getAttribute("rel")&&imageArray.push([e.getAttribute("href"),e.getAttribute("title")])}for(imageArray.removeDuplicates();imageArray[imageNum][0]!=a.getAttribute("href");)imageNum++}a=getPageScroll();c=a[0];Element.setTop("lightbox",a[1]+b[3]/10);Element.setLeft("lightbox",c);Element.show("lightbox");this.changeImage(imageNum)}},changeImage:function(a){activeImage=a;animate&&Element.show("loading");Element.hide("lightboxImage");Element.hide("hoverNav");
Element.hide("prevLink");Element.hide("nextLink");Element.hide("imageDataContainer");Element.hide("numberDisplay");imgPreloader=new Image;imgPreloader.onload=function(){Element.setSrc("lightboxImage",imageArray[activeImage][0]);myLightbox.resizeImageContainer(imgPreloader.width,imgPreloader.height);imgPreloader.onload=function(){}};imgPreloader.src=imageArray[activeImage][0]},resizeImageContainer:function(a,b){this.widthCurrent=Element.getWidth("outerImageContainer");this.heightCurrent=Element.getHeight("outerImageContainer");
var c=a+borderSize*2,d=b+borderSize*2;this.xScale=c/this.widthCurrent*100;this.yScale=d/this.heightCurrent*100;wDiff=this.widthCurrent-c;hDiff=this.heightCurrent-d;hDiff!=0&&new Effect.Scale("outerImageContainer",this.yScale,{scaleX:!1,duration:resizeDuration,queue:"front"});wDiff!=0&&new Effect.Scale("outerImageContainer",this.xScale,{scaleY:!1,delay:resizeDuration,duration:resizeDuration});hDiff==0&&wDiff==0&&(navigator.appVersion.indexOf("MSIE")!=-1?pause(250):pause(100));Element.setHeight("prevLink",
b);Element.setHeight("nextLink",b);Element.setWidth("imageDataContainer",c);this.showImage()},showImage:function(){Element.hide("loading");new Effect.Appear("lightboxImage",{duration:resizeDuration,queue:"end",afterFinish:function(){myLightbox.updateDetails()}});this.preloadNeighborImages()},updateDetails:function(){imageArray[activeImage][1]&&(Element.show("caption"),Element.setInnerHTML("caption",imageArray[activeImage][1]));imageArray.length>1&&(Element.show("numberDisplay"),Element.setInnerHTML("numberDisplay",
"Image "+eval(activeImage+1)+" of "+imageArray.length));new Effect.Parallel([new Effect.SlideDown("imageDataContainer",{sync:!0,duration:resizeDuration,from:0,to:1}),new Effect.Appear("imageDataContainer",{sync:!0,duration:resizeDuration})],{duration:resizeDuration,afterFinish:function(){var a=getPageSize();Element.setHeight("overlay",a[1]);myLightbox.updateNav()}})},updateNav:function(){Element.show("hoverNav");if(activeImage!=0)Element.show("prevLink"),document.getElementById("prevLink").onclick=
function(){myLightbox.changeImage(activeImage-1);return!1};if(activeImage!=imageArray.length-1)Element.show("nextLink"),document.getElementById("nextLink").onclick=function(){myLightbox.changeImage(activeImage+1);return!1};this.enableKeyboardNav()},enableKeyboardNav:function(){document.onkeydown=this.keyboardAction},disableKeyboardNav:function(){document.onkeydown=""},keyboardAction:function(a){a==null?(keycode=event.keyCode,escapeKey=27):(keycode=a.keyCode,escapeKey=a.DOM_VK_ESCAPE);key=String.fromCharCode(keycode).toLowerCase();
if(key=="x"||key=="o"||key=="c"||keycode==escapeKey)myLightbox.end();else if(key=="p"||keycode==37)activeImage!=0&&(myLightbox.disableKeyboardNav(),myLightbox.changeImage(activeImage-1));else if((key=="n"||keycode==39)&&activeImage!=imageArray.length-1)myLightbox.disableKeyboardNav(),myLightbox.changeImage(activeImage+1)},preloadNeighborImages:function(){if(imageArray.length-1>activeImage)preloadNextImage=new Image,preloadNextImage.src=imageArray[activeImage+1][0];if(activeImage>0)preloadPrevImage=
new Image,preloadPrevImage.src=imageArray[activeImage-1][0]},end:function(){this.disableKeyboardNav();Element.hide("lightbox");new Effect.Fade("overlay",{duration:overlayDuration});showSelectBoxes();showFlash()}};
function getPageScroll(){var a,b;if(self.pageYOffset)b=self.pageYOffset,a=self.pageXOffset;else if(document.documentElement&&document.documentElement.scrollTop)b=document.documentElement.scrollTop,a=document.documentElement.scrollLeft;else if(document.body)b=document.body.scrollTop,a=document.body.scrollLeft;return arrayPageScroll=[a,b]}
function getPageSize(){var a,b;window.innerHeight&&window.scrollMaxY?(a=window.innerWidth+window.scrollMaxX,b=window.innerHeight+window.scrollMaxY):document.body.scrollHeight>document.body.offsetHeight?(a=document.body.scrollWidth,b=document.body.scrollHeight):(a=document.body.offsetWidth,b=document.documentElement.scrollHeight);var c,d;if(self.innerHeight)c=document.documentElement.clientWidth?document.documentElement.clientWidth:self.innerWidth,d=self.innerHeight;else if(document.documentElement&&
document.documentElement.clientHeight)c=document.documentElement.clientWidth,d=document.documentElement.clientHeight;else if(document.body)c=document.body.clientWidth,d=document.body.clientHeight;pageHeight=b<d?d:b;pageWidth=a<c?a:c;return arrayPageSize=[pageWidth,pageHeight,c,d]}function getKey(a){keycode=a==null?event.keyCode:a.which;key=String.fromCharCode(keycode).toLowerCase()}function listenKey(){document.onkeypress=getKey}
function showSelectBoxes(){var a=document.getElementsByTagName("select");for(i=0;i!=a.length;i++)a[i].style.visibility="visible"}function hideSelectBoxes(){var a=document.getElementsByTagName("select");for(i=0;i!=a.length;i++)a[i].style.visibility="hidden"}function showFlash(){var a=document.getElementsByTagName("object");for(i=0;i<a.length;i++)a[i].style.visibility="visible";a=document.getElementsByTagName("embed");for(i=0;i<a.length;i++)a[i].style.visibility="visible"}
function hideFlash(){var a=document.getElementsByTagName("object");for(i=0;i<a.length;i++)a[i].style.visibility="hidden";a=document.getElementsByTagName("embed");for(i=0;i<a.length;i++)a[i].style.visibility="hidden"}function pause(a){var b=new Date;do var c=new Date;while(c-b<a)}function initLightbox(){myLightbox=new Lightbox}Event.observe(window,"load",initLightbox,!1);
