// -----------------------------------------------------------------------------------
//	Lightbox v2.03.3
//	by Lokesh Dhakar - http://www.huddletogether.com
//	5/21/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.com), Thomas Fuchs(mir.aculo.us), and others.
// -----------------------------------------------------------------------------------
var imageArray=new Array;var activeImage;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(element){element=$(element);return element.offsetWidth;},setWidth:function(element,w){element=$(element);element.style.width=w+"px";},setHeight:function(element,h){element=$(element);element.style.height=h+"px";},setTop:function(element,t){element=$(element);element.style.top=t+"px";},setLeft:function(element,l){element=$(element);element.style.left=l+"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;}});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.updateImageList();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();};objBody.appendChild(objOverlay);var objLightbox=document.createElement("div");objLightbox.setAttribute("id","lightbox");objLightbox.style.display="none";objLightbox.onclick=function(e){if(!e){var e=window.event;}var clickObj=Event.element(e).id;if(clickObj=="lightbox"){myLightbox.end();}};objBody.appendChild(objLightbox);var objOuterImageContainer=document.createElement("div");objOuterImageContainer.setAttribute("id","outerImageContainer");objLightbox.appendChild(objOuterImageContainer);if(animate){Element.setWidth("outerImageContainer",250);Element.setHeight("outerImageContainer",250);}else{Element.setWidth("outerImageContainer",1);Element.setHeight("outerImageContainer",1);}var objImageContainer=document.createElement("div");objImageContainer.setAttribute("id","imageContainer");objOuterImageContainer.appendChild(objImageContainer);var objLightboxImage=document.createElement("img");objLightboxImage.setAttribute("id","lightboxImage");objImageContainer.appendChild(objLightboxImage);var objHoverNav=document.createElement("div");objHoverNav.setAttribute("id","hoverNav");objImageContainer.appendChild(objHoverNav);var objPrevLink=document.createElement("a");objPrevLink.setAttribute("id","prevLink");objPrevLink.setAttribute("href","#");objPrevLink.setAttribute("title","<< Vorheriges Bild - Taste v oder Mausklick");objHoverNav.appendChild(objPrevLink);var objNextLink=document.createElement("a");objNextLink.setAttribute("id","nextLink");objNextLink.setAttribute("href","#");objNextLink.setAttribute("title","Naechstes Bild - Taste n oder Mausklick >> ");objHoverNav.appendChild(objNextLink);var objLoading=document.createElement("div");objLoading.setAttribute("id","loading");objImageContainer.appendChild(objLoading);var objLoadingLink=document.createElement("a");objLoadingLink.setAttribute("id","loadingLink");objLoadingLink.setAttribute("href","#");objLoadingLink.onclick=function(){myLightbox.end();return false;};objLoading.appendChild(objLoadingLink);var objLoadingImage=document.createElement("img");objLoadingImage.setAttribute("src",fileLoadingImage);objLoadingLink.appendChild(objLoadingImage);var objImageDataContainer=document.createElement("div");objImageDataContainer.setAttribute("id","imageDataContainer");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.setAttribute("title","Schliessen - Taste s oder Mausklick");objBottomNavCloseLink.onclick=function(){myLightbox.end();return false;};objBottomNav.appendChild(objBottomNavCloseLink);var objBottomNavCloseImage=document.createElement("img");objBottomNavCloseImage.setAttribute("src",fileBottomNavCloseImage);objBottomNavCloseLink.appendChild(objBottomNavCloseImage);},updateImageList:function(){if(!document.getElementsByTagName){return ;}var anchors=document.getElementsByTagName("a");var areas=document.getElementsByTagName("area");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;};}}for(var i=0;i<areas.length;i++){var area=areas[i];var relAttribute=String(area.getAttribute("rel"));if(area.getAttribute("href")&&(relAttribute.toLowerCase().match("lightbox"))){area.onclick=function(){myLightbox.start(this);return false;};}}},start:function(imageLink){hideSelectBoxes();hideFlash();var arrayPageSize=getPageSize();Element.setWidth("overlay",arrayPageSize[0]);Element.setHeight("overlay",arrayPageSize[1]);new Effect.Appear("overlay",{duration:overlayDuration,from:0,to:overlayOpacity});imageArray=[];imageNum=0;if(!document.getElementsByTagName){return ;}var anchors=document.getElementsByTagName(imageLink.tagName);if((imageLink.getAttribute("rel")=="lightbox")){imageArray.push(new Array(imageLink.getAttribute("href"),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"))){imageArray.push(new Array(anchor.getAttribute("href"),anchor.getAttribute("title")));}}imageArray.removeDuplicates();while(imageArray[imageNum][0]!=imageLink.getAttribute("href")){imageNum++;}}var arrayPageScroll=getPageScroll();var lightboxTop=arrayPageScroll[1]+(arrayPageSize[3]/10);var lightboxLeft=arrayPageScroll[0];Element.setTop("lightbox",lightboxTop);Element.setLeft("lightbox",lightboxLeft);Element.show("lightbox");this.changeImage(imageNum);},changeImage:function(imageNum){activeImage=imageNum;if(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(imgWidth,imgHeight){this.widthCurrent=Element.getWidth("outerImageContainer");this.heightCurrent=Element.getHeight("outerImageContainer");var widthNew=(imgWidth+(borderSize*2));var heightNew=(imgHeight+(borderSize*2));this.xScale=(widthNew/this.widthCurrent)*100;this.yScale=(heightNew/this.heightCurrent)*100;wDiff=this.widthCurrent-widthNew;hDiff=this.heightCurrent-heightNew;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",imgHeight);Element.setHeight("nextLink",imgHeight);Element.setWidth("imageDataContainer",widthNew);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]);}if(imageArray.length>1){Element.show("numberDisplay");Element.setInnerHTML("numberDisplay","Bild "+eval(activeImage+1)+" von "+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 arrayPageSize=getPageSize();Element.setHeight("overlay",arrayPageSize[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(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=="s")||(key=="c")||(keycode==escapeKey)){myLightbox.end();}else{if((key=="v")||(keycode==37)){if(activeImage!=0){myLightbox.disableKeyboardNav();myLightbox.changeImage(activeImage-1);}}else{if((key=="n")||(keycode==86)){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 xScroll,yScroll;if(self.pageYOffset){yScroll=self.pageYOffset;xScroll=self.pageXOffset;}else{if(document.documentElement&&document.documentElement.scrollTop){yScroll=document.documentElement.scrollTop;xScroll=document.documentElement.scrollLeft;}else{if(document.body){yScroll=document.body.scrollTop;xScroll=document.body.scrollLeft;}}}arrayPageScroll=new Array(xScroll,yScroll);return arrayPageScroll;}function getPageSize(){var xScroll,yScroll;if(window.innerHeight&&window.scrollMaxY){xScroll=window.innerWidth+window.scrollMaxX;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){if(document.documentElement.clientWidth){windowWidth=document.documentElement.clientWidth;}else{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=xScroll;}else{pageWidth=windowWidth;}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 listenKey(){document.onkeypress=getKey;}function showSelectBoxes(){var selects=document.getElementsByTagName("select");for(i=0;i!=selects.length;i++){selects[i].style.visibility="visible";}}function hideSelectBoxes(){var selects=document.getElementsByTagName("select");for(i=0;i!=selects.length;i++){selects[i].style.visibility="hidden";}}function showFlash(){var flashObjects=document.getElementsByTagName("object");for(i=0;i<flashObjects.length;i++){flashObjects[i].style.visibility="visible";}var flashEmbeds=document.getElementsByTagName("embed");for(i=0;i<flashEmbeds.length;i++){flashEmbeds[i].style.visibility="visible";}}function hideFlash(){var flashObjects=document.getElementsByTagName("object");for(i=0;i<flashObjects.length;i++){flashObjects[i].style.visibility="hidden";}var flashEmbeds=document.getElementsByTagName("embed");for(i=0;i<flashEmbeds.length;i++){flashEmbeds[i].style.visibility="hidden";}}function pause(ms){var date=new Date();curDate=null;do{var curDate=new Date();}while(curDate-date<ms);}function initLightbox(){myLightbox=new Lightbox();}Event.observe(window,"load",initLightbox,false);
