/*********************************************************************************
 * fabrique d'images ebusiness GmbH
 * Ankergässele 2
 * 87435 Kempten
 * Germany
 * http://www.fdi.de
 * info[at]fdi.de
 *
 * @Creation: 01.08.2011
 * @Version: 1.0
 *
 * @Client:             Wilhelm Geiger GmbH & Co.KG
 * @Clientwebsite:      http://www.w-geiger.de
 * @Project:            Relaunch 2011
 *
 * JavaScript:
 * @Author:				Markus Pezold
 * @Authorwebsite:      http://www.fdi.de | http://www.black-forever.de
 *
 * Used plugins & basic scripts:
 * 1. Implementation foreach for Internet Explorer < 9
 * 2. Lightweight wrapper for consolelog
 * 3. jQuery Galleriffic plugin
 * 4. jQuery lightBox plugin
 * 5. DOMtab
 * 6. fdi - Simple Form Validation
 * 7. fdi - jQuery Ajax Search Plugin
 * 8: jQuery Search Highlight
 * 9. BatchImageLoad
 *
 *********************************************************************************/

/*********************************************************************************
/* Plugin 1: Implementation foreach for Internet Explorer < 9
/* URL: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/forEach
---------------------------------------------------------------------------------*/

if (!Array.prototype.forEach) {
  Array.prototype.forEach = function(fun /* , thisp */) {
    var len = this.length;
    if (typeof fun != "function") {
      throw new TypeError();
    }

    var thisp = arguments[1];
    for (var i = 0; i < len; i++) {
      if (i in this) {
        fun.call(thisp, this[i], i, this);
      }
    }
  };
}

/*********************************************************************************
/* Plugin 2: Lightweight wrapper for consolelog
/* usage: log('inside coolFunc', this, arguments);
/* URL: paulirish.com/2009/log-a-lightweight-wrapper-for-consolelog/
---------------------------------------------------------------------------------*/

window.log = function(){
  log.history = log.history || [];   // store logs to an array for reference
  log.history.push(arguments);
  arguments.callee = arguments.callee.caller;  
  if(this.console) console.log( Array.prototype.slice.call(arguments) );
};

// make it safe to use console.log always

(function(b){function c(){}for(var d="assert,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,markTimeline,profile,profileEnd,time,timeEnd,trace,warn".split(","),a;a=d.pop();)b[a]=b[a]||c})(window.console=window.console||{});


/*********************************************************************************
/* Plugin 3: jQuery Galleriffic plugin - Version 2.0.1
/* Copyright (c) 2008 Trent Foley (http://trentacular.com)
/* Licensed under the MIT License: http://www.opensource.org/licenses/mit-license.php
/*
/* Much thanks to primary contributer Ponticlaro (http://www.ponticlaro.com)
---------------------------------------------------------------------------------*/

