owl.carousel.min.js
33.0 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
"function" !== typeof Object.create && (Object.create = function(f) {
function g() {}
g.prototype = f;
return new g
});
(function(f, g, k) {
var l = {
init: function(a, b) {
this.$elem = f(b);
this.options = f.extend({}, f.fn.owlCarousel.options, this.$elem.data(), a);
this.userOptions = a;
this.loadContent()
},
loadContent: function() {
function a(a) {
var d, e = "";
if ("function" === typeof b.options.jsonSuccess) b.options.jsonSuccess.apply(this, [a]);
else {
for (d in a.owl) a.owl.hasOwnProperty(d) && (e += a.owl[d].item);
b.$elem.html(e)
}
b.logIn()
}
var b = this,
e;
"function" === typeof b.options.beforeInit && b.options.beforeInit.apply(this, [b.$elem]);
"string" === typeof b.options.jsonPath ?
(e = b.options.jsonPath, f.getJSON(e, a)) : b.logIn()
},
logIn: function() {
this.$elem.data("owl-originalStyles", this.$elem.attr("style"));
this.$elem.data("owl-originalClasses", this.$elem.attr("class"));
this.$elem.css({ opacity: 0 });
this.orignalItems = this.options.items;
this.checkBrowser();
this.wrapperWidth = 0;
this.checkVisible = null;
this.setVars()
},
setVars: function() {
if (0 === this.$elem.children().length) return !1;
this.baseClass();
this.eventTypes();
this.$userItems = this.$elem.children();
this.itemsAmount = this.$userItems.length;
this.wrapItems();
this.$owlItems = this.$elem.find(".owl-item");
this.$owlWrapper = this.$elem.find(".owl-wrapper");
this.playDirection = "next";
this.prevItem = 0;
this.prevArr = [0];
this.currentItem = 0;
this.customEvents();
this.onStartup()
},
onStartup: function() {
this.updateItems();
this.calculateAll();
this.buildControls();
this.updateControls();
this.response();
this.moveEvents();
this.stopOnHover();
this.owlStatus();
!1 !== this.options.transitionStyle && this.transitionTypes(this.options.transitionStyle);
!0 === this.options.autoPlay &&
(this.options.autoPlay = 5E3);
this.play();
this.$elem.find(".owl-wrapper").css("display", "block");
this.$elem.is(":visible") ? this.$elem.css("opacity", 1) : this.watchVisibility();
this.onstartup = !1;
this.eachMoveUpdate();
"function" === typeof this.options.afterInit && this.options.afterInit.apply(this, [this.$elem])
},
eachMoveUpdate: function() {
!0 === this.options.lazyLoad && this.lazyLoad();
!0 === this.options.autoHeight && this.autoHeight();
this.onVisibleItems();
"function" === typeof this.options.afterAction && this.options.afterAction.apply(this, [this.$elem])
},
updateVars: function() {
"function" === typeof this.options.beforeUpdate && this.options.beforeUpdate.apply(this, [this.$elem]);
this.watchVisibility();
this.updateItems();
this.calculateAll();
this.updatePosition();
this.updateControls();
this.eachMoveUpdate();
"function" === typeof this.options.afterUpdate && this.options.afterUpdate.apply(this, [this.$elem])
},
reload: function() {
var a = this;
g.setTimeout(function() { a.updateVars() }, 0)
},
watchVisibility: function() {
var a = this;
if (!1 === a.$elem.is(":visible")) a.$elem.css({ opacity: 0 }),
g.clearInterval(a.autoPlayInterval), g.clearInterval(a.checkVisible);
else return !1;
a.checkVisible = g.setInterval(function() { a.$elem.is(":visible") && (a.reload(), a.$elem.animate({ opacity: 1 }, 200), g.clearInterval(a.checkVisible)) }, 500)
},
wrapItems: function() {
this.$userItems.wrapAll('<div class="owl-wrapper">').wrap('<div class="owl-item"></div>');
this.$elem.find(".owl-wrapper").wrap('<div class="owl-wrapper-outer">');
this.wrapperOuter = this.$elem.find(".owl-wrapper-outer");
this.$elem.css("display", "block")
},
baseClass: function() {
var a = this.$elem.hasClass(this.options.baseClass),
b = this.$elem.hasClass(this.options.theme);
a || this.$elem.addClass(this.options.baseClass);
b || this.$elem.addClass(this.options.theme)
},
updateItems: function() {
var a, b;
if (!1 === this.options.responsive) return !1;
if (!0 === this.options.singleItem) return this.options.items = this.orignalItems = 1, this.options.itemsCustom = !1, this.options.itemsDesktop = !1, this.options.itemsDesktopSmall = !1, this.options.itemsTablet = !1, this.options.itemsTabletSmall = !1, this.options.itemsMobile = !1;
a = f(this.options.responsiveBaseWidth).width();
a > (this.options.itemsDesktop[0] || this.orignalItems) && (this.options.items = this.orignalItems);
if (!1 !== this.options.itemsCustom)
for (this.options.itemsCustom.sort(function(a, b) { return a[0] - b[0] }), b = 0; b < this.options.itemsCustom.length; b += 1) this.options.itemsCustom[b][0] <= a && (this.options.items = this.options.itemsCustom[b][1]);
else a <= this.options.itemsDesktop[0] && !1 !== this.options.itemsDesktop && (this.options.items = this.options.itemsDesktop[1]),
a <= this.options.itemsDesktopSmall[0] && !1 !== this.options.itemsDesktopSmall && (this.options.items = this.options.itemsDesktopSmall[1]), a <= this.options.itemsTablet[0] && !1 !== this.options.itemsTablet && (this.options.items = this.options.itemsTablet[1]), a <= this.options.itemsTabletSmall[0] && !1 !== this.options.itemsTabletSmall && (this.options.items = this.options.itemsTabletSmall[1]), a <= this.options.itemsMobile[0] && !1 !== this.options.itemsMobile && (this.options.items = this.options.itemsMobile[1]);
this.options.items > this.itemsAmount &&
!0 === this.options.itemsScaleUp && (this.options.items = this.itemsAmount)
},
response: function() {
var a = this,
b, e;
if (!0 !== a.options.responsive) return !1;
e = f(g).width();
a.resizer = function() {
f(g).width() !== e && (!1 !== a.options.autoPlay && g.clearInterval(a.autoPlayInterval), g.clearTimeout(b), b = g.setTimeout(function() {
e = f(g).width();
a.updateVars()
}, a.options.responsiveRefreshRate))
};
f(g).resize(a.resizer)
},
updatePosition: function() { this.jumpTo(this.currentItem);!1 !== this.options.autoPlay && this.checkAp() },
appendItemsSizes: function() {
var a =
this,
b = 0,
e = a.itemsAmount - a.options.items;
a.$owlItems.each(function(c) {
var d = f(this);
d.css({ width: a.itemWidth }).data("owl-item", Number(c));
if (0 === c % a.options.items || c === e) c > e || (b += 1);
d.data("owl-roundPages", b)
})
},
appendWrapperSizes: function() {
this.$owlWrapper.css({ width: this.$owlItems.length * this.itemWidth * 2, left: 0 });
this.appendItemsSizes()
},
calculateAll: function() {
this.calculateWidth();
this.appendWrapperSizes();
this.loops();
this.max()
},
calculateWidth: function() {
this.itemWidth = Math.round(this.$elem.width() /
this.options.items)
},
max: function() {
var a = -1 * (this.itemsAmount * this.itemWidth - this.options.items * this.itemWidth);
this.options.items > this.itemsAmount ? this.maximumPixels = a = this.maximumItem = 0 : (this.maximumItem = this.itemsAmount - this.options.items, this.maximumPixels = a);
return a
},
min: function() { return 0 },
loops: function() {
var a = 0,
b = 0,
e, c;
this.positionsInArray = [0];
this.pagesInArray = [];
for (e = 0; e < this.itemsAmount; e += 1) b += this.itemWidth, this.positionsInArray.push(-b), !0 === this.options.scrollPerPage && (c = f(this.$owlItems[e]),
c = c.data("owl-roundPages"), c !== a && (this.pagesInArray[a] = this.positionsInArray[e], a = c))
},
buildControls: function() { if (!0 === this.options.navigation || !0 === this.options.pagination) this.owlControls = f('<div class="owl-controls"/>').toggleClass("clickable", !this.browser.isTouch).appendTo(this.$elem);!0 === this.options.pagination && this.buildPagination();!0 === this.options.navigation && this.buildButtons() },
buildButtons: function() {
var a = this,
b = f('<div class="owl-buttons"/>');
a.owlControls.append(b);
a.buttonPrev =
f("<div/>", { "class": "owl-prev", html: a.options.navigationText[0] || "" });
a.buttonNext = f("<div/>", { "class": "owl-next", html: a.options.navigationText[1] || "" });
b.append(a.buttonPrev).append(a.buttonNext);
b.on("touchstart.owlControls mousedown.owlControls", 'div[class^="owl"]', function(a) { a.preventDefault() });
b.on("touchend.owlControls mouseup.owlControls", 'div[class^="owl"]', function(b) {
b.preventDefault();
f(this).hasClass("owl-next") ? a.next() : a.prev()
})
},
buildPagination: function() {
var a = this;
a.paginationWrapper =
f('<div class="owl-pagination"/>');
a.owlControls.append(a.paginationWrapper);
a.paginationWrapper.on("touchend.owlControls mouseup.owlControls", ".owl-page", function(b) {
b.preventDefault();
Number(f(this).data("owl-page")) !== a.currentItem && a.goTo(Number(f(this).data("owl-page")), !0)
})
},
updatePagination: function() {
var a, b, e, c, d, g;
if (!1 === this.options.pagination) return !1;
this.paginationWrapper.html("");
a = 0;
b = this.itemsAmount - this.itemsAmount % this.options.items;
for (c = 0; c < this.itemsAmount; c += 1) 0 === c % this.options.items &&
(a += 1, b === c && (e = this.itemsAmount - this.options.items), d = f("<div/>", { "class": "owl-page" }), g = f("<span></span>", { text: !0 === this.options.paginationNumbers ? a : "", "class": !0 === this.options.paginationNumbers ? "owl-numbers" : "" }), d.append(g), d.data("owl-page", b === c ? e : c), d.data("owl-roundPages", a), this.paginationWrapper.append(d));
this.checkPagination()
},
checkPagination: function() {
var a = this;
if (!1 === a.options.pagination) return !1;
a.paginationWrapper.find(".owl-page").each(function() {
f(this).data("owl-roundPages") ===
f(a.$owlItems[a.currentItem]).data("owl-roundPages") && (a.paginationWrapper.find(".owl-page").removeClass("active"), f(this).addClass("active"))
})
},
checkNavigation: function() {
if (!1 === this.options.navigation) return !1;
!1 === this.options.rewindNav && (0 === this.currentItem && 0 === this.maximumItem ? (this.buttonPrev.addClass("disabled"), this.buttonNext.addClass("disabled")) : 0 === this.currentItem && 0 !== this.maximumItem ? (this.buttonPrev.addClass("disabled"), this.buttonNext.removeClass("disabled")) : this.currentItem ===
this.maximumItem ? (this.buttonPrev.removeClass("disabled"), this.buttonNext.addClass("disabled")) : 0 !== this.currentItem && this.currentItem !== this.maximumItem && (this.buttonPrev.removeClass("disabled"), this.buttonNext.removeClass("disabled")))
},
updateControls: function() {
this.updatePagination();
this.checkNavigation();
this.owlControls && (this.options.items >= this.itemsAmount ? this.owlControls.hide() : this.owlControls.show())
},
destroyControls: function() { this.owlControls && this.owlControls.remove() },
next: function(a) {
if (this.isTransition) return !1;
this.currentItem += !0 === this.options.scrollPerPage ? this.options.items : 1;
if (this.currentItem > this.maximumItem + (!0 === this.options.scrollPerPage ? this.options.items - 1 : 0))
if (!0 === this.options.rewindNav) this.currentItem = 0, a = "rewind";
else return this.currentItem = this.maximumItem, !1;
this.goTo(this.currentItem, a)
},
prev: function(a) {
if (this.isTransition) return !1;
this.currentItem = !0 === this.options.scrollPerPage && 0 < this.currentItem && this.currentItem < this.options.items ? 0 : this.currentItem - (!0 === this.options.scrollPerPage ?
this.options.items : 1);
if (0 > this.currentItem)
if (!0 === this.options.rewindNav) this.currentItem = this.maximumItem, a = "rewind";
else return this.currentItem = 0, !1;
this.goTo(this.currentItem, a)
},
goTo: function(a, b, e) {
var c = this;
if (c.isTransition) return !1;
"function" === typeof c.options.beforeMove && c.options.beforeMove.apply(this, [c.$elem]);
a >= c.maximumItem ? a = c.maximumItem : 0 >= a && (a = 0);
c.currentItem = c.owl.currentItem = a;
if (!1 !== c.options.transitionStyle && "drag" !== e && 1 === c.options.items && !0 === c.browser.support3d) return c.swapSpeed(0), !0 === c.browser.support3d ? c.transition3d(c.positionsInArray[a]) : c.css2slide(c.positionsInArray[a], 1), c.afterGo(), c.singleItemTransition(), !1;
a = c.positionsInArray[a];
!0 === c.browser.support3d ? (c.isCss3Finish = !1, !0 === b ? (c.swapSpeed("paginationSpeed"), g.setTimeout(function() { c.isCss3Finish = !0 }, c.options.paginationSpeed)) : "rewind" === b ? (c.swapSpeed(c.options.rewindSpeed), g.setTimeout(function() { c.isCss3Finish = !0 }, c.options.rewindSpeed)) : (c.swapSpeed("slideSpeed"), g.setTimeout(function() { c.isCss3Finish = !0 },
c.options.slideSpeed)), c.transition3d(a)) : !0 === b ? c.css2slide(a, c.options.paginationSpeed) : "rewind" === b ? c.css2slide(a, c.options.rewindSpeed) : c.css2slide(a, c.options.slideSpeed);
c.afterGo()
},
jumpTo: function(a) {
"function" === typeof this.options.beforeMove && this.options.beforeMove.apply(this, [this.$elem]);
a >= this.maximumItem || -1 === a ? a = this.maximumItem : 0 >= a && (a = 0);
this.swapSpeed(0);
!0 === this.browser.support3d ? this.transition3d(this.positionsInArray[a]) : this.css2slide(this.positionsInArray[a], 1);
this.currentItem =
this.owl.currentItem = a;
this.afterGo()
},
afterGo: function() {
this.prevArr.push(this.currentItem);
this.prevItem = this.owl.prevItem = this.prevArr[this.prevArr.length - 2];
this.prevArr.shift(0);
this.prevItem !== this.currentItem && (this.checkPagination(), this.checkNavigation(), this.eachMoveUpdate(), !1 !== this.options.autoPlay && this.checkAp());
"function" === typeof this.options.afterMove && this.prevItem !== this.currentItem && this.options.afterMove.apply(this, [this.$elem])
},
stop: function() {
this.apStatus = "stop";
g.clearInterval(this.autoPlayInterval)
},
checkAp: function() { "stop" !== this.apStatus && this.play() },
play: function() {
var a = this;
a.apStatus = "play";
if (!1 === a.options.autoPlay) return !1;
g.clearInterval(a.autoPlayInterval);
a.autoPlayInterval = g.setInterval(function() { a.next(!0) }, a.options.autoPlay)
},
swapSpeed: function(a) { "slideSpeed" === a ? this.$owlWrapper.css(this.addCssSpeed(this.options.slideSpeed)) : "paginationSpeed" === a ? this.$owlWrapper.css(this.addCssSpeed(this.options.paginationSpeed)) : "string" !== typeof a && this.$owlWrapper.css(this.addCssSpeed(a)) },
addCssSpeed: function(a) { return { "-webkit-transition": "all " + a + "ms ease", "-moz-transition": "all " + a + "ms ease", "-o-transition": "all " + a + "ms ease", transition: "all " + a + "ms ease" } },
removeTransition: function() { return { "-webkit-transition": "", "-moz-transition": "", "-o-transition": "", transition: "" } },
doTranslate: function(a) {
return {
"-webkit-transform": "translate3d(" + a + "px, 0px, 0px)",
"-moz-transform": "translate3d(" + a + "px, 0px, 0px)",
"-o-transform": "translate3d(" + a + "px, 0px, 0px)",
"-ms-transform": "translate3d(" +
a + "px, 0px, 0px)",
transform: "translate3d(" + a + "px, 0px,0px)"
}
},
transition3d: function(a) { this.$owlWrapper.css(this.doTranslate(a)) },
css2move: function(a) { this.$owlWrapper.css({ left: a }) },
css2slide: function(a, b) {
var e = this;
e.isCssFinish = !1;
e.$owlWrapper.stop(!0, !0).animate({ left: a }, { duration: b || e.options.slideSpeed, complete: function() { e.isCssFinish = !0 } })
},
checkBrowser: function() {
var a = k.createElement("div");
a.style.cssText = " -moz-transform:translate3d(0px, 0px, 0px); -ms-transform:translate3d(0px, 0px, 0px); -o-transform:translate3d(0px, 0px, 0px); -webkit-transform:translate3d(0px, 0px, 0px); transform:translate3d(0px, 0px, 0px)";
a = a.style.cssText.match(/translate3d\(0px, 0px, 0px\)/g);
this.browser = { support3d: null !== a && 1 === a.length, isTouch: "ontouchstart" in g || g.navigator.msMaxTouchPoints }
},
moveEvents: function() { if (!1 !== this.options.mouseDrag || !1 !== this.options.touchDrag) this.gestures(), this.disabledEvents() },
eventTypes: function() {
var a = ["s", "e", "x"];
this.ev_types = {};
!0 === this.options.mouseDrag && !0 === this.options.touchDrag ? a = ["touchstart.owl mousedown.owl", "touchmove.owl mousemove.owl", "touchend.owl touchcancel.owl mouseup.owl"] :
!1 === this.options.mouseDrag && !0 === this.options.touchDrag ? a = ["touchstart.owl", "touchmove.owl", "touchend.owl touchcancel.owl"] : !0 === this.options.mouseDrag && !1 === this.options.touchDrag && (a = ["mousedown.owl", "mousemove.owl", "mouseup.owl"]);
this.ev_types.start = a[0];
this.ev_types.move = a[1];
this.ev_types.end = a[2]
},
disabledEvents: function() {
this.$elem.on("dragstart.owl", function(a) { a.preventDefault() });
this.$elem.on("mousedown.disableTextSelect", function(a) { return f(a.target).is("input, textarea, select, option") })
},
gestures: function() {
function a(a) { if (void 0 !== a.touches) return { x: a.touches[0].pageX, y: a.touches[0].pageY }; if (void 0 === a.touches) { if (void 0 !== a.pageX) return { x: a.pageX, y: a.pageY }; if (void 0 === a.pageX) return { x: a.clientX, y: a.clientY } } }
function b(a) { "on" === a ? (f(k).on(d.ev_types.move, e), f(k).on(d.ev_types.end, c)) : "off" === a && (f(k).off(d.ev_types.move), f(k).off(d.ev_types.end)) }
function e(b) {
b = b.originalEvent || b || g.event;
d.newPosX = a(b).x - h.offsetX;
d.newPosY = a(b).y - h.offsetY;
d.newRelativeX = d.newPosX - h.relativePos;
"function" === typeof d.options.startDragging && !0 !== h.dragging && 0 !== d.newRelativeX && (h.dragging = !0, d.options.startDragging.apply(d, [d.$elem]));
(8 < d.newRelativeX || -8 > d.newRelativeX) && !0 === d.browser.isTouch && (void 0 !== b.preventDefault ? b.preventDefault() : b.returnValue = !1, h.sliding = !0);
(10 < d.newPosY || -10 > d.newPosY) && !1 === h.sliding && f(k).off("touchmove.owl");
d.newPosX = Math.max(Math.min(d.newPosX, d.newRelativeX / 5), d.maximumPixels + d.newRelativeX / 5);
!0 === d.browser.support3d ? d.transition3d(d.newPosX) : d.css2move(d.newPosX)
}
function c(a) {
a = a.originalEvent || a || g.event;
var c;
a.target = a.target || a.srcElement;
h.dragging = !1;
!0 !== d.browser.isTouch && d.$owlWrapper.removeClass("grabbing");
d.dragDirection = 0 > d.newRelativeX ? d.owl.dragDirection = "left" : d.owl.dragDirection = "right";
0 !== d.newRelativeX && (c = d.getNewPosition(), d.goTo(c, !1, "drag"), h.targetElement === a.target && !0 !== d.browser.isTouch && (f(a.target).on("click.disable", function(a) {
a.stopImmediatePropagation();
a.stopPropagation();
a.preventDefault();
f(a.target).off("click.disable")
}),
a = f._data(a.target, "events").click, c = a.pop(), a.splice(0, 0, c)));
b("off")
}
var d = this,
h = { offsetX: 0, offsetY: 0, baseElWidth: 0, relativePos: 0, position: null, minSwipe: null, maxSwipe: null, sliding: null, dargging: null, targetElement: null };
d.isCssFinish = !0;
d.$elem.on(d.ev_types.start, ".owl-wrapper", function(c) {
c = c.originalEvent || c || g.event;
var e;
if (3 === c.which) return !1;
if (!(d.itemsAmount <= d.options.items)) {
if (!1 === d.isCssFinish && !d.options.dragBeforeAnimFinish || !1 === d.isCss3Finish && !d.options.dragBeforeAnimFinish) return !1;
!1 !== d.options.autoPlay && g.clearInterval(d.autoPlayInterval);
!0 === d.browser.isTouch || d.$owlWrapper.hasClass("grabbing") || d.$owlWrapper.addClass("grabbing");
d.newPosX = 0;
d.newRelativeX = 0;
f(this).css(d.removeTransition());
e = f(this).position();
h.relativePos = e.left;
h.offsetX = a(c).x - e.left;
h.offsetY = a(c).y - e.top;
b("on");
h.sliding = !1;
h.targetElement = c.target || c.srcElement
}
})
},
getNewPosition: function() {
var a = this.closestItem();
a > this.maximumItem ? a = this.currentItem = this.maximumItem : 0 <= this.newPosX && (this.currentItem =
a = 0);
return a
},
closestItem: function() {
var a = this,
b = !0 === a.options.scrollPerPage ? a.pagesInArray : a.positionsInArray,
e = a.newPosX,
c = null;
f.each(b, function(d, g) {
e - a.itemWidth / 20 > b[d + 1] && e - a.itemWidth / 20 < g && "left" === a.moveDirection() ? (c = g, a.currentItem = !0 === a.options.scrollPerPage ? f.inArray(c, a.positionsInArray) : d) : e + a.itemWidth / 20 < g && e + a.itemWidth / 20 > (b[d + 1] || b[d] - a.itemWidth) && "right" === a.moveDirection() && (!0 === a.options.scrollPerPage ? (c = b[d + 1] || b[b.length - 1], a.currentItem = f.inArray(c, a.positionsInArray)) :
(c = b[d + 1], a.currentItem = d + 1))
});
return a.currentItem
},
moveDirection: function() {
var a;
0 > this.newRelativeX ? (a = "right", this.playDirection = "next") : (a = "left", this.playDirection = "prev");
return a
},
customEvents: function() {
var a = this;
a.$elem.on("owl.next", function() { a.next() });
a.$elem.on("owl.prev", function() { a.prev() });
a.$elem.on("owl.play", function(b, e) {
a.options.autoPlay = e;
a.play();
a.hoverStatus = "play"
});
a.$elem.on("owl.stop", function() {
a.stop();
a.hoverStatus = "stop"
});
a.$elem.on("owl.goTo", function(b, e) { a.goTo(e) });
a.$elem.on("owl.jumpTo", function(b, e) { a.jumpTo(e) })
},
stopOnHover: function() { var a = this;!0 === a.options.stopOnHover && !0 !== a.browser.isTouch && !1 !== a.options.autoPlay && (a.$elem.on("mouseover", function() { a.stop() }), a.$elem.on("mouseout", function() { "stop" !== a.hoverStatus && a.play() })) },
lazyLoad: function() {
var a, b, e, c, d;
if (!1 === this.options.lazyLoad) return !1;
for (a = 0; a < this.itemsAmount; a += 1) b = f(this.$owlItems[a]), "loaded" !== b.data("owl-loaded") && (e = b.data("owl-item"), c = b.find(".lazyOwl"), "string" !== typeof c.data("src") ?
b.data("owl-loaded", "loaded") : (void 0 === b.data("owl-loaded") && (c.hide(), b.addClass("loading").data("owl-loaded", "checked")), (d = !0 === this.options.lazyFollow ? e >= this.currentItem : !0) && e < this.currentItem + this.options.items && c.length && this.lazyPreload(b, c)))
},
lazyPreload: function(a, b) {
function e() {
a.data("owl-loaded", "loaded").removeClass("loading");
b.removeAttr("data-src");
"fade" === d.options.lazyEffect ? b.fadeIn(400) : b.show();
"function" === typeof d.options.afterLazyLoad && d.options.afterLazyLoad.apply(this, [d.$elem])
}
function c() {
f += 1;
d.completeImg(b.get(0)) || !0 === k ? e() : 100 >= f ? g.setTimeout(c, 100) : e()
}
var d = this,
f = 0,
k;
"DIV" === b.prop("tagName") ? (b.css("background-image", "url(" + b.data("src") + ")"), k = !0) : b[0].src = b.data("src");
c()
},
autoHeight: function() {
function a() {
var a = f(e.$owlItems[e.currentItem]).height();
e.wrapperOuter.css("height", a + "px");
e.wrapperOuter.hasClass("autoHeight") || g.setTimeout(function() { e.wrapperOuter.addClass("autoHeight") }, 0)
}
function b() {
d += 1;
e.completeImg(c.get(0)) ? a() : 100 >= d ? g.setTimeout(b,
100) : e.wrapperOuter.css("height", "")
}
var e = this,
c = f(e.$owlItems[e.currentItem]).find("img"),
d;
void 0 !== c.get(0) ? (d = 0, b()) : a()
},
completeImg: function(a) { return !a.complete || "undefined" !== typeof a.naturalWidth && 0 === a.naturalWidth ? !1 : !0 },
onVisibleItems: function() {
var a;
!0 === this.options.addClassActive && this.$owlItems.removeClass("active");
this.visibleItems = [];
for (a = this.currentItem; a < this.currentItem + this.options.items; a += 1) this.visibleItems.push(a), !0 === this.options.addClassActive && f(this.$owlItems[a]).addClass("active");
this.owl.visibleItems = this.visibleItems
},
transitionTypes: function(a) {
this.outClass = "owl-" + a + "-out";
this.inClass = "owl-" + a + "-in"
},
singleItemTransition: function() {
var a = this,
b = a.outClass,
e = a.inClass,
c = a.$owlItems.eq(a.currentItem),
d = a.$owlItems.eq(a.prevItem),
f = Math.abs(a.positionsInArray[a.currentItem]) + a.positionsInArray[a.prevItem],
g = Math.abs(a.positionsInArray[a.currentItem]) + a.itemWidth / 2;
a.isTransition = !0;
a.$owlWrapper.addClass("owl-origin").css({
"-webkit-transform-origin": g + "px",
"-moz-perspective-origin": g +
"px",
"perspective-origin": g + "px"
});
d.css({ position: "relative", left: f + "px" }).addClass(b).on("webkitAnimationEnd oAnimationEnd MSAnimationEnd animationend", function() {
a.endPrev = !0;
d.off("webkitAnimationEnd oAnimationEnd MSAnimationEnd animationend");
a.clearTransStyle(d, b)
});
c.addClass(e).on("webkitAnimationEnd oAnimationEnd MSAnimationEnd animationend", function() {
a.endCurrent = !0;
c.off("webkitAnimationEnd oAnimationEnd MSAnimationEnd animationend");
a.clearTransStyle(c, e)
})
},
clearTransStyle: function(a,
b) {
a.css({ position: "", left: "" }).removeClass(b);
this.endPrev && this.endCurrent && (this.$owlWrapper.removeClass("owl-origin"), this.isTransition = this.endCurrent = this.endPrev = !1)
},
owlStatus: function() { this.owl = { userOptions: this.userOptions, baseElement: this.$elem, userItems: this.$userItems, owlItems: this.$owlItems, currentItem: this.currentItem, prevItem: this.prevItem, visibleItems: this.visibleItems, isTouch: this.browser.isTouch, browser: this.browser, dragDirection: this.dragDirection } },
clearEvents: function() {
this.$elem.off(".owl owl mousedown.disableTextSelect");
f(k).off(".owl owl");
f(g).off("resize", this.resizer)
},
unWrap: function() {
0 !== this.$elem.children().length && (this.$owlWrapper.unwrap(), this.$userItems.unwrap().unwrap(), this.owlControls && this.owlControls.remove());
this.clearEvents();
this.$elem.attr("style", this.$elem.data("owl-originalStyles") || "").attr("class", this.$elem.data("owl-originalClasses"))
},
destroy: function() {
this.stop();
g.clearInterval(this.checkVisible);
this.unWrap();
this.$elem.removeData()
},
reinit: function(a) {
a = f.extend({}, this.userOptions,
a);
this.unWrap();
this.init(a, this.$elem)
},
addItem: function(a, b) {
var e;
if (!a) return !1;
if (0 === this.$elem.children().length) return this.$elem.append(a), this.setVars(), !1;
this.unWrap();
e = void 0 === b || -1 === b ? -1 : b;
e >= this.$userItems.length || -1 === e ? this.$userItems.eq(-1).after(a) : this.$userItems.eq(e).before(a);
this.setVars()
},
removeItem: function(a) {
if (0 === this.$elem.children().length) return !1;
a = void 0 === a || -1 === a ? -1 : a;
this.unWrap();
this.$userItems.eq(a).remove();
this.setVars()
}
};
f.fn.owlCarousel = function(a) {
return this.each(function() {
if (!0 ===
f(this).data("owl-init")) return !1;
f(this).data("owl-init", !0);
var b = Object.create(l);
b.init(a, this);
f.data(this, "owlCarousel", b)
})
};
f.fn.owlCarousel.options = {
items: 5,
itemsCustom: !1,
itemsDesktop: [1199, 4],
itemsDesktopSmall: [979, 3],
itemsTablet: [768, 2],
itemsTabletSmall: !1,
itemsMobile: [479, 1],
singleItem: !1,
itemsScaleUp: !1,
slideSpeed: 200,
paginationSpeed: 800,
rewindSpeed: 1E3,
autoPlay: !1,
stopOnHover: !1,
navigation: !1,
navigationText: ["prev", "next"],
rewindNav: !0,
scrollPerPage: !1,
pagination: !0,
paginationNumbers: !1,
responsive: !0,
responsiveRefreshRate: 200,
responsiveBaseWidth: g,
baseClass: "owl-carousel",
theme: "owl-theme",
lazyLoad: !1,
lazyFollow: !0,
lazyEffect: "fade",
autoHeight: !1,
jsonPath: !1,
jsonSuccess: !1,
dragBeforeAnimFinish: !0,
mouseDrag: !0,
touchDrag: !0,
addClassActive: !1,
transitionStyle: !1,
beforeUpdate: !1,
afterUpdate: !1,
beforeInit: !1,
afterInit: !1,
beforeMove: !1,
afterMove: !1,
afterAction: !1,
startDragging: !1,
afterLazyLoad: !1
}
})(jQuery, window, document);