var fileLoadingImage="img/default/loading.gif",fileBottomNavCloseImage="img/default/closelabel.gif",overlayOpacity=0.8,animate=true,resizeSpeed=10,borderSize=10,imageArray=[],activeImage;if(animate==true){overlayDuration=0.2;if(resizeSpeed>10)resizeSpeed=10;if(resizeSpeed<1)resizeSpeed=1;resizeDuration=(11-resizeSpeed)*0.15}else 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.shift()};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(e){if(!e)e=window.event;Event.element(e).id=="lightbox"&&myLightbox.end()};a.appendChild(b);var c=document.createElement("div");c.setAttribute("id",
"outerImageContainer");b.appendChild(c);if(animate){Element.setWidth("outerImageContainer",250);Element.setHeight("outerImageContainer",250)}else{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 false};c.appendChild(a);c=document.createElement("img");c.setAttribute("src",fileLoadingImage);a.appendChild(c);
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 false};a.appendChild(b);a=document.createElement("img");a.setAttribute("src",fileBottomNavCloseImage);b.appendChild(a)},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 false}}for(c=0;c<b.length;c++){a=b[c];e=String(a.getAttribute("rel"));if(a.getAttribute("href")&&e.toLowerCase().match("lightbox"))a.onclick=function(){myLightbox.start(this);return false}}}},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(new Array(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(new Array(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");a=a+borderSize*2;var c=b+borderSize*2;this.xScale=a/this.widthCurrent*100;this.yScale=c/this.heightCurrent*100;wDiff=this.widthCurrent-a;hDiff=this.heightCurrent-c;hDiff!=0&&new Effect.Scale("outerImageContainer",this.yScale,{scaleX:false,duration:resizeDuration,queue:"front"});
wDiff!=0&&new Effect.Scale("outerImageContainer",this.xScale,{scaleY:false,delay:resizeDuration,duration:resizeDuration});if(hDiff==0&&wDiff==0)navigator.appVersion.indexOf("MSIE")!=-1?pause(250):pause(100);Element.setHeight("prevLink",b);Element.setHeight("nextLink",b);Element.setWidth("imageDataContainer",a);this.showImage()},showImage:function(){Element.hide("loading");new Effect.Appear("lightboxImage",{duration:resizeDuration,queue:"end",afterFinish:function(){myLightbox.updateDetails()}});this.preloadNeighborImages()},
updateDetails:function(){if(imageArray[activeImage][1]){Element.show("caption");Element.setInnerHTML("caption",imageArray[activeImage][1])}else Element.hide("caption");if(imageArray.length>1){Element.show("numberDisplay");Element.setInnerHTML("numberDisplay",eval(activeImage+1)+" "+getMessage("Of")+" "+imageArray.length)}new Effect.Parallel([new Effect.SlideDown("imageDataContainer",{sync:true,duration:resizeDuration,from:0,to:1}),new Effect.Appear("imageDataContainer",{sync:true,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 false}}if(activeImage!=imageArray.length-1){Element.show("nextLink");document.getElementById("nextLink").onclick=function(){myLightbox.changeImage(activeImage+1);return false}}this.enableKeyboardNav()},
enableKeyboardNav:function(){document.onkeydown=this.keyboardAction},disableKeyboardNav:function(){document.onkeydown=""},keyboardAction:function(a){if(a==null){keycode=event.keyCode;escapeKey=27}else{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){if(activeImage!=0){myLightbox.disableKeyboardNav();myLightbox.changeImage(activeImage-1)}}else if(key=="n"||keycode==
39)if(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=new Array(a,b)}
function getPageSize(){var a,b;if(window.innerHeight&&window.scrollMaxY){a=window.innerWidth+window.scrollMaxX;b=window.innerHeight+window.scrollMaxY}else if(document.body.scrollHeight>document.body.offsetHeight){a=document.body.scrollWidth;b=document.body.scrollHeight}else{a=document.body.offsetWidth;b=document.body.offsetHeight}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=new Array(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,false);