;(function($){var allImages={};var imageCounter=0;$.galleriffic={version:'2.0.1',normalizeHash:function(hash){return hash.replace(/^.*#/,'').replace(/\?.*$/,'');},getImage:function(hash){if(!hash)
return undefined;hash=$.galleriffic.normalizeHash(hash);return allImages[hash];},gotoImage:function(hash){var imageData=$.galleriffic.getImage(hash);if(!imageData)
return false;var gallery=imageData.gallery;gallery.gotoImage(imageData);return true;},removeImageByHash:function(hash,ownerGallery){var imageData=$.galleriffic.getImage(hash);if(!imageData)
return false;var gallery=imageData.gallery;if(ownerGallery&&ownerGallery!=gallery)
return false;return gallery.removeImageByIndex(imageData.index);}};var defaults={delay:3000,numThumbs:20,preloadAhead:40,enableTopPager:false,enableBottomPager:true,maxPagesToShow:7,imageContainerSel:'',captionContainerSel:'',controlsContainerSel:'',loadingContainerSel:'',renderSSControls:true,renderNavControls:true,playLinkText:'Play',pauseLinkText:'Pause',prevLinkText:'Previous',nextLinkText:'Next',nextPageLinkText:'Next ?',prevPageLinkText:'? Prev',enableHistory:false,enableKeyboardNavigation:true,autoStart:false,syncTransitions:false,defaultTransitionDuration:1000,onSlideChange:undefined,onTransitionOut:undefined,onTransitionIn:undefined,onPageTransitionOut:undefined,onPageTransitionIn:undefined,onImageAdded:undefined,onImageRemoved:undefined};$.fn.galleriffic=function(settings){$.extend(this,{version:$.galleriffic.version,isSlideshowRunning:false,slideshowTimeout:undefined,clickHandler:function(e,link){this.pause();if(!this.enableHistory){var hash=$.galleriffic.normalizeHash($(link).attr('href'));$.galleriffic.gotoImage(hash);e.preventDefault();}},appendImage:function(listItem){this.addImage(listItem,false,false);return this;},insertImage:function(listItem,position){this.addImage(listItem,false,true,position);return this;},addImage:function(listItem,thumbExists,insert,position){var $li=(typeof listItem==="string")?$(listItem):listItem;var $aThumb=$li.find('a.thumb');var slideUrl=$aThumb.attr('href');var title=$aThumb.attr('title');var $caption=$li.find('.caption').remove();var hash=$aThumb.attr('name');imageCounter++;if(!hash||allImages[''+hash]){hash=imageCounter;}
if(!insert)
position=this.data.length;var imageData={title:title,slideUrl:slideUrl,caption:$caption,hash:hash,gallery:this,index:position};if(insert){this.data.splice(position,0,imageData);this.updateIndices(position);}
else{this.data.push(imageData);}
var gallery=this;if(!thumbExists){this.updateThumbs(function(){var $thumbsUl=gallery.find('ul.thumbs');if(insert)
$thumbsUl.children(':eq('+position+')').before($li);else
$thumbsUl.append($li);if(gallery.onImageAdded)
gallery.onImageAdded(imageData,$li);});}
allImages[''+hash]=imageData;$aThumb.attr('rel','history').attr('href','#'+hash).removeAttr('name').click(function(e){gallery.clickHandler(e,this);});return this;},removeImageByIndex:function(index){if(index<0||index>=this.data.length)
return false;var imageData=this.data[index];if(!imageData)
return false;this.removeImage(imageData);return true;},removeImageByHash:function(hash){return $.galleriffic.removeImageByHash(hash,this);},removeImage:function(imageData){var index=imageData.index;this.data.splice(index,1);delete allImages[''+imageData.hash];this.updateThumbs(function(){var $li=gallery.find('ul.thumbs').children(':eq('+index+')').remove();if(gallery.onImageRemoved)
gallery.onImageRemoved(imageData,$li);});this.updateIndices(index);return this;},updateIndices:function(startIndex){for(i=startIndex;i<this.data.length;i++){this.data[i].index=i;}
return this;},initializeThumbs:function(){this.data=[];var gallery=this;this.find('ul.thumbs > li').each(function(i){gallery.addImage($(this),true,false);});return this;},isPreloadComplete:false,preloadInit:function(){if(this.preloadAhead==0)return this;this.preloadStartIndex=this.currentImage.index;var nextIndex=this.getNextIndex(this.preloadStartIndex);return this.preloadRecursive(this.preloadStartIndex,nextIndex);},preloadRelocate:function(index){this.preloadStartIndex=index;return this;},preloadRecursive:function(startIndex,currentIndex){if(startIndex!=this.preloadStartIndex){var nextIndex=this.getNextIndex(this.preloadStartIndex);return this.preloadRecursive(this.preloadStartIndex,nextIndex);}
var gallery=this;var preloadCount=currentIndex-startIndex;if(preloadCount<0)
preloadCount=this.data.length-1-startIndex+currentIndex;if(this.preloadAhead>=0&&preloadCount>this.preloadAhead){setTimeout(function(){gallery.preloadRecursive(startIndex,currentIndex);},500);return this;}
var imageData=this.data[currentIndex];if(!imageData)
return this;if(imageData.image)
return this.preloadNext(startIndex,currentIndex);var image=new Image();image.onload=function(){imageData.image=this;gallery.preloadNext(startIndex,currentIndex);};image.alt=imageData.title;image.src=imageData.slideUrl;return this;},preloadNext:function(startIndex,currentIndex){var nextIndex=this.getNextIndex(currentIndex);if(nextIndex==startIndex){this.isPreloadComplete=true;}else{var gallery=this;setTimeout(function(){gallery.preloadRecursive(startIndex,nextIndex);},100);}
return this;},getNextIndex:function(index){var nextIndex=index+1;if(nextIndex>=this.data.length)
nextIndex=0;return nextIndex;},getPrevIndex:function(index){var prevIndex=index-1;if(prevIndex<0)
prevIndex=this.data.length-1;return prevIndex;},pause:function(){this.isSlideshowRunning=false;if(this.slideshowTimeout){clearTimeout(this.slideshowTimeout);this.slideshowTimeout=undefined;}
if(this.$controlsContainer){this.$controlsContainer.find('div.ss-controls a').removeClass().addClass('play').attr('title',this.playLinkText).attr('href','#play').html(this.playLinkText);}
return this;},play:function(){this.isSlideshowRunning=true;if(this.$controlsContainer){this.$controlsContainer.find('div.ss-controls a').removeClass().addClass('pause').attr('title',this.pauseLinkText).attr('href','#pause').html(this.pauseLinkText);}
if(!this.slideshowTimeout){var gallery=this;this.slideshowTimeout=setTimeout(function(){gallery.ssAdvance();},this.delay);}
return this;},toggleSlideshow:function(){if(this.isSlideshowRunning)
this.pause();else
this.play();return this;},ssAdvance:function(){if(this.isSlideshowRunning)
this.next(true);return this;},next:function(dontPause,bypassHistory){this.gotoIndex(this.getNextIndex(this.currentImage.index),dontPause,bypassHistory);return this;},previous:function(dontPause,bypassHistory){this.gotoIndex(this.getPrevIndex(this.currentImage.index),dontPause,bypassHistory);return this;},nextPage:function(dontPause,bypassHistory){var page=this.getCurrentPage();var lastPage=this.getNumPages()-1;if(page<lastPage){var startIndex=page*this.numThumbs;var nextPage=startIndex+this.numThumbs;this.gotoIndex(nextPage,dontPause,bypassHistory);}
return this;},previousPage:function(dontPause,bypassHistory){var page=this.getCurrentPage();if(page>0){var startIndex=page*this.numThumbs;var prevPage=startIndex-this.numThumbs;this.gotoIndex(prevPage,dontPause,bypassHistory);}
return this;},gotoIndex:function(index,dontPause,bypassHistory){if(!dontPause)
this.pause();if(index<0)index=0;else if(index>=this.data.length)index=this.data.length-1;var imageData=this.data[index];if(!bypassHistory&&this.enableHistory)
$.historyLoad(String(imageData.hash));else
this.gotoImage(imageData);return this;},gotoImage:function(imageData){var index=imageData.index;if(this.onSlideChange)
this.onSlideChange(this.currentImage.index,index);this.currentImage=imageData;this.preloadRelocate(index);this.refresh();return this;},getDefaultTransitionDuration:function(isSync){if(isSync)
return this.defaultTransitionDuration;return this.defaultTransitionDuration/2;},refresh:function(){var imageData=this.currentImage;if(!imageData)
return this;var index=imageData.index;if(this.$controlsContainer){this.$controlsContainer.find('div.nav-controls a.prev').attr('href','#'+this.data[this.getPrevIndex(index)].hash).end().find('div.nav-controls a.next').attr('href','#'+this.data[this.getNextIndex(index)].hash);}
var previousSlide=this.$imageContainer.find('span.current').addClass('previous').removeClass('current');var previousCaption=0;if(this.$captionContainer){previousCaption=this.$captionContainer.find('span.current').addClass('previous').removeClass('current');}
var isSync=this.syncTransitions&&imageData.image;var isTransitioning=true;var gallery=this;var transitionOutCallback=function(){isTransitioning=false;previousSlide.remove();if(previousCaption)
previousCaption.remove();if(!isSync){if(imageData.image&&imageData.hash==gallery.data[gallery.currentImage.index].hash){gallery.buildImage(imageData,isSync);}else{if(gallery.$loadingContainer){gallery.$loadingContainer.show();}}}};if(previousSlide.length==0){transitionOutCallback();}else{if(this.onTransitionOut){this.onTransitionOut(previousSlide,previousCaption,isSync,transitionOutCallback);}else{previousSlide.fadeTo(this.getDefaultTransitionDuration(isSync),0.0,transitionOutCallback);if(previousCaption)
previousCaption.fadeTo(this.getDefaultTransitionDuration(isSync),0.0);}}
if(isSync)
this.buildImage(imageData,isSync);if(!imageData.image){var image=new Image();image.onload=function(){imageData.image=this;if(!isTransitioning&&imageData.hash==gallery.data[gallery.currentImage.index].hash){gallery.buildImage(imageData,isSync);}};image.alt=imageData.title;image.src=imageData.slideUrl;}
this.relocatePreload=true;return this.syncThumbs();},buildImage:function(imageData,isSync){var gallery=this;var nextIndex=this.getNextIndex(imageData.index);var newSlide=this.$imageContainer.append('<span class="image-wrapper current"><a class="advance-link" rel="history" href="#'+this.data[nextIndex].hash+'" title="'+imageData.title+'"> </a></span>').find('span.current').css('opacity','0');newSlide.find('a').append(imageData.image).click(function(e){gallery.clickHandler(e,this);});var newCaption=0;if(this.$captionContainer){newCaption=this.$captionContainer.append('<span class="image-caption current"></span>').find('span.current').css('opacity','0').append(imageData.caption);}
if(this.$loadingContainer){this.$loadingContainer.hide();}
if(this.onTransitionIn){this.onTransitionIn(newSlide,newCaption,isSync);}else{newSlide.fadeTo(this.getDefaultTransitionDuration(isSync),1.0);if(newCaption)
newCaption.fadeTo(this.getDefaultTransitionDuration(isSync),1.0);}
if(this.isSlideshowRunning){if(this.slideshowTimeout)
clearTimeout(this.slideshowTimeout);this.slideshowTimeout=setTimeout(function(){gallery.ssAdvance();},this.delay);}
return this;},getCurrentPage:function(){return Math.floor(this.currentImage.index/this.numThumbs);},syncThumbs:function(){var page=this.getCurrentPage();if(page!=this.displayedPage)
this.updateThumbs();var $thumbs=this.find('ul.thumbs').children();$thumbs.filter('.selected').removeClass('selected');$thumbs.eq(this.currentImage.index).addClass('selected');return this;},updateThumbs:function(postTransitionOutHandler){var gallery=this;var transitionOutCallback=function(){if(postTransitionOutHandler)
postTransitionOutHandler();gallery.rebuildThumbs();if(gallery.onPageTransitionIn)
gallery.onPageTransitionIn();else
gallery.show();};if(this.onPageTransitionOut){this.onPageTransitionOut(transitionOutCallback);}else{this.hide();transitionOutCallback();}
return this;},rebuildThumbs:function(){var needsPagination=this.data.length>this.numThumbs;if(this.enableTopPager){var $topPager=this.find('div.top');if($topPager.length==0)
$topPager=this.prepend('<div class="top pagination"></div>').find('div.top');else
$topPager.empty();if(needsPagination)
this.buildPager($topPager);}
if(this.enableBottomPager){var $bottomPager=this.find('div.bottom');if($bottomPager.length==0)
$bottomPager=this.append('<div class="bottom pagination"></div>').find('div.bottom');else
$bottomPager.empty();if(needsPagination)
this.buildPager($bottomPager);}
var page=this.getCurrentPage();var startIndex=page*this.numThumbs;var stopIndex=startIndex+this.numThumbs-1;if(stopIndex>=this.data.length)
stopIndex=this.data.length-1;var $thumbsUl=this.find('ul.thumbs');$thumbsUl.find('li').each(function(i){var $li=$(this);if(i>=startIndex&&i<=stopIndex){$li.show();}else{$li.hide();}});this.displayedPage=page;$thumbsUl.removeClass('noscript');return this;},getNumPages:function(){return Math.ceil(this.data.length/this.numThumbs);},buildPager:function(pager){var gallery=this;var numPages=this.getNumPages();var page=this.getCurrentPage();var startIndex=page*this.numThumbs;var pagesRemaining=this.maxPagesToShow-1;var pageNum=page-Math.floor((this.maxPagesToShow-1)/2)+1;if(pageNum>0){var remainingPageCount=numPages-pageNum;if(remainingPageCount<pagesRemaining){pageNum=pageNum-(pagesRemaining-remainingPageCount);}}
if(pageNum<0){pageNum=0;}
if(page>0){var prevPage=startIndex-this.numThumbs;pager.append('<a rel="history" href="#'+this.data[prevPage].hash+'" title="'+this.prevPageLinkText+'">'+this.prevPageLinkText+'</a>');}
if(pageNum>0){this.buildPageLink(pager,0,numPages);if(pageNum>1)
pager.append('<span class="ellipsis">?</span>');pagesRemaining--;}
while(pagesRemaining>0){this.buildPageLink(pager,pageNum,numPages);pagesRemaining--;pageNum++;}
if(pageNum<numPages){var lastPageNum=numPages-1;if(pageNum<lastPageNum)
pager.append('<span class="ellipsis">?</span>');this.buildPageLink(pager,lastPageNum,numPages);}
var nextPage=startIndex+this.numThumbs;if(nextPage<this.data.length){pager.append('<a rel="history" href="#'+this.data[nextPage].hash+'" title="'+this.nextPageLinkText+'">'+this.nextPageLinkText+'</a>');}
pager.find('a').click(function(e){gallery.clickHandler(e,this);});return this;},buildPageLink:function(pager,pageNum,numPages){var pageLabel=pageNum+1;var currentPage=this.getCurrentPage();if(pageNum==currentPage)
pager.append('<span class="current">'+pageLabel+'</span>');else if(pageNum<numPages){var imageIndex=pageNum*this.numThumbs;pager.append('<a rel="history" href="#'+this.data[imageIndex].hash+'" title="'+pageLabel+'">'+pageLabel+'</a>');}
return this;}});$.extend(this,defaults,settings);if(this.enableHistory&&!$.historyInit)
this.enableHistory=false;if(this.imageContainerSel)this.$imageContainer=$(this.imageContainerSel);if(this.captionContainerSel)this.$captionContainer=$(this.captionContainerSel);if(this.loadingContainerSel)this.$loadingContainer=$(this.loadingContainerSel);this.initializeThumbs();if(this.maxPagesToShow<3)
this.maxPagesToShow=3;this.displayedPage=-1;this.currentImage=this.data[0];var gallery=this;if(this.$loadingContainer)
this.$loadingContainer.hide();if(this.controlsContainerSel){this.$controlsContainer=$(this.controlsContainerSel).empty();if(this.renderSSControls){if(this.autoStart){this.$controlsContainer.append('<div class="ss-controls"><a href="#pause" class="pause" title="'+this.pauseLinkText+'">'+this.pauseLinkText+'</a></div>');}else{this.$controlsContainer.append('<div class="ss-controls"><a href="#play" class="play" title="'+this.playLinkText+'">'+this.playLinkText+'</a></div>');}
this.$controlsContainer.find('div.ss-controls a').click(function(e){gallery.toggleSlideshow();e.preventDefault();return false;});}
if(this.renderNavControls){this.$controlsContainer.append('<div class="nav-controls"><a class="prev" rel="history" title="'+this.prevLinkText+'">'+this.prevLinkText+'</a><a class="next" rel="history" title="'+this.nextLinkText+'">'+this.nextLinkText+'</a></div>').find('div.nav-controls a').click(function(e){gallery.clickHandler(e,this);});}}
var initFirstImage=!this.enableHistory||!location.hash;if(this.enableHistory&&location.hash){var hash=$.galleriffic.normalizeHash(location.hash);var imageData=allImages[hash];if(!imageData)
initFirstImage=true;}
if(initFirstImage)
this.gotoIndex(0,false,true);if(this.enableKeyboardNavigation){$(document).keydown(function(e){var key=e.charCode?e.charCode:e.keyCode?e.keyCode:0;switch(key){case 32:gallery.next();e.preventDefault();break;case 33:gallery.previousPage();e.preventDefault();break;case 34:gallery.nextPage();e.preventDefault();break;case 35:gallery.gotoIndex(gallery.data.length-1);e.preventDefault();break;case 36:gallery.gotoIndex(0);e.preventDefault();break;case 37:gallery.previous();e.preventDefault();break;case 39:gallery.next();e.preventDefault();break;}});}
if(this.autoStart)
this.play();setTimeout(function(){gallery.preloadInit();},1000);return this;};})(jQuery);


/*********************************************************************************
/* Plugin 4: jQuery lightBox plugin - Version 0.5
/* Copyright (c) 2008 Trent Foley (http://trentacular.com)
/*
/* @name jquery-lightbox-0.5.js
/* @author Leandro Vieira Pinho - http://leandrovieira.com
/* @version 0.5
/*
/* @date April 11, 2008
/* @category jQuery plugin
/* @copyright (c) 2008 Leandro Vieira Pinho (leandrovieira.com)
/* @license CCAttribution-ShareAlike 2.5 Brazil - http://creativecommons.org/licenses/by-sa/2.5/br/deed.en_US
/*
/* @example Visit http://leandrovieira.com/projects/jquery/lightbox/ for more informations about this jQuery plugin
/*
/* This jQuery plugin was inspired and based on Lightbox 2 by Lokesh Dhakar
/* (http://www.huddletogether.com/projects/lightbox2/)
---------------------------------------------------------------------------------*/

(function($){$.fn.lightBox=function(settings){settings=jQuery.extend({overlayBgColor:'#000',overlayOpacity:0.8,fixedNavigation:false,imageLoading:$('#mastertemplate_id').val() + '/$file/lightbox-ico-loading.gif',imageBtnPrev:$('#mastertemplate_id').val() + '/$file/lightbox-btn-prev.gif',imageBtnNext:$('#mastertemplate_id').val() + '/$file/lightbox-btn-next.gif',imageBtnClose:$('#mastertemplate_id').val() + '/$file/lightbox-btn-close.gif',imageBlank:$('#mastertemplate_id').val() + '/$file/lightbox-blank.gif',containerBorderSize:10,containerResizeSpeed:400,txtImage:'Bild',txtOf:'von',keyToClose:'c',keyToPrev:'p',keyToNext:'n',imageArray:[],activeImage:0},settings);var jQueryMatchedObj=this;function _initialize(){_start(this,jQueryMatchedObj);return false;}
function _start(objClicked,jQueryMatchedObj){$('embed, object, select').css({'visibility':'hidden'});_set_interface();settings.imageArray.length=0;settings.activeImage=0;if(jQueryMatchedObj.length==1){settings.imageArray.push(new Array(objClicked.getAttribute('href'),objClicked.getAttribute('title')));}else{for(var i=0;i<jQueryMatchedObj.length;i++){settings.imageArray.push(new Array(jQueryMatchedObj[i].getAttribute('href'),jQueryMatchedObj[i].getAttribute('title')));}}
while(settings.imageArray[settings.activeImage][0]!=objClicked.getAttribute('href')){settings.activeImage++;}
_set_image_to_view();}
function _set_interface(){$('body').append('<div id="overlay"></div><div id="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="'+settings.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="'+settings.imageBtnClose+'"></a></div></div></div></div>');var arrPageSizes=___getPageSize();$('#overlay').css({backgroundColor:settings.overlayBgColor,opacity:settings.overlayOpacity,width:arrPageSizes[0],height:arrPageSizes[1]}).fadeIn();var arrPageScroll=___getPageScroll();$('#lightbox').css({top:arrPageScroll[1]+(arrPageSizes[3]/10),left:arrPageScroll[0]}).show();$('#overlay,#lightbox').click(function(){_finish();});$('#lightbox-loading-link,#lightbox-secNav-btnClose').click(function(){_finish();return false;});$(window).resize(function(){var arrPageSizes=___getPageSize();$('#overlay').css({width:arrPageSizes[0],height:arrPageSizes[1]});var arrPageScroll=___getPageScroll();$('lightbox').css({top:arrPageScroll[1]+(arrPageSizes[3]/10),left:arrPageScroll[0]});});}
function _set_image_to_view(){$('#lightbox-loading').show();if(settings.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 objImagePreloader=new Image();objImagePreloader.onload=function(){$('#lightbox-image').attr('src',settings.imageArray[settings.activeImage][0]);_resize_container_image_box(objImagePreloader.width,objImagePreloader.height);objImagePreloader.onload=function(){};};objImagePreloader.src=settings.imageArray[settings.activeImage][0];};function _resize_container_image_box(intImageWidth,intImageHeight){var intCurrentWidth=$('#lightbox-container-image-box').width();var intCurrentHeight=$('#lightbox-container-image-box').height();var intWidth=(intImageWidth+(settings.containerBorderSize*2));var intHeight=(intImageHeight+(settings.containerBorderSize*2));var intDiffW=intCurrentWidth-intWidth;var intDiffH=intCurrentHeight-intHeight;$('#lightbox-container-image-box').animate({width:intWidth,height:intHeight},settings.containerResizeSpeed,function(){_show_image();});if((intDiffW==0)&&(intDiffH==0)){if($.browser.msie){___pause(250);}else{___pause(100);}}
$('#lightbox-container-image-data-box').css({width:intImageWidth});$('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({height:intImageHeight+(settings.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(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').show();$('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({'background':'transparent url('+settings.imageBlank+') no-repeat'});if(settings.activeImage!=0){if(settings.fixedNavigation){$('#lightbox-nav-btnPrev').css({'background':'url('+settings.imageBtnPrev+') left 15% no-repeat'}).unbind().bind('click',function(){settings.activeImage=settings.activeImage-1;_set_image_to_view();return false;});}else{$('#lightbox-nav-btnPrev').unbind().hover(function(){$(this).css({'background':'url('+settings.imageBtnPrev+') left 15% no-repeat'});},function(){$(this).css({'background':'transparent url('+settings.imageBlank+') no-repeat'});}).show().bind('click',function(){settings.activeImage=settings.activeImage-1;_set_image_to_view();return false;});}}
if(settings.activeImage!=(settings.imageArray.length-1)){if(settings.fixedNavigation){$('#lightbox-nav-btnNext').css({'background':'url('+settings.imageBtnNext+') right 15% no-repeat'}).unbind().bind('click',function(){settings.activeImage=settings.activeImage+1;_set_image_to_view();return false;});}else{$('#lightbox-nav-btnNext').unbind().hover(function(){$(this).css({'background':'url('+settings.imageBtnNext+') right 15% no-repeat'});},function(){$(this).css({'background':'transparent url('+settings.imageBlank+') no-repeat'});}).show().bind('click',function(){settings.activeImage=settings.activeImage+1;_set_image_to_view();return false;});}}
_enable_keyboard_navigation();}
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;}
key=String.fromCharCode(keycode).toLowerCase();if((key==settings.keyToClose)||(key=='x')||(keycode==escapeKey)){_finish();}
if((key==settings.keyToPrev)||(keycode==37)){if(settings.activeImage!=0){settings.activeImage=settings.activeImage-1;_set_image_to_view();_disable_keyboard_navigation();}}
if((key==settings.keyToNext)||(keycode==39)){if(settings.activeImage!=(settings.imageArray.length-1)){settings.activeImage=settings.activeImage+1;_set_image_to_view();_disable_keyboard_navigation();}}}
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(){$('#lightbox').remove();$('#overlay').fadeOut(function(){$('#overlay').remove();});$('embed, object, select').css({'visibility':'visible'});}
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 ___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 ___pause(ms){var date=new Date();curDate=null;do{var curDate=new Date();}
while(curDate-date<ms);};return this.unbind('click').click(_initialize);};})(jQuery);


/*********************************************************************************
/* Plugin 5: DOMtab - Version 3.1415927
/* Copyright (c) 2006 Christian Heilmann (http://www.wait-till-i.com)
/*
/* @name jquery-lightbox-0.5.js
/* @author Christian Heilmann - http://www.wait-till-i.com
/* @version 0.5
/*
/* @date March 1, 2006
/* @copyright (c) 2006 Christian Heilmann (http://www.wait-till-i.com)
/* @license free to use, not free to resell
/*
/* @example Visit http://onlinetools.org/tools/domtabdata/
/*
---------------------------------------------------------------------------------*/

domtab={tabClass:'domtab',listClass:'domtabs',activeClass:'active',contentElements:'div',backToLinks:/#top/,printID:'domtabprintview',showAllLinkText:'show all content',prevNextIndicator:'doprevnext',prevNextClass:'prevnext',prevLabel:'previous',nextLabel:'next',prevClass:'prev',nextClass:'next',init:function(){var temp;if(!document.getElementById||!document.createTextNode){return;}
var tempelm=document.getElementsByTagName('div');for(var i=0;i<tempelm.length;i++){if(!domtab.cssjs('check',tempelm[i],domtab.tabClass)){continue;}
domtab.initTabMenu(tempelm[i]);domtab.removeBackLinks(tempelm[i]);if(domtab.cssjs('check',tempelm[i],domtab.prevNextIndicator)){domtab.addPrevNext(tempelm[i]);}
domtab.checkURL();}
if(document.getElementById(domtab.printID)&&!document.getElementById(domtab.printID).getElementsByTagName('a')[0]){var newlink=document.createElement('a');newlink.setAttribute('href','#');domtab.addEvent(newlink,'click',domtab.showAll,false);newlink.onclick=function(){return false;}
newlink.appendChild(document.createTextNode(domtab.showAllLinkText));document.getElementById(domtab.printID).appendChild(newlink);}},checkURL:function(){var id;var loc=window.location.toString();loc=/#/.test(loc)?loc.match(/#(\w.+)/)[1]:'';if(loc==''){return;}
var elm=document.getElementById(loc);if(!elm){return;}
var parentMenu=elm.parentNode.parentNode.parentNode;parentMenu.currentSection=loc;parentMenu.getElementsByTagName(domtab.contentElements)[0].style.display='none';domtab.cssjs('remove',parentMenu.getElementsByTagName('a')[0].parentNode,domtab.activeClass);var links=parentMenu.getElementsByTagName('a');for(i=0;i<links.length;i++){if(!links[i].getAttribute('href')){continue;}
if(!/#/.test(links[i].getAttribute('href').toString())){continue;}
id=links[i].href.match(/#(\w.+)/)[1];if(id==loc){var cur=links[i].parentNode.parentNode;domtab.cssjs('add',links[i].parentNode,domtab.activeClass);break;}}
domtab.changeTab(elm,1);elm.focus();cur.currentLink=links[i];cur.currentSection=loc;},showAll:function(e){document.getElementById(domtab.printID).parentNode.removeChild(document.getElementById(domtab.printID));var tempelm=document.getElementsByTagName('div');for(var i=0;i<tempelm.length;i++){if(!domtab.cssjs('check',tempelm[i],domtab.tabClass)){continue;}
var sec=tempelm[i].getElementsByTagName(domtab.contentElements);for(var j=0;j<sec.length;j++){sec[j].style.display='block';}}
var tempelm=document.getElementsByTagName('ul');for(i=0;i<tempelm.length;i++){if(!domtab.cssjs('check',tempelm[i],domtab.prevNextClass)){continue;}
tempelm[i].parentNode.removeChild(tempelm[i]);i--;}
domtab.cancelClick(e);},addPrevNext:function(menu){var temp;var sections=menu.getElementsByTagName(domtab.contentElements);for(var i=0;i<sections.length;i++){temp=domtab.createPrevNext();if(i==0){temp.removeChild(temp.getElementsByTagName('li')[0]);}
if(i==sections.length-1){temp.removeChild(temp.getElementsByTagName('li')[1]);}
temp.i=i;temp.menu=menu;sections[i].appendChild(temp);}},removeBackLinks:function(menu){var links=menu.getElementsByTagName('a');for(var i=0;i<links.length;i++){if(!domtab.backToLinks.test(links[i].href)){continue;}
links[i].parentNode.removeChild(links[i]);i--;}},initTabMenu:function(menu){var id;var lists=menu.getElementsByTagName('ul');for(var i=0;i<lists.length;i++){if(domtab.cssjs('check',lists[i],domtab.listClass)){var thismenu=lists[i];break;}}
if(!thismenu){return;}
thismenu.currentSection='';thismenu.currentLink='';var links=thismenu.getElementsByTagName('a');for(i=0;i<links.length;i++){if(!/#/.test(links[i].getAttribute('href').toString())){continue;}
id=links[i].href.match(/#(\w.+)/)[1];if(document.getElementById(id)){domtab.addEvent(links[i],'click',domtab.showTab,false);links[i].onclick=function(){return false;}
domtab.changeTab(document.getElementById(id),0);}}
id=links[0].href.match(/#(\w.+)/)[1];if(document.getElementById(id)){domtab.changeTab(document.getElementById(id),1);thismenu.currentSection=id;thismenu.currentLink=links[0];domtab.cssjs('add',links[0].parentNode,domtab.activeClass);}},createPrevNext:function(){var temp=document.createElement('ul');temp.className=domtab.prevNextClass;temp.appendChild(document.createElement('li'));temp.getElementsByTagName('li')[0].appendChild(document.createElement('a'));temp.getElementsByTagName('a')[0].setAttribute('href','#');temp.getElementsByTagName('a')[0].innerHTML=domtab.prevLabel;temp.getElementsByTagName('li')[0].className=domtab.prevClass;temp.appendChild(document.createElement('li'));temp.getElementsByTagName('li')[1].appendChild(document.createElement('a'));temp.getElementsByTagName('a')[1].setAttribute('href','#');temp.getElementsByTagName('a')[1].innerHTML=domtab.nextLabel;temp.getElementsByTagName('li')[1].className=domtab.nextClass;domtab.addEvent(temp.getElementsByTagName('a')[0],'click',domtab.navTabs,false);domtab.addEvent(temp.getElementsByTagName('a')[1],'click',domtab.navTabs,false);temp.getElementsByTagName('a')[0].onclick=function(){return false;}
temp.getElementsByTagName('a')[1].onclick=function(){return false;}
return temp;},navTabs:function(e){var li=domtab.getTarget(e);var menu=li.parentNode.parentNode.menu;var count=li.parentNode.parentNode.i;var section=menu.getElementsByTagName(domtab.contentElements);var links=menu.getElementsByTagName('a');var othercount=(li.parentNode.className==domtab.prevClass)?count-1:count+1;section[count].style.display='none';domtab.cssjs('remove',links[count].parentNode,domtab.activeClass);section[othercount].style.display='block';domtab.cssjs('add',links[othercount].parentNode,domtab.activeClass);var parent=links[count].parentNode.parentNode;parent.currentLink=links[othercount];parent.currentSection=links[othercount].href.match(/#(\w.+)/)[1];domtab.cancelClick(e);},changeTab:function(elm,state){do{elm=elm.parentNode;}while(elm.nodeName.toLowerCase()!=domtab.contentElements)
elm.style.display=state==0?'none':'block';},showTab:function(e){var o=domtab.getTarget(e);if(o.parentNode.parentNode.currentSection!=''){domtab.changeTab(document.getElementById(o.parentNode.parentNode.currentSection),0);domtab.cssjs('remove',o.parentNode.parentNode.currentLink.parentNode,domtab.activeClass);}
var id=o.href.match(/#(\w.+)/)[1];o.parentNode.parentNode.currentSection=id;o.parentNode.parentNode.currentLink=o;domtab.cssjs('add',o.parentNode,domtab.activeClass);domtab.changeTab(document.getElementById(id),1);document.getElementById(id).focus();domtab.cancelClick(e);},getTarget:function(e){var target=window.event?window.event.srcElement:e?e.target:null;if(!target){return false;}
if(target.nodeName.toLowerCase()!='a'){target=target.parentNode;}
return target;},cancelClick:function(e){if(window.event){window.event.cancelBubble=true;window.event.returnValue=false;return;}
if(e){e.stopPropagation();e.preventDefault();}},addEvent:function(elm,evType,fn,useCapture){if(elm.addEventListener)
{elm.addEventListener(evType,fn,useCapture);return true;}else if(elm.attachEvent){var r=elm.attachEvent('on'+evType,fn);return r;}else{elm['on'+evType]=fn;}},cssjs:function(a,o,c1,c2){switch(a){case'swap':o.className=!domtab.cssjs('check',o,c1)?o.className.replace(c2,c1):o.className.replace(c1,c2);break;case'add':if(!domtab.cssjs('check',o,c1)){o.className+=o.className?' '+c1:c1;}
break;case'remove':var rep=o.className.match(' '+c1)?' '+c1:c1;o.className=o.className.replace(rep,'');break;case'check':var found=false;var temparray=o.className.split(' ');for(var i=0;i<temparray.length;i++){if(temparray[i]==c1){found=true;}}
return found;break;}}}
domtab.addEvent(window,'load',domtab.init,false);

/*********************************************************************************
/* Plugin 6: Simple Form Validation - Version x.x
/* Copyright (c) 2010 fabrique d'images ebusiness GmbH (http://www.fdi.de)
/*
/* @name simple form validation
/* @author fabrique d'images ebusiness GmbH - http://www.fdi.de
/* @version x.x
/*
/* @date 2010
/* @copyright (c) 2010 fabrique d'images ebusiness GmbH (http://www.fdi.de)
/*
---------------------------------------------------------------------------------*/

(function($){$.fn.validate=function(options){var defaults={stdError:unescape("Bitte f%FCllen Sie alle Pflichtfelder aus%21"),mailError:'Die E-Mail-Adresse ist nicht korrekt - Bsp: test@test.de',captError:'Der Sicherheitscode wurde nicht korrekt eingegeben!',captcha:true,errClass:'error',errMsgSel:'#error',minLen:1,maxLen:10000};var opts=jQuery.extend(defaults,options);var isValid=true,len=0,msg="",min,max,tmpMin,tmpMax;this.submit(function(){isValid=true;if(opts.captcha==true){captValid=false;isValidCaptcha();};msg="";stdErr=false;$('.required',this).each(function(){if($(this).is(':text,:password,textarea,select')){if($(this).hasClass("email")){isValidMail($(this).val())?clean(this):markError(this,opts.mailError);}else{tmpMin=getExtraVal($(this).attr("class"),"min_");tmpMax=getExtraVal($(this).attr("class"),"max_");tmpMin!=""?min=parseInt(tmpMin):min=opts.minLen;tmpMax!=""?max=parseInt(tmpMax):max=opts.maxLen;len=$(this).val().length;if(len<min||len>max){markError(this);stdErr=true}else{clean(this)};}}else if($(this).is(':radio,:checkbox')){$(this).is(":checked")?clean(this):markError(this);}});if(opts.captcha==true){if(captValid==false){markError($("#captcha"),opts.captError)}};if(stdErr==true){msg+=opts.stdError;};isValid?cleanMsg():showMsg();return isValid;});function isValidMail(email){var regex=/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;return regex.test(email);}
function isValidCaptcha(){var captcha=$("#captcha").val();if(captcha!=""){$.ajax({type:"GET",async:false,dataType:"text",url:$("#curr_db_path").val()+"(web_formular_checkcaptcha)?OpenAgent",data:"captcha="+captcha,success:function(msg){validCapt($.trim(msg));}});}}
function validCapt(reply){if(reply=="ERROR"){captValid=false;}else{captValid=true;}}
function markError(domElement,addMsg){isValid=false;addMsg?msg+=addMsg+"<br>":"";$(domElement).addClass(opts.errClass);}
function clean(domElement){$(domElement).removeClass(opts.errClass);}
function showMsg(){$(opts.errMsgSel).html(msg).show();}
function cleanMsg(){$(opts.errMsgSel).html("").hide();}
function getExtraVal(classString,extra){var classArr,found=false,extraClass="";classArr=classString.split(" ");for(i=0;i<classArr.length;i++){if(classArr[i].indexOf(extra)!=-1){found=true;extraClass=classArr[i];}}
return found?extraClass.substr(extraClass.indexOf("_")+1):"";}};})(jQuery);

/*********************************************************************************
/* Plugin 7: jQuery Ajax Search Plugin - Version x.x
/* Copyright (c) 2011 fabrique d'images ebusiness GmbH (http://www.fdi.de)
/*
/* @name jQuery Ajax Search Plugin
/* @author fabrique d'images ebusiness GmbH - http://www.fdi.de
/* @version x.x
/*
/* @date 2011
/* @copyright (c) 2011 fabrique d'images ebusiness GmbH (http://www.fdi.de)
/*
---------------------------------------------------------------------------------*/

(function($){$.fn.fdiAjaxSearch=function(options){var opts=$.extend({},$.fn.fdiAjaxSearch.defaults,options),log=function(msg){if(window.console&&typeof(window.console.log)==="function"){console.log(msg);}},doSearch=function(searchParams,searchTerm){var loc=location.pathname,dbpfad=loc.substr(0,loc.indexOf('.nsf')+4)+"/",ajaxURL=dbpfad+"web_suche_ft_ajax",ajaxURLParams='OpenAgent&sprache='+searchParams.lang+'&oua='+searchParams.oua+'&query='+
searchTerm+'&sort='+searchParams.sort+'&ftsearch='+searchParams.ftsearch+'&ns='+searchParams.ns;$.ajax({url:ajaxURL,dataType:'text',data:ajaxURLParams,beforeSend:function(){$(opts.showWaitSelector).show();},complete:function(){$(opts.showWaitSelector).hide();},success:function(response){var json=eval("("+response+")");try{opts.renderResult(json,opts.loadResultsInSelector);}catch(e){log("error show search results");}},error:function(response){log("error at ajax search request");try{log(response.responseText);}catch(e){}}});};return this.each(function(){var $search=$(this),searchParamObj={'lang':opts.lang,'sort':opts.search.sort,'ftsearch':opts.search.ftsearch,'oua':opts.search.oua,'ns':opts.search.ns};$search.keypress(function(e){if(opts.searchTrigger==='return'){if(e.keyCode===13){doSearch(searchParamObj,$search.val());e.preventDefault();}}else if(opts.searchTrigger==='automatic'){if($search.val().length+1>=opts.minCharacters){doSearch(searchParamObj,$search.val());}}else{log("error in fdiAjaxSearch: wrong parameter for searchTrigger");}});$(opts.searchButtonSelector).click(function(e){doSearch(searchParamObj,$search.val());e.preventDefault();});});};$.fn.fdiAjaxSearch.defaults={'renderResult':'showAjaxSearchResults','showWaitSelector':'#showAjaxWaitStatus','lastResultIsDummy':true,'lang':'de','searchInputSelector':'#search','searchButtonSelector':'#searchBtn','searchTrigger':'return','minCharacters':3,'loadResultsInSelector':'#content','search':{'sort':0,'ftsearch':0,'oua':1,'ns':0}};})(jQuery);

/*********************************************************************************
/* Plugin 8: jQuery Search Highlight - Version x.x
/* Copyright (c) 2011 fabrique d'images ebusiness GmbH (http://www.fdi.de)
/*
/* @name jQuery Search Highlight
/* @author fabrique d'images ebusiness GmbH - http://www.fdi.de
/* @version x.x
/*
/* @date 2011
/* @copyright (c) 2011 fabrique d'images ebusiness GmbH (http://www.fdi.de)
/*
---------------------------------------------------------------------------------*/

jQuery.fn.highlight=function(pat){function innerHighlight(node,pat){var skip=0;if(node.nodeType==3){var pos=node.data.toUpperCase().indexOf(pat);if(pos>=0){var spannode=document.createElement('span');spannode.className='highlight';var middlebit=node.splitText(pos);var endbit=middlebit.splitText(pat.length);var middleclone=middlebit.cloneNode(true);spannode.appendChild(middleclone);middlebit.parentNode.replaceChild(spannode,middlebit);skip=1;}}
else if(node.nodeType==1&&node.childNodes&&!/(script|style)/i.test(node.tagName)){for(var i=0;i<node.childNodes.length;++i){i+=innerHighlight(node.childNodes[i],pat);}}
return skip;}
return this.each(function(){innerHighlight(this,pat.toUpperCase());});};jQuery.fn.removeHighlight=function(){return this.find("span.highlight").each(function(){this.parentNode.firstChild.nodeName;with(this.parentNode){replaceChild(this.firstChild,this);normalize();}}).end();};

/*********************************************************************************
/* Plugin 9: BatchImageLoad
/* Copyright (c) H. Yankov (http://yankov.us)
/*
/*  Plugin which is applied on a list of img objects and calls
/*  the specified callback function, only when all of them are loaded (or errored).
/*
/* @name BatchImageLoad
/* @author H. Yankov - http://yankov.us
/* @version 1.0.0 (Feb/22/2010)
/*
/* @date Feb. 20101
/* @copyright (c) 2010 H. Yankov (http://yankov.us)
/*
---------------------------------------------------------------------------------*/
(function($) {
$.fn.batchImageLoad = function(options) {
	var images = $(this);
	var totalImagesCount = images.size();
	var elementsLoaded = 0;

	// Init
	$.fn.batchImageLoad.defaults = {
		loadingCompleteCallback: null
	}
    var opts = $.extend({}, $.fn.batchImageLoad.defaults, options);
		
	// Start
	images.each(function() {
		// The image has already been loaded (cached)
		if ($(this)[0].complete) {
			totalImagesCount--;
		// The image is loading, so attach the listener
		} else {
			$(this).load(function() {
				elementsLoaded++;
					
				// An image has been loaded
				if (elementsLoaded >= totalImagesCount)
					if (opts.loadingCompleteCallback) opts.loadingCompleteCallback();
			});
			$(this).error(function() {
				elementsLoaded++;
					
				// The image has errored
				if (elementsLoaded >= totalImagesCount)
					if (opts.loadingCompleteCallback) opts.loadingCompleteCallback();
			});
		}
	});

	// There are no unloaded images
	if (totalImagesCount <= 0)
		if (opts.loadingCompleteCallback) opts.loadingCompleteCallback();
};
})(jQuery);
