// Stage-jQuery-Plugin
(function($){$.fn.stage=function(oSettings){var oConfig={'iInterval':5000,'iDuration':1000,'oSelectors':{'slides':'div','wallpaperContainer':'#wallpaper','wallpapers':'div','navigationContainer':'#themennavi','navigationItems':'dd','bodyElement':'body','hotspotLinks':'ul a'},'sBackgroundColourClassPrefix':'hintergrundfarbe-','sActiveNavigationItemClass':'active'};if(oSettings)
{$.extend(oConfig,oSettings);}
this.each(function()
{new Stage(this,oConfig);});return this;};function Stage(oSlideContainer,oConfig)
{var oSlides=null;var oWallpaperContainer=null;var oWallpapers=null;var oNavigationContainer=null;var oNavigationItems=null;var oBodyElement=null;var iSlideCount=0;var iCurrentIndex=0;var iAnimationCount=0;var bInitReady=false;var bDocumentLoaded=false;var bPEActive=false;var bPERunning=false;var oTimer=null;var oAnimationQueue=function(){};$(window).load(function(){bDocumentLoaded=true;startPE();});init();function init()
{oSlides=$(oSlideContainer).find(oConfig.oSelectors.slides);oWallpaperContainer=$(oConfig.oSelectors.wallpaperContainer);oWallpapers=$(oWallpaperContainer).find(oConfig.oSelectors.wallpapers);oNavigationContainer=$(oConfig.oSelectors.navigationContainer);oNavigationItems=$(oNavigationContainer).find(oConfig.oSelectors.navigationItems);oBodyElement=$(oConfig.oSelectors.bodyElement);iSlideCount=Math.min(oSlides.length,Math.min(oWallpapers.length,oNavigationItems.length));for(var i=1;i<oSlides.length;i++)
{$(oSlides[i]).hide();}
for(var i=1;i<oWallpapers.length;i++)
{$(oWallpapers[i]).hide();}
$(oNavigationItems[0]).addClass(oConfig.sActiveNavigationItemClass);$(oNavigationItems).each(function(i)
{$(this).click((function(iIndex)
{return function()
{oAnimationQueue=function()
{oAnimationQueue=function(){};stopPE();showSlideByIndex(iIndex);startPE();};if(iAnimationCount>0)
{return false;}
else
{oAnimationQueue();}}})(i));});$(oSlides).find(oConfig.oSelectors.hotspotLinks).hover(stopPE,startPE);bInitReady=true;startPE();}
function startPE()
{if(!bInitReady||!bDocumentLoaded)return false;bPEActive=true;executePE();}
function stopPE()
{bPEActive=false;bPERunning=false;clearTimeout(oTimer);}
function executePE()
{if(bPERunning)
return false;bPERunning=true;oTimer=window.setTimeout(function()
{if(bPEActive)
{showSlideByIndex(getNextIndex());}
bPERunning=false;},oConfig.iInterval);}
function showSlideByIndex(iIndex)
{if(iIndex<0||iIndex>=iSlideCount)
{return false;}
if(iIndex==iCurrentIndex)
{finishAnimation();return false;}
iAnimationCount=4;$(oBodyElement).removeClass(oConfig.sBackgroundColourClassPrefix+(iCurrentIndex+1)).addClass(oConfig.sBackgroundColourClassPrefix+(iIndex+1));$(oSlides[iIndex]).fadeIn(oConfig.iDuration,finishAnimation);$(oSlides[iCurrentIndex]).fadeOut(oConfig.iDuration,finishAnimation);$(oWallpapers[iIndex]).fadeIn(oConfig.iDuration,finishAnimation);$(oWallpapers[iCurrentIndex]).fadeOut(oConfig.iDuration,finishAnimation);$(oNavigationItems[iIndex]).addClass(oConfig.sActiveNavigationItemClass);$(oNavigationItems[iCurrentIndex]).removeClass(oConfig.sActiveNavigationItemClass);iCurrentIndex=iIndex;}
function finishAnimation()
{if(--iAnimationCount==0)
{executePE();oAnimationQueue();}}
function getNextIndex()
{iIndex=iCurrentIndex+1;if(iIndex>=iSlideCount)
{iIndex=0;}
return iIndex;}}})(jQuery);
