/*  -------------------------------------------------------------------------- *  This is a compressed and slightly modified version of: * 	Lightbox v2.03.2 * 	by Lokesh Dhakar - http: * www.huddletogether.com * 	4/30/06 *  * 	For more information on this script, visit: * 	http: * huddletogether.com/projects/lightbox2/ *  * 	Licensed under the Creative Commons Attribution 2.5 License *  http: * creativecommons.org/licenses/by/2.5/ * 	 * 	Credit also due to those who have helped, inspired, and made their code *  available to the public. * 	Including: Scott Upton(uptonic.com), Peter-Paul Koch(quirksmode.org), *  Thomas Fuchs(mir.aculo.us), and others. *  ----------------------------------------------------------------------- */var fileLoadingImage=BM.assetsDir+"/lightbox_loading.gif";var fileBottomNavCloseImage=BM.assetsDir+"/lightbox_close.gif";var overlayOpacity=0.8;var animate=true;var resizeSpeed=7;var borderSize=10;var imageArray=new Array;var activeImage;var hovernavHeight;if(animate==true){overlayDuration=0.2;if(resizeSpeed>10){resizeSpeed=10;}if(resizeSpeed<1){resizeSpeed=1;}resizeDuration=(11-resizeSpeed)*0.15;}else{overlayDuration=0;resizeDuration=0;}Object.extend(Element,{getWidth:function(_46){_46=$(_46);return _46.offsetWidth;},setWidth:function(_47,w){_47=$(_47);_47.style.width=w+"px";},setHeight:function(_49,h){_49=$(_49);_49.style.height=h+"px";},setTop:function(_4b,t){_4b=$(_4b);_4b.style.top=t+"px";},setSrc:function(_4d,src){_4d=$(_4d);_4d.src=src;},setHref:function(_4f,_50){_4f=$(_4f);_4f.href=_50;},setInnerHTML:function(_51,_52){_51=$(_51);_51.innerHTML=_52;}});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(){if(!document.getElementsByTagName){return;}var _53=document.getElementsByTagName("a");var _54=document.getElementsByTagName("area");for(var i=0;i<_53.length;i++){var _56=_53[i];var _57=String(_56.getAttribute("rel"));if(_56.getAttribute("href")&&(_57.toLowerCase().match("bm_lightbox"))){_56.onclick=function(){myLightbox.start(this);return false;};}}for(var i=0;i<_54.length;i++){var _58=_54[i];var _57=String(_58.getAttribute("rel"));if(_58.getAttribute("href")&&(_57.toLowerCase().match("bm_lightbox"))){_58.onclick=function(){myLightbox.start(this);return false;};}}var _59=document.getElementsByTagName("body").item(0);var _5a=document.createElement("div");_5a.setAttribute("id","bmlbox_overlay");_5a.style.display="none";_5a.onclick=function(){myLightbox.end();};_59.appendChild(_5a);var _5b=document.createElement("div");_5b.setAttribute("id","bmlbox_lightbox");_5b.style.display="none";_5b.onclick=function(e){if(!e){var e=window.event;}var _5d=Event.element(e).id;if(_5d=="bmlbox_lightbox"){myLightbox.end();}};_59.appendChild(_5b);var _5e=document.createElement("div");_5e.setAttribute("id","bmlbox_outerImageContainer");_5b.appendChild(_5e);if(animate){Element.setWidth("bmlbox_outerImageContainer",250);Element.setHeight("bmlbox_outerImageContainer",250);}else{Element.setWidth("bmlbox_outerImageContainer",1);Element.setHeight("bmlbox_outerImageContainer",1);}var _5f=document.createElement("div");_5f.setAttribute("id","bmlbox_imageContainer");_5e.appendChild(_5f);var _60=document.createElement("img");_60.setAttribute("id","bmlbox_lightboxImage");_5f.appendChild(_60);var _61=document.createElement("div");_61.setAttribute("id","bmlbox_hoverNav");_5f.appendChild(_61);var _62=document.createElement("a");_62.setAttribute("id","bmlbox_prevLink");_62.setAttribute("href","#");_61.appendChild(_62);var _63=document.createElement("a");_63.setAttribute("id","bmlbox_nextLink");_63.setAttribute("href","#");_61.appendChild(_63);[_62,_63].each(function(e){Element.setOpacity(e,0.3);e.onmouseover=function(){Element.setOpacity(this,0.99);};e.onmouseout=function(){Element.setOpacity(this,0.3);};});var _65=document.createElement("div");_65.setAttribute("id","bmlbox_loading");_5f.appendChild(_65);var _66=document.createElement("a");_66.setAttribute("id","bmlbox_loadingLink");_66.setAttribute("href","#");_66.onclick=function(){myLightbox.end();return false;};_65.appendChild(_66);var _67=document.createElement("img");_67.setAttribute("src",fileLoadingImage);_66.appendChild(_67);var _68=document.createElement("div");_68.setAttribute("id","bmlbox_imageDataContainer");_5b.appendChild(_68);var _69=document.createElement("div");_69.setAttribute("id","bmlbox_imageData");_68.appendChild(_69);var _6a=document.createElement("div");_6a.setAttribute("id","bmlbox_imageDetails");_69.appendChild(_6a);var _6b=document.createElement("span");_6b.setAttribute("id","bmlbox_caption");_6a.appendChild(_6b);var _6c=document.createElement("span");_6c.setAttribute("id","bmlbox_numberDisplay");_6a.appendChild(_6c);var _6d=document.createElement("div");_6d.setAttribute("id","bmlbox_bottomNav");_69.appendChild(_6d);var _6e=document.createElement("a");_6e.setAttribute("id","bmlbox_bottomNavClose");_6e.setAttribute("href","#");_6e.onclick=function(){myLightbox.end();return false;};_6d.appendChild(_6e);var _6f=document.createElement("img");_6f.setAttribute("src",fileBottomNavCloseImage);_6e.appendChild(_6f);},start:function(_70){hideSelectBoxes();hideFlash();var _71=getPageSize();Element.setHeight("bmlbox_overlay",_71[1]);new Effect.Appear("bmlbox_overlay",{duration:overlayDuration,from:0,to:overlayOpacity});imageArray=[];imageNum=0;if(!document.getElementsByTagName){return;}var _72=document.getElementsByTagName(_70.tagName);if((_70.getAttribute("rel")=="bm_lightbox")){imageArray.push(new Array(_70.getAttribute("href"),_70.getAttribute("title")));}else{for(var i=0;i<_72.length;i++){var _74=_72[i];if(_74.getAttribute("href")&&(_74.getAttribute("rel")==_70.getAttribute("rel"))){imageArray.push(new Array(_74.getAttribute("href"),_74.getAttribute("title")));}}imageArray.removeDuplicates();while(imageArray[imageNum][0]!=_70.getAttribute("href")){imageNum++;}}hovernavHeight=imageArray.length>1?35:0;$("bmlbox_lightboxImage").style.marginTop=hovernavHeight+"px";$("bmlbox_hoverNav").style.height=hovernavHeight?"100%":"0px";var _75=getPageScroll();var _76=_75[1]+(_71[3]/30);Element.setTop("bmlbox_lightbox",_76);Element.show("bmlbox_lightbox");this.changeImage(imageNum);},changeImage:function(_77){activeImage=_77;if(animate){Element.show("bmlbox_loading");}Element.hide("bmlbox_lightboxImage");Element.hide("bmlbox_hoverNav");Element.hide("bmlbox_prevLink");Element.hide("bmlbox_nextLink");Element.hide("bmlbox_imageDataContainer");Element.hide("bmlbox_numberDisplay");imgPreloader=new Image();imgPreloader.onload=function(){Element.setSrc("bmlbox_lightboxImage",imageArray[activeImage][0]);myLightbox.resizeImageContainer(imgPreloader.width,imgPreloader.height);imgPreloader.onload=function(){};};imgPreloader.src=imageArray[activeImage][0];},resizeImageContainer:function(_78,_79){this.widthCurrent=Element.getWidth("bmlbox_outerImageContainer");this.heightCurrent=Element.getHeight("bmlbox_outerImageContainer");var _7a=(_78+(borderSize*2));var _7b=(_79+(borderSize*2)+hovernavHeight);this.xScale=(_7a/this.widthCurrent)*100;this.yScale=(_7b/this.heightCurrent)*100;wDiff=this.widthCurrent-_7a;hDiff=this.heightCurrent-_7b;if(!(hDiff==0)){new Effect.Scale("bmlbox_outerImageContainer",this.yScale,{scaleX:false,duration:resizeDuration,queue:"front"});}if(!(wDiff==0)){new Effect.Scale("bmlbox_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("bmlbox_prevLink",_79);Element.setHeight("bmlbox_nextLink",_79);Element.setWidth("bmlbox_imageDataContainer",_7a);this.showImage();},showImage:function(){Element.hide("bmlbox_loading");new Effect.Appear("bmlbox_lightboxImage",{duration:resizeDuration,queue:"end",afterFinish:function(){myLightbox.updateDetails();}});this.preloadNeighborImages();},updateDetails:function(){Element.show("bmlbox_caption");Element.setInnerHTML("bmlbox_caption",imageArray[activeImage][1]);if(imageArray.length>1){Element.show("bmlbox_numberDisplay");Element.setInnerHTML("bmlbox_numberDisplay","Image "+eval(activeImage+1)+" of "+imageArray.length);}new Effect.Parallel([new Effect.SlideDown("bmlbox_imageDataContainer",{sync:true,duration:resizeDuration,from:0,to:1}),new Effect.Appear("bmlbox_imageDataContainer",{sync:true,duration:resizeDuration})],{duration:resizeDuration,afterFinish:function(){var _7c=getPageSize();Element.setHeight("bmlbox_overlay",_7c[1]);myLightbox.updateNav();}});},updateNav:function(){Element.show("bmlbox_hoverNav");if(activeImage!=0){Element.show("bmlbox_prevLink");document.getElementById("bmlbox_prevLink").onclick=function(){myLightbox.changeImage(activeImage-1);return false;};}if(activeImage!=(imageArray.length-1)){Element.show("bmlbox_nextLink");document.getElementById("bmlbox_nextLink").onclick=function(){myLightbox.changeImage(activeImage+1);return false;};}this.enableKeyboardNav();},enableKeyboardNav:function(){document.onkeydown=this.keyboardAction;},disableKeyboardNav:function(){document.onkeydown="";},keyboardAction:function(e){if(e==null){keycode=event.keyCode;escapeKey=27;}else{keycode=e.keyCode;escapeKey=e.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("bmlbox_lightbox");new Effect.Fade("bmlbox_overlay",{duration:overlayDuration});showSelectBoxes();showFlash();}};function getPageScroll(){var _7e;if(self.pageYOffset){_7e=self.pageYOffset;}else{if(document.documentElement&&document.documentElement.scrollTop){_7e=document.documentElement.scrollTop;}else{if(document.body){_7e=document.body.scrollTop;}}}arrayPageScroll=new Array("",_7e);return arrayPageScroll;}function getPageSize(){var _7f,yScroll;if(window.innerHeight&&window.scrollMaxY){_7f=document.body.scrollWidth;yScroll=window.innerHeight+window.scrollMaxY;}else{if(document.body.scrollHeight>document.body.offsetHeight){_7f=document.body.scrollWidth;yScroll=document.body.scrollHeight;}else{_7f=document.body.offsetWidth;yScroll=document.body.offsetHeight;}}var _80,windowHeight;if(self.innerHeight){_80=self.innerWidth;windowHeight=self.innerHeight;}else{if(document.documentElement&&document.documentElement.clientHeight){_80=document.documentElement.clientWidth;windowHeight=document.documentElement.clientHeight;}else{if(document.body){_80=document.body.clientWidth;windowHeight=document.body.clientHeight;}}}if(yScroll<windowHeight){pageHeight=windowHeight;}else{pageHeight=yScroll;}if(_7f<_80){pageWidth=_80;}else{pageWidth=_7f;}arrayPageSize=new Array(pageWidth,pageHeight,_80,windowHeight);return arrayPageSize;}function getKey(e){if(e==null){keycode=event.keyCode;}else{keycode=e.which;}key=String.fromCharCode(keycode).toLowerCase();if(key=="x"){}}function listenKey(){document.onkeypress=getKey;}function showSelectBoxes(){var _82=document.getElementsByTagName("select");for(i=0;i!=_82.length;i++){_82[i].style.visibility="visible";}}function hideSelectBoxes(){var _83=document.getElementsByTagName("select");for(i=0;i!=_83.length;i++){_83[i].style.visibility="hidden";}}function showFlash(){var _84=document.getElementsByTagName("object");for(i=0;i<_84.length;i++){_84[i].style.visibility="visible";}var _85=document.getElementsByTagName("embed");for(i=0;i<_85.length;i++){_85[i].style.visibility="visible";}}function hideFlash(){var _86=document.getElementsByTagName("object");for(i=0;i<_86.length;i++){_86[i].style.visibility="hidden";}var _87=document.getElementsByTagName("embed");for(i=0;i<_87.length;i++){_87[i].style.visibility="hidden";}}function pause(ms){var _89=new Date();curDate=null;do{var _8a=new Date();}while(_8a-_89<ms);}function initLightbox(){myLightbox=new Lightbox();}Event.observe(window,"load",initLightbox,false);
