{"version":3,"sources":["assets/src/modules/ElcaSlideshowWidget/js/elca.jquery.cslider.js"],"names":["$","Slider","options","element","maxHeight","this","$el","_init","window","width","find","each","i","body","bodyHeight","outerHeight","css","defaults","current","bgincrement","autoplay","interval","navigationDots","prototype","extend","$slides","children","slidesCount","length","eq","addClass","$navigation","append","appendTo","$pages","$navNext","$navPrev","isAnimating","bgpositer","cssAnimations","Modernizr","cssanimations","cssTransitions","csstransitions","_updatePage","_loadEvents","_startSlideshow","_setVisibilityOfArrows","_navigate","page","dir","classTo","classFrom","rmClasses","$current","_self","d","$next","removeClass","stop","animate","left","slideshow","setTimeout","idx","clearTimeout","on","event","index","target","id","attr","originalEvent","animationName","hide","logError","message","console","error","fn","cslider","args","Array","slice","call","arguments","instance","data","isFunction","charAt","apply","jQuery"],"mappings":"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","file":"elca.jquery.cslider.js","sourcesContent":["(function ($, undefined) {\r\n\r\n    /*\r\n     * Slider object.\r\n     */\r\n    $.Slider = function (options, element) {\r\n        this.$el = $(element);\r\n        this._init(options);\r\n\r\n        if ($(window).width() < 768) {\r\n            var maxHeight = 0;\r\n            this.$el.find('.mi-corpo-fixed-slider-body').each(function (i, body) {\r\n                var bodyHeight = $(body).outerHeight();\r\n                if (bodyHeight > maxHeight) {\r\n                    maxHeight = bodyHeight;\r\n                }\r\n            })\r\n            this.$el.css('min-height', maxHeight + 256 + 50);\r\n        }\r\n    };\r\n\r\n    $.Slider.defaults = {\r\n        current: 0, \t // index of current slide\r\n        bgincrement: 0,\t // increment the bg position (parallax effect) when sliding\r\n        autoplay: false, // slideshow on / off\r\n        interval: 4000,  // time between transitions\r\n        navigationDots: false //navigation dots to show specific slide\r\n    };\r\n\r\n    $.Slider.prototype = {\r\n        _init: function (options) {\r\n\r\n            this.options = $.extend(true, {}, $.Slider.defaults, options);\r\n            this.$slides = this.$el.children('div.da-slide');\r\n            this.slidesCount = this.$slides.length;\r\n            this.current = this.options.current;\r\n\r\n            if (this.current < 0 || this.current >= this.slidesCount) {\r\n                this.current = 0;\r\n            }\r\n\r\n            this.$slides.eq(this.current).addClass('da-slide-current');\r\n\r\n            var $navigation = $('<nav class=\"da-dots\"/>');\r\n            for (var i = 0; i < this.slidesCount; ++i) {\r\n                $navigation.append('<span/>');\r\n            }\r\n            if (this.options.navigationDots) {\r\n                $navigation.appendTo(this.$el);\r\n            }\r\n\r\n            this.$pages = this.$el.find('nav.da-dots > span');\r\n            this.$navNext = this.$el.find('span.da-arrows-next');\r\n            this.$navPrev = this.$el.find('span.da-arrows-prev');\r\n            this.isAnimating = false;\r\n            this.bgpositer = 0;\r\n            this.cssAnimations = Modernizr.cssanimations;\r\n            this.cssTransitions = Modernizr.csstransitions;\r\n\r\n            if (!this.cssAnimations) {\r\n                this.$el.addClass('da-slider-fb');\r\n            }\r\n\r\n            this._updatePage();\r\n\r\n            // load the events\r\n            this._loadEvents();\r\n\r\n            // slideshow\r\n            if (this.options.autoplay) {\r\n                this._startSlideshow();\r\n            }\r\n\r\n            //hide arrows if sliders <= 1\r\n            this._setVisibilityOfArrows();\r\n\r\n        },\r\n        _navigate: function (page, dir) {\r\n\r\n            var $current = this.$slides.eq(this.current), $next, _self = this;\r\n\r\n            if (this.current === page || this.isAnimating) {\r\n                return false;\r\n            }\r\n\r\n            this.isAnimating = true;\r\n\r\n            // check dir\r\n            var classTo, classFrom, d;\r\n\r\n            if (!dir) {\r\n                d = page > this.current ? 'next' : 'prev';\r\n            } else {\r\n                d = dir;\r\n            }\r\n\r\n            if (this.cssAnimations && this.cssAnimations) {\r\n\r\n                if (d === 'next') {\r\n                    classTo = 'da-slide-toleft';\r\n                    classFrom = 'da-slide-fromright';\r\n                    ++this.bgpositer;\r\n                } else {\r\n                    classTo = 'da-slide-toright';\r\n                    classFrom = 'da-slide-fromleft';\r\n                    --this.bgpositer;\r\n                }\r\n\r\n                this.$el.css('background-position', this.bgpositer * this.options.bgincrement + '% 0%');\r\n            }\r\n\r\n            this.current = page;\r\n            $next = this.$slides.eq(this.current);\r\n\r\n            if (this.cssAnimations && this.cssAnimations) {\r\n\r\n                var rmClasses = 'da-slide-toleft da-slide-toright da-slide-fromleft da-slide-fromright';\r\n                $current.removeClass(rmClasses);\r\n                $next.removeClass(rmClasses);\r\n\r\n                $current.addClass(classTo);\r\n                $next.addClass(classFrom);\r\n\r\n                $current.removeClass('da-slide-current');\r\n                $next.addClass('da-slide-current');\r\n\r\n            }\r\n\r\n            // fallback\r\n            if (!this.cssAnimations) {\r\n\r\n                $next.css('left', (d === 'next') ? '100%' : '-100%').stop().animate({\r\n                    left: '0%'\r\n                }, 1000, function () {\r\n                    _self.isAnimating = false;\r\n                });\r\n\r\n                $current.stop().animate({\r\n                    left: (d === 'next') ? '-100%' : '100%'\r\n                }, 1000, function () {\r\n                    $current.removeClass('da-slide-current');\r\n                });\r\n\r\n            }\r\n\r\n            this._updatePage();\r\n\r\n        },\r\n        _updatePage: function () {\r\n            this.$pages.removeClass('da-dots-current');\r\n            this.$pages.eq(this.current).addClass('da-dots-current');\r\n        },\r\n        _startSlideshow: function () {\r\n\r\n            var _self = this;\r\n\r\n            this.slideshow = setTimeout(function () {\r\n\r\n                var page = (_self.current < _self.slidesCount - 1) ? page = _self.current + 1 : page = 0;\r\n                _self._navigate(page, 'next');\r\n\r\n                if (_self.options.autoplay) {\r\n                    _self._startSlideshow();\r\n                }\r\n\r\n            }, this.options.interval);\r\n\r\n        },\r\n        page: function (idx) {\r\n\r\n            if (idx >= this.slidesCount || idx < 0) {\r\n                return false;\r\n            }\r\n\r\n            if (this.options.autoplay) {\r\n                clearTimeout(this.slideshow);\r\n                this.options.autoplay = false;\r\n            }\r\n\r\n            this._navigate(idx);\r\n\r\n        },\r\n        _loadEvents: function () {\r\n\r\n            var _self = this;\r\n\r\n            this.$pages.on('click.cslider', function (event) {\r\n                _self.page($(this).index());\r\n                return false;\r\n            });\r\n\r\n            this.$navNext.on('click.cslider', function (event) {\r\n\r\n                if (_self.options.autoplay) {\r\n                    clearTimeout(_self.slideshow);\r\n                    _self.options.autoplay = false;\r\n                }\r\n\r\n                var page = (_self.current < _self.slidesCount - 1) ? page = _self.current + 1 : page = 0;\r\n                _self._navigate(page, 'next');\r\n                return false;\r\n\r\n            });\r\n\r\n            this.$navPrev.on('click.cslider', function (event) {\r\n\r\n                if (_self.options.autoplay) {\r\n                    clearTimeout(_self.slideshow);\r\n                    _self.options.autoplay = false;\r\n                }\r\n\r\n                var page = (_self.current > 0) ? page = _self.current - 1 : page = _self.slidesCount - 1;\r\n                _self._navigate(page, 'prev');\r\n                return false;\r\n\r\n            });\r\n\r\n            if (this.cssTransitions) {\r\n                if (!this.options.bgincrement) {\r\n                    this.$el.on('webkitAnimationEnd.cslider animationend.cslider OAnimationEnd.cslider', function (event) {\r\n                        if (event.originalEvent.animationName === 'toRightAnim4' || event.originalEvent.animationName === 'toLeftAnim4') {\r\n                            _self.isAnimating = false;\r\n                        }\r\n                    });\r\n                } else {\r\n                    this.$el.on('webkitTransitionEnd.cslider transitionend.cslider OTransitionEnd.cslider', function (event) {\r\n                        if (event.target.id === _self.$el.attr('id')) {\r\n                            _self.isAnimating = false;\r\n                        }\r\n                    });\r\n                }\r\n            }\r\n        },\r\n        _setVisibilityOfArrows: function () {\r\n            if (this.slidesCount <= 1) {\r\n                $(this.$navNext).hide();\r\n                $(this.$navPrev).hide();\r\n            }\r\n        },\r\n    };\r\n\r\n    var logError = function (message) {\r\n        if (this.console) {\r\n            console.error(message);\r\n        }\r\n    };\r\n\r\n    $.fn.cslider = function (options) {\r\n\r\n        if (typeof options === 'string') {\r\n\r\n            var args = Array.prototype.slice.call(arguments, 1);\r\n\r\n            this.each(function () {\r\n\r\n                var instance = $.data(this, 'cslider');\r\n\r\n                if (!instance) {\r\n                    logError(\"cannot call methods on cslider prior to initialization; \" +\r\n                        \"attempted to call method '\" + options + \"'\");\r\n                    return;\r\n                }\r\n\r\n                if (!$.isFunction(instance[options]) || options.charAt(0) === \"_\") {\r\n                    logError(\"no such method '\" + options + \"' for cslider instance\");\r\n                    return;\r\n                }\r\n\r\n                instance[options].apply(instance, args);\r\n\r\n            });\r\n\r\n        } else {\r\n            this.each(function () {\r\n                var instance = $.data(this, 'cslider');\r\n                if (!instance) {\r\n                    $.data(this, 'cslider', new $.Slider(options, this));\r\n                }\r\n            });\r\n        }\r\n\r\n        return this;\r\n\r\n    };\r\n\r\n})(jQuery);"]}