(function($){$.fn.barousel=function(callerSettings){var settings=$.extend({imageWrapper:'.barousel_image',contentWrapper:'.barousel_content',contentLinksWrapper:null,navWrapper:'.barousel_nav',slideDuration:5000,navType:1,fadeIn:1,fadeInSpeed:600,manualCarousel:0,contentResize:1,contentResizeSpeed:300,debug:0},callerSettings||{});settings.imageWrapper=$(this).find(settings.imageWrapper);settings.contentWrapper=$(this).find(settings.contentWrapper);settings.contentLinksWrapper=$(settings.contentLinksWrapper);settings.navWrapper=$(this).find(settings.navWrapper);settings.imageList=settings.imageWrapper.find('img').not('[class*=intro]');settings.contentList=settings.contentWrapper.find('div').not('[class*=intro]');settings.contentLinksList=settings.contentLinksWrapper.find('a');settings.imageIntro=settings.imageWrapper.find('img[class*=intro]');settings.contentIntro=settings.contentWrapper.find('div[class*=intro]');settings.currentIndex=0;settings.totalItem=settings.imageList.length;settings.stopCarousel=0;settings.timerCarousel;settings.navFreeze=0;settings.introActive=0;if(settings.imageWrapper.find('img[class*=intro]').length>0){settings.introActive=1;}
if(settings.totalItem==1){}else{settings.imageList.each(function(n){this.index=n;});settings.contentList.each(function(n){this.index=n;});settings.contentLinksList.each(function(n){this.index=n;});if(settings.imageList.length!=settings.contentList.length){if(settings.debug==1)console.log('[Barousel error] images and contents must be the same number');return this;}
if(settings.contentResize==1&&settings.introActive==0){$(settings.contentWrapper).height($(settings.contentList[settings.currentIndex]).height()+10);}
if(settings.contentLinksWrapper!=null){$(settings.contentLinksList[settings.currentIndex]).addClass('current');}
if(settings.navType==1){var strNavList="<ul>";settings.imageList.each(function(n){var currentClass="";if(n==0)currentClass="current";strNavList+="<li><a href='#' title='"+$(settings.contentList[n]).find('p.header').text()+"' class='"+currentClass+"'>�</a></li>";});strNavList+="</ul>";settings.navWrapper.append(strNavList);settings.navList=settings.navWrapper.find('a');settings.navList.each(function(n){this.index=n;});}else if(settings.navType==2){var strNavList="<ul>";strNavList+="<li class='prev'><a href='#' title='previous'>�</a></li>";strNavList+="<li class='next'><a href='#' title='next'>�</a></li>";strNavList+="</ul><div class='counter'><span class='counter_current'>1</span>/<span class='counter_total'>"+settings.totalItem+"</span></div>";settings.navWrapper.append(strNavList);settings.navList=settings.navWrapper.find('a');}else if(settings.navType==3){settings.navList=settings.navWrapper.find('a');settings.navList.each(function(n){this.index=n;});}
if(settings.navType==1||settings.navType==3){settings.navList.each(function(n){$(this).click(function(){if(settings.navFreeze==0){window.clearTimeout(settings.timerCarousel);settings.stopCarousel=1;if(settings.currentIndex!=n||settings.introActive==1){loadItem(settings,n);settings.currentIndex=n;}}
settings.introActive=0;return false;});});}else if(settings.navType==2){settings.navList.each(function(){$(this).click(function(){if(settings.navFreeze==0){window.clearTimeout(settings.timerCarousel);settings.stopCarousel=1;if($(this).parent().hasClass('prev')){var previousIndex;if(parseInt(settings.currentIndex)==0){previousIndex=parseInt(settings.totalItem)-1;}else{previousIndex=parseInt(settings.currentIndex)-1;}
loadItem(settings,previousIndex);settings.currentIndex=previousIndex;}else if($(this).parent().hasClass('next')){var nextIndex;if(parseInt(settings.currentIndex)==(parseInt(settings.totalItem)-1)){nextIndex=0;}else{nextIndex=parseInt(settings.currentIndex)+1;}
loadItem(settings,nextIndex);settings.currentIndex=nextIndex;}}
settings.introActive=0;return false;});});}
if(settings.manualCarousel==0){var loadItemCall=function(){loadItem(settings,1);};settings.timerCarousel=window.setTimeout(loadItemCall,settings.slideDuration);}}
return this;};var loadItem=function(settings,index){if(settings.navType!=2){settings.navList.each(function(n){$(this).removeClass('current');});$(settings.navList[index]).addClass('current');}
var currentImage;if(settings.introActive==1){currentImage=$(settings.imageIntro);}else{currentImage=$(settings.imageList[settings.currentIndex]);}
var nextImage=$(settings.imageList[index]);if(settings.debug==1){console.log('[Barousel loadItem] currentImage:'+currentImage.attr('src'));console.log('[Barousel loadItem] nextImage:'+nextImage.attr('src'));}
if(!currentImage.hasClass('default')){currentImage.attr('class','previous');}
nextImage.attr('class','current');if(settings.fadeIn==0){nextImage.show();currentImage.hide();loadModuleContent(settings,index);}else{settings.navFreeze=1;$(settings.contentList).hide();nextImage.fadeIn(settings.fadeInSpeed,function(){currentImage.hide();currentImage.removeClass('previous');settings.navFreeze=0;});loadModuleContent(settings,index);}
if(settings.stopCarousel==0){settings.currentIndex=index;var nextIndex;if(settings.currentIndex==settings.totalItem-1){nextIndex=0;}else{nextIndex=parseInt(settings.currentIndex)+1;}
var loadItemCall=function(){loadItem(settings,nextIndex);};settings.timerCarousel=window.setTimeout(loadItemCall,settings.slideDuration);}};var loadModuleContent=function(settings,index){if(settings.introActive==1){$(settings.contentIntro).hide();$(settings.contentWrapper).attr('class','');}
if(settings.contentResize==1&&parseInt($(settings.contentWrapper).height())!=parseInt($(settings.contentList[index]).height()+10)){$(settings.contentWrapper).animate({height:$(settings.contentList[index]).height()+10},settings.contentResizeSpeed,function(){loadModuleContentAction(settings,index);});}else{loadModuleContentAction(settings,index);}
if(settings.navType==2){$(settings.navWrapper).find('.counter_current').text(index+1);}};var loadModuleContentAction=function(settings,index){$(settings.contentList).hide();$(settings.contentList[index]).show();if(settings.contentLinksWrapper!=null){$(settings.contentLinksList).removeClass('current');$(settings.contentLinksList[index]).addClass('current');}};})(jQuery);
