{"version":3,"sources":["vegas.min.js"],"names":["$","defaults","slide","delay","loop","preload","preloadImage","preloadVideo","timer","overlay","autoplay","shuffle","cover","color","align","valign","firstTransition","firstTransitionDuration","transition","transitionDuration","transitionRegister","animation","animationDuration","animationRegister","slidesToKeep","init","play","pause","walk","slides","videoCache","Vegas","elmt","options","this","settings","extend","vegas","total","length","noshow","paused","ended","$elmt","$timer","$overlay","$slide","timeout","first","transitions","animations","Array","concat","support","objectFit","document","body","style","video","isVideoCompatible","_init","prototype","$wrapper","isBody","tagName","self","_preload","css","clone","children","appendTo","innerHTML","prepend","addClass","append","setTimeout","trigger","_goto","img","i","preloadImages","src","Image","preloadVideos","_video","_random","array","Math","floor","random","_slideShow","next","_options","_timer","state","clearTimeout","removeClass","find","srcs","source","cacheKey","toString","createElement","forEach","appendChild","_fadeOutSound","duration","volume","_fadeInSound","key","undefined","nb","go","$slides","each","get","fadeIn","eq","remove","$inner","$video","videoSettings","muted","mute","after","className","readyState","currentTime","complete","onload","_end","temp","rand","toggle","playing","current","advanced","data","jump","previous","fn","params","apply","value","oldSlides","slice","destroy","_vegas","returns","args","arguments","error","instance","Error","call","test","navigator","userAgent","window","jQuery","Zepto"],"mappings":"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","file":"vegas.min.js","sourcesContent":["/*!-----------------------------------------------------------------------------\n * Vegas - Fullscreen Backgrounds and Slideshows.\n * v2.4.0 - built 2017-01-04\n * Licensed under the MIT License.\n * http://vegas.jaysalvat.com/\n * ----------------------------------------------------------------------------\n * Copyright (C) 2010-2017 Jay Salvat\n * http://jaysalvat.com/\n * --------------------------------------------------------------------------*/\n\n(function ($) {\n    'use strict';\n\n    var defaults = {\n        slide:                   0,\n        delay:                   5000,\n        loop:                    true,\n        preload:                 false,\n        preloadImage:            false,\n        preloadVideo:            false,\n        timer:                   true,\n        overlay:                 false,\n        autoplay:                true,\n        shuffle:                 false,\n        cover:                   true,\n        color:                   null,\n        align:                   'center',\n        valign:                  'center',\n        firstTransition:         null,\n        firstTransitionDuration: null,\n        transition:              'fade',\n        transitionDuration:      1000,\n        transitionRegister:      [],\n        animation:               null,\n        animationDuration:       'auto',\n        animationRegister:       [],\n        slidesToKeep:            1,\n        init:  function () {},\n        play:  function () {},\n        pause: function () {},\n        walk:  function () {},\n        slides: [\n            // {\n            //  src:                null,\n            //  color:              null,\n            //  delay:              null,\n            //  align:              null,\n            //  valign:             null,\n            //  transition:         null,\n            //  transitionDuration: null,\n            //  animation:          null,\n            //  animationDuration:  null,\n            //  cover:              true,\n            //  video: {\n            //      src: [],\n            //      mute: true,\n            //      loop: true\n            // }\n            // ...\n        ]\n    };\n\n    var videoCache = {};\n\n    var Vegas = function (elmt, options) {\n        this.elmt         = elmt;\n        this.settings     = $.extend({}, defaults, $.vegas.defaults, options);\n        this.slide        = this.settings.slide;\n        this.total        = this.settings.slides.length;\n        this.noshow       = this.total < 2;\n        this.paused       = !this.settings.autoplay || this.noshow;\n        this.ended        = false;\n        this.$elmt        = $(elmt);\n        this.$timer       = null;\n        this.$overlay     = null;\n        this.$slide       = null;\n        this.timeout      = null;\n        this.first        = true;\n\n        this.transitions = [\n            'fade', 'fade2',\n            'blur', 'blur2',\n            'flash', 'flash2',\n            'negative', 'negative2',\n            'burn', 'burn2',\n            'slideLeft', 'slideLeft2',\n            'slideRight', 'slideRight2',\n            'slideUp', 'slideUp2',\n            'slideDown', 'slideDown2',\n            'zoomIn', 'zoomIn2',\n            'zoomOut', 'zoomOut2',\n            'swirlLeft', 'swirlLeft2',\n            'swirlRight', 'swirlRight2'\n        ];\n\n        this.animations = [\n            'kenburns',\n            'kenburnsLeft', 'kenburnsRight',\n            'kenburnsUp', 'kenburnsUpLeft', 'kenburnsUpRight',\n            'kenburnsDown', 'kenburnsDownLeft', 'kenburnsDownRight'\n        ];\n\n        if (this.settings.transitionRegister instanceof Array === false) {\n            this.settings.transitionRegister = [ this.settings.transitionRegister ];\n        }\n\n        if (this.settings.animationRegister instanceof Array === false) {\n            this.settings.animationRegister = [ this.settings.animationRegister ];\n        }\n\n        this.transitions = this.transitions.concat(this.settings.transitionRegister);\n        this.animations  = this.animations.concat(this.settings.animationRegister);\n\n        this.support = {\n            objectFit:  'objectFit'  in document.body.style,\n            transition: 'transition' in document.body.style || 'WebkitTransition' in document.body.style,\n            video:      $.vegas.isVideoCompatible()\n        };\n\n        if (this.settings.shuffle === true) {\n            this.shuffle();\n        }\n\n        this._init();\n    };\n\n    Vegas.prototype = {\n        _init: function () {\n            var $wrapper,\n                $overlay,\n                $timer,\n                isBody  = this.elmt.tagName === 'BODY',\n                timer   = this.settings.timer,\n                overlay = this.settings.overlay,\n                self    = this;\n\n            // Preloading\n            this._preload();\n\n            // Wrapper with content\n            if (!isBody) {\n                this.$elmt.css('height', this.$elmt.css('height'));\n\n                $wrapper = $('<div class=\"vegas-wrapper\">')\n                    .css('overflow', this.$elmt.css('overflow'))\n                    .css('padding',  this.$elmt.css('padding'));\n\n                // Some browsers don't compute padding shorthand\n                if (!this.$elmt.css('padding')) {\n                    $wrapper\n                        .css('padding-top',    this.$elmt.css('padding-top'))\n                        .css('padding-bottom', this.$elmt.css('padding-bottom'))\n                        .css('padding-left',   this.$elmt.css('padding-left'))\n                        .css('padding-right',  this.$elmt.css('padding-right'));\n                }\n\n                this.$elmt.clone(true).children().appendTo($wrapper);\n                this.elmt.innerHTML = '';\n            }\n\n            // Timer\n            if (timer && this.support.transition) {\n                $timer = $('<div class=\"vegas-timer\"><div class=\"vegas-timer-progress\">');\n                this.$timer = $timer;\n                this.$elmt.prepend($timer);\n            }\n\n            // Overlay\n            if (overlay) {\n                $overlay = $('<div class=\"vegas-overlay\">');\n\n                if (typeof overlay === 'string') {\n                    $overlay.css('background-image', 'url(' + overlay + ')');\n                }\n\n                this.$overlay = $overlay;\n                this.$elmt.prepend($overlay);\n            }\n\n            // Container\n            this.$elmt.addClass('vegas-container');\n\n            if (!isBody) {\n                this.$elmt.append($wrapper);\n            }\n\n            setTimeout(function () {\n                self.trigger('init');\n                self._goto(self.slide);\n\n                if (self.settings.autoplay) {\n                    self.trigger('play');\n                }\n            }, 1);\n        },\n\n        _preload: function () {\n            var img, i;\n\n            for (i = 0; i < this.settings.slides.length; i++) {\n                if (this.settings.preload || this.settings.preloadImages) {\n                    if (this.settings.slides[i].src) {\n                        img = new Image();\n                        img.src = this.settings.slides[i].src;\n                    }\n                }\n\n                if (this.settings.preload || this.settings.preloadVideos) {\n                    if (this.support.video && this.settings.slides[i].video) {\n                        if (this.settings.slides[i].video instanceof Array) {\n                            this._video(this.settings.slides[i].video);\n                        } else {\n                            this._video(this.settings.slides[i].video.src);\n                        }\n                    }\n                }\n            }\n        },\n\n        _random: function (array) {\n            return array[Math.floor(Math.random() * array.length)];\n        },\n\n        _slideShow: function () {\n            var self = this;\n\n            if (this.total > 1 && !this.ended && !this.paused && !this.noshow) {\n                this.timeout = setTimeout(function () {\n                    self.next();\n                }, this._options('delay'));\n            }\n        },\n\n        _timer: function (state) {\n            var self = this;\n\n            clearTimeout(this.timeout);\n\n            if (!this.$timer) {\n                return;\n            }\n\n            this.$timer\n                .removeClass('vegas-timer-running')\n                    .find('div')\n                        .css('transition-duration', '0ms');\n\n            if (this.ended || this.paused || this.noshow) {\n                return;\n            }\n\n            if (state) {\n                setTimeout(function () {\n                   self.$timer\n                    .addClass('vegas-timer-running')\n                        .find('div')\n                            .css('transition-duration', self._options('delay') - 100 + 'ms');\n                }, 100);\n            }\n        },\n\n        _video: function (srcs) {\n            var video,\n                source,\n                cacheKey = srcs.toString();\n\n            if (videoCache[cacheKey]) {\n                return videoCache[cacheKey];\n            }\n\n            if (srcs instanceof Array === false) {\n                srcs = [ srcs ];\n            }\n\n            video = document.createElement('video');\n            video.preload = true;\n\n            srcs.forEach(function (src) {\n                source = document.createElement('source');\n                source.src = src;\n                video.appendChild(source);\n            });\n\n            videoCache[cacheKey] = video;\n\n            return video;\n        },\n\n        _fadeOutSound: function (video, duration) {\n            var self   = this,\n                delay  = duration / 10,\n                volume = video.volume - 0.09;\n\n            if (volume > 0) {\n                video.volume = volume;\n\n                setTimeout(function () {\n                    self._fadeOutSound(video, duration);\n                }, delay);\n            } else {\n                video.pause();\n            }\n        },\n\n        _fadeInSound: function (video, duration) {\n            var self   = this,\n                delay  = duration / 10,\n                volume = video.volume + 0.09;\n\n            if (volume < 1) {\n                video.volume = volume;\n\n                setTimeout(function () {\n                    self._fadeInSound(video, duration);\n                }, delay);\n            }\n        },\n\n        _options: function (key, i) {\n            if (i === undefined) {\n                i = this.slide;\n            }\n\n            if (this.settings.slides[i][key] !== undefined) {\n                return this.settings.slides[i][key];\n            }\n\n            return this.settings[key];\n        },\n\n        _goto: function (nb) {\n            if (typeof this.settings.slides[nb] === 'undefined') {\n                nb = 0;\n            }\n\n            this.slide = nb;\n\n            var $slide,\n                $inner,\n                $video,\n                $slides       = this.$elmt.children('.vegas-slide'),\n                src           = this.settings.slides[nb].src,\n                videoSettings = this.settings.slides[nb].video,\n                delay         = this._options('delay'),\n                align         = this._options('align'),\n                valign        = this._options('valign'),\n                cover         = this._options('cover'),\n                color         = this._options('color') || this.$elmt.css('background-color'),\n                self          = this,\n                total         = $slides.length,\n                video,\n                img;\n\n            var transition         = this._options('transition'),\n                transitionDuration = this._options('transitionDuration'),\n                animation          = this._options('animation'),\n                animationDuration  = this._options('animationDuration');\n\n            if (this.settings.firstTransition && this.first) {\n                transition = this.settings.firstTransition || transition;\n            }\n\n            if (this.settings.firstTransitionDuration && this.first) {\n                transitionDuration = this.settings.firstTransitionDuration || transitionDuration;\n            }\n\n            if (this.first) {\n                this.first = false;\n            }\n\n            if (cover !== 'repeat') {\n                if (cover === true) {\n                    cover = 'cover';\n                } else if (cover === false) {\n                    cover = 'contain';\n                }\n            }\n\n            if (transition === 'random' || transition instanceof Array) {\n                if (transition instanceof Array) {\n                    transition = this._random(transition);\n                } else {\n                    transition = this._random(this.transitions);\n                }\n            }\n\n            if (animation === 'random' || animation instanceof Array) {\n                if (animation instanceof Array) {\n                    animation = this._random(animation);\n                } else {\n                    animation = this._random(this.animations);\n                }\n            }\n\n            if (transitionDuration === 'auto' || transitionDuration > delay) {\n                transitionDuration = delay;\n            }\n\n            if (animationDuration === 'auto') {\n                animationDuration = delay;\n            }\n\n            $slide = $('<div class=\"vegas-slide\"></div>');\n\n            if (this.support.transition && transition) {\n                $slide.addClass('vegas-transition-' + transition);\n            }\n\n            // Video\n\n            if (this.support.video && videoSettings) {\n                if (videoSettings instanceof Array) {\n                    video = this._video(videoSettings);\n                } else {\n                    video = this._video(videoSettings.src);\n                }\n\n                video.loop  = videoSettings.loop !== undefined ? videoSettings.loop : true;\n                video.muted = videoSettings.mute !== undefined ? videoSettings.mute : true;\n\n                if (video.muted === false) {\n                    video.volume = 0;\n                    this._fadeInSound(video, transitionDuration);\n                } else {\n                    video.pause();\n                }\n\n                $video = $(video)\n                    .addClass('vegas-video')\n                    .css('background-color', color);\n\n                if (this.support.objectFit) {\n                    $video\n                        .css('object-position', align + ' ' + valign)\n                        .css('object-fit', cover)\n                        .css('width',  '100%')\n                        .css('height', '100%');\n                } else if (cover === 'contain') {\n                    $video\n                        .css('width',  '100%')\n                        .css('height', '100%');\n                }\n\n                $slide.append($video);\n\n            // Image\n\n            } else {\n                img = new Image();\n\n                $inner = $('<div class=\"vegas-slide-inner\"></div>')\n                    .css('background-image',    'url(\"' + src + '\")')\n                    .css('background-color',    color)\n                    .css('background-position', align + ' ' + valign);\n\n                if (cover === 'repeat') {\n                    $inner.css('background-repeat', 'repeat');\n                } else {\n                    $inner.css('background-size', cover);\n                }\n\n                if (this.support.transition && animation) {\n                    $inner\n                        .addClass('vegas-animation-' + animation)\n                        .css('animation-duration',  animationDuration + 'ms');\n                }\n\n                $slide.append($inner);\n            }\n\n            if (!this.support.transition) {\n                $slide.css('display', 'none');\n            }\n\n            if (total) {\n                $slides.eq(total - 1).after($slide);\n            } else {\n                this.$elmt.prepend($slide);\n            }\n\n            $slides\n                .css('transition', 'all 0ms')\n                .each(function () {\n                    this.className  = 'vegas-slide';\n\n                    if (this.tagName === 'VIDEO') {\n                        this.className += ' vegas-video';    \n                    }\n\n                    if (transition) {\n                        this.className += ' vegas-transition-' + transition;\n                        this.className += ' vegas-transition-' + transition + '-in';\n                    }\n                }\n            );\n\n            self._timer(false);\n\n            function go () {\n                self._timer(true);\n\n                setTimeout(function () {\n                    if (transition) {\n                        if (self.support.transition) {\n                            $slides\n                                .css('transition', 'all ' + transitionDuration + 'ms')\n                                .addClass('vegas-transition-' + transition + '-out');\n\n                            $slides.each(function () {\n                                var video = $slides.find('video').get(0);\n\n                                if (video) {\n                                    video.volume = 1;\n                                    self._fadeOutSound(video, transitionDuration);\n                                }\n                            });\n\n                            $slide\n                                .css('transition', 'all ' + transitionDuration + 'ms')\n                                .addClass('vegas-transition-' + transition + '-in');\n                        } else {\n                            $slide.fadeIn(transitionDuration);\n                        }\n                    }\n\n                    for (var i = 0; i < $slides.length - self.settings.slidesToKeep; i++) {\n                         $slides.eq(i).remove();\n                    }\n\n                    self.trigger('walk');\n                    self._slideShow();\n                }, 100);\n            }\n            if (video) {\n                if (video.readyState === 4) {\n                    video.currentTime = 0;\n                }\n\n                video.play();\n                go();\n            } else {\n                img.src = src;\n\n                if (img.complete) {\n                    go();\n                } else {\n                    img.onload = go;\n                }\n            }\n        },\n\n        _end: function () {\n            this.ended = true;\n            this._timer(false);\n            this.trigger('end');\n        },\n\n        shuffle: function () {\n            var temp,\n                rand;\n\n            for (var i = this.total - 1; i > 0; i--) {\n                rand = Math.floor(Math.random() * (i + 1));\n                temp = this.settings.slides[i];\n\n                this.settings.slides[i] = this.settings.slides[rand];\n                this.settings.slides[rand] = temp;\n            }\n        },\n\n        play: function () {\n            if (this.paused) {\n                this.paused = false;\n                this.next();\n                this.trigger('play');\n            }\n        },\n\n        pause: function () {\n            this._timer(false);\n            this.paused = true;\n            this.trigger('pause');\n        },\n\n        toggle: function () {\n            if (this.paused) {\n                this.play();\n            } else {\n                this.pause();\n            }\n        },\n\n        playing: function () {\n            return !this.paused && !this.noshow;\n        },\n\n        current: function (advanced) {\n            if (advanced) {\n                return {\n                    slide: this.slide,\n                    data:  this.settings.slides[this.slide]\n                };\n            }\n            return this.slide;\n        },\n\n        jump: function (nb) {\n            if (nb < 0 || nb > this.total - 1 || nb === this.slide) {\n                return;\n            }\n\n            this.slide = nb;\n            this._goto(this.slide);\n        },\n\n        next: function () {\n            this.slide++;\n\n            if (this.slide >= this.total) {\n                if (!this.settings.loop) {\n                    return this._end();\n                }\n\n                this.slide = 0;\n            }\n\n            this._goto(this.slide);\n        },\n\n        previous: function () {\n            this.slide--;\n\n            if (this.slide < 0) {\n                if (!this.settings.loop) {\n                    this.slide++;\n                    return;\n                } else {\n                    this.slide = this.total - 1;\n                }\n            }\n\n            this._goto(this.slide);\n        },\n\n        trigger: function (fn) {\n            var params = [];\n\n            if (fn === 'init') {\n                params = [ this.settings ];\n            } else {\n                params = [\n                    this.slide,\n                    this.settings.slides[this.slide]\n                ];\n            }\n\n            this.$elmt.trigger('vegas' + fn, params);\n\n            if (typeof this.settings[fn] === 'function') {\n                this.settings[fn].apply(this.$elmt, params);\n            }\n        },\n\n        options: function (key, value) {\n            var oldSlides = this.settings.slides.slice();\n\n            if (typeof key === 'object') {\n                this.settings = $.extend({}, defaults, $.vegas.defaults, key);\n            } else if (typeof key === 'string') {\n                if (value === undefined) {\n                    return this.settings[key];\n                }\n                this.settings[key] = value;\n            } else {\n                return this.settings;\n            }\n\n            // In case slides have changed\n            if (this.settings.slides !== oldSlides) {\n                this.total  = this.settings.slides.length;\n                this.noshow = this.total < 2;\n                this._preload();\n            }\n        },\n\n        destroy: function () {\n            clearTimeout(this.timeout);\n\n            this.$elmt.removeClass('vegas-container');\n            this.$elmt.find('> .vegas-slide').remove();\n            this.$elmt.find('> .vegas-wrapper').clone(true).children().appendTo(this.$elmt);\n            this.$elmt.find('> .vegas-wrapper').remove();\n\n            if (this.settings.timer) {\n                this.$timer.remove();\n            }\n\n            if (this.settings.overlay) {\n                this.$overlay.remove();\n            }\n\n            this.elmt._vegas = null;\n        }\n    };\n\n    $.fn.vegas = function(options) {\n        var args = arguments,\n            error = false,\n            returns;\n\n        if (options === undefined || typeof options === 'object') {\n            return this.each(function () {\n                if (!this._vegas) {\n                    this._vegas = new Vegas(this, options);\n                }\n            });\n        } else if (typeof options === 'string') {\n            this.each(function () {\n                var instance = this._vegas;\n\n                if (!instance) {\n                    throw new Error('No Vegas applied to this element.');\n                }\n\n                if (typeof instance[options] === 'function' && options[0] !== '_') {\n                    returns = instance[options].apply(instance, [].slice.call(args, 1));\n                } else {\n                    error = true;\n                }\n            });\n\n            if (error) {\n                throw new Error('No method \"' + options + '\" in Vegas.');\n            }\n\n            return returns !== undefined ? returns : this;\n        }\n    };\n\n    $.vegas = {};\n    $.vegas.defaults = defaults;\n\n    $.vegas.isVideoCompatible = function () {\n        return !/(Android|webOS|Phone|iPad|iPod|BlackBerry|Windows Phone)/i.test(navigator.userAgent);\n    };\n\n})(window.jQuery || window.Zepto);\n"]}