(function(p){p.fn.carousel=function(a){var a=p.extend({direction:"horizontal",loop:false,dispItems:1,pagination:false,paginationPosition:"inside",nextBtn:'<a role="button">Next</a>',prevBtn:'<a role="button">Previous</a>',btnsPosition:"inside",nextBtnInsert:"appendTo",prevBtnInsert:"prependTo",nextBtnInsertFn:false,prevBtnInsertFn:false,autoSlide:false,autoSlideInterval:3000,delayAutoSlide:false,combinedClasses:false,effect:"slide",slideEasing:"swing",animSpeed:"normal",equalWidths:"true",verticalMargin:0,callback:function(){},useAddress:false,adressIdentifier:"carousel",tabLabel:function(b){return b},showEmptyItems:true},a);if(a.btnsPosition=="outside"){a.prevBtnInsert="insertBefore";a.nextBtnInsert="insertAfter"}a.delayAutoSlide=a.delayAutoSlide||a.autoSlideInterval;return this.each(function(){var b={$elts:{},params:a,launchOnLoad:[]};b.$elts.carousel=p(this).addClass("js");b.$elts.content=p(this).children().css({position:"absolute",top:0});b.$elts.wrap=b.$elts.content.wrap('<div class="carousel-wrap"></div>').parent().css({overflow:"hidden",position:"relative"});b.steps={first:0,count:b.$elts.content.children().length};b.steps.last=b.steps.count-1;if(p.isFunction(b.params.prevBtnInsertFn)){b.$elts.prevBtn=b.params.prevBtnInsertFn(b.$elts)}else{b.$elts.prevBtn=p(a.prevBtn)[a.prevBtnInsert](b.$elts.carousel)}if(p.isFunction(b.params.nextBtnInsertFn)){b.$elts.nextBtn=b.params.nextBtnInsertFn(b.$elts)}else{b.$elts.nextBtn=p(a.nextBtn)[a.nextBtnInsert](b.$elts.carousel)}b.$elts.nextBtn.addClass("carousel-control next carousel-next");b.$elts.prevBtn.addClass("carousel-control previous carousel-previous");r(b);if(b.params.pagination){j(b)}k(b);p(function(){var e=b.$elts.content.children();var c=0;e.each(function(){$item=p(this);$itemHeight=$item.outerHeight();if($itemHeight>c){c=$itemHeight}});if(b.params.verticalMargin>0){c=c+b.params.verticalMargin}e.height(c);var d=b.$elts.content.children(":first");b.itemWidth=d.outerWidth();if(a.direction=="vertical"){b.contentWidth=b.itemWidth}else{if(a.equalWidths){b.contentWidth=b.itemWidth*b.steps.count}else{b.contentWidth=(function(){var f=0;b.$elts.content.children().each(function(){f+=p(this).outerWidth()});return f})()}}b.$elts.content.width(b.contentWidth);b.itemHeight=c;if(a.direction=="vertical"){b.$elts.content.css({height:b.itemHeight*b.steps.count+"px"});b.$elts.content.parent().css({height:b.itemHeight*b.params.dispItems+"px"})}else{b.$elts.content.parent().css({height:"600px"})}o(b);p.each(b.launchOnLoad,function(g,f){f()});if(b.params.autoSlide){window.setTimeout(function(){b.autoSlideInterval=window.setInterval(function(){q(b,n(b,"next"))},b.params.autoSlideInterval)},b.params.delayAutoSlide)}})})};function r(a){a.$elts.nextBtn.add(a.$elts.prevBtn).bind("enable",function(){var b=p(this).unbind("click").bind("click",function(){q(a,n(a,(b.is(".next")?"next":"prev")));l(a)}).removeClass("disabled");if(a.params.combinedClasses){b.removeClass("next-disabled previous-disabled")}}).bind("disable",function(){var b=p(this).unbind("click").addClass("disabled");if(a.params.combinedClasses){if(b.is(".next")){b.addClass("next-disabled")}else{if(b.is(".previous")){b.addClass("previous-disabled")}}}}).hover(function(){p(this).toggleClass("hover")})}function j(a){a.$elts.pagination=p('<div class="center-wrap"><div class="carousel-pagination"><p></p></div></div>')[((a.params.paginationPosition=="outside")?"insertAfter":"appendTo")](a.$elts.carousel).find("p");a.$elts.paginationBtns=p([]);a.$elts.content.find("li").each(function(b){if(b%a.params.dispItems==0){a.$elts.paginationBtns=a.$elts.paginationBtns.add(p('<a role="button"><span>'+a.params.tabLabel(a.$elts.paginationBtns.length+1)+"</span></a>").data("firstStep",b))}});a.$elts.paginationBtns.each(function(){p(this).appendTo(a.$elts.pagination)});a.$elts.paginationBtns.slice(0,1).addClass("active");a.launchOnLoad.push(function(){a.$elts.paginationBtns.click(function(b){q(a,p(this).data("firstStep"));l(a)})})}function k(a){if(a.params.useAddress&&p.isFunction(p.fn.address)){p.address.init(function(b){var c=p.address.pathNames();if(c[0]===a.params.adressIdentifier&&!!c[1]){q(a,c[1]-1)}else{p.address.value("/"+a.params.adressIdentifier+"/1")}}).change(function(b){var c=p.address.pathNames();if(c[0]===a.params.adressIdentifier&&!!c[1]){q(a,c[1]-1)}})}else{a.params.useAddress=false}}function q(b,a){b.params.callback(a);m(b,a);b.steps.first=a;o(b);if(b.params.useAddress){p.address.value("/"+b.params.adressIdentifier+"/"+(a+1))}}function n(a,b){if(b=="prev"){if(!a.params.showEmptyItems){if(a.steps.first==0){return((a.params.loop)?(a.steps.count-a.params.dispItems):false)}else{return Math.max(0,a.steps.first-a.params.dispItems)}}else{if((a.steps.first-a.params.dispItems)>=0){return a.steps.first-a.params.dispItems}else{return((a.params.loop)?(a.steps.count-a.params.dispItems):false)}}}else{if(b=="next"){if((a.steps.first+a.params.dispItems)<a.steps.count){if(!a.params.showEmptyItems){return Math.min(a.steps.first+a.params.dispItems,a.steps.count-a.params.dispItems)}else{return a.steps.first+a.params.dispItems}}else{return((a.params.loop)?0:false)}}}}function m(b,a){switch(b.params.effect){case"no":if(b.params.direction=="vertical"){b.$elts.content.css("top",-(b.itemHeight*a)+"px")}else{b.$elts.content.css("left",-(b.itemWidth*a)+"px")}break;case"fade":if(b.params.direction=="vertical"){b.$elts.content.hide().css("top",-(b.itemHeight*a)+"px").fadeIn(b.params.animSpeed)}else{b.$elts.content.hide().css("left",-(b.itemWidth*a)+"px").fadeIn(b.params.animSpeed)}break;default:if(b.params.direction=="vertical"){b.$elts.content.stop().animate({top:-(b.itemHeight*a)+"px"},b.params.animSpeed,b.params.slideEasing)}else{b.$elts.content.stop().animate({left:-(b.itemWidth*a)+"px"},b.params.animSpeed,b.params.slideEasing)}break}}function o(a){if(n(a,"prev")!==false){a.$elts.prevBtn.trigger("enable")}else{a.$elts.prevBtn.trigger("disable")}if(n(a,"next")!==false){a.$elts.nextBtn.trigger("enable")}else{a.$elts.nextBtn.trigger("disable")}if(a.params.pagination){a.$elts.paginationBtns.removeClass("active").filter(function(){return(p(this).data("firstStep")==a.steps.first)}).addClass("active")}}function l(a){if(!!a.autoSlideInterval){window.clearInterval(a.autoSlideInterval)}}})(jQuery);
