// JavaScript Document
// lightbox
(function($){$.fn.lightBox=function(settings){settings=jQuery.extend({overlayBgColor:"#000",overlayOpacity:0.8,showDownload:false,enableDiashow:false,diashowDelay:5000,loop:false,containerBorderSize:10,containerResizeSpeed:400,txtImage:"Image",txtOf:"of",txtNext:"&gt;",titleNext:"next image",txtPrev:"&lt;",titlePrev:"previous image",txtClose:"x",titleClose:"close window",txtSave:"save",titleSave:"download image",txtPlay:"start Diashow",txtPause:"pause Diashow",groupByAttribute:"rel",attrTarget:"$this",useAsTitle:"$this.attr('title')",keyToClose:"c",keyToPrev:"p",keyToNext:"n",keyToPlay:" ",imageArray:[],activeImage:0,buttons:["Close","Next","Prev","Save","Play","Pause"]},settings);var jQueryMatchedObj=this,isPlaying=false;function _initialize(){_start(this,jQueryMatchedObj);return false}function _start(objClicked,jQueryMatchedObj){$("embed, object, select").css({visibility:"hidden"});settings.imageArray=new Array();jQueryMatchedObj.each(function(i){var $this=$(this);if((settings.groupByAttribute==""||settings.groupByAttribute==false)||(settings.groupByAttribute&&$this.attr(settings.groupByAttribute)==$(objClicked).attr(settings.groupByAttribute))){var $tgt=eval(settings.attrTarget),title;if(settings.useAsTitle){title=eval(settings.useAsTitle)}settings.imageArray.push(new Array($this.attr("href"),(title?title:$tgt.attr("title"))));if(this==objClicked){settings.activeImage=settings.imageArray.length-1}}});_set_interface();_set_image_to_view()}function _set_interface(){var template='<div id="jquery-overlay" /><div id="jquery-lightbox"><div id="lightbox-container-image-box"><div id="lightbox-container-image"><div id="lightbox-topNav">{BTN_CLOSE}</div><img id="lightbox-image" /><div id="lightbox-nav">{BTN_PREV}{BTN_NEXT}</div><div id="lightbox-container-image-data-box"><div id="lightbox-container-image-data"><div id="lightbox-image-details"><span id="lightbox-image-details-caption"></span><span id="lightbox-image-details-currentNumber"></span></div><div id="lightbox-bottomNav">{BTN_SAVE}{BTN_PLAY}{BTN_PAUSE}</div></div><span class="lightbox-clear"><!-- --></span></div></div></div>';$.each(settings.buttons,function(index,value){var txt=eval("settings.txt"+value),title=eval("settings.title"+value);template=template.replace("{BTN_"+value.toUpperCase()+"}",'<a href="#" class="navButton" id="lightbox-btn'+value+'" title="'+(title?title:txt)+'" style="display:none;"><span>'+txt+"</span></a>")});$("body").append(template);_update_positioning();$("#jquery-overlay").css({backgroundColor:settings.overlayBgColor,opacity:settings.overlayOpacity}).fadeIn();$("#lightbox-loading,#lightbox-btnClose,#jquery-overlay").bind("click",_finish).show();if(settings.enableDiashow&&settings.imageArray.length>1){$("#lightbox-btnPlay").bind("click",_play).show();$("#lightbox-btnPause").bind("click",_pause).hide()}$(window).resize(function(){_update_positioning()});_enable_keyboard_navigation()}function _update_positioning(){var dims=___getPageSize(),scroll=___getPageScroll();$("#jquery-overlay").css({width:dims.pageWidth,height:dims.pageHeight});$("#jquery-lightbox").css({top:scroll.y+(dims.pageHeight/10),left:scroll.x}).show()}function _set_image_to_view(){$("#lightbox-container-image-box").toggleClass("loading");$("#lightbox-image,#lightbox-nav,#lightbox-btnPrev,#lightbox-btnNext,#lightbox-container-image-data-box").hide();$("#lightbox-btnPrev,#lightbox-btnNext").css("visibility","hidden");var objImagePreloader=new Image(),img=settings.imageArray[settings.activeImage][0];objImagePreloader.onload=function(){$("#lightbox-image").attr("src",img);_resize_container_image_box(objImagePreloader.width,objImagePreloader.height);objImagePreloader.onload=function(){}};objImagePreloader.src=img}function _resize_container_image_box(intImageWidth,intImageHeight){$("#lightbox-container-image-box").animate({width:(intImageWidth+(settings.containerBorderSize*2)),height:(intImageHeight+(settings.containerBorderSize*2))},settings.containerResizeSpeed,function(){_show_image()});$("#lightbox-container-image-data-box").css({width:intImageWidth});$("#lightbox-btnPrev,#lightbox-btnNext").css({height:intImageHeight})}function _show_image(){$("#lightbox-container-image-box").toggleClass("loading");$("#lightbox-image").fadeIn(function(){_show_image_data();_set_navigation()});_preload_neighbor_images()}function _show_image_data(){$("#lightbox-container-image-data-box").fadeIn();$("#lightbox-image-details-caption").hide();if(settings.imageArray[settings.activeImage][1]){$("#lightbox-image-details-caption").html(settings.imageArray[settings.activeImage][1]).show()}if(settings.imageArray.length>1){$("#lightbox-image-details-currentNumber").html(settings.txtImage+" "+(settings.activeImage+1)+" "+settings.txtOf+" "+settings.imageArray.length).show()}}function _set_navigation(){$("#lightbox-nav").fadeIn();if(settings.showDownload){$("#lightbox-btnSave").attr("href",settings.imageArray[settings.activeImage][0]).attr("target","_blank").show()}if(settings.imageArray.length>1){if(!isPlaying){if(settings.activeImage-1>=0||settings.loop){$("#lightbox-btnPrev").show().css("visibility","visible").unbind().bind("click",_prev_image)}if(settings.activeImage+1<=settings.imageArray.length-1||settings.loop){$("#lightbox-btnNext").show().css("visibility","visible").unbind().bind("click",_next_image)}}else{_initTimer()}}}function _prev_image(){if(settings.activeImage-1>=0){settings.activeImage--;_set_image_to_view()}else{if(settings.loop){settings.activeImage=settings.imageArray.length-1;_set_image_to_view()}else{_pause()}}return false}function _next_image(){if(settings.activeImage+1<=settings.imageArray.length-1){settings.activeImage++;_set_image_to_view()}else{if(settings.loop){settings.activeImage=0;_set_image_to_view()}else{_pause()}}return false}function _play(){if(!isPlaying){isPlaying=true;_initTimer();$("#lightbox-nav").fadeOut();$("#lightbox-btnPlay").hide();$("#lightbox-btnPause").show()}return false}function _pause(){if(isPlaying){$("#lightbox-diashow").remove();isPlaying=false;_initTimer();_set_navigation();$("#lightbox-btnPlay").show();$("#lightbox-nav").fadeIn();$("#lightbox-btnPause").hide()}return false}function _initTimer(){if(!$("#lightbox-diashow").html()){$("#lightbox-container-image-data").prepend('<div id="lightbox-diashow"><span id="lightbox-diashow-timer" /></div>')}var $t=$("#lightbox-diashow-timer");if(isPlaying){$t.css("width",0).hide().animate({width:"100%"},settings.diashowDelay,"linear",function(){if($("#lightbox-diashow").html()){_next_image()}})}else{$t.stop();$("#lightbox-diashow").remove()}}function _enable_keyboard_navigation(){$(document).keydown(function(objEvent){_keyboard_action(objEvent)})}function _disable_keyboard_navigation(){$(document).unbind()}function _keyboard_action(objEvent){if(objEvent==null){keyCode=event.keyCode;escapeKey=27}else{keyCode=objEvent.keyCode;escapeKey=objEvent.DOM_VK_ESCAPE}if(isPlaying){_pause()}switch(keyCode){case escapeKey:case 88:case 67:case settings.keyToClose.charCodeAt(0):_finish();break;case 37:case 80:case settings.keyToPrev.charCodeAt(0):_prev_image();break;case 39:case 78:case settings.keyToNext.charCodeAt(0):_next_image();break;case 83:case settings.keyToPlay.charCodeAt(0):if(isPlaying){_pause()}else{_play()}}}function _preload_neighbor_images(){if((settings.imageArray.length-1)>settings.activeImage){objNext=new Image();objNext.src=settings.imageArray[settings.activeImage+1][0]}if(settings.activeImage>0){objPrev=new Image();objPrev.src=settings.imageArray[settings.activeImage-1][0]}}function _finish(){_pause();_disable_keyboard_navigation();$("#jquery-lightbox").remove();$("#jquery-overlay").fadeOut(function(){$("#jquery-overlay").remove()});$("embed, object, select").css({visibility:"visible"});return false}function ___getPageSize(){var dims={},dbw,dbh;if(window.innerHeight&&window.scrollMaxY){dbw=window.innerWidth+window.scrollMaxX;dbh=window.innerHeight+window.scrollMaxY}else{if(document.body.scrollHeight>document.body.offsetHeight){dbw=document.body.scrollWidth;dbh=document.body.scrollHeight}else{dbw=document.body.offsetWidth;dbh=document.body.offsetHeight}}if(self.innerHeight){if(document.documentElement.clientWidth){dims.windowWidth=document.documentElement.clientWidth}else{dims.windowWidth=self.innerWidth}dims.windowHeight=self.innerHeight}else{if(document.documentElement&&document.documentElement.clientHeight){dims.windowWidth=document.documentElement.clientWidth;dims.windowHeight=document.documentElement.clientHeight}else{if(document.body){dims.windowWidth=document.body.clientWidth;dims.windowHeight=document.body.clientHeight}}}dims.pageHeight=Math.max(dbh,dims.windowHeight);dims.pageWidth=Math.max(dbw,dims.windowWidth);return dims}function ___getPageScroll(){var scroll={};if(self.pageYOffset){scroll.y=self.pageYOffset;scroll.x=self.pageXOffset}else{if(document.documentElement&&document.documentElement.scrollTop){scroll.y=document.documentElement.scrollTop;scroll.x=document.documentElement.scrollLeft}else{if(document.body){scroll.y=document.body.scrollTop;scroll.x=document.body.scrollLeft}}}return scroll}return this.unbind("click").click(_initialize)}})(jQuery);

/* custom additions for website */
// jQuery
$(function() {
	// lightbox
	$('a[rel*=lightbox]').lightBox({overlayBgColor:'#573c15',txtImage:'Bild',txtOf:'von',txtNext:'&gt;', titleNext:'nächstes Bild', txtPrev:'&lt;', titlePrev:'vorheriges Bild', txtClose:'x', titleClose:'Fenster schließen'});
});