{"version":3,"sources":["vegas.min.js"],"names":["$","defaults","slide","delay","preload","preloadImage","preloadVideo","timer","overlay","autoplay","shuffle","cover","color","align","valign","transition","transitionDuration","transitionRegister","animation","animationDuration","animationRegister","init","play","pause","walk","slides","videoCache","Vegas","elmt","options","this","settings","extend","vegas","total","length","noshow","paused","$elmt","$timer","$overlay","$slide","timeout","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","loop","muted","mute","after","readyState","currentTime","onload","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(function ($) {\n 'use strict';\n\n var defaults = {\n slide: 0,\n delay: 5000,\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 transition: 'fade',\n transitionDuration: 1000,\n transitionRegister: [],\n animation: null,\n animationDuration: 'auto',\n animationRegister: [],\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.$elmt = $(elmt);\n this.$timer = null;\n this.$overlay = null;\n this.$slide = null;\n this.timeout = null;\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 = $('
')\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 = $('
');\n this.$timer = $timer;\n this.$elmt.prepend($timer);\n }\n\n // Overlay\n if (overlay) {\n $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 video, 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 video = this._video(this.settings.slides[i].video);\n } else {\n video = 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 - 1))];\n },\n\n _slideShow: function () {\n var self = this;\n\n if (this.total > 1 && !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.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 color = this._options('color') || this.$elmt.css('background-color'),\n cover = this._options('cover') ? 'cover' : 'contain',\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 (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 = $('
');\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 = $('
')\n .css('background-image', 'url(' + src + ')')\n .css('background-color', color)\n .css('background-position', align + ' ' + valign)\n .css('background-size', cover);\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 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 - 4; 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 img.onload = go;\n }\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 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 this.slide = this.total - 1;\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"],"sourceRoot":"/source/"}