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