﻿var fileLoadingImage="images/loading.gif",fileBottomNavCloseImage="images/closelabel.gif",fallbackOverlayImage="images/overlay.png",overlayOpacity=.8,animate=true,resizeSpeed=7,borderSize=10,elementArray=[],activeElement,userAgent=navigator.userAgent.toLowerCase();if(animate==true){overlayDuration=.2;if(resizeSpeed>10)resizeSpeed=10;if(resizeSpeed<1)resizeSpeed=1;resizeDuration=(11-resizeSpeed)*.15}else{overlayDuration=0;resizeDuration=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--)if(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.updateElementList();var u=document.getElementsByTagName("body").item(0),a=document.createElement("div");a.setAttribute("id","overlay");if(userAgent.indexOf("mac")!=-1&&userAgent.indexOf("firefox")!=-1||userAgent.indexOf("camino")!=-1){a.style.backgroundImage="url("+fallbackOverlayImage+")";a.style.backgroundRepeat="repeat"}else a.style.backgroundColor="#000000";a.style.display="none";a.onclick=function(){myLightbox.end()};u.appendChild(a);var b=document.createElement("div");b.setAttribute("id","lightbox");b.style.display="none";b.onclick=function(a){if(!a)var a=window.event;var b=Event.element(a).id;if(b=="lightbox")myLightbox.end()};u.appendChild(b);var j=document.createElement("div");j.setAttribute("id","outerImageContainer");b.appendChild(j);if(animate){Element.setWidth("outerImageContainer",250);Element.setHeight("outerImageContainer",250)}else{Element.setWidth("outerImageContainer",1);Element.setHeight("outerImageContainer",1)}var d=document.createElement("div");d.setAttribute("id","imageContainer");j.appendChild(d);var i=document.createElement("div");i.setAttribute("id","lightboxcontent");d.appendChild(i);var l=document.createElement("img");l.setAttribute("id","lightboximage");l.style.display="none";i.appendChild(l);objLightboxSwf=document.createElement("div");objLightboxSwf.setAttribute("id","lightboxswf");objLightboxSwf.style.position="relative";objLightboxSwf.style.zIndex=101;objLightboxSwf.style.display="none";i.appendChild(objLightboxSwf);var h=document.createElement("div");h.setAttribute("id","hoverNav");d.appendChild(h);var o=document.createElement("a");o.setAttribute("id","prevLink");o.setAttribute("href","#");h.appendChild(o);var n=document.createElement("a");n.setAttribute("id","nextLink");n.setAttribute("href","#");h.appendChild(n);var p=document.createElement("div");p.setAttribute("id","loading");d.appendChild(p);var e=document.createElement("a");e.setAttribute("id","loadingLink");e.setAttribute("href","#");e.onclick=function(){myLightbox.end();return false};p.appendChild(e);var s=document.createElement("img");s.setAttribute("src",fileLoadingImage);e.appendChild(s);var k=document.createElement("div");k.setAttribute("id","imageDataContainer");b.appendChild(k);var g=document.createElement("div");g.setAttribute("id","imageData");k.appendChild(g);var f=document.createElement("div");f.setAttribute("id","imageDetails");g.appendChild(f);var t=document.createElement("span");t.setAttribute("id","caption");f.appendChild(t);var r=document.createElement("span");r.setAttribute("id","numberDisplay");f.appendChild(r);var m=document.createElement("div");m.setAttribute("id","bottomNav");g.appendChild(m);var c=document.createElement("a");c.setAttribute("id","bottomNavClose");c.setAttribute("href","#");c.onclick=function(){myLightbox.end();return false};m.appendChild(c);var q=document.createElement("img");q.setAttribute("src",fileBottomNavCloseImage);c.appendChild(q)},updateElementList:function(){if(!document.getElementsByTagName)return;var e=document.getElementsByTagName("a"),f=document.getElementsByTagName("area");for(var a=0;a<e.length;a++){var b=e[a],d=String(b.getAttribute("rel"));if(b.getAttribute("href")&&d.toLowerCase().match("lightbox"))b.onclick=function(){myLightbox.start(this);return false}}for(var a=0;a<f.length;a++){var c=f[a],d=String(c.getAttribute("rel"));if(c.getAttribute("href")&&d.toLowerCase().match("lightbox"))c.onclick=function(){myLightbox.start(this);return false}}},start:function(a){hideSelectBoxes();hideFlash();var c=getPageSize();Element.setWidth("overlay",c[0]);Element.setHeight("overlay",c[1]);if(userAgent.indexOf("mac")!=-1&&userAgent.indexOf("firefox")!=-1||userAgent.indexOf("camino")!=-1)Element.show("overlay");else new Effect.Appear("overlay",{duration:overlayDuration,from:0,to:overlayOpacity});elementArray=[];elementNum=0;if(!document.getElementsByTagName)return;var f=document.getElementsByTagName(a.tagName);if(a.getAttribute("rel")=="lightbox")if(a.getAttribute("href").endsWith("swf"))elementArray.push([a.getAttribute("href"),a.getAttribute("title"),a.getAttribute("width"),a.getAttribute("height")]);else elementArray.push([a.getAttribute("href"),a.getAttribute("title")]);else{for(var d=0;d<f.length;d++){var b=f[d];if(b.getAttribute("href")&&b.getAttribute("rel")==a.getAttribute("rel"))if(b.getAttribute("href").endsWith("swf"))elementArray.push([b.getAttribute("href"),b.getAttribute("title"),b.getAttribute("width"),b.getAttribute("height")]);else elementArray.push([b.getAttribute("href"),b.getAttribute("title")])}elementArray.removeDuplicates();while(elementArray[elementNum][0]!=a.getAttribute("href"))elementNum++}var e=getPageScroll(),h=e[1]+c[3]/10,g=e[0];Element.setTop("lightbox",h);Element.setLeft("lightbox",g);Element.show("lightbox");this.changeElement(elementNum)},changeElement:function(a){activeElement=a;if(animate)Element.show("loading");Element.hide("lightboximage");Element.hide("lightboxswf");Element.hide("hoverNav");Element.hide("prevLink");Element.hide("nextLink");Element.hide("imageDataContainer");Element.hide("numberDisplay");if(elementArray[activeElement][0].endsWith("swf"))myLightbox.resizeElementContainer(parseInt(elementArray[activeElement][2]),parseInt(elementArray[activeElement][3]));else{imgPreloader=new Image;imgPreloader.onload=function(){Element.setSrc("lightboximage",elementArray[activeElement][0]);myLightbox.resizeElementContainer(imgPreloader.width,imgPreloader.height);imgPreloader.onload=function(){}};imgPreloader.src=elementArray[activeElement][0]}},resizeElementContainer:function(d,a){this.widthCurrent=Element.getWidth("outerImageContainer");this.heightCurrent=Element.getHeight("outerImageContainer");var b=d+borderSize*2,c=a+borderSize*2;this.xScale=b/this.widthCurrent*100;this.yScale=c/this.heightCurrent*100;wDiff=this.widthCurrent-b;hDiff=this.heightCurrent-c;if(!(hDiff==0))new Effect.Scale("outerImageContainer",this.yScale,{scaleX:false,duration:resizeDuration,queue:"front"});if(!(wDiff==0))new Effect.Scale("outerImageContainer",this.xScale,{scaleY:false,delay:resizeDuration,duration:resizeDuration});if(hDiff==0&&wDiff==0)if(navigator.appVersion.indexOf("MSIE")!=-1)pause(250);else pause(100);Element.setHeight("prevLink",a);Element.setHeight("nextLink",a);Element.setWidth("imageDataContainer",b);this.showElement()},showElement:function(){Element.hide("loading");if(elementArray[activeElement][0].endsWith("swf")){$("lightboximage").style.display="none";var a=$("lightboxswf");a.innerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="'+elementArray[activeElement][2]+'" height="'+elementArray[activeElement][3]+'">'+'<param name="movie" value="'+elementArray[activeElement][0]+'"/>'+'<param name="quality" value="high" />'+'<param name="allowscriptaccess" value="always" />'+'<param name="wmode" value="transparent" />'+'<embed wmode="transparent" allowscriptaccess="always" src="'+elementArray[activeElement][0]+'" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="'+elementArray[activeElement][2]+'" height="'+elementArray[activeElement][3]+'">'+"</embed>"+"</object>";new Effect.Appear("lightboxswf",{duration:resizeDuration,queue:"end",from:0,to:100,afterFinish:function(){myLightbox.updateDetails()}})}else{$("lightboxswf").style.display="none";new Effect.Appear("lightboximage",{duration:resizeDuration,queue:"end",afterFinish:function(){myLightbox.updateDetails()}});this.preloadNeighborImages()}},updateDetails:function(){if(elementArray[activeElement][1]){Element.show("caption");Element.setInnerHTML("caption",elementArray[activeElement][1])}if(elementArray.length>1){Element.show("numberDisplay");if(elementArray[activeElement][0].endsWith("swf"))Element.setInnerHTML("numberDisplay","Movie "+eval(activeElement+1)+" of "+elementArray.length);else Element.setInnerHTML("numberDisplay","Image "+eval(activeElement+1)+" of "+elementArray.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(activeElement!=0){Element.show("prevLink");document.getElementById("prevLink").onclick=function(){myLightbox.changeElement(activeElement-1);return false}}if(activeElement!=elementArray.length-1){Element.show("nextLink");document.getElementById("nextLink").onclick=function(){myLightbox.changeElement(activeElement+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(activeElement!=0){myLightbox.disableKeyboardNav();myLightbox.changeElement(activeElement-1)}}else if(key=="n"||keycode==39)if(activeElement!=elementArray.length-1){myLightbox.disableKeyboardNav();myLightbox.changeElement(activeElement+1)}},preloadNeighborImages:function(){if(elementArray.length-1>activeElement){preloadNextImage=new Image;preloadNextImage.src=elementArray[activeElement+1][0]}if(activeElement>0){preloadPrevImage=new Image;preloadPrevImage.src=elementArray[activeElement-1][0]}},end:function(){this.disableKeyboardNav();var a=$("lightboxswf");a.innerHTML="";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}arrayPageScroll=[a,b];return arrayPageScroll}function getPageSize(){var c,d;if(window.innerHeight&&window.scrollMaxY){c=window.innerWidth+window.scrollMaxX;d=window.innerHeight+window.scrollMaxY}else if(document.body.scrollHeight>document.body.offsetHeight){c=document.body.scrollWidth;d=document.body.scrollHeight}else{c=document.body.offsetWidth;d=document.body.offsetHeight}var a,b;if(self.innerHeight){if(document.documentElement.clientWidth)a=document.documentElement.clientWidth;else a=self.innerWidth;b=self.innerHeight}else if(document.documentElement&&document.documentElement.clientHeight){a=document.documentElement.clientWidth;b=document.documentElement.clientHeight}else if(document.body){a=document.body.clientWidth;b=document.body.clientHeight}if(d<b)pageHeight=b;else pageHeight=d;if(c<a)pageWidth=c;else pageWidth=a;arrayPageSize=[pageWidth,pageHeight,a,b];return arrayPageSize}function getKey(a){if(a==null)keycode=event.keyCode;else keycode=a.which;key=String.fromCharCode(keycode).toLowerCase();if(key=="x");}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";var b=document.getElementsByTagName("embed");for(i=0;i<b.length;i++)b[i].style.visibility="visible"}function hideFlash(){var a=document.getElementsByTagName("object");for(i=0;i<a.length;i++)a[i].style.visibility="hidden";var b=document.getElementsByTagName("embed");for(i=0;i<b.length;i++)b[i].style.visibility="hidden"}function pause(c){var b=new Date;a=null;do var a=new Date;while(a-b<c)}function initLightbox(){myLightbox=new Lightbox}Event.observe(window,"load",initLightbox,false)
