(function($){$.fn.lightBox=function(j){j=jQuery.extend({overlayBgColor:'#000',overlayOpacity:0.8,fixedNavigation:false,imageBaseDir:'',imageLoading:'lightbox-ico-loading.gif',imageBtnPrev:'lightbox-btn-prev.gif',imageBtnNext:'lightbox-btn-next.gif',imageBtnClose:'lightbox-btn-close.gif',imageBlank:'lightbox-blank.gif',containerBorderSize:10,containerResizeSpeed:400,captionFunction:_default_caption,keyToClose:'c',keyToPrev:'p',keyToNext:'n',imageResizable:true,fix_MSIE_Width:21,marginTop:40,reduceMaxHeight:120,autoDetectGroups:true},j);if(j.imageBaseDir)j.imageBaseDir=j.imageBaseDir.replace(/[/\\]+$/,'')+'/';var k={jQueryMatchedObjs:this,jQueryGroupedObjs:false,imageArray:[],activeImage:0,jLightBoxHidedInputs:false,groupName:''};function _initialize(){_start(this);return false}function _start(a){k.groupName='';k.jQueryGroupedObjs=false;if(j.autoDetectGroups){var b=$(a).attr('rel');if(b){b=b.match(/\[(.*)\]$/);if(b){k.groupName=b[1];k.jQueryGroupedObjs=k.jQueryMatchedObjs.filter('[rel$=\'['+b[1]+']\']')}}}if(!k.jQueryGroupedObjs)k.jQueryGroupedObjs=k.jQueryMatchedObjs;k.jLightBoxHidedInputs=$(':input').filter(':not(:hidden)').hide();_set_interface();k.imageArray.length=0;k.activeImage=0;if(k.jQueryGroupedObjs.length==1){k.imageArray.push(new Array(a.getAttribute('href'),a.getAttribute('title')))}else{for(var i=0;i<k.jQueryGroupedObjs.length;i++){k.imageArray.push(new Array(k.jQueryGroupedObjs[i].getAttribute('href'),k.jQueryGroupedObjs[i].getAttribute('title')))}}while(k.imageArray[k.activeImage][0]!=a.getAttribute('href')){k.activeImage++}_set_image_to_view()}function _default_caption(a,b,c,d){var e='Bild <b>'+a+'</b> von <b>'+b+'</b>';if(c&&d)e+=' der Galerie:<br /><b>'+d+'</b>';return e}function _set_interface(){$('body').append('<div style="display:none" id="jquery-overlay"></div>'+'<div style="display:none" id="jquery-lightbox">'+'<div id="lightbox-container-image-box"><div id="lightbox-container-image">'+'<img id="lightbox-image">'+'<div style=" " id="lightbox-nav">'+'<a href="#" id="lightbox-nav-btnPrev"></a>'+'<a href="#" id="lightbox-nav-btnNext"></a>'+'</div>'+'<div id="lightbox-loading">'+'<a href="#" id="lightbox-loading-link">'+'<img src="'+j.imageBaseDir+j.imageLoading+'">'+'</a>'+'</div>'+'</div></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-secNav">'+'<a href="#" id="lightbox-secNav-btnClose">'+'<img src="'+j.imageBaseDir+j.imageBtnClose+'">'+'</a>'+'</div>'+'</div></div>'+'</div>');_set_dimensions();$('#jquery-overlay').css({backgroundColor:j.overlayBgColor,opacity:j.overlayOpacity}).fadeIn();$('#jquery-lightbox').show();$('#jquery-overlay,#jquery-lightbox').click(function(){_finish()});$('#lightbox-loading-link,#lightbox-secNav-btnClose').click(function(){_finish();return false});$(window).resize(_set_dimensions)}function _set_dimensions(){var a=___getPageSize();$('#jquery-overlay').css({width:$(window).width(),height:a[1]});var b=___getPageScroll();$('#jquery-lightbox').css({top:b[1]+j.marginTop,left:b[0]})}function _set_image_to_view(){$('#lightbox-loading').show();if(j.fixedNavigation){$('#lightbox-image,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide()}else{$('#lightbox-image,#lightbox-nav,#lightbox-nav-btnPrev,#lightbox-nav-btnNext,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide()}var c=new Image();c.onload=function(){var w=c.width;var h=c.height;if(j.imageResizable){var a=$(window).width()-($.browser.msie?j.fix_MSIE_Width:0);var b=$(window).height()-j.reduceMaxHeight;if(w>=a){h=(h/w)*a;w=a}if(h>=b){w=(w/h)*b;h=b}h=parseInt(h);w=parseInt(w)}$('#lightbox-image').attr({'src':k.imageArray[k.activeImage][0],width:w,height:h});_resize_container_image_box(w,h);c.onload=function(){}};c.src=k.imageArray[k.activeImage][0]};function _resize_container_image_box(a,b){var c=$('#lightbox-container-image-box').width();var d=$('#lightbox-container-image-box').height();var e=(a+(j.containerBorderSize*2));var f=(b+(j.containerBorderSize*2));var g=c-e;var h=d-f;$('#lightbox-container-image-box').animate({width:e,height:f},j.containerResizeSpeed,function(){_show_image()});if((g==0)&&(h==0)){if($.browser.msie){___pause(250)}else{___pause(100)}}$('#lightbox-container-image-data-box').css({width:a});$('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({height:b+(j.containerBorderSize*2)})};function _show_image(){$('#lightbox-loading').hide();$('#lightbox-image').fadeIn(function(){_show_image_data();_set_navigation()});_preload_neighbor_images()};function _show_image_data(){$('#lightbox-container-image-data-box').slideDown('fast');$('#lightbox-image-details-caption').hide();if(k.imageArray[k.activeImage][1]){$('#lightbox-image-details-caption').html(k.imageArray[k.activeImage][1]).show()}if(k.imageArray.length>1){var a=j.captionFunction(k.activeImage+1,k.imageArray.length,j.autoDetectGroups,k.groupName);$('#lightbox-image-details-currentNumber').html(a).show()}}function _set_navigation(){$('#lightbox-nav').show();$('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({'background':'transparent url('+j.imageBaseDir+j.imageBlank+') no-repeat'});if(k.activeImage!=0){if(j.fixedNavigation){$('#lightbox-nav-btnPrev').css({'background':'url('+j.imageBaseDir+j.imageBtnPrev+') left 15% no-repeat'}).unbind().bind('click',function(){k.activeImage=k.activeImage-1;_set_image_to_view();return false})}else{$('#lightbox-nav-btnPrev').unbind().hover(function(){$(this).css({'background':'url('+j.imageBaseDir+j.imageBtnPrev+') left 15% no-repeat'})},function(){$(this).css({'background':'transparent url('+j.imageBaseDir+j.imageBlank+') no-repeat'})}).show().bind('click',function(){k.activeImage=k.activeImage-1;_set_image_to_view();return false})}}if(k.activeImage!=(k.imageArray.length-1)){if(j.fixedNavigation){$('#lightbox-nav-btnNext').css({'background':'url('+j.imageBaseDir+j.imageBtnNext+') right 15% no-repeat'}).unbind().bind('click',function(){k.activeImage=k.activeImage+1;_set_image_to_view();return false})}else{$('#lightbox-nav-btnNext').unbind().hover(function(){$(this).css({'background':'url('+j.imageBaseDir+j.imageBtnNext+') right 15% no-repeat'})},function(){$(this).css({'background':'transparent url('+j.imageBaseDir+j.imageBlank+') no-repeat'})}).show().bind('click',function(){k.activeImage=k.activeImage+1;_set_image_to_view();return false})}}_enable_keyboard_navigation()}function _enable_keyboard_navigation(){$(document).keydown(function(a){_keyboard_action(a)})}function _disable_keyboard_navigation(){$(document).unbind()}function _keyboard_action(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==j.keyToClose)||(key=='x')||(keycode==escapeKey)){_finish()}if((key==j.keyToPrev)||(keycode==37)){if(k.activeImage!=0){k.activeImage=k.activeImage-1;_set_image_to_view();_disable_keyboard_navigation()}}if((key==j.keyToNext)||(keycode==39)){if(k.activeImage!=(k.imageArray.length-1)){k.activeImage=k.activeImage+1;_set_image_to_view();_disable_keyboard_navigation()}}}function _preload_neighbor_images(){if((k.imageArray.length-1)>k.activeImage){objNext=new Image();objNext.src=k.imageArray[k.activeImage+1][0]}if(k.activeImage>0){objPrev=new Image();objPrev.src=k.imageArray[k.activeImage-1][0]}}function _finish(){$('#jquery-lightbox').remove();$('#jquery-overlay').fadeOut(function(){$('#jquery-overlay').remove()});if(k.jLightBoxHidedInputs){k.jLightBoxHidedInputs.show();k.jLightBoxHidedInputs=false}}function ___getPageSize(){var a,yScroll;if(window.innerHeight&&window.scrollMaxY){a=window.innerWidth+window.scrollMaxX;yScroll=window.innerHeight+window.scrollMaxY}else if(document.body.scrollHeight>document.body.offsetHeight){a=document.body.scrollWidth;yScroll=document.body.scrollHeight}else{a=document.body.offsetWidth;yScroll=document.body.offsetHeight}var b,windowHeight;if(self.innerHeight){if(document.documentElement.clientWidth){b=document.documentElement.clientWidth}else{b=self.innerWidth}windowHeight=self.innerHeight}else if(document.documentElement&&document.documentElement.clientHeight){b=document.documentElement.clientWidth;windowHeight=document.documentElement.clientHeight}else if(document.body){b=document.body.clientWidth;windowHeight=document.body.clientHeight}if(yScroll<windowHeight){pageHeight=windowHeight}else{pageHeight=yScroll}if(a<b){pageWidth=a}else{pageWidth=b}arrayPageSize=new Array(pageWidth,pageHeight,b,windowHeight);return arrayPageSize};function ___getPageScroll(){var a,yScroll;if(self.pageYOffset){yScroll=self.pageYOffset;a=self.pageXOffset}else if(document.documentElement&&document.documentElement.scrollTop){yScroll=document.documentElement.scrollTop;a=document.documentElement.scrollLeft}else if(document.body){yScroll=document.body.scrollTop;a=document.body.scrollLeft}arrayPageScroll=new Array(a,yScroll);return arrayPageScroll};function ___pause(a){var b=new Date();c=null;do{var c=new Date()}while(c-b<a)};return this.unbind('click').click(_initialize)}})(jQuery);
