
var imgLoading="lb_loading.gif";var imgClose="lb_close.gif";var imgFirst="lb_first.gif";var imgPrev="lb_prev.gif";var imgNext="lb_next.gif";var imgLast="lb_last.gif";var imgFirstDis="lb_firstd.gif";var imgPrevDis="lb_prevd.gif";var imgNextDis="lb_nextd.gif";var imgLastDis="lb_lastd.gif";var resizeSpeed=7;var borderSize=10;var resizeImage=1;var FX=0;var l_suffix="_h600.";var m_suffix="_h400.";var s_suffix="_h300.";var l_limit=650;var m_limit=450;var imageArray=new Array;var activeImage;if(resizeSpeed>10){resizeSpeed=10;}
if(resizeSpeed<1){resizeSpeed=1;}
resizeDuration=(11-resizeSpeed)*0.15;Object.extend(Element,{getWidth:function(element){element=$(element);return element.offsetWidth;},setWidth:function(element,w){element=$(element);element.style.width=w+"px";},getHeight:function(element){element=$(element);return element.offsetHeight;},setHeight:function(element,h){element=$(element);element.style.height=h+"px";},setTop:function(element,t){element=$(element);element.style.top=t+"px";},setSrc:function(element,src){element=$(element);element.src=src;},setHref:function(element,href){element=$(element);element.href=href;},setInnerHTML:function(element,content){element=$(element);element.innerHTML=content;},setLeft:function(element,l){element=$(element);element.style.left=l+"px";},getLeft:function(element){element=$(element);return element.offsetLeft;}});Array.prototype.removeDuplicates=function(){for(i=1;i<this.length;i++){if(this[i][0]==this[i-1][0]){this.splice(i,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 anchors=document.getElementsByTagName('a');for(var i=0;i<anchors.length;i++){var anchor=anchors[i];var relAttribute=String(anchor.getAttribute('rel'));if(anchor.getAttribute('href')&&(relAttribute.toLowerCase().match('lightbox'))){anchor.onclick=function(){myLightbox.start(this);return false;}}}
var area_anchors=document.getElementsByTagName('area');for(var i=0;i<area_anchors.length;i++){var area_anchor=area_anchors[i];var area_relAttribute=String(area_anchor.getAttribute('rel'));if(area_anchor.getAttribute('href')&&(area_relAttribute.toLowerCase().match('lightbox'))){area_anchor.onclick=function(){myLightbox.start(this);return false;}}}
var objBody=document.getElementsByTagName("body").item(0);var objOverlay=document.createElement("div");objOverlay.setAttribute('id','overlay');objOverlay.style.display='none';objOverlay.onclick=function(){myLightbox.end();return false;}
objBody.appendChild(objOverlay);var objLightbox=document.createElement("div");objLightbox.setAttribute('id','lightbox');objLightbox.style.display='none';objLightbox.onmousedown=LightboxClick;objBody.appendChild(objLightbox);var objOuterImageContainer=document.createElement("div");objOuterImageContainer.setAttribute('id','outerImageContainer');objOuterImageContainer.onclick=function(){myLightbox.end();return false;}
objLightbox.appendChild(objOuterImageContainer);var objImageContainer=document.createElement("div");objImageContainer.setAttribute('id','imageContainer');objImageContainer.onclick=function(){myLightbox.end();return false;}
objOuterImageContainer.appendChild(objImageContainer);var objLightboxImage=document.createElement("img");objLightboxImage.setAttribute('id','lightboxImage');objLightboxImage.onclick=function(){myLightbox.end();return false;}
objImageContainer.appendChild(objLightboxImage);var objLoading=document.createElement("div");objLoading.setAttribute('id','loading');if(FX==0){objBody.appendChild(objLoading);objLoading.style.display='none';}else{objImageContainer.appendChild(objLoading);}
var objLoadingLink=document.createElement("a");objLoadingLink.setAttribute('id','loadingLink');objLoadingLink.setAttribute('href','#');objLoading.appendChild(objLoadingLink);var objLoadingImage=document.createElement("img");objLoadingImage.setAttribute('src',imgLoading);objLoadingLink.appendChild(objLoadingImage);var objImageDataContainer=document.createElement("div");objImageDataContainer.setAttribute('id','imageDataContainer');objImageDataContainer.className='clearfix';objLightbox.appendChild(objImageDataContainer);var objImageData=document.createElement("div");objImageData.setAttribute('id','imageData');objImageDataContainer.appendChild(objImageData);var objImageDetails=document.createElement("div");objImageDetails.setAttribute('id','imageDetails');objImageData.appendChild(objImageDetails);var objCaption=document.createElement("span");objCaption.setAttribute('id','caption');objImageDetails.appendChild(objCaption);var objNumberDisplay=document.createElement("span");objNumberDisplay.setAttribute('id','numberDisplay');objImageDetails.appendChild(objNumberDisplay);var objBottomNav=document.createElement("div");objBottomNav.setAttribute('id','bottomNav');objImageData.appendChild(objBottomNav);var objBottomNavCloseLink=document.createElement("a");objBottomNavCloseLink.setAttribute('id','bottomNavClose');objBottomNavCloseLink.setAttribute('href','#');objBottomNavCloseLink.onclick=function(){myLightbox.end();return false;}
objBottomNav.appendChild(objBottomNavCloseLink);var objBottomNavCloseImage=document.createElement("img");objBottomNavCloseImage.setAttribute('src',imgClose);objBottomNavCloseLink.appendChild(objBottomNavCloseImage);},start:function(imageLink){var arrayPageSize=getPageSize();Element.setHeight('overlay',arrayPageSize[1]);if(FX!=0){new Effect.Appear('overlay',{duration:0.2,from:0.0,to:0.6});}else{Element.show('overlay');}
imageArray=[];imageNum=0;if(!document.getElementsByTagName){return;}
var anchors=document.getElementsByTagName('a');var area_anchors=document.getElementsByTagName('area');var j=0;var img_this="";if((imageLink.getAttribute('rel')=='lightbox')){img_this=imageLink.getAttribute('href');img_this=PickImage(img_this,arrayPageSize[3]);imageArray.push(new Array(img_this,imageLink.getAttribute('title')));}else{for(var i=0;i<anchors.length;i++){var anchor=anchors[i];if(anchor.getAttribute('href')&&(anchor.getAttribute('rel')==imageLink.getAttribute('rel'))){img_this=anchor.getAttribute('href');img_this=PickImage(img_this,arrayPageSize[3]);imageArray.push(new Array(img_this,anchor.getAttribute('title')));}}
for(var i=0;i<area_anchors.length;i++){var area_anchor=area_anchors[i];if(area_anchor.getAttribute('href')&&(area_anchor.getAttribute('rel')==imageLink.getAttribute('rel'))){img_this=area_anchor.getAttribute('href');img_this=PickImage(img_this,arrayPageSize[3]);imageArray.push(new Array(img_this,area_anchor.getAttribute('title')));}}
imageArray.removeDuplicates();img_this=imageLink.getAttribute('href');img_this=PickImage(img_this,arrayPageSize[3]);while(imageArray[imageNum][0]!=img_this){imageNum++;}}
var arrayPageSize=getPageSize();var arrayPageScroll=getPageScroll();Element.setTop('loading',arrayPageScroll[1]+(arrayPageSize[3]-100)/2);if(FX==0){Element.hide('numberDisplay');}else{if(lightboxTop==0){var lightboxTop=arrayPageScroll[1]+(arrayPageSize[3]/2)-125;Element.setTop('lightbox',lightboxTop);}
Element.show('lightbox');}
this.changeImage(imageNum);},changeImage:function(imageNum){activeImage=imageNum;Element.show('loading');if(FX!=0){Element.hide('lightboxImage');Element.hide('imageDataContainer');Element.hide('numberDisplay');}
imgPreloader=new Image();imgPreloader.onload=function(){var arrayPageSize=getPageSize();Element.setSrc('lightboxImage',imageArray[activeImage][0]);if(resizeImage==0)
{myLightbox.resizeImageContainer(imgPreloader.width,imgPreloader.height);}
else
{var page_w=arrayPageSize[2];var page_h=arrayPageSize[3];var x=page_w-100;var y=page_h-100;if(imgPreloader.width>x)
{imgPreloader.height=imgPreloader.height*(x/imgPreloader.width);imgPreloader.width=x;if(imgPreloader.height>y)
{imgPreloader.width=imgPreloader.width*(y/imgPreloader.height);imgPreloader.height=y;}}
else if(imgPreloader.height>y)
{imgPreloader.width=imgPreloader.width*(y/imgPreloader.height);imgPreloader.height=y;if(imgPreloader.width>x)
{imgPreloader.height=imgPreloader.height*(x/imgPreloader.width);imgPreloader.width=x;}}
Element.setWidth('lightboxImage',imgPreloader.width);myLightbox.resizeImageContainer(imgPreloader.width,imgPreloader.height);}
var lightboxTop=(arrayPageSize[3]-imgPreloader.height-borderSize*2-32)/2;if(lightboxTop<0)lightboxTop=0;var arrayPageScroll=getPageScroll();lightboxTop+=arrayPageScroll[1];Element.setTop('lightbox',lightboxTop);}
imgPreloader.src=imageArray[activeImage][0];},resizeImageContainer:function(imgWidth,imgHeight){if(FX!=0){this.wCur=Element.getWidth('outerImageContainer');this.hCur=Element.getHeight('outerImageContainer');this.xScale=((imgWidth+(borderSize*2))/this.wCur)*100;this.yScale=((imgHeight+(borderSize*2))/this.hCur)*100;wDiff=(this.wCur-borderSize*2)-imgWidth;hDiff=(this.hCur-borderSize*2)-imgHeight;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);}}}else{Element.setHeight('outerImageContainer',imgHeight+(borderSize*2));Element.setWidth('outerImageContainer',imgWidth+(borderSize*2));}
Element.setWidth('imageDataContainer',imgWidth+(borderSize*2));this.showImage();},showImage:function(){Element.hide('loading');if(FX!=0){new Effect.Appear('lightboxImage',{duration:0.5,queue:'end',afterFinish:function(){myLightbox.updateDetails();}});}else{Element.show('lightboxImage');myLightbox.updateDetails();Element.show('lightbox');}
this.preloadNeighborImages();},updateDetails:function(){Element.show('caption');Element.setInnerHTML('caption',imageArray[activeImage][1]);if(imageArray.length>1){Element.show('numberDisplay');var setDis="";if(activeImage>0){setDis='<a href="#" title="First" onClick="myLightbox.changeImage(0); return false;"><img src='+imgFirst+'></a> ';setDis+='<a href="#" title="Previous" onClick="myLightbox.changeImage(activeImage - 1); return false;"><img src='+imgPrev+'></a> ';}else{setDis='<img src='+imgFirstDis+'> <img src='+imgPrevDis+'> ';}
setDis+='Image '+eval(activeImage+1)+' of '+imageArray.length;if(activeImage<(imageArray.length-1)){setDis+=' <a href="#" title="Next" onClick="myLightbox.changeImage(activeImage + 1); return false;"><img src='+imgNext+'></a>';setDis+=' <a href="#" title="Last" onClick="myLightbox.changeImage(imageArray.length - 1); return false;"><img src='+imgLast+'></a>';}else{setDis+=' <img src='+imgNextDis+'> <img src='+imgLastDis+'>';}
Element.setInnerHTML('numberDisplay',setDis);}
if(FX!=0){new Effect.Parallel([new Effect.SlideDown('imageDataContainer',{sync:true,duration:resizeDuration+0.25,from:0.0,to:1.0}),new Effect.Appear('imageDataContainer',{sync:true,duration:1.0})],{duration:0.65,afterFinish:function(){myLightbox.enableKeyboardNav();}});}else{Element.show('imageDataContainer');myLightbox.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.which;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);}}else if(key=='r'){myLightbox.disableKeyboardNav();myLightbox.changeImage(Math.floor(Math.random()*imageArray.length));}else if((key=='f')||(keycode==36)){if(activeImage!=0){myLightbox.disableKeyboardNav();myLightbox.changeImage(0);}}else if((key=='l')||(keycode==35)){if(activeImage!=(imageArray.length-1)){myLightbox.disableKeyboardNav();myLightbox.changeImage(imageArray.length-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');if(FX!=0){new Effect.Fade('overlay',{duration:0.2});}else{Element.hide('overlay');}}}
function getPageScroll(){var yScroll;if(self.pageYOffset){yScroll=self.pageYOffset;}else if(document.documentElement&&document.documentElement.scrollTop){yScroll=document.documentElement.scrollTop;}else if(document.body){yScroll=document.body.scrollTop;}
arrayPageScroll=new Array('',yScroll)
return arrayPageScroll;}
function getPageSize(){var xScroll,yScroll;if(window.innerHeight&&window.scrollMaxY){xScroll=document.body.scrollWidth;yScroll=window.innerHeight+window.scrollMaxY;}else if(document.body.scrollHeight>document.body.offsetHeight){xScroll=document.body.scrollWidth;yScroll=document.body.scrollHeight;}else{xScroll=document.body.offsetWidth;yScroll=document.body.offsetHeight;}
var windowWidth,windowHeight;if(self.innerHeight){windowWidth=self.innerWidth;windowHeight=self.innerHeight;}else if(document.documentElement&&document.documentElement.clientHeight){windowWidth=document.documentElement.clientWidth;windowHeight=document.documentElement.clientHeight;}else if(document.body){windowWidth=document.body.clientWidth;windowHeight=document.body.clientHeight;}
if(yScroll<windowHeight){pageHeight=windowHeight;}else{pageHeight=yScroll;}
if(xScroll<windowWidth){pageWidth=windowWidth;}else{pageWidth=xScroll;}
arrayPageSize=new Array(pageWidth,pageHeight,windowWidth,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 pause(numberMillis){var now=new Date();var exitTime=now.getTime()+numberMillis;while(true){now=new Date();if(now.getTime()>exitTime)
return;}}
function PickImage(imgname,h){if(h<l_limit){var j=imgname.indexOf(l_suffix);if(j!=-1){if(h<m_limit){imgname=imgname.substring(0,j)+s_suffix+imgname.substring(j+l_suffix.length);}else{imgname=imgname.substring(0,j)+m_suffix+imgname.substring(j+l_suffix.length);}}}
return imgname;}
function LightboxClick(e){var posx=0;var posy=0;if(!e)var e=window.event;if(e.pageX||e.pageY){posx=e.pageX;posy=e.pageY;}
else if(e.clientX||e.clientY){posx=e.clientX+document.body.scrollLeft
+document.documentElement.scrollLeft;posy=e.clientY+document.body.scrollTop
+document.documentElement.scrollTop;}
var w=Element.getWidth('outerImageContainer');var l=Element.getLeft('outerImageContainer');if(posx<l){myLightbox.end();}
else if(posx>l+w){myLightbox.end();}
return false;}
function initLightbox(){myLightbox=new Lightbox();}
Event.observe(window,'load',initLightbox,false);
