PageSourceSearch

https://innocorpltd.com/clint_files/owl.carousel.js.download

js innocorpltd.com collected 2026-10-05 18:32:32 UTC 54,127 bytes, 1,546 lines download raw bytes

1var _____WB$wombat$assign$function_____ = function(name) {return (self._wb_wombat && self._wb_wombat.local_init && self._wb_wombat.local_init(name)) || self[name]; };
2if (!self.__WB_pmw) { self.__WB_pmw = function(obj) { this.__WB_source = obj; return this; } }
3{
4  let window = _____WB$wombat$assign$function_____("window");
5  let self = _____WB$wombat$assign$function_____("self");
6  let document = _____WB$wombat$assign$function_____("document");
7  let location = _____WB$wombat$assign$function_____("location");
8  let top = _____WB$wombat$assign$function_____("top");
9  let parent = _____WB$wombat$assign$function_____("parent");
10  let frames = _____WB$wombat$assign$function_____("frames");
11  let opener = _____WB$wombat$assign$function_____("opener");
12
13/*
14 *  jQuery OwlCarousel v1.3.3
15 *
16 *  Copyright (c) 2013 Bartosz Wojciechowski
17 *  http://www.owlgraphic.com/owlcarousel/
18 *
19 *  Licensed under MIT
20 *
21 */
22
23/*JS Lint helpers: */
24/*global dragMove: false, dragEnd: false, $, jQuery, alert, window, document */
25/*jslint nomen: true, continue:true */
26
27if (typeof Object.create !== "function") {
28    Object.create = function (obj) {
29        function F() {}
30        F.prototype = obj;
31        return new F();
32    };
33}
34(function ($, window, document) {
35
36    var Carousel = {
37        init : function (options, el) {
38            var base = this;
39
40            base.$elem = $(el);
41            base.options = $.extend({}, $.fn.owlCarousel.options, base.$elem.data(), options);
42
43            base.userOptions = options;
44            base.loadContent();
45        },
46
47        loadContent : function () {
48            var base = this, url;
49
50            function getData(data) {
51                var i, content = "";
52                if (typeof base.options.jsonSuccess === "function") {
53                    base.options.jsonSuccess.apply(this, [data]);
54                } else {
55                    for (i in data.owl) {
56                        if (data.owl.hasOwnProperty(i)) {
57                            content += data.owl[i].item;
58                        }
59                    }
60                    base.$elem.html(content);
61                }
62                base.logIn();
63            }
64
65            if (typeof base.options.beforeInit === "function") {
66                base.options.beforeInit.apply(this, [base.$elem]);
67            }
68
69            if (typeof base.options.jsonPath === "string") {
70                url = base.options.jsonPath;
71                $.getJSON(url, getData);
72            } else {
73                base.logIn();
74            }
75        },
76
77        logIn : function () {
78            var base = this;
79
80            base.$elem.data("owl-originalStyles", base.$elem.attr("style"));
81            base.$elem.data("owl-originalClasses", base.$elem.attr("class"));
82
83            base.$elem.css({opacity: 0});
84            base.orignalItems = base.options.items;
85            base.checkBrowser();
86            base.wrapperWidth = 0;
87            base.checkVisible = null;
88            base.setVars();
89        },
90
91        setVars : function () {
92            var base = this;
93            if (base.$elem.children().length === 0) {return false; }
94            base.baseClass();
95            base.eventTypes();
96            base.$userItems = base.$elem.children();
97            base.itemsAmount = base.$userItems.length;
98            base.wrapItems();
99            base.$owlItems = base.$elem.find(".owl-item");
100            base.$owlWrapper = base.$elem.find(".owl-wrapper");
101            base.playDirection = "next";
102            base.prevItem = 0;
103            base.prevArr = [0];
104            base.currentItem = 0;
105            base.customEvents();
106            base.onStartup();
107        },
108
109        onStartup : function () {
110            var base = this;
111            base.updateItems();
112            base.calculateAll();
113            base.buildControls();
114            base.updateControls();
115            base.response();
116            base.moveEvents();
117            base.stopOnHover();
118            base.owlStatus();
119
120            if (base.options.transitionStyle !== false) {
121                base.transitionTypes(base.options.transitionStyle);
122            }
123            if (base.options.autoPlay === true) {
124                base.options.autoPlay = 5000;
125            }
126            base.play();
127
128            base.$elem.find(".owl-wrapper").css("display", "block");
129
130            if (!base.$elem.is(":visible")) {
131                base.watchVisibility();
132            } else {
133                base.$elem.css("opacity", 1);
134            }
135            base.onstartup = false;
136            base.eachMoveUpdate();
137            if (typeof base.options.afterInit === "function") {
138                base.options.afterInit.apply(this, [base.$elem]);
139            }
140        },
141
142        eachMoveUpdate : function () {
143            var base = this;
144
145            if (base.options.lazyLoad === true) {
146                base.lazyLoad();
147            }
148            if (base.options.autoHeight === true) {
149                base.autoHeight();
150            }
151            base.onVisibleItems();
152
153            if (typeof base.options.afterAction === "function") {
154                base.options.afterAction.apply(this, [base.$elem]);
155            }
156        },
157
158        updateVars : function () {
159            var base = this;
160            if (typeof base.options.beforeUpdate === "function") {
161                base.options.beforeUpdate.apply(this, [base.$elem]);
162            }
163            base.watchVisibility();
164            base.updateItems();
165            base.calculateAll();
166            base.updatePosition();
167            base.updateControls();
168            base.eachMoveUpdate();
169            if (typeof base.options.afterUpdate === "function") {
170                base.options.afterUpdate.apply(this, [base.$elem]);
171            }
172        },
173
174        reload : function () {
175            var base = this;
176            window.setTimeout(function () {
177                base.updateVars();
178            }, 0);
179        },
180
181        watchVisibility : function () {
182            var base = this;
183
184            if (base.$elem.is(":visible") === false) {
185                base.$elem.css({opacity: 0});
186                window.clearInterval(base.autoPlayInterval);
187                window.clearInterval(base.checkVisible);
188            } else {
189                return false;
190            }
191            base.checkVisible = window.setInterval(function () {
192                if (base.$elem.is(":visible")) {
193                    base.reload();
194                    base.$elem.animate({opacity: 1}, 200);
195                    window.clearInterval(base.checkVisible);
196                }
197            }, 500);
198        },
199
200        wrapItems : function () {
201            var base = this;
202            base.$userItems.wrapAll("<div class=\"owl-wrapper\">").wrap("<div class=\"owl-item\"></div>");
203            base.$elem.find(".owl-wrapper").wrap("<div class=\"owl-wrapper-outer\">");
204            base.wrapperOuter = base.$elem.find(".owl-wrapper-outer");
205            base.$elem.css("display", "block");
206        },
207
208        baseClass : function () {
209            var base = this,
210                hasBaseClass = base.$elem.hasClass(base.options.baseClass),
211                hasThemeClass = base.$elem.hasClass(base.options.theme);
212
213            if (!hasBaseClass) {
214                base.$elem.addClass(base.options.baseClass);
215            }
216
217            if (!hasThemeClass) {
218                base.$elem.addClass(base.options.theme);
219            }
220        },
221
222        updateItems : function () {
223            var base = this, width, i;
224
225            if (base.options.responsive === false) {
226                return false;
227            }
228            if (base.options.singleItem === true) {
229                base.options.items = base.orignalItems = 1;
230                base.options.itemsCustom = false;
231                base.options.itemsDesktop = false;
232                base.options.itemsDesktopSmall = false;
233                base.options.itemsTablet = false;
234                base.options.itemsTabletSmall = false;
235                base.options.itemsMobile = false;
236                return false;
237            }
238
239            width = $(base.options.responsiveBaseWidth).width();
240
241            if (width > (base.options.itemsDesktop[0] || base.orignalItems)) {
242                base.options.items = base.orignalItems;
243            }
244            if (base.options.itemsCustom !== false) {
245                //Reorder array by screen size
246                base.options.itemsCustom.sort(function (a, b) {return a[0] - b[0]; });
247
248                for (i = 0; i < base.options.itemsCustom.length; i += 1) {
249                    if (base.options.itemsCustom[i][0] <= width) {
250                        base.options.items = base.options.itemsCustom[i][1];
251                    }
252                }
253
254            } else {
255
256                if (width <= base.options.itemsDesktop[0] && base.options.itemsDesktop !== false) {
257                    base.options.items = base.options.itemsDesktop[1];
258                }
259
260                if (width <= base.options.itemsDesktopSmall[0] && base.options.itemsDesktopSmall !== false) {
261                    base.options.items = base.options.itemsDesktopSmall[1];
262                }
263
264                if (width <= base.options.itemsTablet[0] && base.options.itemsTablet !== false) {
265                    base.options.items = base.options.itemsTablet[1];
266                }
267
268                if (width <= base.options.itemsTabletSmall[0] && base.options.itemsTabletSmall !== false) {
269                    base.options.items = base.options.itemsTabletSmall[1];
270                }
271
272                if (width <= base.options.itemsMobile[0] && base.options.itemsMobile !== false) {
273                    base.options.items = base.options.itemsMobile[1];
274                }
275            }
276
277            //if number of items is less than declared
278            if (base.options.items > base.itemsAmount && base.options.itemsScaleUp === true) {
279                base.options.items = base.itemsAmount;
280            }
281        },
282
283        response : function () {
284            var base = this,
285                smallDelay,
286                lastWindowWidth;
287
288            if (base.options.responsive !== true) {
289                return false;
290            }
291            lastWindowWidth = $(window).width();
292
293            base.resizer = function () {
294                if ($(window).width() !== lastWindowWidth) {
295                    if (base.options.autoPlay !== false) {
296                        window.clearInterval(base.autoPlayInterval);
297                    }
298                    window.clearTimeout(smallDelay);
299                    smallDelay = window.setTimeout(function () {
300                        lastWindowWidth = $(window).width();
301                        base.updateVars();
302                    }, base.options.responsiveRefreshRate);
303                }
304            };
305            $(window).resize(base.resizer);
306        },
307
308        updatePosition : function () {
309            var base = this;
310            base.jumpTo(base.currentItem);
311            if (base.options.autoPlay !== false) {
312                base.checkAp();
313            }
314        },
315
316        appendItemsSizes : function () {
317            var base = this,
318                roundPages = 0,
319                lastItem = base.itemsAmount - base.options.items;
320
321            base.$owlItems.each(function (index) {
322                var $this = $(this);
323                $this
324                    .css({"width": base.itemWidth})
325                    .data("owl-item", Number(index));
326
327                if (index % base.options.items === 0 || index === lastItem) {
328                    if (!(index > lastItem)) {
329                        roundPages += 1;
330                    }
331                }
332                $this.data("owl-roundPages", roundPages);
333            });
334        },
335
336        appendWrapperSizes : function () {
337            var base = this,
338                width = base.$owlItems.length * base.itemWidth;
339
340            base.$owlWrapper.css({
341                "width": width * 2,
342                "left": 0
343            });
344            base.appendItemsSizes();
345        },
346
347        calculateAll : function () {
348            var base = this;
349            base.calculateWidth();
350            base.appendWrapperSizes();
351            base.loops();
352            base.max();
353        },
354
355        calculateWidth : function () {
356            var base = this;
357            base.itemWidth = Math.round(base.$elem.width() / base.options.items);
358        },
359
360        max : function () {
361            var base = this,
362                maximum = ((base.itemsAmount * base.itemWidth) - base.options.items * base.itemWidth) * -1;
363            if (base.options.items > base.itemsAmount) {
364                base.maximumItem = 0;
365                maximum = 0;
366                base.maximumPixels = 0;
367            } else {
368                base.maximumItem = base.itemsAmount - base.options.items;
369                base.maximumPixels = maximum;
370            }
371            return maximum;
372        },
373
374        min : function () {
375            return 0;
376        },
377
378        loops : function () {
379            var base = this,
380                prev = 0,
381                elWidth = 0,
382                i,
383                item,
384                roundPageNum;
385
386            base.positionsInArray = [0];
387            base.pagesInArray = [];
388
389            for (i = 0; i < base.itemsAmount; i += 1) {
390                elWidth += base.itemWidth;
391                base.positionsInArray.push(-elWidth);
392
393                if (base.options.scrollPerPage === true) {
394                    item = $(base.$owlItems[i]);
395                    roundPageNum = item.data("owl-roundPages");
396                    if (roundPageNum !== prev) {
397                        base.pagesInArray[prev] = base.positionsInArray[i];
398                        prev = roundPageNum;
399                    }
400                }
401            }
402        },
403
404        buildControls : function () {
405            var base = this;
406            if (base.options.navigation === true || base.options.pagination === true) {
407                base.owlControls = $("<div class=\"owl-controls\"/>").toggleClass("clickable", !base.browser.isTouch).appendTo(base.$elem);
408            }
409            if (base.options.pagination === true) {
410                base.buildPagination();
411            }
412            if (base.options.navigation === true) {
413                base.buildButtons();
414            }
415        },
416
417        buildButtons : function () {
418            var base = this,
419                buttonsWrapper = $("<div class=\"owl-buttons\"/>");
420            base.owlControls.append(buttonsWrapper);
421
422            base.buttonPrev = $("<div/>", {
423                "class" : "owl-prev",
424                "html" : base.options.navigationText[0] || ""
425            });
426
427            base.buttonNext = $("<div/>", {
428                "class" : "owl-next",
429                "html" : base.options.navigationText[1] || ""
430            });
431
432            buttonsWrapper
433                .append(base.buttonPrev)
434                .append(base.buttonNext);
435
436            buttonsWrapper.on("touchstart.owlControls mousedown.owlControls", "div[class^=\"owl\"]", function (event) {
437                event.preventDefault();
438            });
439
440            buttonsWrapper.on("touchend.owlControls mouseup.owlControls", "div[class^=\"owl\"]", function (event) {
441                event.preventDefault();
442                if ($(this).hasClass("owl-next")) {
443                    base.next();
444                } else {
445                    base.prev();
446                }
447            });
448        },
449
450        buildPagination : function () {
451            var base = this;
452
453            base.paginationWrapper = $("<div class=\"owl-pagination\"/>");
454            base.owlControls.append(base.paginationWrapper);
455
456            base.paginationWrapper.on("touchend.owlControls mouseup.owlControls", ".owl-page", function (event) {
457                event.preventDefault();
458                if (Number($(this).data("owl-page")) !== base.currentItem) {
459                    base.goTo(Number($(this).data("owl-page")), true);
460                }
461            });
462        },
463
464        updatePagination : function () {
465            var base = this,
466                counter,
467                lastPage,
468                lastItem,
469                i,
470                paginationButton,
471                paginationButtonInner;
472
473            if (base.options.pagination === false) {
474                return false;
475            }
476
477            base.paginationWrapper.html("");
478
479            counter = 0;
480            lastPage = base.itemsAmount - base.itemsAmount % base.options.items;
481
482            for (i = 0; i < base.itemsAmount; i += 1) {
483                if (i % base.options.items === 0) {
484                    counter += 1;
485                    if (lastPage === i) {
486                        lastItem = base.itemsAmount - base.options.items;
487                    }
488                    paginationButton = $("<div/>", {
489                        "class" : "owl-page"
490                    });
491                    paginationButtonInner = $("<span></span>", {
492                        "text": base.options.paginationNumbers === true ? counter : "",
493                        "class": base.options.paginationNumbers === true ? "owl-numbers" : ""
494                    });
495                    paginationButton.append(paginationButtonInner);
496
497                    paginationButton.data("owl-page", lastPage === i ? lastItem : i);
498                    paginationButton.data("owl-roundPages", counter);
499
500                    base.paginationWrapper.append(paginationButton);
501                }
502            }
503            base.checkPagination();
504        },
505        checkPagination : function () {
506            var base = this;
507            if (base.options.pagination === false) {
508                return false;
509            }
510            base.paginationWrapper.find(".owl-page").each(function () {
511                if ($(this).data("owl-roundPages") === $(base.$owlItems[base.currentItem]).data("owl-roundPages")) {
512                    base.paginationWrapper
513                        .find(".owl-page")
514                        .removeClass("active");
515                    $(this).addClass("active");
516                }
517            });
518        },
519
520        checkNavigation : function () {
521            var base = this;
522
523            if (base.options.navigation === false) {
524                return false;
525            }
526            if (base.options.rewindNav === false) {
527                if (base.currentItem === 0 && base.maximumItem === 0) {
528                    base.buttonPrev.addClass("disabled");
529                    base.buttonNext.addClass("disabled");
530                } else if (base.currentItem === 0 && base.maximumItem !== 0) {
531                    base.buttonPrev.addClass("disabled");
532                    base.buttonNext.removeClass("disabled");
533                } else if (base.currentItem === base.maximumItem) {
534                    base.buttonPrev.removeClass("disabled");
535                    base.buttonNext.addClass("disabled");
536                } else if (base.currentItem !== 0 && base.currentItem !== base.maximumItem) {
537                    base.buttonPrev.removeClass("disabled");
538                    base.buttonNext.removeClass("disabled");
539                }
540            }
541        },
542
543        updateControls : function () {
544            var base = this;
545            base.updatePagination();
546            base.checkNavigation();
547            if (base.owlControls) {
548                if (base.options.items >= base.itemsAmount) {
549                    base.owlControls.hide();
550                } else {
551                    base.owlControls.show();
552                }
553            }
554        },
555
556        destroyControls : function () {
557            var base = this;
558            if (base.owlControls) {
559                base.owlControls.remove();
560            }
561        },
562
563        next : function (speed) {
564            var base = this;
565
566            if (base.isTransition) {
567                return false;
568            }
569
570            base.currentItem += base.options.scrollPerPage === true ? base.options.items : 1;
571            if (base.currentItem > base.maximumItem + (base.options.scrollPerPage === true ? (base.options.items - 1) : 0)) {
572                if (base.options.rewindNav === true) {
573                    base.currentItem = 0;
574                    speed = "rewind";
575                } else {
576                    base.currentItem = base.maximumItem;
577                    return false;
578                }
579            }
580            base.goTo(base.currentItem, speed);
581        },
582
583        prev : function (speed) {
584            var base = this;
585
586            if (base.isTransition) {
587                return false;
588            }
589
590            if (base.options.scrollPerPage === true && base.currentItem > 0 && base.currentItem < base.options.items) {
591                base.currentItem = 0;
592            } else {
593                base.currentItem -= base.options.scrollPerPage === true ? base.options.items : 1;
594            }
595            if (base.currentItem < 0) {
596                if (base.options.rewindNav === true) {
597                    base.currentItem = base.maximumItem;
598                    speed = "rewind";
599                } else {
600                    base.currentItem = 0;
601                    return false;
602                }
603            }
604            base.goTo(base.currentItem, speed);
605        },
606
607        goTo : function (position, speed, drag) {
608            var base = this,
609                goToPixel;
610
611            if (base.isTransition) {
612                return false;
613            }
614            if (typeof base.options.beforeMove === "function") {
615                base.options.beforeMove.apply(this, [base.$elem]);
616            }
617            if (position >= base.maximumItem) {
618                position = base.maximumItem;
619            } else if (position <= 0) {
620                position = 0;
621            }
622
623            base.currentItem = base.owl.currentItem = position;
624            if (base.options.transitionStyle !== false && drag !== "drag" && base.options.items === 1 && base.browser.support3d === true) {
625                base.swapSpeed(0);
626                if (base.browser.support3d === true) {
627                    base.transition3d(base.positionsInArray[position]);
628                } else {
629                    base.css2slide(base.positionsInArray[position], 1);
630                }
631                base.afterGo();
632                base.singleItemTransition();
633                return false;
634            }
635            goToPixel = base.positionsInArray[position];
636
637            if (base.browser.support3d === true) {
638                base.isCss3Finish = false;
639
640                if (speed === true) {
641                    base.swapSpeed("paginationSpeed");
642                    window.setTimeout(function () {
643                        base.isCss3Finish = true;
644                    }, base.options.paginationSpeed);
645
646                } else if (speed === "rewind") {
647                    base.swapSpeed(base.options.rewindSpeed);
648                    window.setTimeout(function () {
649                        base.isCss3Finish = true;
650                    }, base.options.rewindSpeed);
651
652                } else {
653                    base.swapSpeed("slideSpeed");
654                    window.setTimeout(function () {
655                        base.isCss3Finish = true;
656                    }, base.options.slideSpeed);
657                }
658                base.transition3d(goToPixel);
659            } else {
660                if (speed === true) {
661                    base.css2slide(goToPixel, base.options.paginationSpeed);
662                } else if (speed === "rewind") {
663                    base.css2slide(goToPixel, base.options.rewindSpeed);
664                } else {
665                    base.css2slide(goToPixel, base.options.slideSpeed);
666                }
667            }
668            base.afterGo();
669        },
670
671        jumpTo : function (position) {
672            var base = this;
673            if (typeof base.options.beforeMove === "function") {
674                base.options.beforeMove.apply(this, [base.$elem]);
675            }
676            if (position >= base.maximumItem || position === -1) {
677                position = base.maximumItem;
678            } else if (position <= 0) {
679                position = 0;
680            }
681            base.swapSpeed(0);
682            if (base.browser.support3d === true) {
683                base.transition3d(base.positionsInArray[position]);
684            } else {
685                base.css2slide(base.positionsInArray[position], 1);
686            }
687            base.currentItem = base.owl.currentItem = position;
688            base.afterGo();
689        },
690
691        afterGo : function () {
692            var base = this;
693
694            base.prevArr.push(base.currentItem);
695            base.prevItem = base.owl.prevItem = base.prevArr[base.prevArr.length - 2];
696            base.prevArr.shift(0);
697
698            if (base.prevItem !== base.currentItem) {
699                base.checkPagination();
700                base.checkNavigation();
701                base.eachMoveUpdate();
702
703                if (base.options.autoPlay !== false) {
704                    base.checkAp();
705                }
706            }
707            if (typeof base.options.afterMove === "function" && base.prevItem !== base.currentItem) {
708                base.options.afterMove.apply(this, [base.$elem]);
709            }
710        },
711
712        stop : function () {
713            var base = this;
714            base.apStatus = "stop";
715            window.clearInterval(base.autoPlayInterval);
716        },
717
718        checkAp : function () {
719            var base = this;
720            if (base.apStatus !== "stop") {
721                base.play();
722            }
723        },
724
725        play : function () {
726            var base = this;
727            base.apStatus = "play";
728            if (base.options.autoPlay === false) {
729                return false;
730            }
731            window.clearInterval(base.autoPlayInterval);
732            base.autoPlayInterval = window.setInterval(function () {
733                base.next(true);
734            }, base.options.autoPlay);
735        },
736
737        swapSpeed : function (action) {
738            var base = this;
739            if (action === "slideSpeed") {
740                base.$owlWrapper.css(base.addCssSpeed(base.options.slideSpeed));
741            } else if (action === "paginationSpeed") {
742                base.$owlWrapper.css(base.addCssSpeed(base.options.paginationSpeed));
743            } else if (typeof action !== "string") {
744                base.$owlWrapper.css(base.addCssSpeed(action));
745            }
746        },
747
748        addCssSpeed : function (speed) {
749            return {
750                "-webkit-transition": "all " + speed + "ms ease",
751                "-moz-transition": "all " + speed + "ms ease",
752                "-o-transition": "all " + speed + "ms ease",
753                "transition": "all " + speed + "ms ease"
754            };
755        },
756
757        removeTransition : function () {
758            return {
759                "-webkit-transition": "",
760                "-moz-transition": "",
761                "-o-transition": "",
762                "transition": ""
763            };
764        },
765
766        doTranslate : function (pixels) {
767            return {
768                "-webkit-transform": "translate3d(" + pixels + "px, 0px, 0px)",
769                "-moz-transform": "translate3d(" + pixels + "px, 0px, 0px)",
770                "-o-transform": "translate3d(" + pixels + "px, 0px, 0px)",
771                "-ms-transform": "translate3d(" + pixels + "px, 0px, 0px)",
772                "transform": "translate3d(" + pixels + "px, 0px,0px)"
773            };
774        },
775
776        transition3d : function (value) {
777            var base = this;
778            base.$owlWrapper.css(base.doTranslate(value));
779        },
780
781        css2move : function (value) {
782            var base = this;
783            base.$owlWrapper.css({"left" : value});
784        },
785
786        css2slide : function (value, speed) {
787            var base = this;
788
789            base.isCssFinish = false;
790            base.$owlWrapper.stop(true, true).animate({
791                "left" : value
792            }, {
793                duration : speed || base.options.slideSpeed,
794                complete : function () {
795                    base.isCssFinish = true;
796                }
797            });
798        },
799
800        checkBrowser : function () {
801            var base = this,
802                translate3D = "translate3d(0px, 0px, 0px)",
803                tempElem = document.createElement("div"),
804                regex,
805                asSupport,
806                support3d,
807                isTouch;
808
809            tempElem.style.cssText = "  -moz-transform:" + translate3D +
810                                  "; -ms-transform:"     + translate3D +
811                                  "; -o-transform:"      + translate3D +
812                                  "; -webkit-transform:" + translate3D +
813                                  "; transform:"         + translate3D;
814            regex = /translate3d\(0px, 0px, 0px\)/g;
815            asSupport = tempElem.style.cssText.match(regex);
816            support3d = (asSupport !== null && asSupport.length === 1);
817
818            isTouch = "ontouchstart" in window || window.navigator.msMaxTouchPoints;
819
820            base.browser = {
821                "support3d" : support3d,
822                "isTouch" : isTouch
823            };
824        },
825
826        moveEvents : function () {
827            var base = this;
828            if (base.options.mouseDrag !== false || base.options.touchDrag !== false) {
829                base.gestures();
830                base.disabledEvents();
831            }
832        },
833
834        eventTypes : function () {
835            var base = this,
836                types = ["s", "e", "x"];
837
838            base.ev_types = {};
839
840            if (base.options.mouseDrag === true && base.options.touchDrag === true) {
841                types = [
842                    "touchstart.owl mousedown.owl",
843                    "touchmove.owl mousemove.owl",
844                    "touchend.owl touchcancel.owl mouseup.owl"
845                ];
846            } else if (base.options.mouseDrag === false && base.options.touchDrag === true) {
847                types = [
848                    "touchstart.owl",
849                    "touchmove.owl",
850                    "touchend.owl touchcancel.owl"
851                ];
852            } else if (base.options.mouseDrag === true && base.options.touchDrag === false) {
853                types = [
854                    "mousedown.owl",
855                    "mousemove.owl",
856                    "mouseup.owl"
857                ];
858            }
859
860            base.ev_types.start = types[0];
861            base.ev_types.move = types[1];
862            base.ev_types.end = types[2];
863        },
864
865        disabledEvents :  function () {
866            var base = this;
867            base.$elem.on("dragstart.owl", function (event) { event.preventDefault(); });
868            base.$elem.on("mousedown.disableTextSelect", function (e) {
869                return $(e.target).is('input, textarea, select, option');
870            });
871        },
872
873        gestures : function () {
874            /*jslint unparam: true*/
875            var base = this,
876                locals = {
877                    offsetX : 0,
878                    offsetY : 0,
879                    baseElWidth : 0,
880                    relativePos : 0,
881                    position: null,
882                    minSwipe : null,
883                    maxSwipe: null,
884                    sliding : null,
885                    dargging: null,
886                    targetElement : null
887                };
888
889            base.isCssFinish = true;
890
891            function getTouches(event) {
892                if (event.touches !== undefined) {
893                    return {
894                        x : event.touches[0].pageX,
895                        y : event.touches[0].pageY
896                    };
897                }
898
899                if (event.touches === undefined) {
900                    if (event.pageX !== undefined) {
901                        return {
902                            x : event.pageX,
903                            y : event.pageY
904                        };
905                    }
906                    if (event.pageX === undefined) {
907                        return {
908                            x : event.clientX,
909                            y : event.clientY
910                        };
911                    }
912                }
913            }
914
915            function swapEvents(type) {
916                if (type === "on") {
917                    $(document).on(base.ev_types.move, dragMove);
918                    $(document).on(base.ev_types.end, dragEnd);
919                } else if (type === "off") {
920                    $(document).off(base.ev_types.move);
921                    $(document).off(base.ev_types.end);
922                }
923            }
924
925            function dragStart(event) {
926                var ev = event.originalEvent || event || window.event,
927                    position;
928
929                if (ev.which === 3) {
930                    return false;
931                }
932                if (base.itemsAmount <= base.options.items) {
933                    return;
934                }
935                if (base.isCssFinish === false && !base.options.dragBeforeAnimFinish) {
936                    return false;
937                }
938                if (base.isCss3Finish === false && !base.options.dragBeforeAnimFinish) {
939                    return false;
940                }
941
942                if (base.options.autoPlay !== false) {
943                    window.clearInterval(base.autoPlayInterval);
944                }
945
946                if (base.browser.isTouch !== true && !base.$owlWrapper.hasClass("grabbing")) {
947                    base.$owlWrapper.addClass("grabbing");
948                }
949
950                base.newPosX = 0;
951                base.newRelativeX = 0;
952
953                $(this).css(base.removeTransition());
954
955                position = $(this).position();
956                locals.relativePos = position.left;
957
958                locals.offsetX = getTouches(ev).x - position.left;
959                locals.offsetY = getTouches(ev).y - position.top;
960
961                swapEvents("on");
962
963                locals.sliding = false;
964                locals.targetElement = ev.target || ev.srcElement;
965            }
966
967            function dragMove(event) {
968                var ev = event.originalEvent || event || window.event,
969                    minSwipe,
970                    maxSwipe;
971
972                base.newPosX = getTouches(ev).x - locals.offsetX;
973                base.newPosY = getTouches(ev).y - locals.offsetY;
974                base.newRelativeX = base.newPosX - locals.relativePos;
975
976                if (typeof base.options.startDragging === "function" && locals.dragging !== true && base.newRelativeX !== 0) {
977                    locals.dragging = true;
978                    base.options.startDragging.apply(base, [base.$elem]);
979                }
980
981                if ((base.newRelativeX > 8 || base.newRelativeX < -8) && (base.browser.isTouch === true)) {
982                    if (ev.preventDefault !== undefined) {
983                        ev.preventDefault();
984                    } else {
985                        ev.returnValue = false;
986                    }
987                    locals.sliding = true;
988                }
989
990                if ((base.newPosY > 10 || base.newPosY < -10) && locals.sliding === false) {
991                    $(document).off("touchmove.owl");
992                }
993
994                minSwipe = function () {
995                    return base.newRelativeX / 5;
996                };
997
998                maxSwipe = function () {
999                    return base.maximumPixels + base.newRelativeX / 5;
1000                };
1001
1002                base.newPosX = Math.max(Math.min(base.newPosX, minSwipe()), maxSwipe());
1003                if (base.browser.support3d === true) {
1004                    base.transition3d(base.newPosX);
1005                } else {
1006                    base.css2move(base.newPosX);
1007                }
1008            }
1009
1010            function dragEnd(event) {
1011                var ev = event.originalEvent || event || window.event,
1012                    newPosition,
1013                    handlers,
1014                    owlStopEvent;
1015
1016                ev.target = ev.target || ev.srcElement;
1017
1018                locals.dragging = false;
1019
1020                if (base.browser.isTouch !== true) {
1021                    base.$owlWrapper.removeClass("grabbing");
1022                }
1023
1024                if (base.newRelativeX < 0) {
1025                    base.dragDirection = base.owl.dragDirection = "left";
1026                } else {
1027                    base.dragDirection = base.owl.dragDirection = "right";
1028                }
1029
1030                if (base.newRelativeX !== 0) {
1031                    newPosition = base.getNewPosition();
1032                    base.goTo(newPosition, false, "drag");
1033                    if (locals.targetElement === ev.target && base.browser.isTouch !== true) {
1034                        $(ev.target).on("click.disable", function (ev) {
1035                            ev.stopImmediatePropagation();
1036                            ev.stopPropagation();
1037                            ev.preventDefault();
1038                            $(ev.target).off("click.disable");
1039                        });
1040                        handlers = $._data(ev.target, "events").click;
1041                        owlStopEvent = handlers.pop();
1042                        handlers.splice(0, 0, owlStopEvent);
1043                    }
1044                }
1045                swapEvents("off");
1046            }
1047            base.$elem.on(base.ev_types.start, ".owl-wrapper", dragStart);
1048        },
1049
1050        getNewPosition : function () {
1051            var base = this,
1052                newPosition = base.closestItem();
1053
1054            if (newPosition > base.maximumItem) {
1055                base.currentItem = base.maximumItem;
1056                newPosition  = base.maximumItem;
1057            } else if (base.newPosX >= 0) {
1058                newPosition = 0;
1059                base.currentItem = 0;
1060            }
1061            return newPosition;
1062        },
1063        closestItem : function () {
1064            var base = this,
1065                array = base.options.scrollPerPage === true ? base.pagesInArray : base.positionsInArray,
1066                goal = base.newPosX,
1067                closest = null;
1068
1069            $.each(array, function (i, v) {
1070                if (goal - (base.itemWidth / 20) > array[i + 1] && goal - (base.itemWidth / 20) < v && base.moveDirection() === "left") {
1071                    closest = v;
1072                    if (base.options.scrollPerPage === true) {
1073                        base.currentItem = $.inArray(closest, base.positionsInArray);
1074                    } else {
1075                        base.currentItem = i;
1076                    }
1077                } else if (goal + (base.itemWidth / 20) < v && goal + (base.itemWidth / 20) > (array[i + 1] || array[i] - base.itemWidth) && base.moveDirection() === "right") {
1078                    if (base.options.scrollPerPage === true) {
1079                        closest = array[i + 1] || array[array.length - 1];
1080                        base.currentItem = $.inArray(closest, base.positionsInArray);
1081                    } else {
1082                        closest = array[i + 1];
1083                        base.currentItem = i + 1;
1084                    }
1085                }
1086            });
1087            return base.currentItem;
1088        },
1089
1090        moveDirection : function () {
1091            var base = this,
1092                direction;
1093            if (base.newRelativeX < 0) {
1094                direction = "right";
1095                base.playDirection = "next";
1096            } else {
1097                direction = "left";
1098                base.playDirection = "prev";
1099            }
1100            return direction;
1101        },
1102
1103        customEvents : function () {
1104            /*jslint unparam: true*/
1105            var base = this;
1106            base.$elem.on("owl.next", function () {
1107                base.next();
1108            });
1109            base.$elem.on("owl.prev", function () {
1110                base.prev();
1111            });
1112            base.$elem.on("owl.play", function (event, speed) {
1113                base.options.autoPlay = speed;
1114                base.play();
1115                base.hoverStatus = "play";
1116            });
1117            base.$elem.on("owl.stop", function () {
1118                base.stop();
1119                base.hoverStatus = "stop";
1120            });
1121            base.$elem.on("owl.goTo", function (event, item) {
1122                base.goTo(item);
1123            });
1124            base.$elem.on("owl.jumpTo", function (event, item) {
1125                base.jumpTo(item);
1126            });
1127        },
1128
1129        stopOnHover : function () {
1130            var base = this;
1131            if (base.options.stopOnHover === true && base.browser.isTouch !== true && base.options.autoPlay !== false) {
1132                base.$elem.on("mouseover", function () {
1133                    base.stop();
1134                });
1135                base.$elem.on("mouseout", function () {
1136                    if (base.hoverStatus !== "stop") {
1137                        base.play();
1138                    }
1139                });
1140            }
1141        },
1142
1143        lazyLoad : function () {
1144            var base = this,
1145                i,
1146                $item,
1147                itemNumber,
1148                $lazyImg,
1149                follow;
1150
1151            if (base.options.lazyLoad === false) {
1152                return false;
1153            }
1154            for (i = 0; i < base.itemsAmount; i += 1) {
1155                $item = $(base.$owlItems[i]);
1156
1157                if ($item.data("owl-loaded") === "loaded") {
1158                    continue;
1159                }
1160
1161                itemNumber = $item.data("owl-item");
1162                $lazyImg = $item.find(".lazyOwl");
1163
1164                if (typeof $lazyImg.data("src") !== "string") {
1165                    $item.data("owl-loaded", "loaded");
1166                    continue;
1167                }
1168                if ($item.data("owl-loaded") === undefined) {
1169                    $lazyImg.hide();
1170                    $item.addClass("loading").data("owl-loaded", "checked");
1171                }
1172                if (base.options.lazyFollow === true) {
1173                    follow = itemNumber >= base.currentItem;
1174                } else {
1175                    follow = true;
1176                }
1177                if (follow && itemNumber < base.currentItem + base.options.items && $lazyImg.length) {
1178                    base.lazyPreload($item, $lazyImg);
1179                }
1180            }
1181        },
1182
1183        lazyPreload : function ($item, $lazyImg) {
1184            var base = this,
1185                iterations = 0,
1186                isBackgroundImg;
1187
1188            if ($lazyImg.prop("tagName") === "DIV") {
1189                $lazyImg.css("background-image", "url(" + $lazyImg.data("src") + ")");
1190                isBackgroundImg = true;
1191            } else {
1192                $lazyImg[0].src = $lazyImg.data("src");
1193            }
1194
1195            function showImage() {
1196                $item.data("owl-loaded", "loaded").removeClass("loading");
1197                $lazyImg.removeAttr("data-src");
1198                if (base.options.lazyEffect === "fade") {
1199                    $lazyImg.fadeIn(400);
1200                } else {
1201                    $lazyImg.show();
1202                }
1203                if (typeof base.options.afterLazyLoad === "function") {
1204                    base.options.afterLazyLoad.apply(this, [base.$elem]);
1205                }
1206            }
1207
1208            function checkLazyImage() {
1209                iterations += 1;
1210                if (base.completeImg($lazyImg.get(0)) || isBackgroundImg === true) {
1211                    showImage();
1212                } else if (iterations <= 100) {//if image loads in less than 10 seconds 
1213                    window.setTimeout(checkLazyImage, 100);
1214                } else {
1215                    showImage();
1216                }
1217            }
1218
1219            checkLazyImage();
1220        },
1221
1222        autoHeight : function () {
1223            var base = this,
1224                $currentimg = $(base.$owlItems[base.currentItem]).find("img"),
1225                iterations;
1226
1227            function addHeight() {
1228                var $currentItem = $(base.$owlItems[base.currentItem]).height();
1229                base.wrapperOuter.css("height", $currentItem + "px");
1230                if (!base.wrapperOuter.hasClass("autoHeight")) {
1231                    window.setTimeout(function () {
1232                        base.wrapperOuter.addClass("autoHeight");
1233                    }, 0);
1234                }
1235            }
1236
1237            function checkImage() {
1238                iterations += 1;
1239                if (base.completeImg($currentimg.get(0))) {
1240                    addHeight();
1241                } else if (iterations <= 100) { //if image loads in less than 10 seconds 
1242                    window.setTimeout(checkImage, 100);
1243                } else {
1244                    base.wrapperOuter.css("height", ""); //Else remove height attribute
1245                }
1246            }
1247
1248            if ($currentimg.get(0) !== undefined) {
1249                iterations = 0;
1250                checkImage();
1251            } else {
1252                addHeight();
1253            }
1254        },
1255
1256        completeImg : function (img) {
1257            var naturalWidthType;
1258
1259            if (!img.complete) {
1260                return false;
1261            }
1262            naturalWidthType = typeof img.naturalWidth;
1263            if (naturalWidthType !== "undefined" && img.naturalWidth === 0) {
1264                return false;
1265            }
1266            return true;
1267        },
1268
1269        onVisibleItems : function () {
1270            var base = this,
1271                i;
1272
1273            if (base.options.addClassActive === true) {
1274                base.$owlItems.removeClass("active");
1275            }
1276            base.visibleItems = [];
1277            for (i = base.currentItem; i < base.currentItem + base.options.items; i += 1) {
1278                base.visibleItems.push(i);
1279
1280                if (base.options.addClassActive === true) {
1281                    $(base.$owlItems[i]).addClass("active");
1282                }
1283            }
1284            base.owl.visibleItems = base.visibleItems;
1285        },
1286
1287        transitionTypes : function (className) {
1288            var base = this;
1289            //Currently available: "fade", "backSlide", "goDown", "fadeUp"
1290            base.outClass = "owl-" + className + "-out";
1291            base.inClass = "owl-" + className + "-in";
1292        },
1293
1294        singleItemTransition : function () {
1295            var base = this,
1296                outClass = base.outClass,
1297                inClass = base.inClass,
1298                $currentItem = base.$owlItems.eq(base.currentItem),
1299                $prevItem = base.$owlItems.eq(base.prevItem),
1300                prevPos = Math.abs(base.positionsInArray[base.currentItem]) + base.positionsInArray[base.prevItem],
1301                origin = Math.abs(base.positionsInArray[base.currentItem]) + base.itemWidth / 2,
1302                animEnd = 'webkitAnimationEnd oAnimationEnd MSAnimationEnd animationend';
1303
1304            base.isTransition = true;
1305
1306            base.$owlWrapper
1307                .addClass('owl-origin')
1308                .css({
1309                    "-webkit-transform-origin" : origin + "px",
1310                    "-moz-perspective-origin" : origin + "px",
1311                    "perspective-origin" : origin + "px"
1312                });
1313            function transStyles(prevPos) {
1314                return {
1315                    "position" : "relative",
1316                    "left" : prevPos + "px"
1317                };
1318            }
1319
1320            $prevItem
1321                .css(transStyles(prevPos, 10))
1322                .addClass(outClass)
1323                .on(animEnd, function () {
1324                    base.endPrev = true;
1325                    $prevItem.off(animEnd);
1326                    base.clearTransStyle($prevItem, outClass);
1327                });
1328
1329            $currentItem
1330                .addClass(inClass)
1331                .on(animEnd, function () {
1332                    base.endCurrent = true;
1333                    $currentItem.off(animEnd);
1334                    base.clearTransStyle($currentItem, inClass);
1335                });
1336        },
1337
1338        clearTransStyle : function (item, classToRemove) {
1339            var base = this;
1340            item.css({
1341                "position" : "",
1342                "left" : ""
1343            }).removeClass(classToRemove);
1344
1345            if (base.endPrev && base.endCurrent) {
1346                base.$owlWrapper.removeClass('owl-origin');
1347                base.endPrev = false;
1348                base.endCurrent = false;
1349                base.isTransition = false;
1350            }
1351        },
1352
1353        owlStatus : function () {
1354            var base = this;
1355            base.owl = {
1356                "userOptions"   : base.userOptions,
1357                "baseElement"   : base.$elem,
1358                "userItems"     : base.$userItems,
1359                "owlItems"      : base.$owlItems,
1360                "currentItem"   : base.currentItem,
1361                "prevItem"      : base.prevItem,
1362                "visibleItems"  : base.visibleItems,
1363                "isTouch"       : base.browser.isTouch,
1364                "browser"       : base.browser,
1365                "dragDirection" : base.dragDirection
1366            };
1367        },
1368
1369        clearEvents : function () {
1370            var base = this;
1371            base.$elem.off(".owl owl mousedown.disableTextSelect");
1372            $(document).off(".owl owl");
1373            $(window).off("resize", base.resizer);
1374        },
1375
1376        unWrap : function () {
1377            var base = this;
1378            if (base.$elem.children().length !== 0) {
1379                base.$owlWrapper.unwrap();
1380                base.$userItems.unwrap().unwrap();
1381                if (base.owlControls) {
1382                    base.owlControls.remove();
1383                }
1384            }
1385            base.clearEvents();
1386            base.$elem
1387                .attr("style", base.$elem.data("owl-originalStyles") || "")
1388                .attr("class", base.$elem.data("owl-originalClasses"));
1389        },
1390
1391        destroy : function () {
1392            var base = this;
1393            base.stop();
1394            window.clearInterval(base.checkVisible);
1395            base.unWrap();
1396            base.$elem.removeData();
1397        },
1398
1399        reinit : function (newOptions) {
1400            var base = this,
1401                options = $.extend({}, base.userOptions, newOptions);
1402            base.unWrap();
1403            base.init(options, base.$elem);
1404        },
1405
1406        addItem : function (htmlString, targetPosition) {
1407            var base = this,
1408                position;
1409
1410            if (!htmlString) {return false; }
1411
1412            if (base.$elem.children().length === 0) {
1413                base.$elem.append(htmlString);
1414                base.setVars();
1415                return false;
1416            }
1417            base.unWrap();
1418            if (targetPosition === undefined || targetPosition === -1) {
1419                position = -1;
1420            } else {
1421                position = targetPosition;
1422            }
1423            if (position >= base.$userItems.length || position === -1) {
1424                base.$userItems.eq(-1).after(htmlString);
1425            } else {
1426                base.$userItems.eq(position).before(htmlString);
1427            }
1428
1429            base.setVars();
1430        },
1431
1432        removeItem : function (targetPosition) {
1433            var base = this,
1434                position;
1435
1436            if (base.$elem.children().length === 0) {
1437                return false;
1438            }
1439            if (targetPosition === undefined || targetPosition === -1) {
1440                position = -1;
1441            } else {
1442                position = targetPosition;
1443            }
1444
1445            base.unWrap();
1446            base.$userItems.eq(position).remove();
1447            base.setVars();
1448        }
1449
1450    };
1451
1452    $.fn.owlCarousel = function (options) {
1453        return this.each(function () {
1454            if ($(this).data("owl-init") === true) {
1455                return false;
1456            }
1457            $(this).data("owl-init", true);
1458            var carousel = Object.create(Carousel);
1459            carousel.init(options, this);
1460            $.data(this, "owlCarousel", carousel);
1461        });
1462    };
1463
1464    $.fn.owlCarousel.options = {
1465
1466        items : 5,
1467        itemsCustom : false,
1468        itemsDesktop : [1199, 4],
1469        itemsDesktopSmall : [979, 3],
1470        itemsTablet : [768, 2],
1471        itemsTabletSmall : false,
1472        itemsMobile : [479, 1],
1473        singleItem : false,
1474        itemsScaleUp : false,
1475
1476        slideSpeed : 200,
1477        paginationSpeed : 800,
1478        rewindSpeed : 1000,
1479
1480        autoPlay : false,
1481        stopOnHover : false,
1482
1483        navigation : false,
1484        navigationText : ["prev", "next"],
1485        rewindNav : true,
1486        scrollPerPage : false,
1487
1488        pagination : true,
1489        paginationNumbers : false,
1490
1491        responsive : true,
1492        responsiveRefreshRate : 200,
1493        responsiveBaseWidth : window,
1494
1495        baseClass : "owl-carousel",
1496        theme : "owl-theme",
1497
1498        lazyLoad : false,
1499        lazyFollow : true,
1500        lazyEffect : "fade",
1501
1502        autoHeight : false,
1503
1504        jsonPath : false,
1505        jsonSuccess : false,
1506
1507        dragBeforeAnimFinish : true,
1508        mouseDrag : true,
1509        touchDrag : true,
1510
1511        addClassActive : false,
1512        transitionStyle : false,
1513
1514        beforeUpdate : false,
1515        afterUpdate : false,
1516        beforeInit : false,
1517        afterInit : false,
1518        beforeMove : false,
1519        afterMove : false,
1520        afterAction : false,
1521        startDragging : false,
1522        afterLazyLoad: false
1523    };
1524}(jQuery, window, document));
1525
1526}
1527/*
1528     FILE ARCHIVED ON 07:49:20 Mar 04, 2021 AND RETRIEVED FROM THE
1529     INTERNET ARCHIVE ON 04:41:34 Mar 23, 2023.
1530     JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE.
1531
1532     ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C.
1533     SECTION 108(a)(3)).
1534*/
1535/*
1536playback timings (ms):
1537  captures_list: 179.411
1538  exclusion.robots: 0.086
1539  exclusion.robots.policy: 0.075
1540  cdx.remote: 0.072
1541  esindex: 0.011
1542  LoadShardBlock: 137.432 (3)
1543  PetaboxLoader3.datanode: 39.778 (4)
1544  PetaboxLoader3.resolve: 133.107 (3)
1545  load_resource: 75.98
1546*/

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.