/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20141007 */ ! function(a) { "use strict"; a(document).on("cycle-bootstrap", function(a, b, c) { "carousel" === b.fx && (c.getSlideIndex = function(a) { var b = this.opts()._carouselWrap.children(), c = b.index(a); return c % b.length }, c.next = function() { var a = b.reverse ? -1 : 1; b.allowWrap === !1 && b.currSlide + a > b.slideCount - b.carouselVisible || (b.API.advanceSlide(a), b.API.trigger("cycle-next", [b]).log("cycle-next")) }) }), a.fn.cycle.transitions.carousel = { preInit: function(b) { b.hideNonActive = !1, b.container.on("cycle-destroyed", a.proxy(this.onDestroy, b.API)), b.API.stopTransition = this.stopTransition; for (var c = 0; c < b.startingSlide; c++) b.container.append(b.slides[0]) }, postInit: function(b) { var c, d, e, f, g = b.carouselVertical; b.carouselVisible && b.carouselVisible > b.slideCount && (b.carouselVisible = b.slideCount - 1); var h = b.carouselVisible || b.slides.length, i = { display: g ? "block" : "inline-block", position: "static" }; if (b.container.css({ position: "relative", overflow: "hidden" }), b.slides.css(i), b._currSlide = b.currSlide, f = a('').prependTo(b.container).css({ margin: 0, padding: 0, top: 0, left: 0, position: "absolute" }).append(b.slides), b._carouselWrap = f, g || f.css("white-space", "nowrap"), b.allowWrap !== !1) { for (d = 0; d < (void 0 === b.carouselVisible ? 2 : 1); d++) { for (c = 0; c < b.slideCount; c++) f.append(b.slides[c].cloneNode(!0)); for (c = b.slideCount; c--;) f.prepend(b.slides[c].cloneNode(!0)) } f.find(".cycle-slide-active").removeClass("cycle-slide-active"), b.slides.eq(b.startingSlide).addClass("cycle-slide-active") } b.pager && b.allowWrap === !1 && (e = b.slideCount - h, a(b.pager).children().filter(":gt(" + e + ")").hide()), b._nextBoundry = b.slideCount - b.carouselVisible, this.prepareDimensions(b) }, prepareDimensions: function(b) { var c, d, e, f, g = b.carouselVertical, h = b.carouselVisible || b.slides.length; if (b.carouselFluid && b.carouselVisible ? b._carouselResizeThrottle || this.fluidSlides(b) : b.carouselVisible && b.carouselSlideDimension ? (c = h * b.carouselSlideDimension, b.container[g ? "height" : "width"](c)) : b.carouselVisible && (c = h * a(b.slides[0])[g ? "outerHeight" : "outerWidth"](!0), b.container[g ? "height" : "width"](c)), d = b.carouselOffset || 0, b.allowWrap !== !1) if (b.carouselSlideDimension) d -= (b.slideCount + b.currSlide) * b.carouselSlideDimension; else for (e = b._carouselWrap.children(), f = 0; f < b.slideCount + b.currSlide; f++) d -= a(e[f])[g ? "outerHeight" : "outerWidth"](!0); b._carouselWrap.css(g ? "top" : "left", d) }, fluidSlides: function(b) { function c() { clearTimeout(e), e = setTimeout(d, 20) } function d() { b._carouselWrap.stop(!1, !0); var a = b.container.width() / b.carouselVisible; a = Math.ceil(a - g), b._carouselWrap.children().width(a), b._sentinel && b._sentinel.width(a), h(b) } var e, f = b.slides.eq(0), g = f.outerWidth() - f.width(), h = this.prepareDimensions; a(window).on("resize", c), b._carouselResizeThrottle = c, d() }, transition: function(b, c, d, e, f) { var g, h = {}, i = b.nextSlide - b.currSlide, j = b.carouselVertical, k = b.speed; if (b.allowWrap === !1) { e = i > 0; var l = b._currSlide, m = b.slideCount - b.carouselVisible; i > 0 && b.nextSlide > m && l == m ? i = 0 : i > 0 && b.nextSlide > m ? i = b.nextSlide - l - (b.nextSlide - m) : 0 > i && b.currSlide > m && b.nextSlide > m ? i = 0 : 0 > i && b.currSlide > m ? i += b.currSlide - m : l = b.currSlide, g = this.getScroll(b, j, l, i), b.API.opts()._currSlide = b.nextSlide > m ? m : b.nextSlide } else e && 0 === b.nextSlide ? (g = this.getDim(b, b.currSlide, j), f = this.genCallback(b, e, j, f)) : e || b.nextSlide != b.slideCount - 1 ? g = this.getScroll(b, j, b.currSlide, i) : (g = this.getDim(b, b.currSlide, j), f = this.genCallback(b, e, j, f)); h[j ? "top" : "left"] = e ? "-=" + g : "+=" + g, b.throttleSpeed && (k = g / a(b.slides[0])[j ? "height" : "width"]() * b.speed), b._carouselWrap.animate(h, k, b.easing, f) }, getDim: function(b, c, d) { var e = a(b.slides[c]); return e[d ? "outerHeight" : "outerWidth"](!0) }, getScroll: function(a, b, c, d) { var e, f = 0; if (d > 0) for (e = c; c + d > e; e++) f += this.getDim(a, e, b); else for (e = c; e > c + d; e--) f += this.getDim(a, e, b); return f }, genCallback: function(b, c, d, e) { return function() { var c = a(b.slides[b.nextSlide]).position(), f = 0 - c[d ? "top" : "left"] + (b.carouselOffset || 0); b._carouselWrap.css(b.carouselVertical ? "top" : "left", f), e() } }, stopTransition: function() { var a = this.opts(); a.slides.stop(!1, !0), a._carouselWrap.stop(!1, !0) }, onDestroy: function() { var b = this.opts(); b._carouselResizeThrottle && a(window).off("resize", b._carouselResizeThrottle), b.slides.prependTo(b.container), b._carouselWrap.remove() } } }(jQuery);