{"version":3,"sources":["owl.carousel.js"],"names":["$","window","document","undefined","Owl","element","options","this","settings","extend","Defaults","$element","_handlers","_plugins","_supress","_current","_speed","_coordinates","_breakpoint","_width","_items","_clones","_mergers","_widths","_invalidated","_pipe","_drag","time","target","pointer","stage","start","current","direction","_states","tags","initializing","animating","dragging","each","proxy","i","handler","Plugins","key","plugin","charAt","toLowerCase","slice","Workers","priority","worker","filter","run","initialize","items","loop","center","rewind","touchDrag","pullDrag","freeDrag","stagePadding","mergeFit","autoWidth","rtl","fluidSpeed","dragEndSpeed","responsiveRefreshRate","responsiveBaseElement","fallbackEasing","info","itemElement","stageElement","loadedClass","loadingClass","rtlClass","responsiveClass","dragClass","itemClass","stageClass","stageOuterClass","grabClass","Default","Inner","Outer","Event","State","width","cache","relative","$stage","children","remove","margin","grid","css","margin-left","margin-right","merge","toFixed","iterator","widths","Math","min","clones","view","max","size","ceil","repeat","append","prepend","push","normalize","length","outerHTML","addClass","appendTo","prependTo","previous","coordinates","padding","abs","padding-left","padding-right","eq","removeAttr","index","minimum","maximum","reset","animate","inner","n","begin","end","matches","outer","op","removeClass","join","prototype","enter","trigger","toggleClass","is","imgs","find","nestedSelector","nestedItemSelector","wrap","parent","replace","not","refresh","invalidate","registerEventHandlers","leave","setup","viewport","overwrites","match","breakpoint","Number","responsive","attr","RegExp","property","name","value","prepare","item","event","data","content","p","grep","dimension","Width","optionsLogic","refreshClass","update","clearTimeout","resizeTimer","setTimeout","onResize","isDefaultPrevented","on","support","transition","onTransitionEnd","onThrottledResize","onDragStart","which","transform","split","x","position","left","y","top","stop","type","speed","onDragEnd","delta","difference","onDragMove","preventDefault","pull","off","closest","one","Date","getTime","coordinate","transform3d","state","part","map","v","suppress","m","isNumeric","reciprocalItemsWidth","elementWidth","mergers","odd","even","multiplier","newPosition","duration","from","to","factor","smartSpeed","revert","distance","next","stopPropagation","srcElement","originalTarget","get","innerWidth","documentElement","clientWidth","console","warn","empty","jQuery","addBack","nodeType","startPosition","add","splice","preloadAutoWidthImages","images","Image","e","src","destroy","unwrap","contents","removeData","a","o","b","listener","capture","addEventListener","attachEvent","removeEventListener","detachEvent","namespace","status","count","camelCase","relatedTarget","onTrigger","register","Type","call","concat","object","special","_default","apply","indexOf","tag","inArray","events","originalEvent","touches","pageX","result","changedTouches","clientY","pageY","clientX","number","isNaN","parseFloat","first","second","fn","owlCarousel","option","args","$this","arguments","release","Constructor","Zepto","AutoRefresh","carousel","_interval","_visible","initialized.owl.carousel","_core","watch","autoRefreshInterval","clearInterval","Object","getOwnPropertyNames","Lazy","_loaded","initialized.owl.carousel change.owl.carousel resized.owl.carousel","lazyLoad","load","$item","$elements","image","devicePixelRatio","url","onload","opacity","handlers","AutoHeight","initialized.owl.carousel refreshed.owl.carousel","autoHeight","changed.owl.carousel","loaded.owl.lazy","autoHeightClass","visible","heights","height","toArray","maxheight","Video","_videos","_playing","resize.owl.carousel","video","isInFullScreen","refreshed.owl.carousel","prepared.owl.carousel","fetch","videoHeight","videoWidth","id","Error","tnLink","thumbnail","path","customTn","after","create","icon","lazyClass","srcType","dimensions","dataType","jsonp","ajax","success","framegrab_url","play","html","insertAfter","mozFullScreenElement","webkitFullscreenElement","hasClass","Animate","core","scope","swapping","animateOut","change.owl.carousel","drag.owl.carousel dragged.owl.carousel translated.owl.carousel","translate.owl.carousel","animateIn","swap","incoming","clear","outgoing","animation","Autoplay","_timeout","_paused","autoplay","_setAutoPlayInterval","play.owl.autoplay","t","s","stop.owl.autoplay","mouseover.owl.autoplay","autoplayHoverPause","pause","mouseleave.owl.autoplay","autoplaySpeed","touchend.owl.core","autoplayTimeout","timeout","_getNextTimeout","hidden","Navigation","_overrides","_controls","_templates","prev","dotsData","dotClass","added.owl.carousel","draw","pop","remove.owl.carousel","_initialized","nav","navText","navSpeed","navContainer","navContainerClass","navClass","slideBy","dotsClass","dots","navElement","dotsEach","dotsSpeed","dotsContainer","$absolute","override","$relative","$previous","control","prop","lower","j","overides","upper","$next","_pages","k","disabled","page","Array","getPosition","successor","standard","Hash","hash","_hashes","URLhashListener","location","substring","MozTransition","OTransition","MozAnimation","OAnimation","tests","csstransitions","style","test","prefixed","toUpperCase","prefixes","WebkitTransition","csstransforms","csstransforms3d","cssanimations","String"],"mappings":"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","file":"owl.carousel.min.js","sourcesContent":["/**\r\n * Owl Carousel v2.2.1\r\n * Copyright 2013-2017 David Deutsch\r\n * Licensed under ()\r\n */\r\n/**\r\n * Owl carousel\r\n * @version 2.1.6\r\n * @author Bartosz Wojciechowski\r\n * @author David Deutsch\r\n * @license The MIT License (MIT)\r\n * @todo Lazy Load Icon\r\n * @todo prevent animationend bubling\r\n * @todo itemsScaleUp\r\n * @todo Test Zepto\r\n * @todo stagePadding calculate wrong active classes\r\n */\r\n;(function($, window, document, undefined) {\r\n\r\n\t/**\r\n\t * Creates a carousel.\r\n\t * @class The Owl Carousel.\r\n\t * @public\r\n\t * @param {HTMLElement|jQuery} element - The element to create the carousel for.\r\n\t * @param {Object} [options] - The options\r\n\t */\r\n\tfunction Owl(element, options) {\r\n\r\n\t\t/**\r\n\t\t * Current settings for the carousel.\r\n\t\t * @public\r\n\t\t */\r\n\t\tthis.settings = null;\r\n\r\n\t\t/**\r\n\t\t * Current options set by the caller including defaults.\r\n\t\t * @public\r\n\t\t */\r\n\t\tthis.options = $.extend({}, Owl.Defaults, options);\r\n\r\n\t\t/**\r\n\t\t * Plugin element.\r\n\t\t * @public\r\n\t\t */\r\n\t\tthis.$element = $(element);\r\n\r\n\t\t/**\r\n\t\t * Proxied event handlers.\r\n\t\t * @protected\r\n\t\t */\r\n\t\tthis._handlers = {};\r\n\r\n\t\t/**\r\n\t\t * References to the running plugins of this carousel.\r\n\t\t * @protected\r\n\t\t */\r\n\t\tthis._plugins = {};\r\n\r\n\t\t/**\r\n\t\t * Currently suppressed events to prevent them from beeing retriggered.\r\n\t\t * @protected\r\n\t\t */\r\n\t\tthis._supress = {};\r\n\r\n\t\t/**\r\n\t\t * Absolute current position.\r\n\t\t * @protected\r\n\t\t */\r\n\t\tthis._current = null;\r\n\r\n\t\t/**\r\n\t\t * Animation speed in milliseconds.\r\n\t\t * @protected\r\n\t\t */\r\n\t\tthis._speed = null;\r\n\r\n\t\t/**\r\n\t\t * Coordinates of all items in pixel.\r\n\t\t * @todo The name of this member is missleading.\r\n\t\t * @protected\r\n\t\t */\r\n\t\tthis._coordinates = [];\r\n\r\n\t\t/**\r\n\t\t * Current breakpoint.\r\n\t\t * @todo Real media queries would be nice.\r\n\t\t * @protected\r\n\t\t */\r\n\t\tthis._breakpoint = null;\r\n\r\n\t\t/**\r\n\t\t * Current width of the plugin element.\r\n\t\t */\r\n\t\tthis._width = null;\r\n\r\n\t\t/**\r\n\t\t * All real items.\r\n\t\t * @protected\r\n\t\t */\r\n\t\tthis._items = [];\r\n\r\n\t\t/**\r\n\t\t * All cloned items.\r\n\t\t * @protected\r\n\t\t */\r\n\t\tthis._clones = [];\r\n\r\n\t\t/**\r\n\t\t * Merge values of all items.\r\n\t\t * @todo Maybe this could be part of a plugin.\r\n\t\t * @protected\r\n\t\t */\r\n\t\tthis._mergers = [];\r\n\r\n\t\t/**\r\n\t\t * Widths of all items.\r\n\t\t */\r\n\t\tthis._widths = [];\r\n\r\n\t\t/**\r\n\t\t * Invalidated parts within the update process.\r\n\t\t * @protected\r\n\t\t */\r\n\t\tthis._invalidated = {};\r\n\r\n\t\t/**\r\n\t\t * Ordered list of workers for the update process.\r\n\t\t * @protected\r\n\t\t */\r\n\t\tthis._pipe = [];\r\n\r\n\t\t/**\r\n\t\t * Current state information for the drag operation.\r\n\t\t * @todo #261\r\n\t\t * @protected\r\n\t\t */\r\n\t\tthis._drag = {\r\n\t\t\ttime: null,\r\n\t\t\ttarget: null,\r\n\t\t\tpointer: null,\r\n\t\t\tstage: {\r\n\t\t\t\tstart: null,\r\n\t\t\t\tcurrent: null\r\n\t\t\t},\r\n\t\t\tdirection: null\r\n\t\t};\r\n\r\n\t\t/**\r\n\t\t * Current state information and their tags.\r\n\t\t * @type {Object}\r\n\t\t * @protected\r\n\t\t */\r\n\t\tthis._states = {\r\n\t\t\tcurrent: {},\r\n\t\t\ttags: {\r\n\t\t\t\t'initializing': [ 'busy' ],\r\n\t\t\t\t'animating': [ 'busy' ],\r\n\t\t\t\t'dragging': [ 'interacting' ]\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t$.each([ 'onResize', 'onThrottledResize' ], $.proxy(function(i, handler) {\r\n\t\t\tthis._handlers[handler] = $.proxy(this[handler], this);\r\n\t\t}, this));\r\n\r\n\t\t$.each(Owl.Plugins, $.proxy(function(key, plugin) {\r\n\t\t\tthis._plugins[key.charAt(0).toLowerCase() + key.slice(1)]\r\n\t\t\t\t= new plugin(this);\r\n\t\t}, this));\r\n\r\n\t\t$.each(Owl.Workers, $.proxy(function(priority, worker) {\r\n\t\t\tthis._pipe.push({\r\n\t\t\t\t'filter': worker.filter,\r\n\t\t\t\t'run': $.proxy(worker.run, this)\r\n\t\t\t});\r\n\t\t}, this));\r\n\r\n\t\tthis.setup();\r\n\t\tthis.initialize();\r\n\t}\r\n\r\n\t/**\r\n\t * Default options for the carousel.\r\n\t * @public\r\n\t */\r\n\tOwl.Defaults = {\r\n\t\titems: 3,\r\n\t\tloop: false,\r\n\t\tcenter: false,\r\n\t\trewind: false,\r\n\r\n\t\tmouseDrag: true,\r\n\t\ttouchDrag: true,\r\n\t\tpullDrag: true,\r\n\t\tfreeDrag: false,\r\n\r\n\t\tmargin: 0,\r\n\t\tstagePadding: 0,\r\n\r\n\t\tmerge: false,\r\n\t\tmergeFit: true,\r\n\t\tautoWidth: false,\r\n\r\n\t\tstartPosition: 0,\r\n\t\trtl: false,\r\n\r\n\t\tsmartSpeed: 250,\r\n\t\tfluidSpeed: false,\r\n\t\tdragEndSpeed: false,\r\n\r\n\t\tresponsive: {},\r\n\t\tresponsiveRefreshRate: 200,\r\n\t\tresponsiveBaseElement: window,\r\n\r\n\t\tfallbackEasing: 'swing',\r\n\r\n\t\tinfo: false,\r\n\r\n\t\tnestedItemSelector: false,\r\n\t\titemElement: 'div',\r\n\t\tstageElement: 'div',\r\n\r\n\t\trefreshClass: 'owl-refresh',\r\n\t\tloadedClass: 'owl-loaded',\r\n\t\tloadingClass: 'owl-loading',\r\n\t\trtlClass: 'owl-rtl',\r\n\t\tresponsiveClass: 'owl-responsive',\r\n\t\tdragClass: 'owl-drag',\r\n\t\titemClass: 'owl-item',\r\n\t\tstageClass: 'owl-stage',\r\n\t\tstageOuterClass: 'owl-stage-outer',\r\n\t\tgrabClass: 'owl-grab'\r\n\t};\r\n\r\n\t/**\r\n\t * Enumeration for width.\r\n\t * @public\r\n\t * @readonly\r\n\t * @enum {String}\r\n\t */\r\n\tOwl.Width = {\r\n\t\tDefault: 'default',\r\n\t\tInner: 'inner',\r\n\t\tOuter: 'outer'\r\n\t};\r\n\r\n\t/**\r\n\t * Enumeration for types.\r\n\t * @public\r\n\t * @readonly\r\n\t * @enum {String}\r\n\t */\r\n\tOwl.Type = {\r\n\t\tEvent: 'event',\r\n\t\tState: 'state'\r\n\t};\r\n\r\n\t/**\r\n\t * Contains all registered plugins.\r\n\t * @public\r\n\t */\r\n\tOwl.Plugins = {};\r\n\r\n\t/**\r\n\t * List of workers involved in the update process.\r\n\t */\r\n\tOwl.Workers = [ {\r\n\t\tfilter: [ 'width', 'settings' ],\r\n\t\trun: function() {\r\n\t\t\tthis._width = this.$element.width();\r\n\t\t}\r\n\t}, {\r\n\t\tfilter: [ 'width', 'items', 'settings' ],\r\n\t\trun: function(cache) {\r\n\t\t\tcache.current = this._items && this._items[this.relative(this._current)];\r\n\t\t}\r\n\t}, {\r\n\t\tfilter: [ 'items', 'settings' ],\r\n\t\trun: function() {\r\n\t\t\tthis.$stage.children('.cloned').remove();\r\n\t\t}\r\n\t}, {\r\n\t\tfilter: [ 'width', 'items', 'settings' ],\r\n\t\trun: function(cache) {\r\n\t\t\tvar margin = this.settings.margin || '',\r\n\t\t\t\tgrid = !this.settings.autoWidth,\r\n\t\t\t\trtl = this.settings.rtl,\r\n\t\t\t\tcss = {\r\n\t\t\t\t\t'width': 'auto',\r\n\t\t\t\t\t'margin-left': rtl ? margin : '',\r\n\t\t\t\t\t'margin-right': rtl ? '' : margin\r\n\t\t\t\t};\r\n\r\n\t\t\t!grid && this.$stage.children().css(css);\r\n\r\n\t\t\tcache.css = css;\r\n\t\t}\r\n\t}, {\r\n\t\tfilter: [ 'width', 'items', 'settings' ],\r\n\t\trun: function(cache) {\r\n\t\t\tvar width = (this.width() / this.settings.items).toFixed(3) - this.settings.margin,\r\n\t\t\t\tmerge = null,\r\n\t\t\t\titerator = this._items.length,\r\n\t\t\t\tgrid = !this.settings.autoWidth,\r\n\t\t\t\twidths = [];\r\n\r\n\t\t\tcache.items = {\r\n\t\t\t\tmerge: false,\r\n\t\t\t\twidth: width\r\n\t\t\t};\r\n\r\n\t\t\twhile (iterator--) {\r\n\t\t\t\tmerge = this._mergers[iterator];\r\n\t\t\t\tmerge = this.settings.mergeFit && Math.min(merge, this.settings.items) || merge;\r\n\r\n\t\t\t\tcache.items.merge = merge > 1 || cache.items.merge;\r\n\r\n\t\t\t\twidths[iterator] = !grid ? this._items[iterator].width() : width * merge;\r\n\t\t\t}\r\n\r\n\t\t\tthis._widths = widths;\r\n\t\t}\r\n\t}, {\r\n\t\tfilter: [ 'items', 'settings' ],\r\n\t\trun: function() {\r\n\t\t\tvar clones = [],\r\n\t\t\t\titems = this._items,\r\n\t\t\t\tsettings = this.settings,\r\n\t\t\t\t// TODO: Should be computed from number of min width items in stage\r\n\t\t\t\tview = Math.max(settings.items * 2, 4),\r\n\t\t\t\tsize = Math.ceil(items.length / 2) * 2,\r\n\t\t\t\trepeat = settings.loop && items.length ? settings.rewind ? view : Math.max(view, size) : 0,\r\n\t\t\t\tappend = '',\r\n\t\t\t\tprepend = '';\r\n\r\n\t\t\trepeat /= 2;\r\n\r\n\t\t\twhile (repeat--) {\r\n\t\t\t\t// Switch to only using appended clones\r\n\t\t\t\tclones.push(this.normalize(clones.length / 2, true));\r\n\t\t\t\tappend = append + items[clones[clones.length - 1]][0].outerHTML;\r\n\t\t\t\tclones.push(this.normalize(items.length - 1 - (clones.length - 1) / 2, true));\r\n\t\t\t\tprepend = items[clones[clones.length - 1]][0].outerHTML + prepend;\r\n\t\t\t}\r\n\r\n\t\t\tthis._clones = clones;\r\n\r\n\t\t\t$(append).addClass('cloned').appendTo(this.$stage);\r\n\t\t\t$(prepend).addClass('cloned').prependTo(this.$stage);\r\n\t\t}\r\n\t}, {\r\n\t\tfilter: [ 'width', 'items', 'settings' ],\r\n\t\trun: function() {\r\n\t\t\tvar rtl = this.settings.rtl ? 1 : -1,\r\n\t\t\t\tsize = this._clones.length + this._items.length,\r\n\t\t\t\titerator = -1,\r\n\t\t\t\tprevious = 0,\r\n\t\t\t\tcurrent = 0,\r\n\t\t\t\tcoordinates = [];\r\n\r\n\t\t\twhile (++iterator < size) {\r\n\t\t\t\tprevious = coordinates[iterator - 1] || 0;\r\n\t\t\t\tcurrent = this._widths[this.relative(iterator)] + this.settings.margin;\r\n\t\t\t\tcoordinates.push(previous + current * rtl);\r\n\t\t\t}\r\n\r\n\t\t\tthis._coordinates = coordinates;\r\n\t\t}\r\n\t}, {\r\n\t\tfilter: [ 'width', 'items', 'settings' ],\r\n\t\trun: function() {\r\n\t\t\tvar padding = this.settings.stagePadding,\r\n\t\t\t\tcoordinates = this._coordinates,\r\n\t\t\t\tcss = {\r\n\t\t\t\t\t'width': Math.ceil(Math.abs(coordinates[coordinates.length - 1])) + padding * 2,\r\n\t\t\t\t\t'padding-left': padding || '',\r\n\t\t\t\t\t'padding-right': padding || ''\r\n\t\t\t\t};\r\n\r\n\t\t\tthis.$stage.css(css);\r\n\t\t}\r\n\t}, {\r\n\t\tfilter: [ 'width', 'items', 'settings' ],\r\n\t\trun: function(cache) {\r\n\t\t\tvar iterator = this._coordinates.length,\r\n\t\t\t\tgrid = !this.settings.autoWidth,\r\n\t\t\t\titems = this.$stage.children();\r\n\r\n\t\t\tif (grid && cache.items.merge) {\r\n\t\t\t\twhile (iterator--) {\r\n\t\t\t\t\tcache.css.width = this._widths[this.relative(iterator)];\r\n\t\t\t\t\titems.eq(iterator).css(cache.css);\r\n\t\t\t\t}\r\n\t\t\t} else if (grid) {\r\n\t\t\t\tcache.css.width = cache.items.width;\r\n\t\t\t\titems.css(cache.css);\r\n\t\t\t}\r\n\t\t}\r\n\t}, {\r\n\t\tfilter: [ 'items' ],\r\n\t\trun: function() {\r\n\t\t\tthis._coordinates.length < 1 && this.$stage.removeAttr('style');\r\n\t\t}\r\n\t}, {\r\n\t\tfilter: [ 'width', 'items', 'settings' ],\r\n\t\trun: function(cache) {\r\n\t\t\tcache.current = cache.current ? this.$stage.children().index(cache.current) : 0;\r\n\t\t\tcache.current = Math.max(this.minimum(), Math.min(this.maximum(), cache.current));\r\n\t\t\tthis.reset(cache.current);\r\n\t\t}\r\n\t}, {\r\n\t\tfilter: [ 'position' ],\r\n\t\trun: function() {\r\n\t\t\tthis.animate(this.coordinates(this._current));\r\n\t\t}\r\n\t}, {\r\n\t\tfilter: [ 'width', 'position', 'items', 'settings' ],\r\n\t\trun: function() {\r\n\t\t\tvar rtl = this.settings.rtl ? 1 : -1,\r\n\t\t\t\tpadding = this.settings.stagePadding * 2,\r\n\t\t\t\tbegin = this.coordinates(this.current()) + padding,\r\n\t\t\t\tend = begin + this.width() * rtl,\r\n\t\t\t\tinner, outer, matches = [], i, n;\r\n\r\n\t\t\tfor (i = 0, n = this._coordinates.length; i < n; i++) {\r\n\t\t\t\tinner = this._coordinates[i - 1] || 0;\r\n\t\t\t\touter = Math.abs(this._coordinates[i]) + padding * rtl;\r\n\r\n\t\t\t\tif ((this.op(inner, '<=', begin) && (this.op(inner, '>', end)))\r\n\t\t\t\t\t|| (this.op(outer, '<', begin) && this.op(outer, '>', end))) {\r\n\t\t\t\t\tmatches.push(i);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tthis.$stage.children('.active').removeClass('active');\r\n\t\t\tthis.$stage.children(':eq(' + matches.join('), :eq(') + ')').addClass('active');\r\n\r\n\t\t\tif (this.settings.center) {\r\n\t\t\t\tthis.$stage.children('.center').removeClass('center');\r\n\t\t\t\tthis.$stage.children().eq(this.current()).addClass('center');\r\n\t\t\t}\r\n\t\t}\r\n\t} ];\r\n\r\n\t/**\r\n\t * Initializes the carousel.\r\n\t * @protected\r\n\t */\r\n\tOwl.prototype.initialize = function() {\r\n\t\tthis.enter('initializing');\r\n\t\tthis.trigger('initialize');\r\n\r\n\t\tthis.$element.toggleClass(this.settings.rtlClass, this.settings.rtl);\r\n\r\n\t\tif (this.settings.autoWidth && !this.is('pre-loading')) {\r\n\t\t\tvar imgs, nestedSelector, width;\r\n\t\t\timgs = this.$element.find('img');\r\n\t\t\tnestedSelector = this.settings.nestedItemSelector ? '.' + this.settings.nestedItemSelector : undefined;\r\n\t\t\twidth = this.$element.children(nestedSelector).width();\r\n\r\n\t\t\tif (imgs.length && width <= 0) {\r\n\t\t\t\tthis.preloadAutoWidthImages(imgs);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.$element.addClass(this.options.loadingClass);\r\n\r\n\t\t// create stage\r\n\t\tthis.$stage = $('<' + this.settings.stageElement + ' class=\"' + this.settings.stageClass + '\"/>')\r\n\t\t\t.wrap('
');\r\n\r\n\t\t// append stage\r\n\t\tthis.$element.append(this.$stage.parent());\r\n\r\n\t\t// append content\r\n\t\tthis.replace(this.$element.children().not(this.$stage.parent()));\r\n\r\n\t\t// check visibility\r\n\t\tif (this.$element.is(':visible')) {\r\n\t\t\t// update view\r\n\t\t\tthis.refresh();\r\n\t\t} else {\r\n\t\t\t// invalidate width\r\n\t\t\tthis.invalidate('width');\r\n\t\t}\r\n\r\n\t\tthis.$element\r\n\t\t\t.removeClass(this.options.loadingClass)\r\n\t\t\t.addClass(this.options.loadedClass);\r\n\r\n\t\t// register event handlers\r\n\t\tthis.registerEventHandlers();\r\n\r\n\t\tthis.leave('initializing');\r\n\t\tthis.trigger('initialized');\r\n\t};\r\n\r\n\t/**\r\n\t * Setups the current settings.\r\n\t * @todo Remove responsive classes. Why should adaptive designs be brought into IE8?\r\n\t * @todo Support for media queries by using `matchMedia` would be nice.\r\n\t * @public\r\n\t */\r\n\tOwl.prototype.setup = function() {\r\n\t\tvar viewport = this.viewport(),\r\n\t\t\toverwrites = this.options.responsive,\r\n\t\t\tmatch = -1,\r\n\t\t\tsettings = null;\r\n\r\n\t\tif (!overwrites) {\r\n\t\t\tsettings = $.extend({}, this.options);\r\n\t\t} else {\r\n\t\t\t$.each(overwrites, function(breakpoint) {\r\n\t\t\t\tif (breakpoint <= viewport && breakpoint > match) {\r\n\t\t\t\t\tmatch = Number(breakpoint);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tsettings = $.extend({}, this.options, overwrites[match]);\r\n\t\t\tif (typeof settings.stagePadding === 'function') {\r\n\t\t\t\tsettings.stagePadding = settings.stagePadding();\r\n\t\t\t}\r\n\t\t\tdelete settings.responsive;\r\n\r\n\t\t\t// responsive class\r\n\t\t\tif (settings.responsiveClass) {\r\n\t\t\t\tthis.$element.attr('class',\r\n\t\t\t\t\tthis.$element.attr('class').replace(new RegExp('(' + this.options.responsiveClass + '-)\\\\S+\\\\s', 'g'), '$1' + match)\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.trigger('change', { property: { name: 'settings', value: settings } });\r\n\t\tthis._breakpoint = match;\r\n\t\tthis.settings = settings;\r\n\t\tthis.invalidate('settings');\r\n\t\tthis.trigger('changed', { property: { name: 'settings', value: this.settings } });\r\n\t};\r\n\r\n\t/**\r\n\t * Updates option logic if necessery.\r\n\t * @protected\r\n\t */\r\n\tOwl.prototype.optionsLogic = function() {\r\n\t\tif (this.settings.autoWidth) {\r\n\t\t\tthis.settings.stagePadding = false;\r\n\t\t\tthis.settings.merge = false;\r\n\t\t}\r\n\t};\r\n\r\n\t/**\r\n\t * Prepares an item before add.\r\n\t * @todo Rename event parameter `content` to `item`.\r\n\t * @protected\r\n\t * @returns {jQuery|HTMLElement} - The item container.\r\n\t */\r\n\tOwl.prototype.prepare = function(item) {\r\n\t\tvar event = this.trigger('prepare', { content: item });\r\n\r\n\t\tif (!event.data) {\r\n\t\t\tevent.data = $('<' + this.settings.itemElement + '/>')\r\n\t\t\t\t.addClass(this.options.itemClass).append(item)\r\n\t\t}\r\n\r\n\t\tthis.trigger('prepared', { content: event.data });\r\n\r\n\t\treturn event.data;\r\n\t};\r\n\r\n\t/**\r\n\t * Updates the view.\r\n\t * @public\r\n\t */\r\n\tOwl.prototype.update = function() {\r\n\t\tvar i = 0,\r\n\t\t\tn = this._pipe.length,\r\n\t\t\tfilter = $.proxy(function(p) { return this[p] }, this._invalidated),\r\n\t\t\tcache = {};\r\n\r\n\t\twhile (i < n) {\r\n\t\t\tif (this._invalidated.all || $.grep(this._pipe[i].filter, filter).length > 0) {\r\n\t\t\t\tthis._pipe[i].run(cache);\r\n\t\t\t}\r\n\t\t\ti++;\r\n\t\t}\r\n\r\n\t\tthis._invalidated = {};\r\n\r\n\t\t!this.is('valid') && this.enter('valid');\r\n\t};\r\n\r\n\t/**\r\n\t * Gets the width of the view.\r\n\t * @public\r\n\t * @param {Owl.Width} [dimension=Owl.Width.Default] - The dimension to return.\r\n\t * @returns {Number} - The width of the view in pixel.\r\n\t */\r\n\tOwl.prototype.width = function(dimension) {\r\n\t\tdimension = dimension || Owl.Width.Default;\r\n\t\tswitch (dimension) {\r\n\t\t\tcase Owl.Width.Inner:\r\n\t\t\tcase Owl.Width.Outer:\r\n\t\t\t\treturn this._width;\r\n\t\t\tdefault:\r\n\t\t\t\treturn this._width - this.settings.stagePadding * 2 + this.settings.margin;\r\n\t\t}\r\n\t};\r\n\r\n\t/**\r\n\t * Refreshes the carousel primarily for adaptive purposes.\r\n\t * @public\r\n\t */\r\n\tOwl.prototype.refresh = function() {\r\n\t\tthis.enter('refreshing');\r\n\t\tthis.trigger('refresh');\r\n\r\n\t\tthis.setup();\r\n\r\n\t\tthis.optionsLogic();\r\n\r\n\t\tthis.$element.addClass(this.options.refreshClass);\r\n\r\n\t\tthis.update();\r\n\r\n\t\tthis.$element.removeClass(this.options.refreshClass);\r\n\r\n\t\tthis.leave('refreshing');\r\n\t\tthis.trigger('refreshed');\r\n\t};\r\n\r\n\t/**\r\n\t * Checks window `resize` event.\r\n\t * @protected\r\n\t */\r\n\tOwl.prototype.onThrottledResize = function() {\r\n\t\twindow.clearTimeout(this.resizeTimer);\r\n\t\tthis.resizeTimer = window.setTimeout(this._handlers.onResize, this.settings.responsiveRefreshRate);\r\n\t};\r\n\r\n\t/**\r\n\t * Checks window `resize` event.\r\n\t * @protected\r\n\t */\r\n\tOwl.prototype.onResize = function() {\r\n\t\tif (!this._items.length) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tif (this._width === this.$element.width()) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tif (!this.$element.is(':visible')) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tthis.enter('resizing');\r\n\r\n\t\tif (this.trigger('resize').isDefaultPrevented()) {\r\n\t\t\tthis.leave('resizing');\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tthis.invalidate('width');\r\n\r\n\t\tthis.refresh();\r\n\r\n\t\tthis.leave('resizing');\r\n\t\tthis.trigger('resized');\r\n\t};\r\n\r\n\t/**\r\n\t * Registers event handlers.\r\n\t * @todo Check `msPointerEnabled`\r\n\t * @todo #261\r\n\t * @protected\r\n\t */\r\n\tOwl.prototype.registerEventHandlers = function() {\r\n\t\tif ($.support.transition) {\r\n\t\t\tthis.$stage.on($.support.transition.end + '.owl.core', $.proxy(this.onTransitionEnd, this));\r\n\t\t}\r\n\r\n\t\tif (this.settings.responsive !== false) {\r\n\t\t\tthis.on(window, 'resize', this._handlers.onThrottledResize);\r\n\t\t}\r\n\r\n\t\tif (this.settings.mouseDrag) {\r\n\t\t\tthis.$element.addClass(this.options.dragClass);\r\n\t\t\tthis.$stage.on('mousedown.owl.core', $.proxy(this.onDragStart, this));\r\n\t\t\tthis.$stage.on('dragstart.owl.core selectstart.owl.core', function() { return false });\r\n\t\t}\r\n\r\n\t\tif (this.settings.touchDrag){\r\n\t\t\tthis.$stage.on('touchstart.owl.core', $.proxy(this.onDragStart, this));\r\n\t\t\tthis.$stage.on('touchcancel.owl.core', $.proxy(this.onDragEnd, this));\r\n\t\t}\r\n\t};\r\n\r\n\t/**\r\n\t * Handles `touchstart` and `mousedown` events.\r\n\t * @todo Horizontal swipe threshold as option\r\n\t * @todo #261\r\n\t * @protected\r\n\t * @param {Event} event - The event arguments.\r\n\t */\r\n\tOwl.prototype.onDragStart = function(event) {\r\n\t\tvar stage = null;\r\n\r\n\t\tif (event.which === 3) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif ($.support.transform) {\r\n\t\t\tstage = this.$stage.css('transform').replace(/.*\\(|\\)| /g, '').split(',');\r\n\t\t\tstage = {\r\n\t\t\t\tx: stage[stage.length === 16 ? 12 : 4],\r\n\t\t\t\ty: stage[stage.length === 16 ? 13 : 5]\r\n\t\t\t};\r\n\t\t} else {\r\n\t\t\tstage = this.$stage.position();\r\n\t\t\tstage = {\r\n\t\t\t\tx: this.settings.rtl ?\r\n\t\t\t\t\tstage.left + this.$stage.width() - this.width() + this.settings.margin :\r\n\t\t\t\t\tstage.left,\r\n\t\t\t\ty: stage.top\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tif (this.is('animating')) {\r\n\t\t\t$.support.transform ? this.animate(stage.x) : this.$stage.stop()\r\n\t\t\tthis.invalidate('position');\r\n\t\t}\r\n\r\n\t\tthis.$element.toggleClass(this.options.grabClass, event.type === 'mousedown');\r\n\r\n\t\tthis.speed(0);\r\n\r\n\t\tthis._drag.time = new Date().getTime();\r\n\t\tthis._drag.target = $(event.target);\r\n\t\tthis._drag.stage.start = stage;\r\n\t\tthis._drag.stage.current = stage;\r\n\t\tthis._drag.pointer = this.pointer(event);\r\n\r\n\t\t$(document).on('mouseup.owl.core touchend.owl.core', $.proxy(this.onDragEnd, this));\r\n\r\n\t\t$(document).one('mousemove.owl.core touchmove.owl.core', $.proxy(function(event) {\r\n\t\t\tvar delta = this.difference(this._drag.pointer, this.pointer(event));\r\n\r\n\t\t\t$(document).on('mousemove.owl.core touchmove.owl.core', $.proxy(this.onDragMove, this));\r\n\r\n\t\t\tif (Math.abs(delta.x) < Math.abs(delta.y) && this.is('valid')) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tevent.preventDefault();\r\n\r\n\t\t\tthis.enter('dragging');\r\n\t\t\tthis.trigger('drag');\r\n\t\t}, this));\r\n\t};\r\n\r\n\t/**\r\n\t * Handles the `touchmove` and `mousemove` events.\r\n\t * @todo #261\r\n\t * @protected\r\n\t * @param {Event} event - The event arguments.\r\n\t */\r\n\tOwl.prototype.onDragMove = function(event) {\r\n\t\tvar minimum = null,\r\n\t\t\tmaximum = null,\r\n\t\t\tpull = null,\r\n\t\t\tdelta = this.difference(this._drag.pointer, this.pointer(event)),\r\n\t\t\tstage = this.difference(this._drag.stage.start, delta);\r\n\r\n\t\tif (!this.is('dragging')) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tevent.preventDefault();\r\n\r\n\t\tif (this.settings.loop) {\r\n\t\t\tminimum = this.coordinates(this.minimum());\r\n\t\t\tmaximum = this.coordinates(this.maximum() + 1) - minimum;\r\n\t\t\tstage.x = (((stage.x - minimum) % maximum + maximum) % maximum) + minimum;\r\n\t\t} else {\r\n\t\t\tminimum = this.settings.rtl ? this.coordinates(this.maximum()) : this.coordinates(this.minimum());\r\n\t\t\tmaximum = this.settings.rtl ? this.coordinates(this.minimum()) : this.coordinates(this.maximum());\r\n\t\t\tpull = this.settings.pullDrag ? -1 * delta.x / 5 : 0;\r\n\t\t\tstage.x = Math.max(Math.min(stage.x, minimum + pull), maximum + pull);\r\n\t\t}\r\n\r\n\t\tthis._drag.stage.current = stage;\r\n\r\n\t\tthis.animate(stage.x);\r\n\t};\r\n\r\n\t/**\r\n\t * Handles the `touchend` and `mouseup` events.\r\n\t * @todo #261\r\n\t * @todo Threshold for click event\r\n\t * @protected\r\n\t * @param {Event} event - The event arguments.\r\n\t */\r\n\tOwl.prototype.onDragEnd = function(event) {\r\n\t\tvar delta = this.difference(this._drag.pointer, this.pointer(event)),\r\n\t\t\tstage = this._drag.stage.current,\r\n\t\t\tdirection = delta.x > 0 ^ this.settings.rtl ? 'left' : 'right';\r\n\r\n\t\t$(document).off('.owl.core');\r\n\r\n\t\tthis.$element.removeClass(this.options.grabClass);\r\n\r\n\t\tif (delta.x !== 0 && this.is('dragging') || !this.is('valid')) {\r\n\t\t\tthis.speed(this.settings.dragEndSpeed || this.settings.smartSpeed);\r\n\t\t\tthis.current(this.closest(stage.x, delta.x !== 0 ? direction : this._drag.direction));\r\n\t\t\tthis.invalidate('position');\r\n\t\t\tthis.update();\r\n\r\n\t\t\tthis._drag.direction = direction;\r\n\r\n\t\t\tif (Math.abs(delta.x) > 3 || new Date().getTime() - this._drag.time > 300) {\r\n\t\t\t\tthis._drag.target.one('click.owl.core', function() { return false; });\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (!this.is('dragging')) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.leave('dragging');\r\n\t\tthis.trigger('dragged');\r\n\t};\r\n\r\n\t/**\r\n\t * Gets absolute position of the closest item for a coordinate.\r\n\t * @todo Setting `freeDrag` makes `closest` not reusable. See #165.\r\n\t * @protected\r\n\t * @param {Number} coordinate - The coordinate in pixel.\r\n\t * @param {String} direction - The direction to check for the closest item. Ether `left` or `right`.\r\n\t * @return {Number} - The absolute position of the closest item.\r\n\t */\r\n\tOwl.prototype.closest = function(coordinate, direction) {\r\n\t\tvar position = -1,\r\n\t\t\tpull = 30,\r\n\t\t\twidth = this.width(),\r\n\t\t\tcoordinates = this.coordinates();\r\n\r\n\t\tif (!this.settings.freeDrag) {\r\n\t\t\t// check closest item\r\n\t\t\t$.each(coordinates, $.proxy(function(index, value) {\r\n\t\t\t\t// on a left pull, check on current index\r\n\t\t\t\tif (direction === 'left' && coordinate > value - pull && coordinate < value + pull) {\r\n\t\t\t\t\tposition = index;\r\n\t\t\t\t// on a right pull, check on previous index\r\n\t\t\t\t// to do so, subtract width from value and set position = index + 1\r\n\t\t\t\t} else if (direction === 'right' && coordinate > value - width - pull && coordinate < value - width + pull) {\r\n\t\t\t\t\tposition = index + 1;\r\n\t\t\t\t} else if (this.op(coordinate, '<', value)\r\n\t\t\t\t\t&& this.op(coordinate, '>', coordinates[index + 1] || value - width)) {\r\n\t\t\t\t\tposition = direction === 'left' ? index + 1 : index;\r\n\t\t\t\t}\r\n\t\t\t\treturn position === -1;\r\n\t\t\t}, this));\r\n\t\t}\r\n\r\n\t\tif (!this.settings.loop) {\r\n\t\t\t// non loop boundries\r\n\t\t\tif (this.op(coordinate, '>', coordinates[this.minimum()])) {\r\n\t\t\t\tposition = coordinate = this.minimum();\r\n\t\t\t} else if (this.op(coordinate, '<', coordinates[this.maximum()])) {\r\n\t\t\t\tposition = coordinate = this.maximum();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn position;\r\n\t};\r\n\r\n\t/**\r\n\t * Animates the stage.\r\n\t * @todo #270\r\n\t * @public\r\n\t * @param {Number} coordinate - The coordinate in pixels.\r\n\t */\r\n\tOwl.prototype.animate = function(coordinate) {\r\n\t\tvar animate = this.speed() > 0;\r\n\r\n\t\tthis.is('animating') && this.onTransitionEnd();\r\n\r\n\t\tif (animate) {\r\n\t\t\tthis.enter('animating');\r\n\t\t\tthis.trigger('translate');\r\n\t\t}\r\n\r\n\t\tif ($.support.transform3d && $.support.transition) {\r\n\t\t\tthis.$stage.css({\r\n\t\t\t\ttransform: 'translate3d(' + coordinate + 'px,0px,0px)',\r\n\t\t\t\ttransition: (this.speed() / 1000) + 's'\r\n\t\t\t});\r\n\t\t} else if (animate) {\r\n\t\t\tthis.$stage.animate({\r\n\t\t\t\tleft: coordinate + 'px'\r\n\t\t\t}, this.speed(), this.settings.fallbackEasing, $.proxy(this.onTransitionEnd, this));\r\n\t\t} else {\r\n\t\t\tthis.$stage.css({\r\n\t\t\t\tleft: coordinate + 'px'\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\r\n\t/**\r\n\t * Checks whether the carousel is in a specific state or not.\r\n\t * @param {String} state - The state to check.\r\n\t * @returns {Boolean} - The flag which indicates if the carousel is busy.\r\n\t */\r\n\tOwl.prototype.is = function(state) {\r\n\t\treturn this._states.current[state] && this._states.current[state] > 0;\r\n\t};\r\n\r\n\t/**\r\n\t * Sets the absolute position of the current item.\r\n\t * @public\r\n\t * @param {Number} [position] - The new absolute position or nothing to leave it unchanged.\r\n\t * @returns {Number} - The absolute position of the current item.\r\n\t */\r\n\tOwl.prototype.current = function(position) {\r\n\t\tif (position === undefined) {\r\n\t\t\treturn this._current;\r\n\t\t}\r\n\r\n\t\tif (this._items.length === 0) {\r\n\t\t\treturn undefined;\r\n\t\t}\r\n\r\n\t\tposition = this.normalize(position);\r\n\r\n\t\tif (this._current !== position) {\r\n\t\t\tvar event = this.trigger('change', { property: { name: 'position', value: position } });\r\n\r\n\t\t\tif (event.data !== undefined) {\r\n\t\t\t\tposition = this.normalize(event.data);\r\n\t\t\t}\r\n\r\n\t\t\tthis._current = position;\r\n\r\n\t\t\tthis.invalidate('position');\r\n\r\n\t\t\tthis.trigger('changed', { property: { name: 'position', value: this._current } });\r\n\t\t}\r\n\r\n\t\treturn this._current;\r\n\t};\r\n\r\n\t/**\r\n\t * Invalidates the given part of the update routine.\r\n\t * @param {String} [part] - The part to invalidate.\r\n\t * @returns {Array.} - The invalidated parts.\r\n\t */\r\n\tOwl.prototype.invalidate = function(part) {\r\n\t\tif ($.type(part) === 'string') {\r\n\t\t\tthis._invalidated[part] = true;\r\n\t\t\tthis.is('valid') && this.leave('valid');\r\n\t\t}\r\n\t\treturn $.map(this._invalidated, function(v, i) { return i });\r\n\t};\r\n\r\n\t/**\r\n\t * Resets the absolute position of the current item.\r\n\t * @public\r\n\t * @param {Number} position - The absolute position of the new item.\r\n\t */\r\n\tOwl.prototype.reset = function(position) {\r\n\t\tposition = this.normalize(position);\r\n\r\n\t\tif (position === undefined) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis._speed = 0;\r\n\t\tthis._current = position;\r\n\r\n\t\tthis.suppress([ 'translate', 'translated' ]);\r\n\r\n\t\tthis.animate(this.coordinates(position));\r\n\r\n\t\tthis.release([ 'translate', 'translated' ]);\r\n\t};\r\n\r\n\t/**\r\n\t * Normalizes an absolute or a relative position of an item.\r\n\t * @public\r\n\t * @param {Number} position - The absolute or relative position to normalize.\r\n\t * @param {Boolean} [relative=false] - Whether the given position is relative or not.\r\n\t * @returns {Number} - The normalized position.\r\n\t */\r\n\tOwl.prototype.normalize = function(position, relative) {\r\n\t\tvar n = this._items.length,\r\n\t\t\tm = relative ? 0 : this._clones.length;\r\n\r\n\t\tif (!this.isNumeric(position) || n < 1) {\r\n\t\t\tposition = undefined;\r\n\t\t} else if (position < 0 || position >= n + m) {\r\n\t\t\tposition = ((position - m / 2) % n + n) % n + m / 2;\r\n\t\t}\r\n\r\n\t\treturn position;\r\n\t};\r\n\r\n\t/**\r\n\t * Converts an absolute position of an item into a relative one.\r\n\t * @public\r\n\t * @param {Number} position - The absolute position to convert.\r\n\t * @returns {Number} - The converted position.\r\n\t */\r\n\tOwl.prototype.relative = function(position) {\r\n\t\tposition -= this._clones.length / 2;\r\n\t\treturn this.normalize(position, true);\r\n\t};\r\n\r\n\t/**\r\n\t * Gets the maximum position for the current item.\r\n\t * @public\r\n\t * @param {Boolean} [relative=false] - Whether to return an absolute position or a relative position.\r\n\t * @returns {Number}\r\n\t */\r\n\tOwl.prototype.maximum = function(relative) {\r\n\t\tvar settings = this.settings,\r\n\t\t\tmaximum = this._coordinates.length,\r\n\t\t\titerator,\r\n\t\t\treciprocalItemsWidth,\r\n\t\t\telementWidth;\r\n\r\n\t\tif (settings.loop) {\r\n\t\t\tmaximum = this._clones.length / 2 + this._items.length - 1;\r\n\t\t} else if (settings.autoWidth || settings.merge) {\r\n\t\t\titerator = this._items.length;\r\n\t\t\treciprocalItemsWidth = this._items[--iterator].width();\r\n\t\t\telementWidth = this.$element.width();\r\n\t\t\twhile (iterator--) {\r\n\t\t\t\treciprocalItemsWidth += this._items[iterator].width() + this.settings.margin;\r\n\t\t\t\tif (reciprocalItemsWidth > elementWidth) {\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tmaximum = iterator + 1;\r\n\t\t} else if (settings.center) {\r\n\t\t\tmaximum = this._items.length - 1;\r\n\t\t} else {\r\n\t\t\tmaximum = this._items.length - settings.items;\r\n\t\t}\r\n\r\n\t\tif (relative) {\r\n\t\t\tmaximum -= this._clones.length / 2;\r\n\t\t}\r\n\r\n\t\treturn Math.max(maximum, 0);\r\n\t};\r\n\r\n\t/**\r\n\t * Gets the minimum position for the current item.\r\n\t * @public\r\n\t * @param {Boolean} [relative=false] - Whether to return an absolute position or a relative position.\r\n\t * @returns {Number}\r\n\t */\r\n\tOwl.prototype.minimum = function(relative) {\r\n\t\treturn relative ? 0 : this._clones.length / 2;\r\n\t};\r\n\r\n\t/**\r\n\t * Gets an item at the specified relative position.\r\n\t * @public\r\n\t * @param {Number} [position] - The relative position of the item.\r\n\t * @return {jQuery|Array.} - The item at the given position or all items if no position was given.\r\n\t */\r\n\tOwl.prototype.items = function(position) {\r\n\t\tif (position === undefined) {\r\n\t\t\treturn this._items.slice();\r\n\t\t}\r\n\r\n\t\tposition = this.normalize(position, true);\r\n\t\treturn this._items[position];\r\n\t};\r\n\r\n\t/**\r\n\t * Gets an item at the specified relative position.\r\n\t * @public\r\n\t * @param {Number} [position] - The relative position of the item.\r\n\t * @return {jQuery|Array.} - The item at the given position or all items if no position was given.\r\n\t */\r\n\tOwl.prototype.mergers = function(position) {\r\n\t\tif (position === undefined) {\r\n\t\t\treturn this._mergers.slice();\r\n\t\t}\r\n\r\n\t\tposition = this.normalize(position, true);\r\n\t\treturn this._mergers[position];\r\n\t};\r\n\r\n\t/**\r\n\t * Gets the absolute positions of clones for an item.\r\n\t * @public\r\n\t * @param {Number} [position] - The relative position of the item.\r\n\t * @returns {Array.} - The absolute positions of clones for the item or all if no position was given.\r\n\t */\r\n\tOwl.prototype.clones = function(position) {\r\n\t\tvar odd = this._clones.length / 2,\r\n\t\t\teven = odd + this._items.length,\r\n\t\t\tmap = function(index) { return index % 2 === 0 ? even + index / 2 : odd - (index + 1) / 2 };\r\n\r\n\t\tif (position === undefined) {\r\n\t\t\treturn $.map(this._clones, function(v, i) { return map(i) });\r\n\t\t}\r\n\r\n\t\treturn $.map(this._clones, function(v, i) { return v === position ? map(i) : null });\r\n\t};\r\n\r\n\t/**\r\n\t * Sets the current animation speed.\r\n\t * @public\r\n\t * @param {Number} [speed] - The animation speed in milliseconds or nothing to leave it unchanged.\r\n\t * @returns {Number} - The current animation speed in milliseconds.\r\n\t */\r\n\tOwl.prototype.speed = function(speed) {\r\n\t\tif (speed !== undefined) {\r\n\t\t\tthis._speed = speed;\r\n\t\t}\r\n\r\n\t\treturn this._speed;\r\n\t};\r\n\r\n\t/**\r\n\t * Gets the coordinate of an item.\r\n\t * @todo The name of this method is missleanding.\r\n\t * @public\r\n\t * @param {Number} position - The absolute position of the item within `minimum()` and `maximum()`.\r\n\t * @returns {Number|Array.} - The coordinate of the item in pixel or all coordinates.\r\n\t */\r\n\tOwl.prototype.coordinates = function(position) {\r\n\t\tvar multiplier = 1,\r\n\t\t\tnewPosition = position - 1,\r\n\t\t\tcoordinate;\r\n\r\n\t\tif (position === undefined) {\r\n\t\t\treturn $.map(this._coordinates, $.proxy(function(coordinate, index) {\r\n\t\t\t\treturn this.coordinates(index);\r\n\t\t\t}, this));\r\n\t\t}\r\n\r\n\t\tif (this.settings.center) {\r\n\t\t\tif (this.settings.rtl) {\r\n\t\t\t\tmultiplier = -1;\r\n\t\t\t\tnewPosition = position + 1;\r\n\t\t\t}\r\n\r\n\t\t\tcoordinate = this._coordinates[position];\r\n\t\t\tcoordinate += (this.width() - coordinate + (this._coordinates[newPosition] || 0)) / 2 * multiplier;\r\n\t\t} else {\r\n\t\t\tcoordinate = this._coordinates[newPosition] || 0;\r\n\t\t}\r\n\r\n\t\tcoordinate = Math.ceil(coordinate);\r\n\r\n\t\treturn coordinate;\r\n\t};\r\n\r\n\t/**\r\n\t * Calculates the speed for a translation.\r\n\t * @protected\r\n\t * @param {Number} from - The absolute position of the start item.\r\n\t * @param {Number} to - The absolute position of the target item.\r\n\t * @param {Number} [factor=undefined] - The time factor in milliseconds.\r\n\t * @returns {Number} - The time in milliseconds for the translation.\r\n\t */\r\n\tOwl.prototype.duration = function(from, to, factor) {\r\n\t\tif (factor === 0) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\r\n\t\treturn Math.min(Math.max(Math.abs(to - from), 1), 6) * Math.abs((factor || this.settings.smartSpeed));\r\n\t};\r\n\r\n\t/**\r\n\t * Slides to the specified item.\r\n\t * @public\r\n\t * @param {Number} position - The position of the item.\r\n\t * @param {Number} [speed] - The time in milliseconds for the transition.\r\n\t */\r\n\tOwl.prototype.to = function(position, speed) {\r\n\t\tvar current = this.current(),\r\n\t\t\trevert = null,\r\n\t\t\tdistance = position - this.relative(current),\r\n\t\t\tdirection = (distance > 0) - (distance < 0),\r\n\t\t\titems = this._items.length,\r\n\t\t\tminimum = this.minimum(),\r\n\t\t\tmaximum = this.maximum();\r\n\r\n\t\tif (this.settings.loop) {\r\n\t\t\tif (!this.settings.rewind && Math.abs(distance) > items / 2) {\r\n\t\t\t\tdistance += direction * -1 * items;\r\n\t\t\t}\r\n\r\n\t\t\tposition = current + distance;\r\n\t\t\trevert = ((position - minimum) % items + items) % items + minimum;\r\n\r\n\t\t\tif (revert !== position && revert - distance <= maximum && revert - distance > 0) {\r\n\t\t\t\tcurrent = revert - distance;\r\n\t\t\t\tposition = revert;\r\n\t\t\t\tthis.reset(current);\r\n\t\t\t}\r\n\t\t} else if (this.settings.rewind) {\r\n\t\t\tmaximum += 1;\r\n\t\t\tposition = (position % maximum + maximum) % maximum;\r\n\t\t} else {\r\n\t\t\tposition = Math.max(minimum, Math.min(maximum, position));\r\n\t\t}\r\n\r\n\t\tthis.speed(this.duration(current, position, speed));\r\n\t\tthis.current(position);\r\n\r\n\t\tif (this.$element.is(':visible')) {\r\n\t\t\tthis.update();\r\n\t\t}\r\n\t};\r\n\r\n\t/**\r\n\t * Slides to the next item.\r\n\t * @public\r\n\t * @param {Number} [speed] - The time in milliseconds for the transition.\r\n\t */\r\n\tOwl.prototype.next = function(speed) {\r\n\t\tspeed = speed || false;\r\n\t\tthis.to(this.relative(this.current()) + 1, speed);\r\n\t};\r\n\r\n\t/**\r\n\t * Slides to the previous item.\r\n\t * @public\r\n\t * @param {Number} [speed] - The time in milliseconds for the transition.\r\n\t */\r\n\tOwl.prototype.prev = function(speed) {\r\n\t\tspeed = speed || false;\r\n\t\tthis.to(this.relative(this.current()) - 1, speed);\r\n\t};\r\n\r\n\t/**\r\n\t * Handles the end of an animation.\r\n\t * @protected\r\n\t * @param {Event} event - The event arguments.\r\n\t */\r\n\tOwl.prototype.onTransitionEnd = function(event) {\r\n\r\n\t\t// if css2 animation then event object is undefined\r\n\t\tif (event !== undefined) {\r\n\t\t\tevent.stopPropagation();\r\n\r\n\t\t\t// Catch only owl-stage transitionEnd event\r\n\t\t\tif ((event.target || event.srcElement || event.originalTarget) !== this.$stage.get(0)) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.leave('animating');\r\n\t\tthis.trigger('translated');\r\n\t};\r\n\r\n\t/**\r\n\t * Gets viewport width.\r\n\t * @protected\r\n\t * @return {Number} - The width in pixel.\r\n\t */\r\n\tOwl.prototype.viewport = function() {\r\n\t\tvar width;\r\n\t\tif (this.options.responsiveBaseElement !== window) {\r\n\t\t\twidth = $(this.options.responsiveBaseElement).width();\r\n\t\t} else if (window.innerWidth) {\r\n\t\t\twidth = window.innerWidth;\r\n\t\t} else if (document.documentElement && document.documentElement.clientWidth) {\r\n\t\t\twidth = document.documentElement.clientWidth;\r\n\t\t} else {\r\n\t\t\tconsole.warn('Can not detect viewport width.');\r\n\t\t}\r\n\t\treturn width;\r\n\t};\r\n\r\n\t/**\r\n\t * Replaces the current content.\r\n\t * @public\r\n\t * @param {HTMLElement|jQuery|String} content - The new content.\r\n\t */\r\n\tOwl.prototype.replace = function(content) {\r\n\t\tthis.$stage.empty();\r\n\t\tthis._items = [];\r\n\r\n\t\tif (content) {\r\n\t\t\tcontent = (content instanceof jQuery) ? content : $(content);\r\n\t\t}\r\n\r\n\t\tif (this.settings.nestedItemSelector) {\r\n\t\t\tcontent = content.find('.' + this.settings.nestedItemSelector);\r\n\t\t}\r\n\r\n\t\tcontent.filter(function() {\r\n\t\t\treturn this.nodeType === 1;\r\n\t\t}).each($.proxy(function(index, item) {\r\n\t\t\titem = this.prepare(item);\r\n\t\t\tthis.$stage.append(item);\r\n\t\t\tthis._items.push(item);\r\n\t\t\tthis._mergers.push(item.find('[data-merge]').addBack('[data-merge]').attr('data-merge') * 1 || 1);\r\n\t\t}, this));\r\n\r\n\t\tthis.reset(this.isNumeric(this.settings.startPosition) ? this.settings.startPosition : 0);\r\n\r\n\t\tthis.invalidate('items');\r\n\t};\r\n\r\n\t/**\r\n\t * Adds an item.\r\n\t * @todo Use `item` instead of `content` for the event arguments.\r\n\t * @public\r\n\t * @param {HTMLElement|jQuery|String} content - The item content to add.\r\n\t * @param {Number} [position] - The relative position at which to insert the item otherwise the item will be added to the end.\r\n\t */\r\n\tOwl.prototype.add = function(content, position) {\r\n\t\tvar current = this.relative(this._current);\r\n\r\n\t\tposition = position === undefined ? this._items.length : this.normalize(position, true);\r\n\t\tcontent = content instanceof jQuery ? content : $(content);\r\n\r\n\t\tthis.trigger('add', { content: content, position: position });\r\n\r\n\t\tcontent = this.prepare(content);\r\n\r\n\t\tif (this._items.length === 0 || position === this._items.length) {\r\n\t\t\tthis._items.length === 0 && this.$stage.append(content);\r\n\t\t\tthis._items.length !== 0 && this._items[position - 1].after(content);\r\n\t\t\tthis._items.push(content);\r\n\t\t\tthis._mergers.push(content.find('[data-merge]').addBack('[data-merge]').attr('data-merge') * 1 || 1);\r\n\t\t} else {\r\n\t\t\tthis._items[position].before(content);\r\n\t\t\tthis._items.splice(position, 0, content);\r\n\t\t\tthis._mergers.splice(position, 0, content.find('[data-merge]').addBack('[data-merge]').attr('data-merge') * 1 || 1);\r\n\t\t}\r\n\r\n\t\tthis._items[current] && this.reset(this._items[current].index());\r\n\r\n\t\tthis.invalidate('items');\r\n\r\n\t\tthis.trigger('added', { content: content, position: position });\r\n\t};\r\n\r\n\t/**\r\n\t * Removes an item by its position.\r\n\t * @todo Use `item` instead of `content` for the event arguments.\r\n\t * @public\r\n\t * @param {Number} position - The relative position of the item to remove.\r\n\t */\r\n\tOwl.prototype.remove = function(position) {\r\n\t\tposition = this.normalize(position, true);\r\n\r\n\t\tif (position === undefined) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.trigger('remove', { content: this._items[position], position: position });\r\n\r\n\t\tthis._items[position].remove();\r\n\t\tthis._items.splice(position, 1);\r\n\t\tthis._mergers.splice(position, 1);\r\n\r\n\t\tthis.invalidate('items');\r\n\r\n\t\tthis.trigger('removed', { content: null, position: position });\r\n\t};\r\n\r\n\t/**\r\n\t * Preloads images with auto width.\r\n\t * @todo Replace by a more generic approach\r\n\t * @protected\r\n\t */\r\n\tOwl.prototype.preloadAutoWidthImages = function(images) {\r\n\t\timages.each($.proxy(function(i, element) {\r\n\t\t\tthis.enter('pre-loading');\r\n\t\t\telement = $(element);\r\n\t\t\t$(new Image()).one('load', $.proxy(function(e) {\r\n\t\t\t\telement.attr('src', e.target.src);\r\n\t\t\t\telement.css('opacity', 1);\r\n\t\t\t\tthis.leave('pre-loading');\r\n\t\t\t\t!this.is('pre-loading') && !this.is('initializing') && this.refresh();\r\n\t\t\t}, this)).attr('src', element.attr('src') || element.attr('data-src') || element.attr('data-src-retina'));\r\n\t\t}, this));\r\n\t};\r\n\r\n\t/**\r\n\t * Destroys the carousel.\r\n\t * @public\r\n\t */\r\n\tOwl.prototype.destroy = function() {\r\n\r\n\t\tthis.$element.off('.owl.core');\r\n\t\tthis.$stage.off('.owl.core');\r\n\t\t$(document).off('.owl.core');\r\n\r\n\t\tif (this.settings.responsive !== false) {\r\n\t\t\twindow.clearTimeout(this.resizeTimer);\r\n\t\t\tthis.off(window, 'resize', this._handlers.onThrottledResize);\r\n\t\t}\r\n\r\n\t\tfor (var i in this._plugins) {\r\n\t\t\tthis._plugins[i].destroy();\r\n\t\t}\r\n\r\n\t\tthis.$stage.children('.cloned').remove();\r\n\r\n\t\tthis.$stage.unwrap();\r\n\t\tthis.$stage.children().contents().unwrap();\r\n\t\tthis.$stage.children().unwrap();\r\n\r\n\t\tthis.$element\r\n\t\t\t.removeClass(this.options.refreshClass)\r\n\t\t\t.removeClass(this.options.loadingClass)\r\n\t\t\t.removeClass(this.options.loadedClass)\r\n\t\t\t.removeClass(this.options.rtlClass)\r\n\t\t\t.removeClass(this.options.dragClass)\r\n\t\t\t.removeClass(this.options.grabClass)\r\n\t\t\t.attr('class', this.$element.attr('class').replace(new RegExp(this.options.responsiveClass + '-\\\\S+\\\\s', 'g'), ''))\r\n\t\t\t.removeData('owl.carousel');\r\n\t};\r\n\r\n\t/**\r\n\t * Operators to calculate right-to-left and left-to-right.\r\n\t * @protected\r\n\t * @param {Number} [a] - The left side operand.\r\n\t * @param {String} [o] - The operator.\r\n\t * @param {Number} [b] - The right side operand.\r\n\t */\r\n\tOwl.prototype.op = function(a, o, b) {\r\n\t\tvar rtl = this.settings.rtl;\r\n\t\tswitch (o) {\r\n\t\t\tcase '<':\r\n\t\t\t\treturn rtl ? a > b : a < b;\r\n\t\t\tcase '>':\r\n\t\t\t\treturn rtl ? a < b : a > b;\r\n\t\t\tcase '>=':\r\n\t\t\t\treturn rtl ? a <= b : a >= b;\r\n\t\t\tcase '<=':\r\n\t\t\t\treturn rtl ? a >= b : a <= b;\r\n\t\t\tdefault:\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t};\r\n\r\n\t/**\r\n\t * Attaches to an internal event.\r\n\t * @protected\r\n\t * @param {HTMLElement} element - The event source.\r\n\t * @param {String} event - The event name.\r\n\t * @param {Function} listener - The event handler to attach.\r\n\t * @param {Boolean} capture - Wether the event should be handled at the capturing phase or not.\r\n\t */\r\n\tOwl.prototype.on = function(element, event, listener, capture) {\r\n\t\tif (element.addEventListener) {\r\n\t\t\telement.addEventListener(event, listener, capture);\r\n\t\t} else if (element.attachEvent) {\r\n\t\t\telement.attachEvent('on' + event, listener);\r\n\t\t}\r\n\t};\r\n\r\n\t/**\r\n\t * Detaches from an internal event.\r\n\t * @protected\r\n\t * @param {HTMLElement} element - The event source.\r\n\t * @param {String} event - The event name.\r\n\t * @param {Function} listener - The attached event handler to detach.\r\n\t * @param {Boolean} capture - Wether the attached event handler was registered as a capturing listener or not.\r\n\t */\r\n\tOwl.prototype.off = function(element, event, listener, capture) {\r\n\t\tif (element.removeEventListener) {\r\n\t\t\telement.removeEventListener(event, listener, capture);\r\n\t\t} else if (element.detachEvent) {\r\n\t\t\telement.detachEvent('on' + event, listener);\r\n\t\t}\r\n\t};\r\n\r\n\t/**\r\n\t * Triggers a public event.\r\n\t * @todo Remove `status`, `relatedTarget` should be used instead.\r\n\t * @protected\r\n\t * @param {String} name - The event name.\r\n\t * @param {*} [data=null] - The event data.\r\n\t * @param {String} [namespace=carousel] - The event namespace.\r\n\t * @param {String} [state] - The state which is associated with the event.\r\n\t * @param {Boolean} [enter=false] - Indicates if the call enters the specified state or not.\r\n\t * @returns {Event} - The event arguments.\r\n\t */\r\n\tOwl.prototype.trigger = function(name, data, namespace, state, enter) {\r\n\t\tvar status = {\r\n\t\t\titem: { count: this._items.length, index: this.current() }\r\n\t\t}, handler = $.camelCase(\r\n\t\t\t$.grep([ 'on', name, namespace ], function(v) { return v })\r\n\t\t\t\t.join('-').toLowerCase()\r\n\t\t), event = $.Event(\r\n\t\t\t[ name, 'owl', namespace || 'carousel' ].join('.').toLowerCase(),\r\n\t\t\t$.extend({ relatedTarget: this }, status, data)\r\n\t\t);\r\n\r\n\t\tif (!this._supress[name]) {\r\n\t\t\t$.each(this._plugins, function(name, plugin) {\r\n\t\t\t\tif (plugin.onTrigger) {\r\n\t\t\t\t\tplugin.onTrigger(event);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tthis.register({ type: Owl.Type.Event, name: name });\r\n\t\t\tthis.$element.trigger(event);\r\n\r\n\t\t\tif (this.settings && typeof this.settings[handler] === 'function') {\r\n\t\t\t\tthis.settings[handler].call(this, event);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn event;\r\n\t};\r\n\r\n\t/**\r\n\t * Enters a state.\r\n\t * @param name - The state name.\r\n\t */\r\n\tOwl.prototype.enter = function(name) {\r\n\t\t$.each([ name ].concat(this._states.tags[name] || []), $.proxy(function(i, name) {\r\n\t\t\tif (this._states.current[name] === undefined) {\r\n\t\t\t\tthis._states.current[name] = 0;\r\n\t\t\t}\r\n\r\n\t\t\tthis._states.current[name]++;\r\n\t\t}, this));\r\n\t};\r\n\r\n\t/**\r\n\t * Leaves a state.\r\n\t * @param name - The state name.\r\n\t */\r\n\tOwl.prototype.leave = function(name) {\r\n\t\t$.each([ name ].concat(this._states.tags[name] || []), $.proxy(function(i, name) {\r\n\t\t\tthis._states.current[name]--;\r\n\t\t}, this));\r\n\t};\r\n\r\n\t/**\r\n\t * Registers an event or state.\r\n\t * @public\r\n\t * @param {Object} object - The event or state to register.\r\n\t */\r\n\tOwl.prototype.register = function(object) {\r\n\t\tif (object.type === Owl.Type.Event) {\r\n\t\t\tif (!$.event.special[object.name]) {\r\n\t\t\t\t$.event.special[object.name] = {};\r\n\t\t\t}\r\n\r\n\t\t\tif (!$.event.special[object.name].owl) {\r\n\t\t\t\tvar _default = $.event.special[object.name]._default;\r\n\t\t\t\t$.event.special[object.name]._default = function(e) {\r\n\t\t\t\t\tif (_default && _default.apply && (!e.namespace || e.namespace.indexOf('owl') === -1)) {\r\n\t\t\t\t\t\treturn _default.apply(this, arguments);\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn e.namespace && e.namespace.indexOf('owl') > -1;\r\n\t\t\t\t};\r\n\t\t\t\t$.event.special[object.name].owl = true;\r\n\t\t\t}\r\n\t\t} else if (object.type === Owl.Type.State) {\r\n\t\t\tif (!this._states.tags[object.name]) {\r\n\t\t\t\tthis._states.tags[object.name] = object.tags;\r\n\t\t\t} else {\r\n\t\t\t\tthis._states.tags[object.name] = this._states.tags[object.name].concat(object.tags);\r\n\t\t\t}\r\n\r\n\t\t\tthis._states.tags[object.name] = $.grep(this._states.tags[object.name], $.proxy(function(tag, i) {\r\n\t\t\t\treturn $.inArray(tag, this._states.tags[object.name]) === i;\r\n\t\t\t}, this));\r\n\t\t}\r\n\t};\r\n\r\n\t/**\r\n\t * Suppresses events.\r\n\t * @protected\r\n\t * @param {Array.} events - The events to suppress.\r\n\t */\r\n\tOwl.prototype.suppress = function(events) {\r\n\t\t$.each(events, $.proxy(function(index, event) {\r\n\t\t\tthis._supress[event] = true;\r\n\t\t}, this));\r\n\t};\r\n\r\n\t/**\r\n\t * Releases suppressed events.\r\n\t * @protected\r\n\t * @param {Array.} events - The events to release.\r\n\t */\r\n\tOwl.prototype.release = function(events) {\r\n\t\t$.each(events, $.proxy(function(index, event) {\r\n\t\t\tdelete this._supress[event];\r\n\t\t}, this));\r\n\t};\r\n\r\n\t/**\r\n\t * Gets unified pointer coordinates from event.\r\n\t * @todo #261\r\n\t * @protected\r\n\t * @param {Event} - The `mousedown` or `touchstart` event.\r\n\t * @returns {Object} - Contains `x` and `y` coordinates of current pointer position.\r\n\t */\r\n\tOwl.prototype.pointer = function(event) {\r\n\t\tvar result = { x: null, y: null };\r\n\r\n\t\tevent = event.originalEvent || event || window.event;\r\n\r\n\t\tevent = event.touches && event.touches.length ?\r\n\t\t\tevent.touches[0] : event.changedTouches && event.changedTouches.length ?\r\n\t\t\t\tevent.changedTouches[0] : event;\r\n\r\n\t\tif (event.pageX) {\r\n\t\t\tresult.x = event.pageX;\r\n\t\t\tresult.y = event.pageY;\r\n\t\t} else {\r\n\t\t\tresult.x = event.clientX;\r\n\t\t\tresult.y = event.clientY;\r\n\t\t}\r\n\r\n\t\treturn result;\r\n\t};\r\n\r\n\t/**\r\n\t * Determines if the input is a Number or something that can be coerced to a Number\r\n\t * @protected\r\n\t * @param {Number|String|Object|Array|Boolean|RegExp|Function|Symbol} - The input to be tested\r\n\t * @returns {Boolean} - An indication if the input is a Number or can be coerced to a Number\r\n\t */\r\n\tOwl.prototype.isNumeric = function(number) {\r\n\t\treturn !isNaN(parseFloat(number));\r\n\t};\r\n\r\n\t/**\r\n\t * Gets the difference of two vectors.\r\n\t * @todo #261\r\n\t * @protected\r\n\t * @param {Object} - The first vector.\r\n\t * @param {Object} - The second vector.\r\n\t * @returns {Object} - The difference.\r\n\t */\r\n\tOwl.prototype.difference = function(first, second) {\r\n\t\treturn {\r\n\t\t\tx: first.x - second.x,\r\n\t\t\ty: first.y - second.y\r\n\t\t};\r\n\t};\r\n\r\n\t/**\r\n\t * The jQuery Plugin for the Owl Carousel\r\n\t * @todo Navigation plugin `next` and `prev`\r\n\t * @public\r\n\t */\r\n\t$.fn.owlCarousel = function(option) {\r\n\t\tvar args = Array.prototype.slice.call(arguments, 1);\r\n\r\n\t\treturn this.each(function() {\r\n\t\t\tvar $this = $(this),\r\n\t\t\t\tdata = $this.data('owl.carousel');\r\n\r\n\t\t\tif (!data) {\r\n\t\t\t\tdata = new Owl(this, typeof option == 'object' && option);\r\n\t\t\t\t$this.data('owl.carousel', data);\r\n\r\n\t\t\t\t$.each([\r\n\t\t\t\t\t'next', 'prev', 'to', 'destroy', 'refresh', 'replace', 'add', 'remove'\r\n\t\t\t\t], function(i, event) {\r\n\t\t\t\t\tdata.register({ type: Owl.Type.Event, name: event });\r\n\t\t\t\t\tdata.$element.on(event + '.owl.carousel.core', $.proxy(function(e) {\r\n\t\t\t\t\t\tif (e.namespace && e.relatedTarget !== this) {\r\n\t\t\t\t\t\t\tthis.suppress([ event ]);\r\n\t\t\t\t\t\t\tdata[event].apply(this, [].slice.call(arguments, 1));\r\n\t\t\t\t\t\t\tthis.release([ event ]);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}, data));\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tif (typeof option == 'string' && option.charAt(0) !== '_') {\r\n\t\t\t\tdata[option].apply(data, args);\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\t/**\r\n\t * The constructor for the jQuery Plugin\r\n\t * @public\r\n\t */\r\n\t$.fn.owlCarousel.Constructor = Owl;\r\n\r\n})(window.Zepto || window.jQuery, window, document);\r\n\r\n/**\r\n * AutoRefresh Plugin\r\n * @version 2.1.0\r\n * @author Artus Kolanowski\r\n * @author David Deutsch\r\n * @license The MIT License (MIT)\r\n */\r\n;(function($, window, document, undefined) {\r\n\r\n\t/**\r\n\t * Creates the auto refresh plugin.\r\n\t * @class The Auto Refresh Plugin\r\n\t * @param {Owl} carousel - The Owl Carousel\r\n\t */\r\n\tvar AutoRefresh = function(carousel) {\r\n\t\t/**\r\n\t\t * Reference to the core.\r\n\t\t * @protected\r\n\t\t * @type {Owl}\r\n\t\t */\r\n\t\tthis._core = carousel;\r\n\r\n\t\t/**\r\n\t\t * Refresh interval.\r\n\t\t * @protected\r\n\t\t * @type {number}\r\n\t\t */\r\n\t\tthis._interval = null;\r\n\r\n\t\t/**\r\n\t\t * Whether the element is currently visible or not.\r\n\t\t * @protected\r\n\t\t * @type {Boolean}\r\n\t\t */\r\n\t\tthis._visible = null;\r\n\r\n\t\t/**\r\n\t\t * All event handlers.\r\n\t\t * @protected\r\n\t\t * @type {Object}\r\n\t\t */\r\n\t\tthis._handlers = {\r\n\t\t\t'initialized.owl.carousel': $.proxy(function(e) {\r\n\t\t\t\tif (e.namespace && this._core.settings.autoRefresh) {\r\n\t\t\t\t\tthis.watch();\r\n\t\t\t\t}\r\n\t\t\t}, this)\r\n\t\t};\r\n\r\n\t\t// set default options\r\n\t\tthis._core.options = $.extend({}, AutoRefresh.Defaults, this._core.options);\r\n\r\n\t\t// register event handlers\r\n\t\tthis._core.$element.on(this._handlers);\r\n\t};\r\n\r\n\t/**\r\n\t * Default options.\r\n\t * @public\r\n\t */\r\n\tAutoRefresh.Defaults = {\r\n\t\tautoRefresh: true,\r\n\t\tautoRefreshInterval: 500\r\n\t};\r\n\r\n\t/**\r\n\t * Watches the element.\r\n\t */\r\n\tAutoRefresh.prototype.watch = function() {\r\n\t\tif (this._interval) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis._visible = this._core.$element.is(':visible');\r\n\t\tthis._interval = window.setInterval($.proxy(this.refresh, this), this._core.settings.autoRefreshInterval);\r\n\t};\r\n\r\n\t/**\r\n\t * Refreshes the element.\r\n\t */\r\n\tAutoRefresh.prototype.refresh = function() {\r\n\t\tif (this._core.$element.is(':visible') === this._visible) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis._visible = !this._visible;\r\n\r\n\t\tthis._core.$element.toggleClass('owl-hidden', !this._visible);\r\n\r\n\t\tthis._visible && (this._core.invalidate('width') && this._core.refresh());\r\n\t};\r\n\r\n\t/**\r\n\t * Destroys the plugin.\r\n\t */\r\n\tAutoRefresh.prototype.destroy = function() {\r\n\t\tvar handler, property;\r\n\r\n\t\twindow.clearInterval(this._interval);\r\n\r\n\t\tfor (handler in this._handlers) {\r\n\t\t\tthis._core.$element.off(handler, this._handlers[handler]);\r\n\t\t}\r\n\t\tfor (property in Object.getOwnPropertyNames(this)) {\r\n\t\t\ttypeof this[property] != 'function' && (this[property] = null);\r\n\t\t}\r\n\t};\r\n\r\n\t$.fn.owlCarousel.Constructor.Plugins.AutoRefresh = AutoRefresh;\r\n\r\n})(window.Zepto || window.jQuery, window, document);\r\n\r\n/**\r\n * Lazy Plugin\r\n * @version 2.1.0\r\n * @author Bartosz Wojciechowski\r\n * @author David Deutsch\r\n * @license The MIT License (MIT)\r\n */\r\n;(function($, window, document, undefined) {\r\n\r\n\t/**\r\n\t * Creates the lazy plugin.\r\n\t * @class The Lazy Plugin\r\n\t * @param {Owl} carousel - The Owl Carousel\r\n\t */\r\n\tvar Lazy = function(carousel) {\r\n\r\n\t\t/**\r\n\t\t * Reference to the core.\r\n\t\t * @protected\r\n\t\t * @type {Owl}\r\n\t\t */\r\n\t\tthis._core = carousel;\r\n\r\n\t\t/**\r\n\t\t * Already loaded items.\r\n\t\t * @protected\r\n\t\t * @type {Array.}\r\n\t\t */\r\n\t\tthis._loaded = [];\r\n\r\n\t\t/**\r\n\t\t * Event handlers.\r\n\t\t * @protected\r\n\t\t * @type {Object}\r\n\t\t */\r\n\t\tthis._handlers = {\r\n\t\t\t'initialized.owl.carousel change.owl.carousel resized.owl.carousel': $.proxy(function(e) {\r\n\t\t\t\tif (!e.namespace) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (!this._core.settings || !this._core.settings.lazyLoad) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif ((e.property && e.property.name == 'position') || e.type == 'initialized') {\r\n\t\t\t\t\tvar settings = this._core.settings,\r\n\t\t\t\t\t\tn = (settings.center && Math.ceil(settings.items / 2) || settings.items),\r\n\t\t\t\t\t\ti = ((settings.center && n * -1) || 0),\r\n\t\t\t\t\t\tposition = (e.property && e.property.value !== undefined ? e.property.value : this._core.current()) + i,\r\n\t\t\t\t\t\tclones = this._core.clones().length,\r\n\t\t\t\t\t\tload = $.proxy(function(i, v) { this.load(v) }, this);\r\n\r\n\t\t\t\t\twhile (i++ < n) {\r\n\t\t\t\t\t\tthis.load(clones / 2 + this._core.relative(position));\r\n\t\t\t\t\t\tclones && $.each(this._core.clones(this._core.relative(position)), load);\r\n\t\t\t\t\t\tposition++;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}, this)\r\n\t\t};\r\n\r\n\t\t// set the default options\r\n\t\tthis._core.options = $.extend({}, Lazy.Defaults, this._core.options);\r\n\r\n\t\t// register event handler\r\n\t\tthis._core.$element.on(this._handlers);\r\n\t};\r\n\r\n\t/**\r\n\t * Default options.\r\n\t * @public\r\n\t */\r\n\tLazy.Defaults = {\r\n\t\tlazyLoad: false\r\n\t};\r\n\r\n\t/**\r\n\t * Loads all resources of an item at the specified position.\r\n\t * @param {Number} position - The absolute position of the item.\r\n\t * @protected\r\n\t */\r\n\tLazy.prototype.load = function(position) {\r\n\t\tvar $item = this._core.$stage.children().eq(position),\r\n\t\t\t$elements = $item && $item.find('.owl-lazy');\r\n\r\n\t\tif (!$elements || $.inArray($item.get(0), this._loaded) > -1) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t$elements.each($.proxy(function(index, element) {\r\n\t\t\tvar $element = $(element), image,\r\n\t\t\t\turl = (window.devicePixelRatio > 1 && $element.attr('data-src-retina')) || $element.attr('data-src');\r\n\r\n\t\t\tthis._core.trigger('load', { element: $element, url: url }, 'lazy');\r\n\r\n\t\t\tif ($element.is('img')) {\r\n\t\t\t\t$element.one('load.owl.lazy', $.proxy(function() {\r\n\t\t\t\t\t$element.css('opacity', 1);\r\n\t\t\t\t\tthis._core.trigger('loaded', { element: $element, url: url }, 'lazy');\r\n\t\t\t\t}, this)).attr('src', url);\r\n\t\t\t} else {\r\n\t\t\t\timage = new Image();\r\n\t\t\t\timage.onload = $.proxy(function() {\r\n\t\t\t\t\t$element.css({\r\n\t\t\t\t\t\t'background-image': 'url(\"' + url + '\")',\r\n\t\t\t\t\t\t'opacity': '1'\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis._core.trigger('loaded', { element: $element, url: url }, 'lazy');\r\n\t\t\t\t}, this);\r\n\t\t\t\timage.src = url;\r\n\t\t\t}\r\n\t\t}, this));\r\n\r\n\t\tthis._loaded.push($item.get(0));\r\n\t};\r\n\r\n\t/**\r\n\t * Destroys the plugin.\r\n\t * @public\r\n\t */\r\n\tLazy.prototype.destroy = function() {\r\n\t\tvar handler, property;\r\n\r\n\t\tfor (handler in this.handlers) {\r\n\t\t\tthis._core.$element.off(handler, this.handlers[handler]);\r\n\t\t}\r\n\t\tfor (property in Object.getOwnPropertyNames(this)) {\r\n\t\t\ttypeof this[property] != 'function' && (this[property] = null);\r\n\t\t}\r\n\t};\r\n\r\n\t$.fn.owlCarousel.Constructor.Plugins.Lazy = Lazy;\r\n\r\n})(window.Zepto || window.jQuery, window, document);\r\n\r\n/**\r\n * AutoHeight Plugin\r\n * @version 2.1.0\r\n * @author Bartosz Wojciechowski\r\n * @author David Deutsch\r\n * @license The MIT License (MIT)\r\n */\r\n;(function($, window, document, undefined) {\r\n\r\n\t/**\r\n\t * Creates the auto height plugin.\r\n\t * @class The Auto Height Plugin\r\n\t * @param {Owl} carousel - The Owl Carousel\r\n\t */\r\n\tvar AutoHeight = function(carousel) {\r\n\t\t/**\r\n\t\t * Reference to the core.\r\n\t\t * @protected\r\n\t\t * @type {Owl}\r\n\t\t */\r\n\t\tthis._core = carousel;\r\n\r\n\t\t/**\r\n\t\t * All event handlers.\r\n\t\t * @protected\r\n\t\t * @type {Object}\r\n\t\t */\r\n\t\tthis._handlers = {\r\n\t\t\t'initialized.owl.carousel refreshed.owl.carousel': $.proxy(function(e) {\r\n\t\t\t\tif (e.namespace && this._core.settings.autoHeight) {\r\n\t\t\t\t\tthis.update();\r\n\t\t\t\t}\r\n\t\t\t}, this),\r\n\t\t\t'changed.owl.carousel': $.proxy(function(e) {\r\n\t\t\t\tif (e.namespace && this._core.settings.autoHeight && e.property.name == 'position'){\r\n\t\t\t\t\tthis.update();\r\n\t\t\t\t}\r\n\t\t\t}, this),\r\n\t\t\t'loaded.owl.lazy': $.proxy(function(e) {\r\n\t\t\t\tif (e.namespace && this._core.settings.autoHeight\r\n\t\t\t\t\t&& e.element.closest('.' + this._core.settings.itemClass).index() === this._core.current()) {\r\n\t\t\t\t\tthis.update();\r\n\t\t\t\t}\r\n\t\t\t}, this)\r\n\t\t};\r\n\r\n\t\t// set default options\r\n\t\tthis._core.options = $.extend({}, AutoHeight.Defaults, this._core.options);\r\n\r\n\t\t// register event handlers\r\n\t\tthis._core.$element.on(this._handlers);\r\n\t};\r\n\r\n\t/**\r\n\t * Default options.\r\n\t * @public\r\n\t */\r\n\tAutoHeight.Defaults = {\r\n\t\tautoHeight: false,\r\n\t\tautoHeightClass: 'owl-height'\r\n\t};\r\n\r\n\t/**\r\n\t * Updates the view.\r\n\t */\r\n\tAutoHeight.prototype.update = function() {\r\n\t\tvar start = this._core._current,\r\n\t\t\tend = start + this._core.settings.items,\r\n\t\t\tvisible = this._core.$stage.children().toArray().slice(start, end),\r\n\t\t\theights = [],\r\n\t\t\tmaxheight = 0;\r\n\r\n\t\t$.each(visible, function(index, item) {\r\n\t\t\theights.push($(item).height());\r\n\t\t});\r\n\r\n\t\tmaxheight = Math.max.apply(null, heights);\r\n\r\n\t\tthis._core.$stage.parent()\r\n\t\t\t.height(maxheight)\r\n\t\t\t.addClass(this._core.settings.autoHeightClass);\r\n\t};\r\n\r\n\tAutoHeight.prototype.destroy = function() {\r\n\t\tvar handler, property;\r\n\r\n\t\tfor (handler in this._handlers) {\r\n\t\t\tthis._core.$element.off(handler, this._handlers[handler]);\r\n\t\t}\r\n\t\tfor (property in Object.getOwnPropertyNames(this)) {\r\n\t\t\ttypeof this[property] != 'function' && (this[property] = null);\r\n\t\t}\r\n\t};\r\n\r\n\t$.fn.owlCarousel.Constructor.Plugins.AutoHeight = AutoHeight;\r\n\r\n})(window.Zepto || window.jQuery, window, document);\r\n\r\n/**\r\n * Video Plugin\r\n * @version 2.1.0\r\n * @author Bartosz Wojciechowski\r\n * @author David Deutsch\r\n * @license The MIT License (MIT)\r\n */\r\n;(function($, window, document, undefined) {\r\n\r\n\t/**\r\n\t * Creates the video plugin.\r\n\t * @class The Video Plugin\r\n\t * @param {Owl} carousel - The Owl Carousel\r\n\t */\r\n\tvar Video = function(carousel) {\r\n\t\t/**\r\n\t\t * Reference to the core.\r\n\t\t * @protected\r\n\t\t * @type {Owl}\r\n\t\t */\r\n\t\tthis._core = carousel;\r\n\r\n\t\t/**\r\n\t\t * Cache all video URLs.\r\n\t\t * @protected\r\n\t\t * @type {Object}\r\n\t\t */\r\n\t\tthis._videos = {};\r\n\r\n\t\t/**\r\n\t\t * Current playing item.\r\n\t\t * @protected\r\n\t\t * @type {jQuery}\r\n\t\t */\r\n\t\tthis._playing = null;\r\n\r\n\t\t/**\r\n\t\t * All event handlers.\r\n\t\t * @todo The cloned content removale is too late\r\n\t\t * @protected\r\n\t\t * @type {Object}\r\n\t\t */\r\n\t\tthis._handlers = {\r\n\t\t\t'initialized.owl.carousel': $.proxy(function(e) {\r\n\t\t\t\tif (e.namespace) {\r\n\t\t\t\t\tthis._core.register({ type: 'state', name: 'playing', tags: [ 'interacting' ] });\r\n\t\t\t\t}\r\n\t\t\t}, this),\r\n\t\t\t'resize.owl.carousel': $.proxy(function(e) {\r\n\t\t\t\tif (e.namespace && this._core.settings.video && this.isInFullScreen()) {\r\n\t\t\t\t\te.preventDefault();\r\n\t\t\t\t}\r\n\t\t\t}, this),\r\n\t\t\t'refreshed.owl.carousel': $.proxy(function(e) {\r\n\t\t\t\tif (e.namespace && this._core.is('resizing')) {\r\n\t\t\t\t\tthis._core.$stage.find('.cloned .owl-video-frame').remove();\r\n\t\t\t\t}\r\n\t\t\t}, this),\r\n\t\t\t'changed.owl.carousel': $.proxy(function(e) {\r\n\t\t\t\tif (e.namespace && e.property.name === 'position' && this._playing) {\r\n\t\t\t\t\tthis.stop();\r\n\t\t\t\t}\r\n\t\t\t}, this),\r\n\t\t\t'prepared.owl.carousel': $.proxy(function(e) {\r\n\t\t\t\tif (!e.namespace) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar $element = $(e.content).find('.owl-video');\r\n\r\n\t\t\t\tif ($element.length) {\r\n\t\t\t\t\t$element.css('display', 'none');\r\n\t\t\t\t\tthis.fetch($element, $(e.content));\r\n\t\t\t\t}\r\n\t\t\t}, this)\r\n\t\t};\r\n\r\n\t\t// set default options\r\n\t\tthis._core.options = $.extend({}, Video.Defaults, this._core.options);\r\n\r\n\t\t// register event handlers\r\n\t\tthis._core.$element.on(this._handlers);\r\n\r\n\t\tthis._core.$element.on('click.owl.video', '.owl-video-play-icon', $.proxy(function(e) {\r\n\t\t\tthis.play(e);\r\n\t\t}, this));\r\n\t};\r\n\r\n\t/**\r\n\t * Default options.\r\n\t * @public\r\n\t */\r\n\tVideo.Defaults = {\r\n\t\tvideo: false,\r\n\t\tvideoHeight: false,\r\n\t\tvideoWidth: false\r\n\t};\r\n\r\n\t/**\r\n\t * Gets the video ID and the type (YouTube/Vimeo/vzaar only).\r\n\t * @protected\r\n\t * @param {jQuery} target - The target containing the video data.\r\n\t * @param {jQuery} item - The item containing the video.\r\n\t */\r\n\tVideo.prototype.fetch = function(target, item) {\r\n\t\t\tvar type = (function() {\r\n\t\t\t\t\tif (target.attr('data-vimeo-id')) {\r\n\t\t\t\t\t\treturn 'vimeo';\r\n\t\t\t\t\t} else if (target.attr('data-vzaar-id')) {\r\n\t\t\t\t\t\treturn 'vzaar'\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\treturn 'youtube';\r\n\t\t\t\t\t}\r\n\t\t\t\t})(),\r\n\t\t\t\tid = target.attr('data-vimeo-id') || target.attr('data-youtube-id') || target.attr('data-vzaar-id'),\r\n\t\t\t\twidth = target.attr('data-width') || this._core.settings.videoWidth,\r\n\t\t\t\theight = target.attr('data-height') || this._core.settings.videoHeight,\r\n\t\t\t\turl = target.attr('href');\r\n\r\n\t\tif (url) {\r\n\r\n\t\t\t/*\r\n\t\t\t\t\tParses the id's out of the following urls (and probably more):\r\n\t\t\t\t\thttps://www.youtube.com/watch?v=:id\r\n\t\t\t\t\thttps://youtu.be/:id\r\n\t\t\t\t\thttps://vimeo.com/:id\r\n\t\t\t\t\thttps://vimeo.com/channels/:channel/:id\r\n\t\t\t\t\thttps://vimeo.com/groups/:group/videos/:id\r\n\t\t\t\t\thttps://app.vzaar.com/videos/:id\r\n\r\n\t\t\t\t\tVisual example: https://regexper.com/#(http%3A%7Chttps%3A%7C)%5C%2F%5C%2F(player.%7Cwww.%7Capp.)%3F(vimeo%5C.com%7Cyoutu(be%5C.com%7C%5C.be%7Cbe%5C.googleapis%5C.com)%7Cvzaar%5C.com)%5C%2F(video%5C%2F%7Cvideos%5C%2F%7Cembed%5C%2F%7Cchannels%5C%2F.%2B%5C%2F%7Cgroups%5C%2F.%2B%5C%2F%7Cwatch%5C%3Fv%3D%7Cv%5C%2F)%3F(%5BA-Za-z0-9._%25-%5D*)(%5C%26%5CS%2B)%3F\r\n\t\t\t*/\r\n\r\n\t\t\tid = url.match(/(http:|https:|)\\/\\/(player.|www.|app.)?(vimeo\\.com|youtu(be\\.com|\\.be|be\\.googleapis\\.com)|vzaar\\.com)\\/(video\\/|videos\\/|embed\\/|channels\\/.+\\/|groups\\/.+\\/|watch\\?v=|v\\/)?([A-Za-z0-9._%-]*)(\\&\\S+)?/);\r\n\r\n\t\t\tif (id[3].indexOf('youtu') > -1) {\r\n\t\t\t\ttype = 'youtube';\r\n\t\t\t} else if (id[3].indexOf('vimeo') > -1) {\r\n\t\t\t\ttype = 'vimeo';\r\n\t\t\t} else if (id[3].indexOf('vzaar') > -1) {\r\n\t\t\t\ttype = 'vzaar';\r\n\t\t\t} else {\r\n\t\t\t\tthrow new Error('Video URL not supported.');\r\n\t\t\t}\r\n\t\t\tid = id[6];\r\n\t\t} else {\r\n\t\t\tthrow new Error('Missing video URL.');\r\n\t\t}\r\n\r\n\t\tthis._videos[url] = {\r\n\t\t\ttype: type,\r\n\t\t\tid: id,\r\n\t\t\twidth: width,\r\n\t\t\theight: height\r\n\t\t};\r\n\r\n\t\titem.attr('data-video', url);\r\n\r\n\t\tthis.thumbnail(target, this._videos[url]);\r\n\t};\r\n\r\n\t/**\r\n\t * Creates video thumbnail.\r\n\t * @protected\r\n\t * @param {jQuery} target - The target containing the video data.\r\n\t * @param {Object} info - The video info object.\r\n\t * @see `fetch`\r\n\t */\r\n\tVideo.prototype.thumbnail = function(target, video) {\r\n\t\tvar tnLink,\r\n\t\t\ticon,\r\n\t\t\tpath,\r\n\t\t\tdimensions = video.width && video.height ? 'style=\"width:' + video.width + 'px;height:' + video.height + 'px;\"' : '',\r\n\t\t\tcustomTn = target.find('img'),\r\n\t\t\tsrcType = 'src',\r\n\t\t\tlazyClass = '',\r\n\t\t\tsettings = this._core.settings,\r\n\t\t\tcreate = function(path) {\r\n\t\t\t\ticon = '
';\r\n\r\n\t\t\t\tif (settings.lazyLoad) {\r\n\t\t\t\t\ttnLink = '
';\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttnLink = '
';\r\n\t\t\t\t}\r\n\t\t\t\ttarget.after(tnLink);\r\n\t\t\t\ttarget.after(icon);\r\n\t\t\t};\r\n\r\n\t\t// wrap video content into owl-video-wrapper div\r\n\t\ttarget.wrap('
');\r\n\r\n\t\tif (this._core.settings.lazyLoad) {\r\n\t\t\tsrcType = 'data-src';\r\n\t\t\tlazyClass = 'owl-lazy';\r\n\t\t}\r\n\r\n\t\t// custom thumbnail\r\n\t\tif (customTn.length) {\r\n\t\t\tcreate(customTn.attr(srcType));\r\n\t\t\tcustomTn.remove();\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tif (video.type === 'youtube') {\r\n\t\t\tpath = \"//img.youtube.com/vi/\" + video.id + \"/hqdefault.jpg\";\r\n\t\t\tcreate(path);\r\n\t\t} else if (video.type === 'vimeo') {\r\n\t\t\t$.ajax({\r\n\t\t\t\ttype: 'GET',\r\n\t\t\t\turl: '//vimeo.com/api/v2/video/' + video.id + '.json',\r\n\t\t\t\tjsonp: 'callback',\r\n\t\t\t\tdataType: 'jsonp',\r\n\t\t\t\tsuccess: function(data) {\r\n\t\t\t\t\tpath = data[0].thumbnail_large;\r\n\t\t\t\t\tcreate(path);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t} else if (video.type === 'vzaar') {\r\n\t\t\t$.ajax({\r\n\t\t\t\ttype: 'GET',\r\n\t\t\t\turl: '//vzaar.com/api/videos/' + video.id + '.json',\r\n\t\t\t\tjsonp: 'callback',\r\n\t\t\t\tdataType: 'jsonp',\r\n\t\t\t\tsuccess: function(data) {\r\n\t\t\t\t\tpath = data.framegrab_url;\r\n\t\t\t\t\tcreate(path);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\r\n\t/**\r\n\t * Stops the current video.\r\n\t * @public\r\n\t */\r\n\tVideo.prototype.stop = function() {\r\n\t\tthis._core.trigger('stop', null, 'video');\r\n\t\tthis._playing.find('.owl-video-frame').remove();\r\n\t\tthis._playing.removeClass('owl-video-playing');\r\n\t\tthis._playing = null;\r\n\t\tthis._core.leave('playing');\r\n\t\tthis._core.trigger('stopped', null, 'video');\r\n\t};\r\n\r\n\t/**\r\n\t * Starts the current video.\r\n\t * @public\r\n\t * @param {Event} event - The event arguments.\r\n\t */\r\n\tVideo.prototype.play = function(event) {\r\n\t\tvar target = $(event.target),\r\n\t\t\titem = target.closest('.' + this._core.settings.itemClass),\r\n\t\t\tvideo = this._videos[item.attr('data-video')],\r\n\t\t\twidth = video.width || '100%',\r\n\t\t\theight = video.height || this._core.$stage.height(),\r\n\t\t\thtml;\r\n\r\n\t\tif (this._playing) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis._core.enter('playing');\r\n\t\tthis._core.trigger('play', null, 'video');\r\n\r\n\t\titem = this._core.items(this._core.relative(item.index()));\r\n\r\n\t\tthis._core.reset(item.index());\r\n\r\n\t\tif (video.type === 'youtube') {\r\n\t\t\thtml = '';\r\n\t\t} else if (video.type === 'vimeo') {\r\n\t\t\thtml = '';\r\n\t\t} else if (video.type === 'vzaar') {\r\n\t\t\thtml = '';\r\n\t\t}\r\n\r\n\t\t$('
' + html + '
').insertAfter(item.find('.owl-video'));\r\n\r\n\t\tthis._playing = item.addClass('owl-video-playing');\r\n\t};\r\n\r\n\t/**\r\n\t * Checks whether an video is currently in full screen mode or not.\r\n\t * @todo Bad style because looks like a readonly method but changes members.\r\n\t * @protected\r\n\t * @returns {Boolean}\r\n\t */\r\n\tVideo.prototype.isInFullScreen = function() {\r\n\t\tvar element = document.fullscreenElement || document.mozFullScreenElement ||\r\n\t\t\t\tdocument.webkitFullscreenElement;\r\n\r\n\t\treturn element && $(element).parent().hasClass('owl-video-frame');\r\n\t};\r\n\r\n\t/**\r\n\t * Destroys the plugin.\r\n\t */\r\n\tVideo.prototype.destroy = function() {\r\n\t\tvar handler, property;\r\n\r\n\t\tthis._core.$element.off('click.owl.video');\r\n\r\n\t\tfor (handler in this._handlers) {\r\n\t\t\tthis._core.$element.off(handler, this._handlers[handler]);\r\n\t\t}\r\n\t\tfor (property in Object.getOwnPropertyNames(this)) {\r\n\t\t\ttypeof this[property] != 'function' && (this[property] = null);\r\n\t\t}\r\n\t};\r\n\r\n\t$.fn.owlCarousel.Constructor.Plugins.Video = Video;\r\n\r\n})(window.Zepto || window.jQuery, window, document);\r\n\r\n/**\r\n * Animate Plugin\r\n * @version 2.1.0\r\n * @author Bartosz Wojciechowski\r\n * @author David Deutsch\r\n * @license The MIT License (MIT)\r\n */\r\n;(function($, window, document, undefined) {\r\n\r\n\t/**\r\n\t * Creates the animate plugin.\r\n\t * @class The Navigation Plugin\r\n\t * @param {Owl} scope - The Owl Carousel\r\n\t */\r\n\tvar Animate = function(scope) {\r\n\t\tthis.core = scope;\r\n\t\tthis.core.options = $.extend({}, Animate.Defaults, this.core.options);\r\n\t\tthis.swapping = true;\r\n\t\tthis.previous = undefined;\r\n\t\tthis.next = undefined;\r\n\r\n\t\tthis.handlers = {\r\n\t\t\t'change.owl.carousel': $.proxy(function(e) {\r\n\t\t\t\tif (e.namespace && e.property.name == 'position') {\r\n\t\t\t\t\tthis.previous = this.core.current();\r\n\t\t\t\t\tthis.next = e.property.value;\r\n\t\t\t\t}\r\n\t\t\t}, this),\r\n\t\t\t'drag.owl.carousel dragged.owl.carousel translated.owl.carousel': $.proxy(function(e) {\r\n\t\t\t\tif (e.namespace) {\r\n\t\t\t\t\tthis.swapping = e.type == 'translated';\r\n\t\t\t\t}\r\n\t\t\t}, this),\r\n\t\t\t'translate.owl.carousel': $.proxy(function(e) {\r\n\t\t\t\tif (e.namespace && this.swapping && (this.core.options.animateOut || this.core.options.animateIn)) {\r\n\t\t\t\t\tthis.swap();\r\n\t\t\t\t}\r\n\t\t\t}, this)\r\n\t\t};\r\n\r\n\t\tthis.core.$element.on(this.handlers);\r\n\t};\r\n\r\n\t/**\r\n\t * Default options.\r\n\t * @public\r\n\t */\r\n\tAnimate.Defaults = {\r\n\t\tanimateOut: false,\r\n\t\tanimateIn: false\r\n\t};\r\n\r\n\t/**\r\n\t * Toggles the animation classes whenever an translations starts.\r\n\t * @protected\r\n\t * @returns {Boolean|undefined}\r\n\t */\r\n\tAnimate.prototype.swap = function() {\r\n\r\n\t\tif (this.core.settings.items !== 1) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (!$.support.animation || !$.support.transition) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.core.speed(0);\r\n\r\n\t\tvar left,\r\n\t\t\tclear = $.proxy(this.clear, this),\r\n\t\t\tprevious = this.core.$stage.children().eq(this.previous),\r\n\t\t\tnext = this.core.$stage.children().eq(this.next),\r\n\t\t\tincoming = this.core.settings.animateIn,\r\n\t\t\toutgoing = this.core.settings.animateOut;\r\n\r\n\t\tif (this.core.current() === this.previous) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (outgoing) {\r\n\t\t\tleft = this.core.coordinates(this.previous) - this.core.coordinates(this.next);\r\n\t\t\tprevious.one($.support.animation.end, clear)\r\n\t\t\t\t.css( { 'left': left + 'px' } )\r\n\t\t\t\t.addClass('animated owl-animated-out')\r\n\t\t\t\t.addClass(outgoing);\r\n\t\t}\r\n\r\n\t\tif (incoming) {\r\n\t\t\tnext.one($.support.animation.end, clear)\r\n\t\t\t\t.addClass('animated owl-animated-in')\r\n\t\t\t\t.addClass(incoming);\r\n\t\t}\r\n\t};\r\n\r\n\tAnimate.prototype.clear = function(e) {\r\n\t\t$(e.target).css( { 'left': '' } )\r\n\t\t\t.removeClass('animated owl-animated-out owl-animated-in')\r\n\t\t\t.removeClass(this.core.settings.animateIn)\r\n\t\t\t.removeClass(this.core.settings.animateOut);\r\n\t\tthis.core.onTransitionEnd();\r\n\t};\r\n\r\n\t/**\r\n\t * Destroys the plugin.\r\n\t * @public\r\n\t */\r\n\tAnimate.prototype.destroy = function() {\r\n\t\tvar handler, property;\r\n\r\n\t\tfor (handler in this.handlers) {\r\n\t\t\tthis.core.$element.off(handler, this.handlers[handler]);\r\n\t\t}\r\n\t\tfor (property in Object.getOwnPropertyNames(this)) {\r\n\t\t\ttypeof this[property] != 'function' && (this[property] = null);\r\n\t\t}\r\n\t};\r\n\r\n\t$.fn.owlCarousel.Constructor.Plugins.Animate = Animate;\r\n\r\n})(window.Zepto || window.jQuery, window, document);\r\n\r\n/**\r\n * Autoplay Plugin\r\n * @version 2.1.0\r\n * @author Bartosz Wojciechowski\r\n * @author Artus Kolanowski\r\n * @author David Deutsch\r\n * @license The MIT License (MIT)\r\n */\r\n;(function($, window, document, undefined) {\r\n\r\n\t/**\r\n\t * Creates the autoplay plugin.\r\n\t * @class The Autoplay Plugin\r\n\t * @param {Owl} scope - The Owl Carousel\r\n\t */\r\n\tvar Autoplay = function(carousel) {\r\n\t\t/**\r\n\t\t * Reference to the core.\r\n\t\t * @protected\r\n\t\t * @type {Owl}\r\n\t\t */\r\n\t\tthis._core = carousel;\r\n\r\n\t\t/**\r\n\t\t * The autoplay timeout.\r\n\t\t * @type {Timeout}\r\n\t\t */\r\n\t\tthis._timeout = null;\r\n\r\n\t\t/**\r\n\t\t * Indicates whenever the autoplay is paused.\r\n\t\t * @type {Boolean}\r\n\t\t */\r\n\t\tthis._paused = false;\r\n\r\n\t\t/**\r\n\t\t * All event handlers.\r\n\t\t * @protected\r\n\t\t * @type {Object}\r\n\t\t */\r\n\t\tthis._handlers = {\r\n\t\t\t'changed.owl.carousel': $.proxy(function(e) {\r\n\t\t\t\tif (e.namespace && e.property.name === 'settings') {\r\n\t\t\t\t\tif (this._core.settings.autoplay) {\r\n\t\t\t\t\t\tthis.play();\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.stop();\r\n\t\t\t\t\t}\r\n\t\t\t\t} else if (e.namespace && e.property.name === 'position') {\r\n\t\t\t\t\t//console.log('play?', e);\r\n\t\t\t\t\tif (this._core.settings.autoplay) {\r\n\t\t\t\t\t\tthis._setAutoPlayInterval();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}, this),\r\n\t\t\t'initialized.owl.carousel': $.proxy(function(e) {\r\n\t\t\t\tif (e.namespace && this._core.settings.autoplay) {\r\n\t\t\t\t\tthis.play();\r\n\t\t\t\t}\r\n\t\t\t}, this),\r\n\t\t\t'play.owl.autoplay': $.proxy(function(e, t, s) {\r\n\t\t\t\tif (e.namespace) {\r\n\t\t\t\t\tthis.play(t, s);\r\n\t\t\t\t}\r\n\t\t\t}, this),\r\n\t\t\t'stop.owl.autoplay': $.proxy(function(e) {\r\n\t\t\t\tif (e.namespace) {\r\n\t\t\t\t\tthis.stop();\r\n\t\t\t\t}\r\n\t\t\t}, this),\r\n\t\t\t'mouseover.owl.autoplay': $.proxy(function() {\r\n\t\t\t\tif (this._core.settings.autoplayHoverPause && this._core.is('rotating')) {\r\n\t\t\t\t\tthis.pause();\r\n\t\t\t\t}\r\n\t\t\t}, this),\r\n\t\t\t'mouseleave.owl.autoplay': $.proxy(function() {\r\n\t\t\t\tif (this._core.settings.autoplayHoverPause && this._core.is('rotating')) {\r\n\t\t\t\t\tthis.play();\r\n\t\t\t\t}\r\n\t\t\t}, this),\r\n\t\t\t'touchstart.owl.core': $.proxy(function() {\r\n\t\t\t\tif (this._core.settings.autoplayHoverPause && this._core.is('rotating')) {\r\n\t\t\t\t\tthis.pause();\r\n\t\t\t\t}\r\n\t\t\t}, this),\r\n\t\t\t'touchend.owl.core': $.proxy(function() {\r\n\t\t\t\tif (this._core.settings.autoplayHoverPause) {\r\n\t\t\t\t\tthis.play();\r\n\t\t\t\t}\r\n\t\t\t}, this)\r\n\t\t};\r\n\r\n\t\t// register event handlers\r\n\t\tthis._core.$element.on(this._handlers);\r\n\r\n\t\t// set default options\r\n\t\tthis._core.options = $.extend({}, Autoplay.Defaults, this._core.options);\r\n\t};\r\n\r\n\t/**\r\n\t * Default options.\r\n\t * @public\r\n\t */\r\n\tAutoplay.Defaults = {\r\n\t\tautoplay: false,\r\n\t\tautoplayTimeout: 5000,\r\n\t\tautoplayHoverPause: false,\r\n\t\tautoplaySpeed: false\r\n\t};\r\n\r\n\t/**\r\n\t * Starts the autoplay.\r\n\t * @public\r\n\t * @param {Number} [timeout] - The interval before the next animation starts.\r\n\t * @param {Number} [speed] - The animation speed for the animations.\r\n\t */\r\n\tAutoplay.prototype.play = function(timeout, speed) {\r\n\t\tthis._paused = false;\r\n\r\n\t\tif (this._core.is('rotating')) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis._core.enter('rotating');\r\n\r\n\t\tthis._setAutoPlayInterval();\r\n\t};\r\n\r\n\t/**\r\n\t * Gets a new timeout\r\n\t * @private\r\n\t * @param {Number} [timeout] - The interval before the next animation starts.\r\n\t * @param {Number} [speed] - The animation speed for the animations.\r\n\t * @return {Timeout}\r\n\t */\r\n\tAutoplay.prototype._getNextTimeout = function(timeout, speed) {\r\n\t\tif ( this._timeout ) {\r\n\t\t\twindow.clearTimeout(this._timeout);\r\n\t\t}\r\n\t\treturn window.setTimeout($.proxy(function() {\r\n\t\t\tif (this._paused || this._core.is('busy') || this._core.is('interacting') || document.hidden) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tthis._core.next(speed || this._core.settings.autoplaySpeed);\r\n\t\t}, this), timeout || this._core.settings.autoplayTimeout);\r\n\t};\r\n\r\n\t/**\r\n\t * Sets autoplay in motion.\r\n\t * @private\r\n\t */\r\n\tAutoplay.prototype._setAutoPlayInterval = function() {\r\n\t\tthis._timeout = this._getNextTimeout();\r\n\t};\r\n\r\n\t/**\r\n\t * Stops the autoplay.\r\n\t * @public\r\n\t */\r\n\tAutoplay.prototype.stop = function() {\r\n\t\tif (!this._core.is('rotating')) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\twindow.clearTimeout(this._timeout);\r\n\t\tthis._core.leave('rotating');\r\n\t};\r\n\r\n\t/**\r\n\t * Stops the autoplay.\r\n\t * @public\r\n\t */\r\n\tAutoplay.prototype.pause = function() {\r\n\t\tif (!this._core.is('rotating')) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis._paused = true;\r\n\t};\r\n\r\n\t/**\r\n\t * Destroys the plugin.\r\n\t */\r\n\tAutoplay.prototype.destroy = function() {\r\n\t\tvar handler, property;\r\n\r\n\t\tthis.stop();\r\n\r\n\t\tfor (handler in this._handlers) {\r\n\t\t\tthis._core.$element.off(handler, this._handlers[handler]);\r\n\t\t}\r\n\t\tfor (property in Object.getOwnPropertyNames(this)) {\r\n\t\t\ttypeof this[property] != 'function' && (this[property] = null);\r\n\t\t}\r\n\t};\r\n\r\n\t$.fn.owlCarousel.Constructor.Plugins.autoplay = Autoplay;\r\n\r\n})(window.Zepto || window.jQuery, window, document);\r\n\r\n/**\r\n * Navigation Plugin\r\n * @version 2.1.0\r\n * @author Artus Kolanowski\r\n * @author David Deutsch\r\n * @license The MIT License (MIT)\r\n */\r\n;(function($, window, document, undefined) {\r\n\t'use strict';\r\n\r\n\t/**\r\n\t * Creates the navigation plugin.\r\n\t * @class The Navigation Plugin\r\n\t * @param {Owl} carousel - The Owl Carousel.\r\n\t */\r\n\tvar Navigation = function(carousel) {\r\n\t\t/**\r\n\t\t * Reference to the core.\r\n\t\t * @protected\r\n\t\t * @type {Owl}\r\n\t\t */\r\n\t\tthis._core = carousel;\r\n\r\n\t\t/**\r\n\t\t * Indicates whether the plugin is initialized or not.\r\n\t\t * @protected\r\n\t\t * @type {Boolean}\r\n\t\t */\r\n\t\tthis._initialized = false;\r\n\r\n\t\t/**\r\n\t\t * The current paging indexes.\r\n\t\t * @protected\r\n\t\t * @type {Array}\r\n\t\t */\r\n\t\tthis._pages = [];\r\n\r\n\t\t/**\r\n\t\t * All DOM elements of the user interface.\r\n\t\t * @protected\r\n\t\t * @type {Object}\r\n\t\t */\r\n\t\tthis._controls = {};\r\n\r\n\t\t/**\r\n\t\t * Markup for an indicator.\r\n\t\t * @protected\r\n\t\t * @type {Array.}\r\n\t\t */\r\n\t\tthis._templates = [];\r\n\r\n\t\t/**\r\n\t\t * The carousel element.\r\n\t\t * @type {jQuery}\r\n\t\t */\r\n\t\tthis.$element = this._core.$element;\r\n\r\n\t\t/**\r\n\t\t * Overridden methods of the carousel.\r\n\t\t * @protected\r\n\t\t * @type {Object}\r\n\t\t */\r\n\t\tthis._overrides = {\r\n\t\t\tnext: this._core.next,\r\n\t\t\tprev: this._core.prev,\r\n\t\t\tto: this._core.to\r\n\t\t};\r\n\r\n\t\t/**\r\n\t\t * All event handlers.\r\n\t\t * @protected\r\n\t\t * @type {Object}\r\n\t\t */\r\n\t\tthis._handlers = {\r\n\t\t\t'prepared.owl.carousel': $.proxy(function(e) {\r\n\t\t\t\tif (e.namespace && this._core.settings.dotsData) {\r\n\t\t\t\t\tthis._templates.push('
' +\r\n\t\t\t\t\t\t$(e.content).find('[data-dot]').addBack('[data-dot]').attr('data-dot') + '
');\r\n\t\t\t\t}\r\n\t\t\t}, this),\r\n\t\t\t'added.owl.carousel': $.proxy(function(e) {\r\n\t\t\t\tif (e.namespace && this._core.settings.dotsData) {\r\n\t\t\t\t\tthis._templates.splice(e.position, 0, this._templates.pop());\r\n\t\t\t\t}\r\n\t\t\t}, this),\r\n\t\t\t'remove.owl.carousel': $.proxy(function(e) {\r\n\t\t\t\tif (e.namespace && this._core.settings.dotsData) {\r\n\t\t\t\t\tthis._templates.splice(e.position, 1);\r\n\t\t\t\t}\r\n\t\t\t}, this),\r\n\t\t\t'changed.owl.carousel': $.proxy(function(e) {\r\n\t\t\t\tif (e.namespace && e.property.name == 'position') {\r\n\t\t\t\t\tthis.draw();\r\n\t\t\t\t}\r\n\t\t\t}, this),\r\n\t\t\t'initialized.owl.carousel': $.proxy(function(e) {\r\n\t\t\t\tif (e.namespace && !this._initialized) {\r\n\t\t\t\t\tthis._core.trigger('initialize', null, 'navigation');\r\n\t\t\t\t\tthis.initialize();\r\n\t\t\t\t\tthis.update();\r\n\t\t\t\t\tthis.draw();\r\n\t\t\t\t\tthis._initialized = true;\r\n\t\t\t\t\tthis._core.trigger('initialized', null, 'navigation');\r\n\t\t\t\t}\r\n\t\t\t}, this),\r\n\t\t\t'refreshed.owl.carousel': $.proxy(function(e) {\r\n\t\t\t\tif (e.namespace && this._initialized) {\r\n\t\t\t\t\tthis._core.trigger('refresh', null, 'navigation');\r\n\t\t\t\t\tthis.update();\r\n\t\t\t\t\tthis.draw();\r\n\t\t\t\t\tthis._core.trigger('refreshed', null, 'navigation');\r\n\t\t\t\t}\r\n\t\t\t}, this)\r\n\t\t};\r\n\r\n\t\t// set default options\r\n\t\tthis._core.options = $.extend({}, Navigation.Defaults, this._core.options);\r\n\r\n\t\t// register event handlers\r\n\t\tthis.$element.on(this._handlers);\r\n\t};\r\n\r\n\t/**\r\n\t * Default options.\r\n\t * @public\r\n\t * @todo Rename `slideBy` to `navBy`\r\n\t */\r\n\tNavigation.Defaults = {\r\n\t\tnav: false,\r\n\t\tnavText: [ 'prev', 'next' ],\r\n\t\tnavSpeed: false,\r\n\t\tnavElement: 'div',\r\n\t\tnavContainer: false,\r\n\t\tnavContainerClass: 'owl-nav',\r\n\t\tnavClass: [ 'owl-prev', 'owl-next' ],\r\n\t\tslideBy: 1,\r\n\t\tdotClass: 'owl-dot',\r\n\t\tdotsClass: 'owl-dots',\r\n\t\tdots: true,\r\n\t\tdotsEach: false,\r\n\t\tdotsData: false,\r\n\t\tdotsSpeed: false,\r\n\t\tdotsContainer: false\r\n\t};\r\n\r\n\t/**\r\n\t * Initializes the layout of the plugin and extends the carousel.\r\n\t * @protected\r\n\t */\r\n\tNavigation.prototype.initialize = function() {\r\n\t\tvar override,\r\n\t\t\tsettings = this._core.settings;\r\n\r\n\t\t// create DOM structure for relative navigation\r\n\t\tthis._controls.$relative = (settings.navContainer ? $(settings.navContainer)\r\n\t\t\t: $('
').addClass(settings.navContainerClass).appendTo(this.$element)).addClass('disabled');\r\n\r\n\t\tthis._controls.$previous = $('<' + settings.navElement + '>')\r\n\t\t\t.addClass(settings.navClass[0])\r\n\t\t\t.html(settings.navText[0])\r\n\t\t\t.prependTo(this._controls.$relative)\r\n\t\t\t.on('click', $.proxy(function(e) {\r\n\t\t\t\tthis.prev(settings.navSpeed);\r\n\t\t\t}, this));\r\n\t\tthis._controls.$next = $('<' + settings.navElement + '>')\r\n\t\t\t.addClass(settings.navClass[1])\r\n\t\t\t.html(settings.navText[1])\r\n\t\t\t.appendTo(this._controls.$relative)\r\n\t\t\t.on('click', $.proxy(function(e) {\r\n\t\t\t\tthis.next(settings.navSpeed);\r\n\t\t\t}, this));\r\n\r\n\t\t// create DOM structure for absolute navigation\r\n\t\tif (!settings.dotsData) {\r\n\t\t\tthis._templates = [ $('
')\r\n\t\t\t\t.addClass(settings.dotClass)\r\n\t\t\t\t.append($(''))\r\n\t\t\t\t.prop('outerHTML') ];\r\n\t\t}\r\n\r\n\t\tthis._controls.$absolute = (settings.dotsContainer ? $(settings.dotsContainer)\r\n\t\t\t: $('
').addClass(settings.dotsClass).appendTo(this.$element)).addClass('disabled');\r\n\r\n\t\tthis._controls.$absolute.on('click', 'div', $.proxy(function(e) {\r\n\t\t\tvar index = $(e.target).parent().is(this._controls.$absolute)\r\n\t\t\t\t? $(e.target).index() : $(e.target).parent().index();\r\n\r\n\t\t\te.preventDefault();\r\n\r\n\t\t\tthis.to(index, settings.dotsSpeed);\r\n\t\t}, this));\r\n\r\n\t\t// override public methods of the carousel\r\n\t\tfor (override in this._overrides) {\r\n\t\t\tthis._core[override] = $.proxy(this[override], this);\r\n\t\t}\r\n\t};\r\n\r\n\t/**\r\n\t * Destroys the plugin.\r\n\t * @protected\r\n\t */\r\n\tNavigation.prototype.destroy = function() {\r\n\t\tvar handler, control, property, override;\r\n\r\n\t\tfor (handler in this._handlers) {\r\n\t\t\tthis.$element.off(handler, this._handlers[handler]);\r\n\t\t}\r\n\t\tfor (control in this._controls) {\r\n\t\t\tthis._controls[control].remove();\r\n\t\t}\r\n\t\tfor (override in this.overides) {\r\n\t\t\tthis._core[override] = this._overrides[override];\r\n\t\t}\r\n\t\tfor (property in Object.getOwnPropertyNames(this)) {\r\n\t\t\ttypeof this[property] != 'function' && (this[property] = null);\r\n\t\t}\r\n\t};\r\n\r\n\t/**\r\n\t * Updates the internal state.\r\n\t * @protected\r\n\t */\r\n\tNavigation.prototype.update = function() {\r\n\t\tvar i, j, k,\r\n\t\t\tlower = this._core.clones().length / 2,\r\n\t\t\tupper = lower + this._core.items().length,\r\n\t\t\tmaximum = this._core.maximum(true),\r\n\t\t\tsettings = this._core.settings,\r\n\t\t\tsize = settings.center || settings.autoWidth || settings.dotsData\r\n\t\t\t\t? 1 : settings.dotsEach || settings.items;\r\n\r\n\t\tif (settings.slideBy !== 'page') {\r\n\t\t\tsettings.slideBy = Math.min(settings.slideBy, settings.items);\r\n\t\t}\r\n\r\n\t\tif (settings.dots || settings.slideBy == 'page') {\r\n\t\t\tthis._pages = [];\r\n\r\n\t\t\tfor (i = lower, j = 0, k = 0; i < upper; i++) {\r\n\t\t\t\tif (j >= size || j === 0) {\r\n\t\t\t\t\tthis._pages.push({\r\n\t\t\t\t\t\tstart: Math.min(maximum, i - lower),\r\n\t\t\t\t\t\tend: i - lower + size - 1\r\n\t\t\t\t\t});\r\n\t\t\t\t\tif (Math.min(maximum, i - lower) === maximum) {\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tj = 0, ++k;\r\n\t\t\t\t}\r\n\t\t\t\tj += this._core.mergers(this._core.relative(i));\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\t/**\r\n\t * Draws the user interface.\r\n\t * @todo The option `dotsData` wont work.\r\n\t * @protected\r\n\t */\r\n\tNavigation.prototype.draw = function() {\r\n\t\tvar difference,\r\n\t\t\tsettings = this._core.settings,\r\n\t\t\tdisabled = this._core.items().length <= settings.items,\r\n\t\t\tindex = this._core.relative(this._core.current()),\r\n\t\t\tloop = settings.loop || settings.rewind;\r\n\r\n\t\tthis._controls.$relative.toggleClass('disabled', !settings.nav || disabled);\r\n\r\n\t\tif (settings.nav) {\r\n\t\t\tthis._controls.$previous.toggleClass('disabled', !loop && index <= this._core.minimum(true));\r\n\t\t\tthis._controls.$next.toggleClass('disabled', !loop && index >= this._core.maximum(true));\r\n\t\t}\r\n\r\n\t\tthis._controls.$absolute.toggleClass('disabled', !settings.dots || disabled);\r\n\r\n\t\tif (settings.dots) {\r\n\t\t\tdifference = this._pages.length - this._controls.$absolute.children().length;\r\n\r\n\t\t\tif (settings.dotsData && difference !== 0) {\r\n\t\t\t\tthis._controls.$absolute.html(this._templates.join(''));\r\n\t\t\t} else if (difference > 0) {\r\n\t\t\t\tthis._controls.$absolute.append(new Array(difference + 1).join(this._templates[0]));\r\n\t\t\t} else if (difference < 0) {\r\n\t\t\t\tthis._controls.$absolute.children().slice(difference).remove();\r\n\t\t\t}\r\n\r\n\t\t\tthis._controls.$absolute.find('.active').removeClass('active');\r\n\t\t\tthis._controls.$absolute.children().eq($.inArray(this.current(), this._pages)).addClass('active');\r\n\t\t}\r\n\t};\r\n\r\n\t/**\r\n\t * Extends event data.\r\n\t * @protected\r\n\t * @param {Event} event - The event object which gets thrown.\r\n\t */\r\n\tNavigation.prototype.onTrigger = function(event) {\r\n\t\tvar settings = this._core.settings;\r\n\r\n\t\tevent.page = {\r\n\t\t\tindex: $.inArray(this.current(), this._pages),\r\n\t\t\tcount: this._pages.length,\r\n\t\t\tsize: settings && (settings.center || settings.autoWidth || settings.dotsData\r\n\t\t\t\t? 1 : settings.dotsEach || settings.items)\r\n\t\t};\r\n\t};\r\n\r\n\t/**\r\n\t * Gets the current page position of the carousel.\r\n\t * @protected\r\n\t * @returns {Number}\r\n\t */\r\n\tNavigation.prototype.current = function() {\r\n\t\tvar current = this._core.relative(this._core.current());\r\n\t\treturn $.grep(this._pages, $.proxy(function(page, index) {\r\n\t\t\treturn page.start <= current && page.end >= current;\r\n\t\t}, this)).pop();\r\n\t};\r\n\r\n\t/**\r\n\t * Gets the current succesor/predecessor position.\r\n\t * @protected\r\n\t * @returns {Number}\r\n\t */\r\n\tNavigation.prototype.getPosition = function(successor) {\r\n\t\tvar position, length,\r\n\t\t\tsettings = this._core.settings;\r\n\r\n\t\tif (settings.slideBy == 'page') {\r\n\t\t\tposition = $.inArray(this.current(), this._pages);\r\n\t\t\tlength = this._pages.length;\r\n\t\t\tsuccessor ? ++position : --position;\r\n\t\t\tposition = this._pages[((position % length) + length) % length].start;\r\n\t\t} else {\r\n\t\t\tposition = this._core.relative(this._core.current());\r\n\t\t\tlength = this._core.items().length;\r\n\t\t\tsuccessor ? position += settings.slideBy : position -= settings.slideBy;\r\n\t\t}\r\n\r\n\t\treturn position;\r\n\t};\r\n\r\n\t/**\r\n\t * Slides to the next item or page.\r\n\t * @public\r\n\t * @param {Number} [speed=false] - The time in milliseconds for the transition.\r\n\t */\r\n\tNavigation.prototype.next = function(speed) {\r\n\t\t$.proxy(this._overrides.to, this._core)(this.getPosition(true), speed);\r\n\t};\r\n\r\n\t/**\r\n\t * Slides to the previous item or page.\r\n\t * @public\r\n\t * @param {Number} [speed=false] - The time in milliseconds for the transition.\r\n\t */\r\n\tNavigation.prototype.prev = function(speed) {\r\n\t\t$.proxy(this._overrides.to, this._core)(this.getPosition(false), speed);\r\n\t};\r\n\r\n\t/**\r\n\t * Slides to the specified item or page.\r\n\t * @public\r\n\t * @param {Number} position - The position of the item or page.\r\n\t * @param {Number} [speed] - The time in milliseconds for the transition.\r\n\t * @param {Boolean} [standard=false] - Whether to use the standard behaviour or not.\r\n\t */\r\n\tNavigation.prototype.to = function(position, speed, standard) {\r\n\t\tvar length;\r\n\r\n\t\tif (!standard && this._pages.length) {\r\n\t\t\tlength = this._pages.length;\r\n\t\t\t$.proxy(this._overrides.to, this._core)(this._pages[((position % length) + length) % length].start, speed);\r\n\t\t} else {\r\n\t\t\t$.proxy(this._overrides.to, this._core)(position, speed);\r\n\t\t}\r\n\t};\r\n\r\n\t$.fn.owlCarousel.Constructor.Plugins.Navigation = Navigation;\r\n\r\n})(window.Zepto || window.jQuery, window, document);\r\n\r\n/**\r\n * Hash Plugin\r\n * @version 2.1.0\r\n * @author Artus Kolanowski\r\n * @author David Deutsch\r\n * @license The MIT License (MIT)\r\n */\r\n;(function($, window, document, undefined) {\r\n\t'use strict';\r\n\r\n\t/**\r\n\t * Creates the hash plugin.\r\n\t * @class The Hash Plugin\r\n\t * @param {Owl} carousel - The Owl Carousel\r\n\t */\r\n\tvar Hash = function(carousel) {\r\n\t\t/**\r\n\t\t * Reference to the core.\r\n\t\t * @protected\r\n\t\t * @type {Owl}\r\n\t\t */\r\n\t\tthis._core = carousel;\r\n\r\n\t\t/**\r\n\t\t * Hash index for the items.\r\n\t\t * @protected\r\n\t\t * @type {Object}\r\n\t\t */\r\n\t\tthis._hashes = {};\r\n\r\n\t\t/**\r\n\t\t * The carousel element.\r\n\t\t * @type {jQuery}\r\n\t\t */\r\n\t\tthis.$element = this._core.$element;\r\n\r\n\t\t/**\r\n\t\t * All event handlers.\r\n\t\t * @protected\r\n\t\t * @type {Object}\r\n\t\t */\r\n\t\tthis._handlers = {\r\n\t\t\t'initialized.owl.carousel': $.proxy(function(e) {\r\n\t\t\t\tif (e.namespace && this._core.settings.startPosition === 'URLHash') {\r\n\t\t\t\t\t$(window).trigger('hashchange.owl.navigation');\r\n\t\t\t\t}\r\n\t\t\t}, this),\r\n\t\t\t'prepared.owl.carousel': $.proxy(function(e) {\r\n\t\t\t\tif (e.namespace) {\r\n\t\t\t\t\tvar hash = $(e.content).find('[data-hash]').addBack('[data-hash]').attr('data-hash');\r\n\r\n\t\t\t\t\tif (!hash) {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis._hashes[hash] = e.content;\r\n\t\t\t\t}\r\n\t\t\t}, this),\r\n\t\t\t'changed.owl.carousel': $.proxy(function(e) {\r\n\t\t\t\tif (e.namespace && e.property.name === 'position') {\r\n\t\t\t\t\tvar current = this._core.items(this._core.relative(this._core.current())),\r\n\t\t\t\t\t\thash = $.map(this._hashes, function(item, hash) {\r\n\t\t\t\t\t\t\treturn item === current ? hash : null;\r\n\t\t\t\t\t\t}).join();\r\n\r\n\t\t\t\t\tif (!hash || window.location.hash.slice(1) === hash) {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\twindow.location.hash = hash;\r\n\t\t\t\t}\r\n\t\t\t}, this)\r\n\t\t};\r\n\r\n\t\t// set default options\r\n\t\tthis._core.options = $.extend({}, Hash.Defaults, this._core.options);\r\n\r\n\t\t// register the event handlers\r\n\t\tthis.$element.on(this._handlers);\r\n\r\n\t\t// register event listener for hash navigation\r\n\t\t$(window).on('hashchange.owl.navigation', $.proxy(function(e) {\r\n\t\t\tvar hash = window.location.hash.substring(1),\r\n\t\t\t\titems = this._core.$stage.children(),\r\n\t\t\t\tposition = this._hashes[hash] && items.index(this._hashes[hash]);\r\n\r\n\t\t\tif (position === undefined || position === this._core.current()) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tthis._core.to(this._core.relative(position), false, true);\r\n\t\t}, this));\r\n\t};\r\n\r\n\t/**\r\n\t * Default options.\r\n\t * @public\r\n\t */\r\n\tHash.Defaults = {\r\n\t\tURLhashListener: false\r\n\t};\r\n\r\n\t/**\r\n\t * Destroys the plugin.\r\n\t * @public\r\n\t */\r\n\tHash.prototype.destroy = function() {\r\n\t\tvar handler, property;\r\n\r\n\t\t$(window).off('hashchange.owl.navigation');\r\n\r\n\t\tfor (handler in this._handlers) {\r\n\t\t\tthis._core.$element.off(handler, this._handlers[handler]);\r\n\t\t}\r\n\t\tfor (property in Object.getOwnPropertyNames(this)) {\r\n\t\t\ttypeof this[property] != 'function' && (this[property] = null);\r\n\t\t}\r\n\t};\r\n\r\n\t$.fn.owlCarousel.Constructor.Plugins.Hash = Hash;\r\n\r\n})(window.Zepto || window.jQuery, window, document);\r\n\r\n/**\r\n * Support Plugin\r\n *\r\n * @version 2.1.0\r\n * @author Vivid Planet Software GmbH\r\n * @author Artus Kolanowski\r\n * @author David Deutsch\r\n * @license The MIT License (MIT)\r\n */\r\n;(function($, window, document, undefined) {\r\n\r\n\tvar style = $('').get(0).style,\r\n\t\tprefixes = 'Webkit Moz O ms'.split(' '),\r\n\t\tevents = {\r\n\t\t\ttransition: {\r\n\t\t\t\tend: {\r\n\t\t\t\t\tWebkitTransition: 'webkitTransitionEnd',\r\n\t\t\t\t\tMozTransition: 'transitionend',\r\n\t\t\t\t\tOTransition: 'oTransitionEnd',\r\n\t\t\t\t\ttransition: 'transitionend'\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tanimation: {\r\n\t\t\t\tend: {\r\n\t\t\t\t\tWebkitAnimation: 'webkitAnimationEnd',\r\n\t\t\t\t\tMozAnimation: 'animationend',\r\n\t\t\t\t\tOAnimation: 'oAnimationEnd',\r\n\t\t\t\t\tanimation: 'animationend'\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\ttests = {\r\n\t\t\tcsstransforms: function() {\r\n\t\t\t\treturn !!test('transform');\r\n\t\t\t},\r\n\t\t\tcsstransforms3d: function() {\r\n\t\t\t\treturn !!test('perspective');\r\n\t\t\t},\r\n\t\t\tcsstransitions: function() {\r\n\t\t\t\treturn !!test('transition');\r\n\t\t\t},\r\n\t\t\tcssanimations: function() {\r\n\t\t\t\treturn !!test('animation');\r\n\t\t\t}\r\n\t\t};\r\n\r\n\tfunction test(property, prefixed) {\r\n\t\tvar result = false,\r\n\t\t\tupper = property.charAt(0).toUpperCase() + property.slice(1);\r\n\r\n\t\t$.each((property + ' ' + prefixes.join(upper + ' ') + upper).split(' '), function(i, property) {\r\n\t\t\tif (style[property] !== undefined) {\r\n\t\t\t\tresult = prefixed ? property : true;\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\treturn result;\r\n\t}\r\n\r\n\tfunction prefixed(property) {\r\n\t\treturn test(property, true);\r\n\t}\r\n\r\n\tif (tests.csstransitions()) {\r\n\t\t/* jshint -W053 */\r\n\t\t$.support.transition = new String(prefixed('transition'))\r\n\t\t$.support.transition.end = events.transition.end[ $.support.transition ];\r\n\t}\r\n\r\n\tif (tests.cssanimations()) {\r\n\t\t/* jshint -W053 */\r\n\t\t$.support.animation = new String(prefixed('animation'))\r\n\t\t$.support.animation.end = events.animation.end[ $.support.animation ];\r\n\t}\r\n\r\n\tif (tests.csstransforms()) {\r\n\t\t/* jshint -W053 */\r\n\t\t$.support.transform = new String(prefixed('transform'));\r\n\t\t$.support.transform3d = tests.csstransforms3d();\r\n\t}\r\n\r\n})(window.Zepto || window.jQuery, window, document);\r\n"]}