PageSourceSearch

https://idrefjallmaraton.se/wp-content/plugins/eventon-event-slider/assets/evoslider.js?ver=1.0.6

js idrefjallmaraton.se collected 2026-10-04 05:37:17 UTC 50,972 bytes, 1,163 lines download raw bytes

vendor: 38,161 bytes, lines 1-834
1(function ($, undefined) {
2    'use strict';
3    var defaults = {
4        item: 4,
5        autoWidth: false,
6        slideMove: 1,
7        slideMargin: 0,
8        addClass: '',
9        mode: 'slide',
10        useCSS: true,
11        cssEasing: 'ease', //'cubic-bezier(0.25, 0, 0.25, 1)',
12        easing: 'linear', //'for jquery animation',//
13        speed: 400, //ms'
14        auto: false,
15        pauseOnHover: true,
16        loop: true,
17        slideEndAnimation: true,
18        pause: 2000,
19        keyPress: false,
20        controls: true,
21        prevHtml: '',
22        nextHtml: '',
23        rtl: false,
24        adaptiveHeight: false,
25        vertical: false,
26        verticalHeight: 500,
27        vThumbWidth: 100,
28        thumbItem: 10,
29        pager: true,
30        gallery: false,
31        galleryMargin: 0,
32        thumbMargin: 5,
33        currentPagerPosition: 'middle',
34        enableTouch: true,
35        enableDrag: true,
36        freeMove: true,
37        swipeThreshold: 40,
38        responsive: [],
39        /* jshint ignore:start */
40        onBeforeStart: function ($el) {},
41        onSliderLoad: function ($el) {},
42        onBeforeSlide: function ($el, scene) {},
43        onAfterSlide: function ($el, scene) {},
44        onBeforeNextSlide: function ($el, scene) {},
45        onBeforePrevSlide: function ($el, scene) {}
46        /* jshint ignore:end */
47    };
48    $.fn.evoSlider = function (options) {
49        if (this.length === 0) {
50            return this;
51        }
52
53        if (this.length > 1) {
54            this.each(function () {
55                $(this).evoSlider(options);
56            });
57            return this;
58        }
59
60        var OBJ = $(this);
61
62        var plugin = {},
63            settings = $.extend(true, {}, defaults, options),
64            settingsTemp = {},
65            $el = this,
66            $evosliderbox = $el.closest('.evosliderbox '),
67            $sliderFooter = $evosliderbox.find('.evosl_footer');
68        plugin.$el = this;
69
70        if (settings.mode === 'fade') {
71            settings.vertical = false;
72        }
73        var $children = $el.children(),
74            windowW = $(window).width(),
75            breakpoint = null,
76            resposiveObj = null,
77            length = 0,
78            w = 0,
79            on = false,
80            elSize = 0,
81            $slide = '',
82            scene = 0,
83            property = (settings.vertical === true) ? 'height' : 'width',
84            gutter = (settings.vertical === true) ? 'margin-bottom' : 'margin-right',
85            slideValue = 0,
86            pagerWidth = 0,
87            slideWidth = 0,
88            thumbWidth = 0,
89            interval = null,
90            sliderW = OBJ.parent().width(),
91            isTouch = ('ontouchstart' in document.documentElement);
92        var refresh = {};
93
94        refresh.chbreakpoint = function () {
95            windowW = $(window).width();
96            sliderW = OBJ.parent().width();
97
98            windowW = sliderW;
99
100            if (settings.responsive.length) {
101                var item;
102                if (settings.autoWidth === false) {
103                    item = settings.item;
104                }
105                if (windowW < settings.responsive[0].breakpoint) {
106                    for (var i = 0; i < settings.responsive.length; i++) {
107                        if (windowW < settings.responsive[i].breakpoint) {
108                            breakpoint = settings.responsive[i].breakpoint;
109                            resposiveObj = settings.responsive[i];
110                        }
111                    }
112                }
113                if (typeof resposiveObj !== 'undefined' && resposiveObj !== null) {
114                    for (var j in resposiveObj.settings) {
115                        if (resposiveObj.settings.hasOwnProperty(j)) {
116                            if (typeof settingsTemp[j] === 'undefined' || settingsTemp[j] === null) {
117                                settingsTemp[j] = settings[j];
118                            }
119                            settings[j] = resposiveObj.settings[j];
120                        }
121                    }
122                }
123                if (!$.isEmptyObject(settingsTemp) && windowW > settings.responsive[0].breakpoint) {
124                    for (var k in settingsTemp) {
125                        if (settingsTemp.hasOwnProperty(k)) {
126                            settings[k] = settingsTemp[k];
127                        }
128                    }
129                }
130                if (settings.autoWidth === false) {
131                    if (slideValue > 0 && slideWidth > 0) {
132                        if (item !== settings.item) {
133                            scene = Math.round(slideValue / ((slideWidth + settings.slideMargin) * settings.slideMove));
134                        }
135                    }
136                }
137            }
138        };
139
140        refresh.calSW = function () {
141            if (settings.autoWidth === false) {
142                slideWidth = (elSize - ((settings.item * (settings.slideMargin)) - settings.slideMargin)) / settings.item;
143            }
144        };
145
146        refresh.calWidth = function (cln) {
147            var ln = cln === true ? $slide.find('.evoglide').length : $children.length;
148            if (settings.autoWidth === false) {
149                w = ln * (slideWidth + settings.slideMargin);
150            } else {
151                w = 0;
152                for (var i = 0; i < ln; i++) {
153                    w += (parseInt($children.eq(i).width()) + settings.slideMargin);
154                }
155            }
156            return w;
157        };
158        plugin = {
159            doCss: function () {
160                var support = function () {
161                    var transition = ['transition', 'MozTransition', 'WebkitTransition', 'OTransition', 'msTransition', 'KhtmlTransition'];
162                    var root = document.documentElement;
163                    for (var i = 0; i < transition.length; i++) {
164                        if (transition[i] in root.style) {
165                            return true;
166                        }
167                    }
168                };
169                if (settings.useCSS && support()) {
170                    return true;
171                }
172                return false;
173            },
174            keyPress: function () {
175                if (settings.keyPress) {
176                    $(document).on('keyup.evoslider', function (e) {
177                        if (!$(':focus').is('input, textarea')) {
178                            if (e.preventDefault) {
179                                e.preventDefault();
180                            } else {
181                                e.returnValue = false;
182                            }
183                            if (e.keyCode === 37) {
184                                $el.goToPrevSlide();
185                            } else if (e.keyCode === 39) {
186                                $el.goToNextSlide();
187                            }
188                        }
189                    });
190                }
191            },
192            controls: function () {
193                if (settings.controls) {
194                    // prev next arrows for vertical vs non                    
195                    if(settings.vertical){
196                        $el.after('<div class="evoAction"><a class="evoPrev">' + settings.prevHtml + '</a><a class="evoNext">' + settings.nextHtml + '</a></div>');
197                    }else{
198                        $evosliderbox.find('.evosl_footer').append('<div class="evoAction"><a class="evoPrev">' + settings.prevHtml + '</a><a class="evoNext">' + settings.nextHtml + '</a></div>');
199                    }
200                    if (!settings.autoWidth) {
201                        if (length <= settings.item) {
202                            $evosliderbox.find('.evoAction').hide();
203                        }
204                    } else {
205                        if (refresh.calWidth(false) < elSize) {
206                            $evosliderbox.find('.evoAction').hide();
207                        }
208                    }
209
210                    //$el = $evosliderbox.find('.eventon_events_list');
211
212                    $evosliderbox.find('.evoAction a').on('click', function (e) {
213                        if (e.preventDefault) {
214                            e.preventDefault();
215                        } else {
216                            e.returnValue = false;
217                        }
218                        if ($(this).attr('class') === 'evoPrev') {                            
219                            $el.goToPrevSlide();
220                        } else { 
221                            //console.log('55');                           
222                            $el.goToNextSlide();
223                        }
224                        return false;
225                    });
226                }
227            },
228            initialStyle: function () {
229                var $this = this;
230                if (settings.mode === 'fade') {
231                    settings.autoWidth = false;
232                    settings.slideEndAnimation = false;
233                }
234                if (settings.auto) {
235                    settings.slideEndAnimation = false;
236                }
237                if (settings.autoWidth) {
238                    settings.slideMove = 1;
239                    settings.item = 1;
240                }
241                if (settings.loop) {
242                    settings.slideMove = 1;
243                    settings.freeMove = false;
244                }
245                settings.onBeforeStart.call(this, $el);
246                refresh.chbreakpoint();
247                $el.addClass('evoSlider').wrap('<div class="evoSlideOuter ' + settings.addClass + '"><div class="evoSlideWrapper"></div></div>');
248                $slide = $el.parent('.evoSlideWrapper');
249                if (settings.rtl === true) {
250                    $slide.parent().addClass('evortl');
251                }
252                if (settings.vertical) {
253                    $slide.parent().addClass('vertical');
254                    elSize = settings.verticalHeight;
255                    $slide.css('height', elSize + 'px');
256                } else {
257                    elSize = $el.outerWidth();
258                }
259                $children.addClass('evoglide');
260                if (settings.loop === true && settings.mode === 'slide') {
261                    refresh.calSW();
262                    refresh.clone = function () {
263                        if (refresh.calWidth(true) > elSize) {
264                            /**/
265                            var tWr = 0,
266                                tI = 0;
267                            for (var k = 0; k < $children.length; k++) {
268                                tWr += (parseInt($el.find('.evoglide').eq(k).width()) + settings.slideMargin);
269                                tI++;
270                                if (tWr >= (elSize + settings.slideMargin)) {
271                                    break;
272                                }
273                            }
274                            var tItem = settings.autoWidth === true ? tI : settings.item;
275
276                            /**/
277                            if (tItem < $el.find('.clone.left').length) {
278                                for (var i = 0; i < $el.find('.clone.left').length - tItem; i++) {
279                                    $children.eq(i).remove();
280                                }
281                            }
282                            if (tItem < $el.find('.clone.right').length) {
283                                for (var j = $children.length - 1; j > ($children.length - 1 - $el.find('.clone.right').length); j--) {
284                                    scene--;
285                                    $children.eq(j).remove();
286                                }
287                            }
288                            /**/
289                            for (var n = $el.find('.clone.right').length; n < tItem; n++) {
290                                $el.find('.evoglide').eq(n).clone().removeClass('evoglide').addClass('clone right').appendTo($el);
291                                scene++;
292                            }
293                            for (var m = $el.find('.evoglide').length - $el.find('.clone.left').length; m > ($el.find('.evoglide').length - tItem); m--) {
294                                $el.find('.evoglide').eq(m - 1).clone().removeClass('evoglide').addClass('clone left').prependTo($el);
295                            }
296                            $children = $el.children();
297                        } else {
298                            if ($children.hasClass('clone')) {
299                                $el.find('.clone').remove();
300                                $this.move($el, 0);
301                            }
302                        }
303                    };
304                    refresh.clone();
305                }
306                refresh.sSW = function () {
307                    length = $children.length;
308                    if (settings.rtl === true && settings.vertical === false) {
309                        gutter = 'margin-left';
310                    }
311                    if (settings.autoWidth === false) {
312                        $children.css(property, slideWidth + 'px');
313                    }
314                    $children.css(gutter, settings.slideMargin + 'px');
315                    w = refresh.calWidth(false);
316                    $el.css(property, w + 'px');
317                    if (settings.loop === true && settings.mode === 'slide') {
318                        if (on === false) {
319                            scene = $el.find('.clone.left').length;
320                        }
321                    }
322                };
323                refresh.calL = function () {
324                    $children = $el.children();
325                    length = $children.length;
326                };
327                if (this.doCss()) {
328                    $slide.addClass('usingCss');
329                }
330                refresh.calL();
331                if (settings.mode === 'slide') {
332                    refresh.calSW();
333                    refresh.sSW();
334                    if (settings.loop === true) {
335                        slideValue = $this.slideValue();
336                        this.move($el, slideValue);
337                    }
338                    if (settings.vertical === false) {
339                        this.setHeight($el, false);
340                    }
341
342                } else {
343                    this.setHeight($el, true);
344                    $el.addClass('evoFade');
345                    if (!this.doCss()) {
346                        $children.fadeOut(0);
347                        $children.eq(scene).fadeIn(0);
348                    }
349                }
350                if (settings.loop === true && settings.mode === 'slide') {
351                    $children.eq(scene).addClass('active');
352                } else {
353                    $children.first().addClass('active');
354                }
355            },
356            pager: function () {
357                if (settings.controls) {
358                    var $this = this;
359                    refresh.createPager = function () {
360                        thumbWidth = (elSize - ((settings.thumbItem * (settings.thumbMargin)) - settings.thumbMargin)) / settings.thumbItem;
361                        var $children = $slide.find('.evoglide');
362                        var length = $slide.find('.evoglide').length;
363                        var i = 0,
364                            pagers = '',
365                            v = 0;
366                        for (i = 0; i < length; i++) {
367                            if (settings.mode === 'slide') {
368                                // calculate scene * slide value
369                                if (!settings.autoWidth) {
370                                    v = i * ((slideWidth + settings.slideMargin) * settings.slideMove);
371                                } else {
372                                    v += ((parseInt($children.eq(i).width()) + settings.slideMargin) * settings.slideMove);
373                                }
374                            }
375                            var thumb = $children.eq(i * settings.slideMove).attr('data-thumb');
376                            if (settings.gallery === true) {
377                                pagers += '<li style="width:100%;' + property + ':' + thumbWidth + 'px;' + gutter + ':' + settings.thumbMargin + 'px"><a href="#"><img src="' + thumb + '" /></a></li>';
378                            } else {
379                                pagers += '<li><a href="#">' + (i + 1) + '</a></li>';
380                            }
381                            if (settings.mode === 'slide') {
382                                if ((v) >= w - elSize - settings.slideMargin) {
383                                    i = i + 1;
384                                    var minPgr = 2;
385                                    if (settings.autoWidth) {
386                                        pagers += '<li><a href="#">' + (i + 1) + '</a></li>';
387                                        minPgr = 1;
388                                    }
389                                    if (i < minPgr) {
390                                        pagers = null;
391                                        $slide.parent().addClass('noPager');
392                                    } else {
393                                        $slide.parent().removeClass('noPager');
394                                    }
395                                    break;
396                                }
397                            }
398                        }
399                        var $cSouter = $slide.parent();
400                        $sliderFooter.find('.evoPager').html(pagers);
401                        if (settings.gallery === true) {
402                            if (settings.vertical === true) {
403                                // set Gallery thumbnail width
404                                $sliderFooter.find('.evoPager').css('width', settings.vThumbWidth + 'px');
405                            }
406                            pagerWidth = (i * (settings.thumbMargin + thumbWidth)) + 0.5;
407                            $sliderFooter.find('.evoPager').css({
408                                property: pagerWidth + 'px',
409                                'transition-duration': settings.speed + 'ms'
410                            });
411                            if (settings.vertical === true) {
412                                $slide.parent().css('padding-right', (settings.vThumbWidth + settings.galleryMargin) + 'px');
413                            }
414                            $sliderFooter.find('.evoPager').css(property, pagerWidth + 'px');
415                        }
416                        var $pager = $sliderFooter.find('.evoPager').find('li');
417                        $pager.first().addClass('active');
418                        $pager.on('click', function () {
419                           
420                            if (settings.loop === true && settings.mode === 'slide') {                            
421                                scene = scene + ($pager.index(this) - $sliderFooter.find('.evoPager').find('li.active').index());
422                            } else {
423                                scene = $pager.index(this);
424                            }
425                            $el.mode(false);
426                            if (settings.gallery === true) {
427                                $this.slideThumb();
428                            }
429
430                            //$sliderFooter.find('.evoPager').find('li').removeClass('active');
431                            //$sliderFooter.find('.evoPager').find('li').eq(scene).addClass('active');
432
433                            return false;
434                        });
435                    };
436                    if (settings.pager) {
437                        var cl = 'evopg';
438                        if (settings.gallery) {
439                            cl = 'evoGallery';
440                        }
441                        $sliderFooter.append('<ul class="evoPager ' + cl + '"></ul>');
442                        var gMargin = (settings.vertical) ? 'margin-left' : 'margin-top';
443                        $sliderFooter.find('.evoPager').css(gMargin, settings.galleryMargin + 'px');
444                        refresh.createPager();
445                    }
446
447                    setTimeout(function () {
448                        refresh.init();
449                    }, 0);
450                }
451            },
452            setHeight: function (ob, fade) {
453                var obj = null,
454                    $this = this;
455                if (settings.loop) {
456                    obj = ob.children('.evoglide ').first();
457                } else {
458                    obj = ob.children().first();
459                }
460                var setCss = function () {
461                    var tH = obj.outerHeight(),
462                        tP = 0,
463                        tHT = tH;
464                    if (fade) {
465                        tH = 0;
466                        tP = ((tHT) * 100) / elSize;
467                    }
468                    ob.css({
469                        'height': tH + 'px',
470                        'padding-bottom': tP + '%'
471                    });
472                };
473                setCss();
474                if (obj.find('img').length) {
475                    if ( obj.find('img')[0].complete) {
476                        setCss();
477                        if (!interval) {
478                            $this.auto();
479                        }
480                    }else{
481                        obj.find('img').load(function () {
482                            setTimeout(function () {
483                                setCss();
484                                if (!interval) {
485                                    $this.auto();
486                                }
487                            }, 100);
488                        });
489                    }
490                }else{
491                    if (!interval) {
492                        $this.auto();
493                    }
494                }
495            },
496            active: function (ob, t) {
497                //console.log(ob);
498                if (this.doCss() && settings.mode === 'fade') {
499                    $slide.addClass('on');
500                }
501                var sc = 0;
502                if (scene * settings.slideMove < length) {
503                    ob.removeClass('active');
504                    if (!this.doCss() && settings.mode === 'fade' && t === false) {
505                        ob.fadeOut(settings.speed);
506                    }
507                    if (t === true) {
508                        sc = scene;
509                    } else {
510                        sc = scene * settings.slideMove;
511                    }
512                    //t === true ? sc = scene : sc = scene * settings.slideMove;
513                    var l, nl;
514                    if (t === true) {
515                        l = ob.length;
516                        nl = l - 1;
517                        if (sc + 1 >= l) {
518                            sc = nl;
519                        }
520                    }
521                    if (settings.loop === true && settings.mode === 'slide') {
522                        //t === true ? sc = scene - $el.find('.clone.left').length : sc = scene * settings.slideMove;
523                        if (t === true) {
524                            sc = scene - $el.find('.clone.left').length;
525                        } else {
526                            sc = scene * settings.slideMove;
527                        }
528                        if (t === true) {
529                            l = ob.length;
530                            nl = l - 1;
531                            if (sc + 1 === l) {
532                                sc = nl;
533                            } else if (sc + 1 > l) {
534                                sc = 0;
535                            }
536                        }
537                    }
538
539                    if (!this.doCss() && settings.mode === 'fade' && t === false) {
540                        ob.eq(sc).fadeIn(settings.speed);
541                    }
542                    ob.eq(sc).addClass('active');
543                } else {
544                    ob.removeClass('active');
545                    ob.eq(ob.length - 1).addClass('active');
546                    if (!this.doCss() && settings.mode === 'fade' && t === false) {
547                        ob.fadeOut(settings.speed);
548                        ob.eq(sc).fadeIn(settings.speed);
549                    }
550                }
551            },
552            move: function (ob, v) {
553                if (settings.rtl === true) {
554                    v = -v;
555                }
556                if (this.doCss()) {
557                    if (settings.vertical === true) {
558                        ob.css({
559                            'transform': 'translate3d(0px, ' + (-v) + 'px, 0px)',
560                            '-webkit-transform': 'translate3d(0px, ' + (-v) + 'px, 0px)'
561                        });
562                    } else {
563                        ob.css({
564                            'transform': 'translate3d(' + (-v) + 'px, 0px, 0px)',
565                            '-webkit-transform': 'translate3d(' + (-v) + 'px, 0px, 0px)',
566                        });
567                    }
568                } else {
569                    if (settings.vertical === true) {
570                        ob.css('position', 'relative').animate({
571                            top: -v + 'px'
572                        }, settings.speed, settings.easing);
573                    } else {
574                        ob.css('position', 'relative').animate({
575                            left: -v + 'px'
576                        }, settings.speed, settings.easing);
577                    }
578                }
579                var $thumb = $sliderFooter.find('.evoPager').find('li');
580                this.active($thumb, true);
581            },
582            fade: function () {
583                this.active($children, false);
584                var $thumb = $sliderFooter.find('.evoPager').find('li');
585                this.active($thumb, true);
586            },
587            slide: function () {
588                var $this = this;
589                refresh.caevoglide = function () {
590                    if (w > elSize) {
591                        slideValue = $this.slideValue();
592                        $this.active($children, false);
593                        if ((slideValue) > w - elSize - settings.slideMargin) {
594                            slideValue = w - elSize - settings.slideMargin;
595                        } else if (slideValue < 0) {
596                            slideValue = 0;
597                        }
598                        $this.move($el, slideValue);
599                        if (settings.loop === true && settings.mode === 'slide') {
600                            if (scene >= (length - ($el.find('.clone.left').length / settings.slideMove))) {
601                                $this.resetSlide($el.find('.clone.left').length);
602                            }
603                            if (scene === 0) {
604                                $this.resetSlide($slide.find('.evoglide').length);
605                            }
606                        }
607                    }
608                };
609                refresh.caevoglide();
610            },
611            resetSlide: function (s) {
612                var $this = this;
613                $sliderFooter.find('.evoAction a').addClass('disabled');
614                setTimeout(function () {
615                    scene = s;
616                    $slide.css('transition-duration', '0ms');
617                    slideValue = $this.slideValue();
618                    $this.active($children, false);
619                    plugin.move($el, slideValue);
620                    setTimeout(function () {
621                        $slide.css('transition-duration', settings.speed + 'ms');
622                        $sliderFooter.find('.evoAction a').removeClass('disabled');
623                    }, 50);
624                }, settings.speed + 100);
625            },
626            slideValue: function () {
627                var _sV = 0;
628                if (settings.autoWidth === false) {
629                    _sV = scene * ((slideWidth + settings.slideMargin) * settings.slideMove);
630                } else {
631                    _sV = 0;
632                    for (var i = 0; i < scene; i++) {
633                        _sV += (parseInt($children.eq(i).width()) + settings.slideMargin);
634                    }
635                }
636                return _sV;
637            },
638            slideThumb: function () {
639                var position;
640                switch (settings.currentPagerPosition) {
641                case 'left':
642                    position = 0;
643                    break;
644                case 'middle':
645                    position = (elSize / 2) - (thumbWidth / 2);
646                    break;
647                case 'right':
648                    position = elSize - thumbWidth;
649                }
650                var sc = scene - $el.find('.clone.left').length;
651                //var $pager = $slide.parent().find('.evoPager');
652                var $pager = $sliderFooter.find('.evoPager');
653                if (settings.mode === 'slide' && settings.loop === true) {
654                    if (sc >= $pager.children().length) {
655                        sc = 0;
656                    } else if (sc < 0) {
657                        sc = $pager.children().length;
658                    }
659                }
660                var thumbSlide = sc * ((thumbWidth + settings.thumbMargin)) - (position);
661                if ((thumbSlide + elSize) > pagerWidth) {
662                    thumbSlide = pagerWidth - elSize - settings.thumbMargin;
663                }
664                if (thumbSlide < 0) {
665                    thumbSlide = 0;
666                }
667                this.move($pager, thumbSlide);
668            },
669            auto: function () {
670                if (settings.auto) {
671                    clearInterval(interval);
672                    interval = setInterval(function () {
673                        $el.goToNextSlide();
674                    }, settings.pause);
675                }
676            },
677            pauseOnHover: function(){
678                var $this = this;
679                if (settings.auto && settings.pauseOnHover) {
680                    $slide.on('mouseenter', function(){
681                        $(this).addClass('evo-hover');
682                        $el.pause();
683                        settings.auto = true;
684                    });
685                    $slide.on('mouseleave',function(){
686                        $(this).removeClass('evo-hover');
687                        if (!$slide.find('.evoSlider').hasClass('evoGrabbing')) {
688                            $this.auto();
689                        }
690                    });
691                }
692            },
693            touchMove: function (endCoords, startCoords) {
694                $slide.css('transition-duration', '0ms');
695                if (settings.mode === 'slide') {
696                    var distance = endCoords - startCoords;
697                    var swipeVal = slideValue - distance;
698                    if ((swipeVal) >= w - elSize - settings.slideMargin) {
699                        if (settings.freeMove === false) {
700                            swipeVal = w - elSize - settings.slideMargin;
701                        } else {
702                            var swipeValT = w - elSize - settings.slideMargin;
703                            swipeVal = swipeValT + ((swipeVal - swipeValT) / 5);
704
705                        }
706                    } else if (swipeVal < 0) {
707                        if (settings.freeMove === false) {
708                            swipeVal = 0;
709                        } else {
710                            swipeVal = swipeVal / 5;
711                        }
712                    }
713                    this.move($el, swipeVal);
714                }
715            },
716
717            touchEnd: function (distance) {
718                $slide.css('transition-duration', settings.speed + 'ms');
719                if (settings.mode === 'slide') {
720                    var mxVal = false;
721                    var _next = true;
722                    slideValue = slideValue - distance;
723                    if ((slideValue) > w - elSize - settings.slideMargin) {
724                        slideValue = w - elSize - settings.slideMargin;
725                        if (settings.autoWidth === false) {
726                            mxVal = true;
727                        }
728                    } else if (slideValue < 0) {
729                        slideValue = 0;
730                    }
731                    var gC = function (next) {
732                        var ad = 0;
733                        if (!mxVal) {
734                            if (next) {
735                                ad = 1;
736                            }
737                        }
738                        if (!settings.autoWidth) {
739                            var num = slideValue / ((slideWidth + settings.slideMargin) * settings.slideMove);
740                            scene = parseInt(num) + ad;
741                            if (slideValue >= (w - elSize - settings.slideMargin)) {
742                                if (num % 1 !== 0) {
743                                    scene++;
744                                }
745                            }
746                        } else {
747                            var tW = 0;
748                            for (var i = 0; i < $children.length; i++) {
749                                tW += (parseInt($children.eq(i).width()) + settings.slideMargin);
750                                scene = i + ad;
751                                if (tW >= slideValue) {
752                                    break;
753                                }
754                            }
755                        }
756                    };
757                    if (distance >= settings.swipeThreshold) {
758                        gC(false);
759                        _next = false;
760                    } else if (distance <= -settings.swipeThreshold) {
761                        gC(true);
762                        _next = false;
763                    }
764                    $el.mode(_next);
765                    this.slideThumb();
766                } else {
767                    if (distance >= settings.swipeThreshold) {
768                        $el.goToPrevSlide();
769                    } else if (distance <= -settings.swipeThreshold) {
770                        $el.goToNextSlide();
771                    }
772                }
773            },
774
775            enableDrag: function () {
776                var $this = this;
777                if (!isTouch) {
778                    var startCoords = 0,
779                        endCoords = 0,
780                        isDraging = false;
781                    $slide.find('.evoSlider').addClass('evoGrab');
782                    $slide.on('mousedown', function (e) {
783                        if (w < elSize) {
784                            if (w !== 0) {
785                                return false;
786                            }
787                        }
788                        if ($(e.target).attr('class') !== ('evoPrev') && $(e.target).attr('class') !== ('evoNext')) {
789                            startCoords = (settings.vertical === true) ? e.pageY : e.pageX;
790                            isDraging = true;
791                            if (e.preventDefault) {
792                                e.preventDefault();
793                            } else {
794                                e.returnValue = false;
795                            }
796                            // ** Fix for webkit cursor issue https://code.google.com/p/chromium/issues/detail?id=26723
797                            $slide.scrollLeft += 1;
798                            $slide.scrollLeft -= 1;
799                            // *
800                            $slide.find('.evoSlider').removeClass('evoGrab').addClass('evoGrabbing');
801                            clearInterval(interval);
802                        }
803                    });
804                    $(window).on('mousemove', function (e) {
805                        if (isDraging) {
806                            endCoords = (settings.vertical === true) ? e.pageY : e.pageX;
807                            $this.touchMove(endCoords, startCoords);
808                        }
809                    });
810                    $(window).on('mouseup', function (e) {
811                        if (isDraging) {
812                            $slide.find('.evoSlider').removeClass('evoGrabbing').addClass('evoGrab');
813                            isDraging = false;
814                            endCoords = (settings.vertical === true) ? e.pageY : e.pageX;
815                            var distance = endCoords - startCoords;
816                            if (Math.abs(distance) >= settings.swipeThreshold) {
817                                $(window).on('click.evo', function (e) {
818                                    if (e.preventDefault) {
819                                        e.preventDefault();
820                                    } else {
821                                        e.returnValue = false;
822                                    }
823                                    e.stopImmediatePropagation();
824                                    e.stopPropagation();
825                                    $(window).off('click.evo');
826                                });
827                            }
828
829                            $this.touchEnd(distance);
830
831                        }
832                    });
833                }
834            },
vendor: 2,918 bytes, lines 834-901
834
835
836            enableTouch: function () {
837                var $this = this;
838                if (isTouch) {
839                    var startCoords = {},
840                        endCoords = {};
841                    $slide.on('touchstart', function (e) {
842                        endCoords = e.originalEvent.targetTouches[0];
843                        startCoords.pageX = e.originalEvent.targetTouches[0].pageX;
844                        startCoords.pageY = e.originalEvent.targetTouches[0].pageY;
845                        clearInterval(interval);
846                    });
847                    $slide.on('touchmove', function (e) {
848                        if (w < elSize) {
849                            if (w !== 0) {
850                                return false;
851                            }
852                        }
853                        var orig = e.originalEvent;
854                        endCoords = orig.targetTouches[0];
855                        var xMovement = Math.abs(endCoords.pageX - startCoords.pageX);
856                        var yMovement = Math.abs(endCoords.pageY - startCoords.pageY);
857                        if (settings.vertical === true) {
858                            if ((yMovement * 3) > xMovement) {
859                                e.preventDefault();
860                            }
861                            $this.touchMove(endCoords.pageY, startCoords.pageY);
862                        } else {
863                            if ((xMovement * 3) > yMovement) {
864                                e.preventDefault();
865                            }
866                            $this.touchMove(endCoords.pageX, startCoords.pageX);
867                        }
868
869                    });
870                    $slide.on('touchend', function () {
871                        if (w < elSize) {
872                            if (w !== 0) {
873                                return false;
874                            }
875                        }
876                        var distance;
877                        if (settings.vertical === true) {
878                            distance = endCoords.pageY - startCoords.pageY;
879                        } else {
880                            distance = endCoords.pageX - startCoords.pageX;
881                        }
882                        $this.touchEnd(distance);
883                    });
884                }
885            },
886            build: function () {
887                var $this = this;
888                $this.initialStyle();
889                if (this.doCss()) {
890
891                    if (settings.enableTouch === true) {
892                        $this.enableTouch();
893                    }
894                    if (settings.enableDrag === true) {
895                        $this.enableDrag();
896                    }
897                }
898
899                $(window).on('focus', function(){
900                    $this.auto();
901                });
vendor: 9,893 bytes, lines 902-1163
902
903                $(window).on('blur', function(){
904                    clearInterval(interval);
905                });
906
907                $this.pager();
908                $this.pauseOnHover();
909                $this.controls();
910                $this.keyPress();
911            }
912        };
913        plugin.build();
914        refresh.init = function () {
915            refresh.chbreakpoint();
916            if (settings.vertical === true) {
917                if (settings.item > 1) {
918                    elSize = settings.verticalHeight;
919                } else {
920                    elSize = $children.outerHeight();
921                }
922                $slide.css('height', elSize + 'px');
923            } else {
924                elSize = $slide.outerWidth();
925            }
926            if (settings.loop === true && settings.mode === 'slide') {
927                refresh.clone();
928            }
929            refresh.calL();
930            if (settings.mode === 'slide') {
931                $el.removeClass('evoSlide');
932            }
933            if (settings.mode === 'slide') {
934                refresh.calSW();
935                refresh.sSW();
936            }
937            setTimeout(function () {
938                if (settings.mode === 'slide') {
939                    $el.addClass('evoSlide');
940                }
941            }, 1000);
942            if (settings.pager) {
943                refresh.createPager();
944            }
945            if (settings.adaptiveHeight === true && settings.vertical === false) {
946                $el.css('height', $children.eq(scene).outerHeight(true));
947            }
948            if (settings.adaptiveHeight === false) {
949                if (settings.mode === 'slide') {
950                    if (settings.vertical === false) {
951                        plugin.setHeight($el, false);
952                    }else{
953                        plugin.auto();
954                    }
955                } else {
956                    plugin.setHeight($el, true);
957                }
958            }
959            if (settings.gallery === true) {
960                plugin.slideThumb();
961            }
962            if (settings.mode === 'slide') {
963                plugin.slide();
964            }
965            if (settings.autoWidth === false) {
966                if ($children.length <= settings.item) {
967                    $sliderFooter.find('.evoAction').hide();
968                } else {
969                    $sliderFooter.find('.evoAction').show();
970                }
971            } else {
972                if ((refresh.calWidth(false) < elSize) && (w !== 0)) {
973                    $sliderFooter.find('.evoAction').hide();
974                } else {
975                    $sliderFooter.find('.evoAction').show();
976                }
977            }
978        };
979        $el.goToPrevSlide = function () {
980            if (scene > 0) {
981                settings.onBeforePrevSlide.call(this, $el, scene);
982                scene--;
983                $el.mode(false);
984                if (settings.gallery === true) {
985                    plugin.slideThumb();
986                }
987            } else {
988                if (settings.loop === true) {
989                    settings.onBeforePrevSlide.call(this, $el, scene);
990                    if (settings.mode === 'fade') {
991                        var l = (length - 1);
992                        scene = parseInt(l / settings.slideMove);
993                    }
994                    $el.mode(false);
995                    if (settings.gallery === true) {
996                        plugin.slideThumb();
997                    }
998                } else if (settings.slideEndAnimation === true) {
999                    $el.addClass('leftEnd');
1000                    setTimeout(function () {
1001                        $el.removeClass('leftEnd');
1002                    }, 400);
1003                }
1004            }
1005        };
1006        $el.goToNextSlide = function () {
1007            var nextI = true;
1008            if (settings.mode === 'slide') {
1009                var _slideValue = plugin.slideValue();
1010                nextI = _slideValue < w - elSize - settings.slideMargin;                
1011            }
1012
1013            if (((scene * settings.slideMove) < length - settings.slideMove) && nextI) {
1014                settings.onBeforeNextSlide.call(this, $el, scene);
1015                scene++;
1016                $el.mode(false);
1017                if (settings.gallery === true) {
1018                    plugin.slideThumb();
1019                }
1020            } else {
1021                if (settings.loop === true) {
1022                    settings.onBeforeNextSlide.call(this, $el, scene);
1023                    scene = 0;
1024                    $el.mode(false);
1025                    if (settings.gallery === true) {
1026                        plugin.slideThumb();
1027                    }
1028                } else if (settings.slideEndAnimation === true) {
1029                    $el.addClass('rightEnd');
1030                    setTimeout(function () {
1031                        $el.removeClass('rightEnd');
1032                    }, 400);
1033                }
1034            }
1035        };
1036        $el.mode = function (_touch) {
1037            if (settings.adaptiveHeight === true && settings.vertical === false) {
1038                $el.css('height', $children.eq(scene).outerHeight(true));
1039            }
1040            if (on === false) {
1041                if (settings.mode === 'slide') {
1042                    if (plugin.doCss()) {
1043                        $el.addClass('evoSlide');
1044                        if (settings.speed !== '') {
1045                            $slide.css('transition-duration', settings.speed + 'ms');
1046                        }
1047                        if (settings.cssEasing !== '') {
1048                            $slide.css('transition-timing-function', settings.cssEasing);
1049                        }
1050                    }
1051                } else {
1052                    if (plugin.doCss()) {
1053                        if (settings.speed !== '') {
1054                            $el.css('transition-duration', settings.speed + 'ms');
1055                        }
1056                        if (settings.cssEasing !== '') {
1057                            $el.css('transition-timing-function', settings.cssEasing);
1058                        }
1059                    }
1060                }
1061            }
1062            if (!_touch) {
1063                settings.onBeforeSlide.call(this, $el, scene);
1064            }
1065            if (settings.mode === 'slide') {
1066                plugin.slide();
1067            } else {
1068                plugin.fade();
1069            }
1070            if (!$slide.hasClass('evo-hover')) {
1071                plugin.auto();
1072            }
1073            setTimeout(function () {
1074                if (!_touch) {
1075                    settings.onAfterSlide.call(this, $el, scene);
1076                }
1077            }, settings.speed);
1078            on = true;
1079        };
1080        $el.play = function () {
1081            $el.goToNextSlide();
1082            settings.auto = true;
1083            plugin.auto();
1084        };
1085        $el.pause = function () {
1086            settings.auto = false;
1087            clearInterval(interval);
1088        };
1089        $el.refresh = function () {
1090            refresh.init();
1091        };
1092        $el.getCurrentSlideCount = function () {
1093            var sc = scene;
1094            if (settings.loop) {
1095                var ln = $slide.find('.evoglide').length,
1096                    cl = $el.find('.clone.left').length;
1097                if (scene <= cl - 1) {
1098                    sc = ln + (scene - cl);
1099                } else if (scene >= (ln + cl)) {
1100                    sc = scene - ln - cl;
1101                } else {
1102                    sc = scene - cl;
1103                }
1104            }
1105            return sc + 1;
1106        };
1107        $el.getTotaevoglideCount = function () {
1108            return $slide.find('.evoglide').length;
1109        };
1110        $el.goToSlide = function (s) {
1111            if (settings.loop) {
1112                scene = (s + $el.find('.clone.left').length - 1);
1113            } else {
1114                scene = s;
1115            }
1116            $el.mode(false);
1117            if (settings.gallery === true) {
1118                plugin.slideThumb();
1119            }
1120        };
1121        $el.destroy = function () {
1122            if ($el.evoSlider) {
1123                $el.goToPrevSlide = function(){};
1124                $el.goToNextSlide = function(){};
1125                $el.mode = function(){};
1126                $el.play = function(){};
1127                $el.pause = function(){};
1128                $el.refresh = function(){};
1129                $el.getCurrentSlideCount = function(){};
1130                $el.getTotaevoglideCount = function(){};
1131                $el.goToSlide = function(){};
1132                $el.evoSlider = null;
1133                refresh = {
1134                    init : function(){}
1135                };
1136                $sliderFooter.find('.evoAction, .evoPager').remove();
1137                $el.removeClass('evoSlider evoFade evoSlide evoGrab evoGrabbing leftEnd right').removeAttr('style').unwrap().unwrap();
1138                $el.children().removeAttr('style');
1139                $children.removeClass('evoglide active');
1140                $el.find('.clone').remove();
1141                $children = null;
1142                interval = null;
1143                on = false;
1144                scene = 0;
1145            }
1146
1147        };
1148        setTimeout(function () {
1149            settings.onSliderLoad.call(this, $el);
1150        }, 10);
1151        $(window).on('resize orientationchange', function (e) {
1152            setTimeout(function () {
1153                if (e.preventDefault) {
1154                    e.preventDefault();
1155                } else {
1156                    e.returnValue = false;
1157                }
1158                refresh.init();
1159            }, 200);
1160        });
1161        return this;
1162    };
1163}(jQuery));

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.