PageSourceSearch

https://www.famillesrurales.org/themes/fr_multisites/js/jquery.flexslider-min.js?tlvj0i

js famillesrurales.org collected 2026-10-02 05:30:46 UTC 48,775 bytes, 979 lines download raw bytes

1/*
2 * jQuery FlexSlider v2.2.0
3 * Copyright 2012 WooThemes
4 * Contributing Author: Tyler Smith
5 */
6(function(e) {
7        e.flexslider = function(t, n) {
8            var r = e(t);
9            r.vars = e.extend({}, e.flexslider.defaults, n);
10            var i = r.vars.namespace, s = window.navigator && window.navigator.msPointerEnabled && window.MSGesture, o = ("ontouchstart"in window || s || window.DocumentTouch && document instanceof DocumentTouch) && r.vars.touch, u = "click touchend MSPointerUp", a = "", f, l = r.vars.direction === "vertical", c = r.vars.reverse, h = r.vars.itemWidth > 0, p = r.vars.animation === "fade", d = r.vars.asNavFor !== "", v = {}, m = true;
11            e.data(t, "flexslider", r);
12            v = {
13                init: function() {
14                    r.animating = false;
15                    r.currentSlide = parseInt(r.vars.startAt ? r.vars.startAt : 0);
16                    if (isNaN(r.currentSlide))
17                        r.currentSlide = 0;
18                    r.animatingTo = r.currentSlide;
19                    r.atEnd = r.currentSlide === 0 || r.currentSlide === r.last;
20                    r.containerSelector = r.vars.selector.substr(0, r.vars.selector.search(" "));
21                    r.slides = e(r.vars.selector, r);
22                    r.container = e(r.containerSelector, r);
23                    r.count = r.slides.length;
24                    r.syncExists = e(r.vars.sync).length > 0;
25                    if (r.vars.animation === "slide")
26                        r.vars.animation = "swing";
27                    r.prop = l ? "top" : "marginLeft";
28                    r.args = {};
29                    r.manualPause = false;
30                    r.stopped = false;
31                    r.started = false;
32                    r.startTimeout = null;
33                    r.transitions = !r.vars.video && !p && r.vars.useCSS && function() {
34                            var e = document.createElement("div")
35                                , t = ["perspectiveProperty", "WebkitPerspective", "MozPerspective", "OPerspective", "msPerspective"];
36                            for (var n in t) {
37                                if (e.style[t[n]] !== undefined) {
38                                    r.pfx = t[n].replace("Perspective", "").toLowerCase();
39                                    r.prop = "-" + r.pfx + "-transform";
40                                    return true
41                                }
42                            }
43                            return false
44                        }();
45                    if (r.vars.controlsContainer !== "")
46                        r.controlsContainer = e(r.vars.controlsContainer).length > 0 && e(r.vars.controlsContainer);
47                    if (r.vars.manualControls !== "")
48                        r.manualControls = e(r.vars.manualControls).length > 0 && e(r.vars.manualControls);
49                    if (r.vars.randomize) {
50                        r.slides.sort(function() {
51                            return Math.round(Math.random()) - .5
52                        });
53                        r.container.empty().append(r.slides)
54                    }
55                    r.doMath();
56                    r.setup("init");
57                    if (r.vars.controlNav)
58                        v.controlNav.setup();
59                    if (r.vars.directionNav)
60                        v.directionNav.setup();
61                    if (r.vars.keyboard && (e(r.containerSelector).length === 1 || r.vars.multipleKeyboard)) {
62                        e(document).bind("keyup", function(e) {
63                            var t = e.keyCode;
64                            if (!r.animating && (t === 39 || t === 37)) {
65                                var n = t === 39 ? r.getTarget("next") : t === 37 ? r.getTarget("prev") : false;
66                                r.flexAnimate(n, r.vars.pauseOnAction)
67                            }
68                        })
69                    }
70                    if (r.vars.mousewheel) {
71                        r.bind("mousewheel", function(e, t, n, i) {
72                            e.preventDefault();
73                            var s = t < 0 ? r.getTarget("next") : r.getTarget("prev");
74                            r.flexAnimate(s, r.vars.pauseOnAction)
75                        })
76                    }
77                    if (r.vars.pausePlay)
78                        v.pausePlay.setup();
79                    if (r.vars.slideshow && r.vars.pauseInvisible)
80                        v.pauseInvisible.init();
81                    if (r.vars.slideshow) {
82                        if (r.vars.pauseOnHover) {
83                            r.hover(function() {
84                                if (!r.manualPlay && !r.manualPause)
85                                    r.pause()
86                            }, function() {
87                                if (!r.manualPause && !r.manualPlay && !r.stopped)
88                                    r.play()
89                            })
90                        }
91                        if (!r.vars.pauseInvisible || !v.pauseInvisible.isHidden()) {
92                            r.vars.initDelay > 0 ? r.startTimeout = setTimeout(r.play, r.vars.initDelay) : r.play()
93                        }
94                    }
95                    if (d)
96                        v.asNav.setup();
97                    if (o && r.vars.touch)
98                        v.touch();
99                    if (!p || p && r.vars.smoothHeight)
100                        e(window).bind("resize orientationchange focus", v.resize);
101                    r.find("img").attr("draggable", "false");
102                    setTimeout(function() {
103                        r.vars.start(r)
104                    }, 200)
105                },
106                asNav: {
107                    setup: function() {
108                        r.asNav = true;
109                        r.animatingTo = Math.floor(r.currentSlide / r.move);
110                        r.currentItem = r.currentSlide;
111                        r.slides.removeClass(i + "active-slide").eq(r.currentItem).addClass(i + "active-slide");
112                        if (!s) {
113                            r.slides.click(function(t) {
114                                t.preventDefault();
115                                var n = e(this)
116                                    , s = n.index();
117                                var o = n.offset().left - e(r).scrollLeft();
118                                if (o <= 0 && n.hasClass(i + "active-slide")) {
119                                    r.flexAnimate(r.getTarget("prev"), true)
120                                } else if (!e(r.vars.asNavFor).data("flexslider").animating && !n.hasClass(i + "active-slide")) {
121                                    r.direction = r.currentItem < s ? "next" : "prev";
122                                    r.flexAnimate(s, r.vars.pauseOnAction, false, true, true)
123                                }
124                            })
125                        } else {
126                            t._slider = r;
127                            r.slides.each(function() {
128                                var t = this;
129                                t._gesture = new MSGesture;
130                                t._gesture.target = t;
131                                t.addEventListener("MSPointerDown", function(e) {
132                                    e.preventDefault();
133                                    if (e.currentTarget._gesture)
134                                        e.currentTarget._gesture.addPointer(e.pointerId)
135                                }, false);
136                                t.addEventListener("MSGestureTap", function(t) {
137                                    t.preventDefault();
138                                    var n = e(this)
139                                        , i = n.index();
140                                    if (!e(r.vars.asNavFor).data("flexslider").animating && !n.hasClass("active")) {
141                                        r.direction = r.currentItem < i ? "next" : "prev";
142                                        r.flexAnimate(i, r.vars.pauseOnAction, false, true, true)
143                                    }
144                                })
145                            })
146                        }
147                    }
148                },
149                controlNav: {
150                    setup: function() {
151                        if (!r.manualControls) {
152                            v.controlNav.setupPaging()
153                        } else {
154                            v.controlNav.setupManual()
155                        }
156                    },
157                    setupPaging: function() {
158                        var t = r.vars.controlNav === "thumbnails" ? "control-thumbs" : "control-paging", n = 1, s, o;
159                        r.controlNavScaffold = e('<ol class="' + i + "control-nav " + i + t + '"></ol>');
160                        if (r.pagingCount > 1) {
161                            for (var f = 0; f < r.pagingCount; f++) {
162                                o = r.slides.eq(f);
163                                s = r.vars.controlNav === "thumbnails" ? '<img src="' + o.attr("data-thumb") + '"/>' : "<a>" + n + "</a>";
164                                if ("thumbnails" === r.vars.controlNav && true === r.vars.thumbCaptions) {
165                                    var l = o.attr("data-thumbcaption");
166                                    if ("" != l && undefined != l)
167                                        s += '<span class="' + i + 'caption">' + l + "</span>"
168                                }
169                                r.controlNavScaffold.append("<li>" + s + "</li>");
170                                n++
171                            }
172                        }
173                        r.controlsContainer ? e(r.controlsContainer).append(r.controlNavScaffold) : r.append(r.controlNavScaffold);
174                        v.controlNav.set();
175                        v.controlNav.active();
176                        r.controlNavScaffold.delegate("a, img", u, function(t) {
177                            t.preventDefault();
178                            if (a === "" || a === t.type) {
179                                var n = e(this)
180                                    , s = r.controlNav.index(n);
181                                if (!n.hasClass(i + "active")) {
182                                    r.direction = s > r.currentSlide ? "next" : "prev";
183                                    r.flexAnimate(s, r.vars.pauseOnAction)
184                                }
185                            }
186                            if (a === "") {
187                                a = t.type
188                            }
189                            v.setToClearWatchedEvent()
190                        })
191                    },
192                    setupManual: function() {
193                        r.controlNav = r.manualControls;
194                        v.controlNav.active();
195                        r.controlNav.bind(u, function(t) {
196                            t.preventDefault();
197                            if (a === "" || a === t.type) {
198                                var n = e(this)
199                                    , s = r.controlNav.index(n);
200                                if (!n.hasClass(i + "active")) {
201                                    s > r.currentSlide ? r.direction = "next" : r.direction = "prev";
202                                    r.flexAnimate(s, r.vars.pauseOnAction)
203                                }
204                            }
205                            if (a === "") {
206                                a = t.type
207                            }
208                            v.setToClearWatchedEvent()
209                        })
210                    },
211                    set: function() {
212                        var t = r.vars.controlNav === "thumbnails" ? "img" : "a";
213                        r.controlNav = e("." + i + "control-nav li " + t, r.controlsContainer ? r.controlsContainer : r)
214                    },
215                    active: function() {
216                        r.controlNav.removeClass(i + "active").eq(r.animatingTo).addClass(i + "active")
217                    },
218                    update: function(t, n) {
219                        if (r.pagingCount > 1 && t === "add") {
220                            r.controlNavScaffold.append(e("<li><a>" + r.count + "</a></li>"))
221                        } else if (r.pagingCount === 1) {
222                            r.controlNavScaffold.find("li").remove()
223                        } else {
224                            r.controlNav.eq(n).closest("li").remove()
225                        }
226                        v.controlNav.set();
227                        r.pagingCount > 1 && r.pagingCount !== r.controlNav.length ? r.update(n, t) : v.controlNav.active()
228                    }
229                },
230                directionNav: {
231                    setup: function() {
232                        var t = e('<ul class="' + i + 'direction-nav"><li><a class="' + i + 'prev" href="#">
232' + r.vars.prevText + '</a></li><li><a class="' + i + 'next" href="#">' + r.vars.nextText + "</a></li></ul>");
233                        if (r.controlsContainer) {
234                            e(r.controlsContainer).append(t);
235                            r.directionNav = e("." + i + "direction-nav li a", r.controlsContainer)
236                        } else {
237                            r.append(t);
238                            r.directionNav = e("." + i + "direction-nav li a", r)
239                        }
240                        v.directionNav.update();
241                        r.directionNav.bind(u, function(t) {
242                            t.preventDefault();
243                            var n;
244                            if (a === "" || a === t.type) {
245                                n = e(this).hasClass(i + "next") ? r.getTarget("next") : r.getTarget("prev");
246                                r.flexAnimate(n, r.vars.pauseOnAction)
247                            }
248                            if (a === "") {
249                                a = t.type
250                            }
251                            v.setToClearWatchedEvent()
252                        })
253                    },
254                    update: function() {
255                        var e = i + "disabled";
256                        if (r.pagingCount === 1) {
257                            r.directionNav.addClass(e).attr("tabindex", "-1")
258                        } else if (!r.vars.animationLoop) {
259                            if (r.animatingTo === 0) {
260                                r.directionNav.removeClass(e).filter("." + i + "prev").addClass(e).attr("tabindex", "-1")
261                            } else if (r.animatingTo === r.last) {
262                                r.directionNav.removeClass(e).filter("." + i + "next").addClass(e).attr("tabindex", "-1")
263                            } else {
264                                r.directionNav.removeClass(e).removeAttr("tabindex")
265                            }
266                        } else {
267                            r.directionNav.removeClass(e).removeAttr("tabindex")
268                        }
269                    }
270                },
271                pausePlay: {
272                    setup: function() {
273                        var t = e('<div class="' + i + 'pauseplay"><a></a></div>');
274                        if (r.controlsContainer) {
275                            r.controlsContainer.append(t);
276                            r.pausePlay = e("." + i + "pauseplay a", r.controlsContainer)
277                        } else {
278                            r.append(t);
279                            r.pausePlay = e("." + i + "pauseplay a", r)
280                        }
281                        v.pausePlay.update(r.vars.slideshow ? i + "pause" : i + "play");
282                        r.pausePlay.bind(u, function(t) {
283                            t.preventDefault();
284                            if (a === "" || a === t.type) {
285                                if (e(this).hasClass(i + "pause")) {
286                                    r.manualPause = true;
287                                    r.manualPlay = false;
288                                    r.pause()
289                                } else {
290                                    r.manualPause = false;
291                                    r.manualPlay = true;
292                                    r.play()
293                                }
294                            }
295                            if (a === "") {
296                                a = t.type
297                            }
298                            v.setToClearWatchedEvent()
299                        })
300                    },
301                    update: function(e) {
302                        e === "play" ? r.pausePlay.removeClass(i + "pause").addClass(i + "play").html(r.vars.playText) : r.pausePlay.removeClass(i + "play").addClass(i + "pause").html(r.vars.pauseText)
303                    }
304                },
305                touch: function() {
306                    var e, n, i, o, u, a, f = false, d = 0, v = 0, m = 0;
307                    if (!s) {
308                        t.addEventListener("touchstart", g, false);
309                        function g(s) {
310                            if (r.animating) {
311                                s.preventDefault()
312                            } else if (window.navigator.msPointerEnabled || s.touches.length === 1) {
313                                r.pause();
314                                o = l ? r.h : r.w;
315                                a = Number(new Date);
316                                d = s.touches[0].pageX;
317                                v = s.touches[0].pageY;
318                                i = h && c && r.animatingTo === r.last ? 0 : h && c ? r.limit - (r.itemW + r.vars.itemMargin) * r.move * r.animatingTo : h && r.currentSlide === r.last ? r.limit : h ? (r.itemW + r.vars.itemMargin) * r.move * r.currentSlide : c ? (r.last - r.currentSlide + r.cloneOffset) * o : (r.currentSlide + r.cloneOffset) * o;
319                                e = l ? v : d;
320                                n = l ? d : v;
321                                t.addEventListener("touchmove", y, false);
322                                t.addEventListener("touchend", b, false)
323                            }
324                        }
325                        function y(t) {
326                            d = t.touches[0].pageX;
327                            v = t.touches[0].pageY;
328                            u = l ? e - v : e - d;
329                            f = l ? Math.abs(u) < Math.abs(d - n) : Math.abs(u) < Math.abs(v - n);
330                            var s = 500;
331                            if (!f || Number(new Date) - a > s) {
332                                t.preventDefault();
333                                if (!p && r.transitions) {
334                                    if (!r.vars.animationLoop) {
335                                        u = u / (r.currentSlide === 0 && u < 0 || r.currentSlide === r.last && u > 0 ? Math.abs(u) / o + 2 : 1)
336                                    }
337                                    r.setProps(i + u, "setTouch")
338                                }
339                            }
340                        }
341                        function b(s) {
342                            t.removeEventListener("touchmove", y, false);
343                            if (r.animatingTo === r.currentSlide && !f && !(u === null)) {
344                                var l = c ? -u : u
345                                    , h = l > 0 ? r.getTarget("next") : r.getTarget("prev");
346                                if (r.canAdvance(h) && (Number(new Date) - a < 550 && Math.abs(l) > 50 || Math.abs(l) > o / 2)) {
347                                    r.flexAnimate(h, r.vars.pauseOnAction)
348                                } else {
349                                    // Mise en commentaire par GLAROCHE
350                                    // Problème : le slider se bloque si au tout début on fait un simple click sur le slider
351                                    // en mode écran touch.
352                                    // console.log(p);
353                                    // if (!p) {
354                                        // r.flexAnimate(r.currentSlide, r.vars.pauseOnAction, true)
355                                    // }
356
357                                }
358                            }
359                            t.removeEventListener("touchend", b, false);
360                            e = null;
361                            n = null;
362                            u = null;
363                            i = null
364                        }
365                    } else {
366                        t.style.msTouchAction = "none";
367                        t._gesture = new MSGesture;
368                        t._gesture.target = t;
369                        t.addEventListener("MSPointerDown", w, false);
370                        t._slider = r;
371                        t.addEventListener("MSGestureChange", E, false);
372                        t.addEventListener("MSGestureEnd", S, false);
373                        function w(e) {
374                            e.stopPropagation();
375                            if (r.animating) {
376                                e.preventDefault()
377                            } else {
378                                r.pause();
379                                t._gesture.addPointer(e.pointerId);
380                                m = 0;
381                                o = l ? r.h : r.w;
382                                a = Number(new Date);
383                                i = h && c && r.animatingTo === r.last ? 0 : h && c ? r.limit - (r.itemW + r.vars.itemMargin) * r.move * r.animatingTo : h && r.currentSlide === r.last ? r.limit : h ? (r.itemW + r.vars.itemMargin) * r.move * r.currentSlide : c ? (r.last - r.currentSlide + r.cloneOffset) * o : (r.currentSlide + r.cloneOffset) * o
384                            }
385                        }
386                        function E(e) {
387                            e.stopPropagation();
388                            var n = e.target._slider;
389                            if (!n) {
390                                return
391                            }
392                            var r = -e.translationX
393                                , s = -e.translationY;
394                            m = m + (l ? s : r);
395                            u = m;
396                            f = l ? Math.abs(m) < Math.abs(-r) : Math.abs(m) < Math.abs(-s);
397                            if (e.detail === e.MSGESTURE_FLAG_INERTIA) {
398                                setImmediate(function() {
399                                    t._gesture.stop()
400                                });
401                                return
402                            }
403                            if (!f || Number(new Date) - a > 500) {
404                                e.preventDefault();
405                                if (!p && n.transitions) {
406                                    if (!n.vars.animationLoop) {
407                                        u = m / (n.currentSlide === 0 && m < 0 || n.currentSlide === n.last && m > 0 ? Math.abs(m) / o + 2 : 1)
408                                    }
409                                    n.setProps(i + u, "setTouch")
410                                }
411                            }
412                        }
413                        function S(t) {
414                            t.stopPropagation();
415                            var r = t.target._slider;
416                            if (!r) {
417                                return
418                            }
419                            if (r.animatingTo === r.currentSlide && !f && !(u === null)) {
420                                var s = c ? -u : u
421                                    , l = s > 0 ? r.getTarget("next") : r.getTarget("prev");
422                                if (r.canAdvance(l) && (Number(new Date) - a < 550 && Math.abs(s) > 50 || Math.abs(s) > o / 2)) {
423                                    r.flexAnimate(l, r.vars.pauseOnAction)
424                                } else {
425                                    if (!p)
426                                        r.flexAnimate(r.currentSlide, r.vars.pauseOnAction, true)
427                                }
428                            }
429                            e = null;
430                            n = null;
431                            u = null;
432                            i = null;
433                            m = 0
434                        }
435                    }
436                },
437                resize: function() {
438                    if (!r.animating && r.is(":visible")) {
439                        if (!h)
440                            r.doMath();
441                        if (p) {
442                            v.smoothHeight()
443                        } else if (h) {
444                            r.slides.width(r.computedW);
445                            r.update(r.pagingCount);
446                            r.setProps()
447                        } else if (l) {
448                            r.viewport.height(r.h);
449                            r.setProps(r.h, "setTotal")
450                        } else {
451                            if (r.vars.smoothHeight)
452                                v.smoothHeight();
453                            r.newSlides.width(r.computedW);
454                            r.setProps(r.computedW, "setTotal")
455                        }
456                    }
457                },
458                smoothHeight: function(e) {
459                    if (!l || p) {
460                        var t = p ? r : r.viewport;
461                        e ? t.animate({
462                                height: r.slides.eq(r.animatingTo).height()
463                            }, e) : t.height(r.slides.eq(r.animatingTo).height())
464                    }
465                },
466                sync: function(t) {
467                    var n = e(r.vars.sync).data("flexslider")
468                        , i = r.animatingTo;
469                    switch (t) {
470                        case "animate":
471                            n.flexAnimate(i, r.vars.pauseOnAction, false, true);
472                            break;
473                        case "play":
474                            if (!n.playing && !n.asNav) {
475                                n.play()
476                            }
477                            break;
478                        case "pause":
479                            n.pause();
480                            break
481                    }
482                },
483                pauseInvisible: {
484                    visProp: null,
485                    init: function() {
486                        var e = ["webkit", "moz", "ms", "o"];
487                        if ("hidden"in document)
488                            return "hidden";
489                        for (var t = 0; t < e.length; t++) {
490                            if (e[t] + "Hidden"in document)
491                                v.pauseInvisible.visProp = e[t] + "Hidden"
492                        }
493                        if (v.pauseInvisible.visProp) {
494                            var n = v.pauseInvisible.visProp.replace(/[H|h]idden/, "") + "visibilitychange";
495                            document.addEventListener(n, function() {
496                                if (v.pauseInvisible.isHidden()) {
497                                    if (r.startTimeout)
498                                        clearTimeout(r.startTimeout);
499                                    else
500                                        r.pause()
501                                } else {
502                                    if (r.started)
503                                        r.play();
504                                    else
505                                        r.vars.initDelay > 0 ? setTimeout(r.play, r.vars.initDelay) : r.play()
506                                }
507                            })
508                        }
509                    },
510                    isHidden: function() {
511                        return document[v.pauseInvisible.visProp] || false
512                    }
513                },
514                setToClearWatchedEvent: function() {
515                    clearTimeout(f);
516                    f = setTimeout(function() {
517                        a = ""
518                    }, 3e3)
519                }
520            };
521            r.flexAnimate = function(t, n, s, u, a) {
522                if (!r.vars.animationLoop && t !== r.currentSlide) {
523                    r.direction = t > r.currentSlide ? "next" : "prev"
524                }
525                if (d && r.pagingCount === 1)
526                    r.direction = r.currentItem < t ? "next" : "prev";
527                if (!r.animating && (r.canAdvance(t, a) || s) && r.is(":visible")) {
528                    if (d && u) {
529                        var f = e(r.vars.asNavFor).data("flexslider");
530                        r.atEnd = t === 0 || t === r.count - 1;
531                        f.flexAnimate(t, true, false, true, a);
532                        r.direction = r.currentItem < t ? "next" : "prev";
533                        f.direction = r.direction;
534                        if (Math.ceil((t + 1) / r.visible) - 1 !== r.currentSlide && t !== 0) {
535                            r.currentItem = t;
536                            r.slides.removeClass(i + "active-slide").eq(t).addClass(i + "active-slide");
537                            t = Math.flo
537or(t / r.visible)
538                        } else {
539                            r.currentItem = t;
540                            r.slides.removeClass(i + "active-slide").eq(t).addClass(i + "active-slide");
541                            return false
542                        }
543                    }
544                    r.animating = true;
545                    r.animatingTo = t;
546                    if (n)
547                        r.pause();
548                    r.vars.before(r);
549                    if (r.syncExists && !a)
550                        v.sync("animate");
551                    if (r.vars.controlNav)
552                        v.controlNav.active();
553                    if (!h)
554                        r.slides.removeClass(i + "active-slide").eq(t).addClass(i + "active-slide");
555                    r.atEnd = t === 0 || t === r.last;
556                    if (r.vars.directionNav)
557                        v.directionNav.update();
558                    if (t === r.last) {
559                        r.vars.end(r);
560                        if (!r.vars.animationLoop)
561                            r.pause()
562                    }
563                    if (!p) {
564                        var m = l ? r.slides.filter(":first").height() : r.computedW, g, y, b;
565                        if (h) {
566                            g = r.vars.itemMargin;
567                            b = (r.itemW + g) * r.move * r.animatingTo;
568                            y = b > r.limit && r.visible !== 1 ? r.limit : b
569                        } else if (r.currentSlide === 0 && t === r.count - 1 && r.vars.animationLoop && r.direction !== "next") {
570                            y = c ? (r.count + r.cloneOffset) * m : 0
571                        } else if (r.currentSlide === r.last && t === 0 && r.vars.animationLoop && r.direction !== "prev") {
572                            y = c ? 0 : (r.count + 1) * m
573                        } else {
574                            y = c ? (r.count - 1 - t + r.cloneOffset) * m : (t + r.cloneOffset) * m
575                        }
576                        r.setProps(y, "", r.vars.animationSpeed);
577                        if (r.transitions) {
578                            if (!r.vars.animationLoop || !r.atEnd) {
579                                r.animating = false;
580                                r.currentSlide = r.animatingTo
581                            }
582                            r.container.unbind("webkitTransitionEnd transitionend");
583                            r.container.bind("webkitTransitionEnd transitionend", function() {
584                                r.wrapup(m)
585                            })
586                        } else {
587                            r.container.animate(r.args, r.vars.animationSpeed, r.vars.easing, function() {
588                                r.wrapup(m)
589                            })
590                        }
591                    } else {
592                        if (!o) {
593                            r.slides.eq(r.currentSlide).css({
594                                zIndex: 1
595                            }).animate({
596                                opacity: 0
597                            }, r.vars.animationSpeed, r.vars.easing);
598                            r.slides.eq(t).css({
599                                zIndex: 2
600                            }).animate({
601                                opacity: 1
602                            }, r.vars.animationSpeed, r.vars.easing, r.wrapup)
603                        } else {
604                            r.slides.eq(r.currentSlide).css({
605                                opacity: 0,
606                                zIndex: 1
607                            });
608                            r.slides.eq(t).css({
609                                opacity: 1,
610                                zIndex: 2
611                            });
612                            r.wrapup(m)
613                        }
614                    }
615                    if (r.vars.smoothHeight)
616                        v.smoothHeight(r.vars.animationSpeed)
617                }
618            }
619            ;
620            r.wrapup = function(e) {
621                if (!p && !h) {
622                    if (r.currentSlide === 0 && r.animatingTo === r.last && r.vars.animationLoop) {
623                        r.setProps(e, "jumpEnd")
624                    } else if (r.currentSlide === r.last && r.animatingTo === 0 && r.vars.animationLoop) {
625                        r.setProps(e, "jumpStart")
626                    }
627                }
628                r.animating = false;
629                r.currentSlide = r.animatingTo;
630                r.vars.after(r)
631            }
632            ;
633            r.animateSlides = function() {
634                if (!r.animating && m)
635                    r.flexAnimate(r.getTarget("next"))
636            }
637            ;
638            r.pause = function() {
639                clearInterval(r.animatedSlides);
640                r.animatedSlides = null;
641                r.playing = false;
642                if (r.vars.pausePlay)
643                    v.pausePlay.update("play");
644                if (r.syncExists)
645                    v.sync("pause")
646            }
647            ;
648            r.play = function() {
649                if (r.playing)
650                    clearInterval(r.animatedSlides);
651                r.animatedSlides = r.animatedSlides || setInterval(r.animateSlides, r.vars.slideshowSpeed);
652                r.started = r.playing = true;
653                if (r.vars.pausePlay)
654                    v.pausePlay.update("pause");
655                if (r.syncExists)
656                    v.sync("play")
657            }
658            ;
659            r.stop = function() {
660                r.pause();
661                r.stopped = true
662            }
663            ;
664            r.canAdvance = function(e, t) {
665                var n = d ? r.pagingCount - 1 : r.last;
666                return t ? true : d && r.currentItem === r.count - 1 && e === 0 && r.direction === "prev" ? true : d && r.currentItem === 0 && e === r.pagingCount - 1 && r.direction !== "next" ? false : e === r.currentSlide && !d ? false : r.vars.animationLoop ? true : r.atEnd && r.currentSlide === 0 && e === n && r.direction !== "next" ? false : r.atEnd && r.currentSlide === n && e === 0 && r.direction === "next" ? false : true
667            }
668            ;
669            r.getTarget = function(e) {
670                r.direction = e;
671                if (e === "next") {
672                    return r.currentSlide === r.last ? 0 : r.currentSlide + 1
673                } else {
674                    return r.currentSlide === 0 ? r.last : r.currentSlide - 1
675                }
676            }
677            ;
678            r.setProps = function(e, t, n) {
679                var i = function() {
680                    var n = e ? e : (r.itemW + r.vars.itemMargin) * r.move * r.animatingTo
681                        , i = function() {
682                        if (h) {
683                            return t === "setTouch" ? e : c && r.animatingTo === r.last ? 0 : c ? r.limit - (r.itemW + r.vars.itemMargin) * r.move * r.animatingTo : r.animatingTo === r.last ? r.limit : n
684                        } else {
685                            switch (t) {
686                                case "setTotal":
687                                    return c ? (r.count - 1 - r.currentSlide + r.cloneOffset) * e : (r.currentSlide + r.cloneOffset) * e;
688                                case "setTouch":
689                                    return c ? e : e;
690                                case "jumpEnd":
691                                    return c ? e : r.count * e;
692                                case "jumpStart":
693                                    return c ? r.count * e : e;
694                                default:
695                                    return e
696                            }
697                        }
698                    }();
699                    return parseInt(i) * -1 + "px"
700                }();
701                if (r.transitions) {
702                    i = l ? "translate3d(0," + i + ",0)" : "translate3d(" + i + ",0,0)";
703                    n = n !== undefined ? n / 1e3 + "s" : "0s";
704                    r.container.css("-" + r.pfx + "-transition-duration", n)
705                }
706                r.args[r.prop] = i;
707                if (r.transitions || n === undefined)
708                    r.container.css(r.args)
709            }
710            ;
711            r.setup = function(t) {
712                if (!p) {
713                    var n, s;
714                    if (t === "init") {
715                        r.viewport = e('<div class="' + i + 'viewport"></div>').css({
716                            overflow: "hidden",
717                            position: "relative"
718                        }).appendTo(r).append(r.container);
719                        r.cloneCount = 0;
720                        r.cloneOffset = 0;
721                        if (c) {
722                            s = e.makeArray(r.slides).reverse();
723                            r.slides = e(s);
724                            r.container.empty().append(r.slides)
725                        }
726                    }
727                    if (r.vars.animationLoop && !h) {
728                        r.cloneCount = 2;
729                        r.cloneOffset = 1;
730                        if (t !== "init")
731                            r.container.find(".clone").remove();
732                        r.container.append(r.slides.first().clone().addClass("clone").attr("aria-hidden", "true")).prepend(r.slides.last().clone().addClass("clone").attr("aria-hidden", "true"))
733                    }
734                    r.newSlides = e(r.vars.selector, r);
735                    n = c ? r.count - 1 - r.currentSlide + r.cloneOffset : r.currentSlide + r.cloneOffset;
736                    if (l && !h) {
737                        r.container.height((r.count + r.cloneCount) * 200 + "%").css("position", "absolute").width("100%");
738                        setTimeout(function() {
739                            r.newSlides.css({
740                                display: "block"
741                            });
742                            r.doMath();
743                            r.viewport.height(r.h);
744                            r.setProps(n * r.h, "init")
745                        }, t === "init" ? 100 : 0)
746                    } else {
747                        r.container.width((r.count + r.cloneCount) * 200 + "%");
748                        r.setProps(n * r.computedW, "init");
749                        setTimeout(function() {
750                            r.doMath();
751                            r.newSlides.css({
752                                width: r.computedW,
753                                "float": "left",
754                                display: "block"
755                            });
756                            if (r.vars.smoothHeight)
757                                v.smoothHeight()
758                        }, t === "init" ? 100 : 0)
759                    }
760                } else {
761                    r.slides.css({
762                        width: "100%",
763                        "float": "left",
764                        marginRight: "-100%",
765                        position: "relative"
766                    });
767                    if (t === "init") {
768                        if (!o) {
769                            r.slides.css({
770                                opacity: 0,
771                                display: "block",
772                                zIndex: 1
773                            }).eq(r.currentSlide).css({
774                                zIndex: 2
775                            }).animate({
776                                opacity: 1
777                            }, r.vars.animationSpeed, r.vars.easing)
778                        } else {
779                            r.slides.css({
780                                opacity: 0,
781                                display: "block",
782                                webkitTransition: "opacity " + r.vars.animationSpeed / 1e3 + "s ease",
783                                zIndex: 1
784                            }).eq(r.currentSlide).css({
785                                opacity: 1,
786                                zIndex: 2
787                            })
788                        }
789                    }
790                    if (r.vars.smoothHeight)
791                        v.smoothHeight()
792                }
793                if (!h)
794                    r.slides.removeClass(i + "active-slide").eq(r.currentSlide).addClass(i + "active-slide")
795            }
796            ;
797            r.doMath = function() {
798                var e = r.slides.first()
799                    , t = r.vars.itemMargin
800                    , n = r.vars.minItems
801                    , i = r.vars.maxItems;
802                r.w = r.viewport === undefined ? r.width() : r.viewport.width();
803                r.h = e.height();
804                r.boxPadding = e.outerWidth() - e.width();
805                if (h) {
806                    r.itemT = r.vars.itemWidth + t;
807                    r.minW = n ? n * r.itemT : r.w;
808                    r.maxW = i ? i * r.itemT - t : r.w;
809                    r.itemW = r.minW > r.w ? (r.w - t * (n - 1)) / n : r.maxW < r.w ? (r.w - t * (i - 1)) / i : r.vars.itemWidth > r.w ? r.w : r.vars.itemWidth;
810                    r.visible = Math.floor(r.w / r.itemW);
811                    r.move = r.vars.move > 0 && r.vars.move < r.visible ? r.vars.move : r.visible;
812                    r.pagingCount = Math.ceil((r.count - r.visible) / r.move + 1);
813                    r.last = r.pagingCount - 1;
814                    r.limit = r.pagingCount === 1 ? 0 : r.vars.itemWidth > r.w ? r.itemW * (r.count - 1) + t * (r.count - 1) : (r.itemW + t) * r.count - r.w - t
815                } else {
816                    r.itemW = r.w;
817                    r.pagingCount = r.count;
818                    r.last = r.count - 1
819                }
820                r.itemW = parseInt(r.itemW);
821                r.computedW = r.itemW - r.boxPadding
822            }
823            ;
824            r.update = function(e, t) {
825                r.doMath();
826                if (!h) {
827                    if (e < r.currentSlide) {
828                        r.currentSlide += 1
829                    } else if (e <= r.currentSlide && e !== 0) {
830                        r.currentSlide -= 1
831                    }
832                    r.animatingTo = r.currentSlide
833                }
834                if (r.vars.controlNav && !r.manualControls) {
835                    if (t === "add" && !h || r.pagingCount > r.controlNav.length) {
836                        v.controlNav.update("add")
837                    } else if (t === "remove" && !h || r.pagingCount < r.controlNav.length) {
838                        if (h && r.currentSlide > r.last) {
839                            r.currentSlide -= 1;
840                            r.animatingTo -= 1
841                        }
842                        v.controlNav.update("remove", r.last)
843                    }
844                }
845                if (r.vars.directionNav)
846                    v.directionNav.update()
847            }
848            ;
849            r.addSlide = function(t, n) {
850                var i = e(t);
851                r.count += 1;
852                r.last = r.count - 1;
853                if (l && c) {
854                    n !== undefined ? r.slides.eq(r.count - n).after(i) : r.container.prepend(i)
855                } else {
856                    n !== undefined ? r.slides.eq(n).before(i) : r.container.append(i)
857                }
858                r.update(n, "add");
859                r.slides = e(r.vars.selector + ":not(.clone)", r);
860                r.setup();
861                r.vars.added(r)
862            }
863            ;
864            r.removeSlide = function(t) {
865                var n = isNaN(t) ? r.slides.index(e(t)) : t;
866                r.count -= 1;
867                r.last = r.count - 1;
868                if (isNaN(t)) {
869                    e(t, r.slides).remove()
870                } else {
871                    l && c ? r.slides.eq(r.last).remove() : r.slides.eq(t).remove()
872                }
873                r.doMath();
874                r.update(n, "remove");
875                r.slides = e(r.vars.selector + ":not(.clone)", r);
876                r.setup();
877                r.vars.removed(r)
878            }
879            ;
880            v.init()
881        }
882        ;
883        e(window).blur(function(e) {
884            focused = false
885        }).focus(function(e) {
886            focused = true
887        });
888        e.flexslider.defaults = {
889            namespace: "flex-",
890            selector: ".slides > li",
891            animation: "fade",
892            easing: "swing",
893            direction: "horizontal",
894            reverse: false,
895            animationLoop: true,
896            smoothHeight: false,
897            startAt: 0,
898            slideshow: true,
899            slideshowSpeed: 7e3,
900            animationSpeed: 600,
901            initDelay: 0,
902            randomize: false,
903            thumbCaptions: false,
904            pauseOnAction: true,
905            pauseOnHover: false,
906            pauseInvisible: true,
907            useCSS: true,
908            touch: true,
909            video: false,
910            controlNav: true,
911            directionNav: true,
912            prevText: "Previous",
913            nextText: "Next",
914            keyboard: true,
915            multipleKeyboard: false,
916            mousewheel: false,
917            pausePlay: false,
918            pauseText: "Pause",
919            playText: "Play",
920            controlsContainer: "",
921            manualControls: "",
922            sync: "",
923            asNavFor: "",
924            itemWidth: 0,
925            itemMargin: 0,
926            minItems: 1,
927            maxItems: 0,
928            move: 0,
929            allowOneSlide: true,
930            start: function() {},
931            before: function() {},
932            after: function() {},
933            end: function() {},
934            added: function() {},
935            removed: function() {}
936        };
937        e.fn.flexslider = function(t) {
938            if (t === undefined)
939                t = {};
940            if (typeof t === "object") {
941                return this.each(function() {
942                    var n = e(this)
943                        , r = t.selector ? t.selector : ".slides > li"
944                        , i = n.find(r);
945                    if (i.length === 1 && t.allowOneSlide === true || i.length === 0) {
946                        i.fadeIn(400);
947                        if (t.start)
948                            t.start(n)
949                    } else if (n.data("flexslider") === undefined) {
950                        new e.flexslider(this,t)
951                    }
952                })
953            } else {
954                var n = e(this).data("flexslider");
955                switch (t) {
956                    case "play":
957                        n.play();
958                        break;
959                    case "pause":
960                        n.pause();
961                        break;
962                    case "stop":
963                        n.stop();
964                        break;
965                    case "next":
966                        n.flexAnimate(n.getTarget("next"), true);
967                        break;
968                    case "prev":
969                    case "previous":
970                        n.flexAnimate(n.getTarget("prev"), true);
971                        break;
972                    default:
973                        if (typeof t === "number")
974                            n.flexAnimate(t, true)
975                }
976            }
977        }
978    }
979)(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.