1/* 2 * jQuery FlexSlider v2.1 3 * https://www.woothemes.com/flexslider/ 4 * 5 * Copyright 2012 WooThemes 6 * Free to use under the GPLv2 license. 7 * https://www.gnu.org/licenses/gpl-2.0.html 8 * 9 * Contributing author: Tyler Smith (@mbmufffin) 10 */ 11(function(d) { 12 d.flexslider = function(j, l) { 13 var a = d(j), 14 c = d.extend({}, d.flexslider.defaults, l), 15 e = c.namespace, 16 q = "ontouchstart" in window || window.DocumentTouch && document instanceof DocumentTouch, 17 u = q ? "touchend" : "click", 18 m = "vertical" === c.direction, 19 n = c.reverse, 20 h = 0 < c.itemWidth, 21 s = "fade" === c.animation, 22 t = "" !== c.asNavFor, 23 f = {}; 24 d.data(j, "flexslider", a); 25 f = { 26 init: function() { 27 a.animating = !1; 28 a.currentSlide = c.startAt; 29 a.animatingTo = a.currentSlide; 30 a.atEnd = 0 === a.currentSlide || a.currentSlide === a.last; 31 a.containerSelector = c.selector.substr(0, 32 c.selector.search(" ")); 33 a.slides = d(c.selector, a); 34 a.container = d(a.containerSelector, a); 35 a.count = a.slides.length; 36 a.syncExists = 0 < d(c.sync).length; 37 "slide" === c.animation && (c.animation = "swing"); 38 a.prop = m ? "top" : "marginLeft"; 39 a.args = {}; 40 a.manualPause = !1; 41 var b = a, 42 g; 43 if (g = !c.video) 44 if (g = !s) 45 if (g = c.useCSS) a: { 46 g = document.createElement("div"); 47 var p = ["perspectiveProperty", "WebkitPerspective", "MozPerspective", "OPerspective", "msPerspective"], 48 e; 49 for (e in p) 50 if (void 0 !== g.style[p[e]]) { 51 a.pfx = p[e].replace("Perspective", "").toLowerCase(); 52 a.prop = "-" + a.pfx + "-transform"; 53 g = !0; 54 break a 55 } 56 g = !1 57 } 58 b.transitions = g; 59 "" !== c.controlsContainer && (a.controlsContainer = 0 < d(c.controlsContainer).length && d(c.controlsContainer)); 60 "" !== c.manualControls && (a.manualControls = 0 < d(c.manualControls).length && d(c.manualControls)); 61 c.randomize && (a.slides.sort(function() { 62 return Math.round(Math.random()) - 0.5 63 }), a.container.empty().append(a.slides)); 64 a.doMath(); 65 t && f.asNav.setup(); 66 a.setup("init"); 67 c.controlNav && f.controlNav.setup(); 68 c.directionNav && f.directionNav.setup(); 69 c.keyboard && 70 (1 === d(a.containerSelector).length || c.multipleKeyboard) && d(document).bind("keyup", function(b) { 71 b = b.keyCode; 72 if (!a.animating && (39 === b || 37 === b)) b = 39 === b ? a.getTarget("next") : 37 === b ? a.getTarget("prev") : !1, a.flexAnimate(b, c.pauseOnAction) 73 }); 74 c.mousewheel && a.bind("mousewheel", function(b, g) { 75 b.preventDefault(); 76 var d = 0 > g ? a.getTarget("next") : a.getTarget("prev"); 77 a.flexAnimate(d, c.pauseOnAction) 78 }); 79 c.pausePlay && f.pausePlay.setup(); 80 c.slideshow && (c.pauseOnHover && a.hover(function() { 81 !a.manualPlay && !a.manualPause && a.pause() 82 }, 83 function() { 84 !a.manualPause && !a.manualPlay && a.play() 85 }), 0 < c.initDelay ? setTimeout(a.play, c.initDelay) : a.play()); 86 q && c.touch && f.touch(); 87 (!s || s && c.smoothHeight) && d(window).bind("resize focus", f.resize); 88 setTimeout(function() { 89 c.start(a) 90 }, 200) 91 }, 92 asNav: { 93 setup: function() { 94 a.asNav = !0; 95 a.animatingTo = Math.floor(a.currentSlide / a.move); 96 a.currentItem = a.currentSlide; 97 a.slides.removeClass(e + "active-slide").eq(a.currentItem).addClass(e + "active-slide"); 98 a.slides.click(function(b) { 99 b.preventDefault(); 100 b = d(this); 101 var g = b.index(); 102 !d(c.asNavFor).data("flexslider").animating && !b.hasClass("active") && (a.direction = a.currentItem < g ? "next" : "prev", a.flexAnimate(g, c.pauseOnAction, !1, !0, !0)) 103 }) 104 } 105 }, 106 controlNav: { 107 setup: function() { 108 a.manualControls ? f.controlNav.setupManual() : f.controlNav.setupPaging(
108) 109 }, 110 setupPaging: function() { 111 var b = 1, 112 g; 113 a.controlNavScaffold = d('<ol class="' + e + "control-nav " + e + ("thumbnails" === c.controlNav ? "control-thumbs" : "control-paging") + '"></ol>'); 114 if (1 < a.pagingCount) 115 for (var p = 0; p < a.pagingCount; p++) g = "thumbnails" === c.controlNav ? 116 '<img src="' + a.slides.eq(p).attr("data-thumb") + '"/>' : "<a>" + b + "</a>", a.controlNavScaffold.append("<li>" + g + "</li>"), b++; 117 a.controlsContainer ? d(a.controlsContainer).append(a.controlNavScaffold) : a.append(a.controlNavScaffold); 118 f.controlNav.set(); 119 f.controlNav.active(); 120 a.controlNavScaffold.delegate("a, img", u, function(b) { 121 b.preventDefault(); 122 b = d(this); 123 var g = a.controlNav.index(b); 124 b.hasClass(e + "active") || (a.direction = g > a.currentSlide ? "next" : "prev", a.flexAnimate(g, c.pauseOnAction)) 125 }); 126 q && a.controlNavScaffold.delegate("a", 127 "click touchstart", 128 function(a) { 129 a.preventDefault() 130 }) 131 }, 132 setupManual: function() { 133 a.controlNav = a.manualControls; 134 f.controlNav.active(); 135 a.controlNav.live(u, function(b) { 136 b.preventDefault(); 137 b = d(this); 138 var g = a.controlNav.index(b); 139 b.hasClass(e + "active") || (g > a.currentSlide ? a.direction = "next" : a.direction = "prev", a.flexAnimate(g, c.pauseOnAction)) 140 }); 141 q && a.controlNav.live("click touchstart", function(a) { 142 a.preventDefault() 143 }) 144 }, 145 set: function() { 146 a.controlNav = d("." + e + "control-nav li " + ("thumbnails" === c.controlNav ? "img" : "a"), 147 a.controlsContainer ? a.controlsContainer : a) 148 }, 149 active: function() { 150 a.controlNav.removeClass(e + "active").eq(a.animatingTo).addClass(e + "active") 151 }, 152 update: function(b, c) { 153 1 < a.pagingCount && "add" === b ? a.controlNavScaffold.append(d("<li><a>" + a.count + "</a></li>")) : 1 === a.pagingCount ? a.controlNavScaffold.find("li").remove() : a.controlNav.eq(c).closest("li").remove(); 154 f.controlNav.set(); 155 1 < a.pagingCount && a.pagingCount !== a.controlNav.length ? a.update(c, b) : f.controlNav.active() 156 } 157 }, 158 directionNav: { 159 setup: function() { 160 var b = d('<ul class="' + 161 e + 'direction-nav"><li><a class="' + e + 'prev" href="#">' + c.prevText + '</a></li><li><a class="' + e + 'next" href="#">' + c.nextText + "</a></li></ul>"); 162 a.controlsContainer ? (d(a.controlsContainer).append(b), a.directionNav = d("." + e + "direction-nav li a", a.controlsContainer)) : (a.append(b), a.directionNav = d("." + e + "direction-nav li a", a)); 163 f.directionNav.update(); 164 a.directionNav.bind(u, function(b) { 165 b.preventDefault(); 166 b = d(this).hasClass(e + "next") ? a.getTarget("next") : a.getTarget("prev"); 167 a.flexAnimate(b, c.pauseOnAction) 168 }); 169 q && a.directionNav.bind("click touchstart", function(a) { 170 a.preventDefault() 171 }) 172 }, 173 update: function() { 174 var b = e + "disabled"; 175 1 === a.pagingCount ? a.directionNav.addClass(b) : c.animationLoop ? a.directionNav.removeClass(b) : 0 === a.animatingTo ? a.directionNav.removeClass(b).filter("." + e + "prev").addClass(b) : a.animatingTo === a.last ? a.directionNav.removeClass(b).filter("." + e + "next").addClass(b) : a.directionNav.removeClass(b) 176 } 177 }, 178 pausePlay: { 179 setup: function() { 180 var b = d('<div class="' + e + 'pauseplay"><a></a></div>'); 181 a.controlsContainer ? 182 (a.controlsContainer.append(b), a.pausePlay = d("." + e + "pauseplay a", a.controlsContainer)) : (a.append(b), a.pausePlay = d("." + e + "pauseplay a", a)); 183 f.pausePlay.update(c.slideshow ? e + "pause" : e + "play"); 184 a.pausePlay.bind(u, function(b) { 185 b.preventDefault(); 186 d(this).hasClass(e + "pause") ? (a.manualPause = !0, a.manualPlay
186= !1, a.pause()) : (a.manualPause = !1, a.manualPlay = !0, a.play()) 187 }); 188 q && a.pausePlay.bind("click touchstart", function(a) { 189 a.preventDefault() 190 }) 191 }, 192 update: function(b) { 193 "play" === b ? a.pausePlay.removeClass(e + "pause").addClass(e + 194 "play").text(c.playText) : a.pausePlay.removeClass(e + "play").addClass(e + "pause").text(c.pauseText) 195 } 196 }, 197 touch: function() { 198 function b(b) { 199 k = m ? d - b.touches[0].pageY : d - b.touches[0].pageX; 200 q = m ? Math.abs(k) < Math.abs(b.touches[0].pageX - e) : Math.abs(k) < Math.abs(b.touches[0].pageY - e); 201 if (!q || 500 < Number(new Date) - l) b.preventDefault(), !s && a.transitions && (c.animationLoop || (k /= 0 === a.currentSlide && 0 > k || a.currentSlide === a.last && 0 < k ? Math.abs(k) / r + 2 : 1), a.setProps(f + k, "setTouch")) 202 } 203 204 function g() { 205 j.removeEventListener("touchmove", 206 b, !1); 207 if (a.animatingTo === a.currentSlide && !q && null !== k) { 208 var h = n ? -k : k, 209 m = 0 < h ? a.getTarget("next") : a.getTarget("prev"); 210 a.canAdvance(m) && (550 > Number(new Date) - l && 50 < Math.abs(h) || Math.abs(h) > r / 2) ? a.flexAnimate(m, c.pauseOnAction) : s || a.flexAnimate(a.currentSlide, c.pauseOnAction, !0) 211 } 212 j.removeEventListener("touchend", g, !1); 213 f = k = e = d = null 214 } 215 var d, e, f, r, k, l, q = !1; 216 j.addEventListener("touchstart", function(k) { 217 a.animating ? k.preventDefault() : 1 === k.touches.length && (a.pause(), r = m ? a.h : a.w, l = Number(new Date), f = h && n && a.animatingTo === 218 a.last ? 0 : h && n ? a.limit - (a.itemW + c.itemMargin) * a.move * a.animatingTo : h && a.currentSlide === a.last ? a.limit : h ? (a.itemW + c.itemMargin) * a.move * a.currentSlide : n ? (a.last - a.currentSlide + a.cloneOffset) * r : (a.currentSlide + a.cloneOffset) * r, d = m ? k.touches[0].pageY : k.touches[0].pageX, e = m ? k.touches[0].pageX : k.touches[0].pageY, j.addEventListener("touchmove", b, !1), j.addEventListener("touchend", g, !1)) 219 }, !1) 220 }, 221 resize: function() { 222 !a.animating && a.is(":visible") && (h || a.doMath(), s ? f.smoothHeight() : h ? (a.slides.width(a.computedW), 223 a.update(a.pagingCount), a.setProps()) : m ? (a.viewport.height(a.h), a.setProps(a.h, "setTotal")) : (c.smoothHeight && f.smoothHeight(), a.newSlides.width(a.computedW), a.setProps(a.computedW, "setTotal"))) 224 }, 225 smoothHeight: function(b) { 226 if (!m || s) { 227 var c = s ? a : a.viewport; 228 b ? c.animate({ 229 height: a.slides.eq(a.animatingTo).height() 230 }, b) : c.height(a.slides.eq(a.animatingTo).height()) 231 } 232 }, 233 sync: function(b) { 234 var g = d(c.sync).data("flexslider"), 235 e = a.animatingTo; 236 switch (b) { 237 case "animate": 238 g.flexAnimate(e, c.pauseOnAction, !1, !0); 239 break; 240 case "play": 241 !g.playing && 242 !g.asNav && g.play(); 243 break; 244 case "pause": 245 g.pause() 246 } 247 } 248 }; 249 a.flexAnimate = function(b, g, p, j, l) { 250 t && 1 === a.pagingCount && (a.direction = a.currentItem < b ? "next" : "prev"); 251 if (!a.animating && (a.canAdvance(b, l) || p) && a.is(":visible")) { 252 if (t && j) 253 if (p = d(c.asNavFor).data("flexslider"), a.atEnd = 0 === b || b === a.count - 1, p.flexAnimate(b, !0, !1, !0, l), a.direction = a.currentItem < b ? "next" : "prev", p.direction = a.direction, Math.ceil((b + 1) / a.visible) - 1 !== a.currentSlide && 0 !== b) a.currentItem = b, a.slides.removeClass(e + "active-slide").eq(b).addClass(e + 254 "active-slide"), b = Math.floor(b / a.visible); 255 else return a.currentItem = b, a.slides.removeClass(e + "active-slide").eq(b).addClass(e + "active-slide"), !1; 256 a.animating = !0; 257 a.animatingTo = b; 258 c.before(a); 259 g && a.pause(); 260 a.syncExists && !l && f.sync("animate"); 261 c.controlNav && f.controlNav.active(); 262 h || a.slides.removeClass(e + "active-slide").eq(b).addClass(e + "active-slide"); 263 a.atEnd = 0 === b || b === a.last;
264 c.directionNav && f.directionNav.update(); 265 b === a.last && (c.end(a), c.animationLoop || a.pause()); 266 if (s) q ? (a.slides.eq(a.currentSlide).css({ 267 opacity: 0, 268 zIndex: 1 269 }), a.slides.eq(b).css({ 270 opacity: 1, 271 zIndex: 2 272 }), a.slides.unbind("webkitTransitionEnd transitionend"), a.slides.eq(a.currentSlide).bind("webkitTransitionEnd transitionend", function() { 273 c.after(a) 274 }), a.animating = !1, a.currentSlide = a.animatingTo) : (a.slides.eq(a.currentSlide).fadeOut(c.animationSpeed, c.easing), a.slides.eq(b).fadeIn(c.animationSpeed, c.easing, a.wrapup)); 275 else { 276 var r = m ? a.slides.filter(":first").height() : a.computedW; 277 h ? (b = c.itemWidth > a.w ? 2 * c.itemMargin : c.itemMargin, b = (a.itemW + b) * a.move * a.animatingTo, 278 b = b > a.limit && 1 !== a.visible ? a.limit : b) : b = 0 === a.currentSlide && b === a.count - 1 && c.animationLoop && "next" !== a.direction ? n ? (a.count + a.cloneOffset) * r : 0 : a.currentSlide === a.last && 0 === b && c.animationLoop && "prev" !== a.direction ? n ? 0 : (a.count + 1) * r : n ? (a.count - 1 - b + a.cloneOffset) * r : (b + a.cloneOffset) * r; 279 a.setProps(b, "", c.animationSpeed); 280 if (a.transitions) { 281 if (!c.animationLoop || !a.atEnd) a.animating = !1, a.currentSlide = a.animatingTo; 282 a.container.unbind("webkitTransitionEnd transitionend"); 283 a.container.bind("webkitTransitionEnd transitionend", 284 function() { 285 a.wrapup(r) 286 }) 287 } else a.container.animate(a.args, c.animationSpeed, c.easing, function() { 288 a.wrapup(r) 289 }) 290 } 291 c.smoothHeight && f.smoothHeight(c.animationSpeed) 292 } 293 }; 294 a.wrapup = function(b) { 295 !s && !h && (0 === a.currentSlide && a.animatingTo === a.last && c.animationLoop ? a.setProps(b, "jumpEnd") : a.currentSlide === a.last && (0 === a.animatingTo && c.animationLoop) && a.setProps(b, "jumpStart")); 296 a.animating = !1; 297 a.currentSlide = a.animatingTo; 298 c.after(a) 299 }; 300 a.animateSlides = function() { 301 a.animating || a.flexAnimate(a.getTarget("next")) 302 }; 303 a.pause = 304 function() { 305 clearInterval(a.animatedSlides); 306 a.playing = !1; 307 c.pausePlay && f.pausePlay.update("play"); 308 a.syncExists && f.sync("pause") 309 }; 310 a.play = function() { 311 a.animatedSlides = setInterval(a.animateSlides, c.slideshowSpeed); 312 a.playing = !0; 313 c.pausePlay && f.pausePlay.update("pause"); 314 a.syncExists && f.sync("play") 315 }; 316 a.canAdvance = function(b, g) { 317 var d = t ? a.pagingCount - 1 : a.last; 318 return g ? !0 : t && a.currentItem === a.count - 1 && 0 === b && "prev" === a.direction ? !0 : t && 0 === a.currentItem && b === a.pagingCount - 1 && "next" !== a.direction ? !1 : b === a.currentSlide && 319 !t ? !1 : c.animationLoop ? !0 : a.atEnd && 0 === a.currentSlide && b === d && "next" !== a.direction ? !1 : a.atEnd && a.currentSlide === d && 0 === b && "next" === a.direction ? !1 : !0 320 }; 321 a.getTarget = function(b) { 322 a.direction = b; 323 return "next" === b ? a.currentSlide === a.last ? 0 : a.currentSlide + 1 : 0 === a.currentSlide ? a.last : a.currentSlide - 1 324 }; 325 a.setProps = function(b, g, d) { 326 var e, f = b ? b : (a.itemW + c.itemMargin) * a.move * a.animatingTo; 327 e = -1 * function() { 328 if (h) return "setTouch" === g ? b : n && a.animatingTo === a.last ? 0 : n ? a.limit - (a.itemW + c.itemMargin) * a.move * a.animatingTo : a.animatingTo === 329 a.last ? a.limit : f; 330 switch (g) { 331 case "setTotal": 332 return n ? (a.count - 1 - a.currentSlide + a.cloneOffset) * b : (a.currentSlide + a.cloneOffset) * b; 333 case "setTouch": 334 return b; 335 case "jumpEnd": 336 return n ? b : a.count * b; 337 case "jumpStart": 338 return n ? a.count * b : b; 339 default: 340 return b 341 } 342 }() + "px"; 343 a.transitions && (e = m ? "translate3d(0," + e + ",0)" : "translate3d(" + e + ",0,0)", d = void 0 !== d ? d / 1E3 + "s" : "0s", a.container.css("-" + a.pfx + "-transition-duration", d)); 344 a.args[a.prop] = e; 345 (a.transitions || void 0 === d) && a.container.css(a.args) 346 }; 347 a.setup = function(b) { 348 if (s) a.slides.css({ 349 width: "100%", 350 "float": "left", 351 marginRight: "-100%", 352 position: "relative" 353 }), "init" === b && (q ? a.slides.css({ 354 opacity: 0, 355 display: "block", 356 webkitTransition: "opacity " + c.animationSpeed / 1E3 + "s ease", 357 zIndex: 1 358 }).eq(a.currentSlide).css({ 359 opacity: 1, 360 zIndex: 2 361 }) : a.slides.eq(a.currentSlide).fadeIn(c.animationSpeed, c.easing)), c.smoothHeight && f.smoothHeight(); 362 else { 363 var g, p; 364 "init" === b && (a.viewport = d('<div class="' + e + 'viewport"></div>').css({ 365 overflow: "hidden", 366 position: "relative" 367 }).appendTo(a).append(a.container), a.cloneCount = 0, a.cloneOffset = 368 0, n && (p = d.makeArray(a.slides).reverse(), a.slides = d(p), a.container.empty().append(a.slides))); 369 c.animationLoop && !h && (a.cloneCount = 2, a.cloneOffset = 1, "init" !== b && a.container.find(".clone").remove(), a.container.append(a.slides.first().clone().addClass("clone")).prepend(a.slides.last().clone().addClass("clone"))); 370 a.newSlides = d(c.selector, a); 371 g = n ? a.count - 1 - a.currentSlide + a.cloneOffset : a.
371currentSlide + a.cloneOffset; 372 m && !h ? (a.container.height(200 * (a.count + a.cloneCount) + "%").css("position", "absolute").width("100%"), 373 setTimeout(function() { 374 a.newSlides.css({ 375 display: "block" 376 }); 377 a.doMath(); 378 a.viewport.height(a.h); 379 a.setProps(g * a.h, "init") 380 }, "init" === b ? 100 : 0)) : (a.container.width(200 * (a.count + a.cloneCount) + "%"), a.setProps(g * a.computedW, "init"), setTimeout(function() { 381 a.doMath(); 382 a.newSlides.css({ 383 width: a.computedW, 384 "float": "left", 385 display: "block" 386 }); 387 c.smoothHeight && f.smoothHeight() 388 }, "init" === b ? 100 : 0)) 389 } 390 h || a.slides.removeClass(e + "active-slide").eq(a.currentSlide).addClass(e + "active-slide") 391 }; 392 a.doMath = function() { 393 var b = a.slides.first(), 394 d = c.itemMargin, 395 e = c.minItems, 396 f = c.maxItems; 397 a.w = a.width(); 398 a.h = b.height(); 399 a.boxPadding = b.outerWidth() - b.width(); 400 h ? (a.itemT = c.itemWidth + d, a.minW = e ? e * a.itemT : a.w, a.maxW = f ? f * a.itemT : a.w, a.itemW = a.minW > a.w ? (a.w - d * e) / e : a.maxW < a.w ? (a.w - d * f) / f : c.itemWidth > a.w ? a.w : c.itemWidth, a.visible = Math.floor(a.w / (a.itemW + d)), a.move = 0 < c.move && c.move < a.visible ? c.move : a.visible, a.pagingCount = Math.ceil((a.count - a.visible) / a.move + 1), a.last = a.pagingCount - 1, a.limit = 1 === a.pagingCount ? 0 : c.itemWidth > a.w ? (a.itemW + 2 * d) * a.count - a.w - 401 d : (a.itemW + d) * a.count - a.w - d) : (a.itemW = a.w, a.pagingCount = a.count, a.last = a.count - 1); 402 a.computedW = a.itemW - a.boxPadding 403 }; 404 a.update = function(b, d) { 405 a.doMath(); 406 h || (b < a.currentSlide ? a.currentSlide += 1 : b <= a.currentSlide && 0 !== b && (a.currentSlide -= 1), a.animatingTo = a.currentSlide); 407 if (c.controlNav && !a.manualControls) 408 if ("add" === d && !h || a.pagingCount > a.controlNav.length) f.controlNav.update("add"); 409 else if ("remove" === d && !h || a.pagingCount < a.controlNav.length) h && a.currentSlide > a.last && (a.currentSlide -= 1, a.animatingTo -= 1), 410 f.controlNav.update("remove", a.last); 411 c.directionNav && f.directionNav.update() 412 }; 413 a.addSlide = function(b, e) { 414 var f = d(b); 415 a.count += 1; 416 a.last = a.count - 1; 417 m && n ? void 0 !== e ? a.slides.eq(a.count - e).after(f) : a.container.prepend(f) : void 0 !== e ? a.slides.eq(e).before(f) : a.container.append(f); 418 a.update(e, "add"); 419 a.slides = d(c.selector + ":not(.clone)", a); 420 a.setup(); 421 c.added(a) 422 }; 423 a.removeSlide = function(b) { 424 var e = isNaN(b) ? a.slides.index(d(b)) : b; 425 a.count -= 1; 426 a.last = a.count - 1; 427 isNaN(b) ? d(b, a.slides).remove() : m && n ? a.slides.eq(a.last).remove() : 428 a.slides.eq(b).remove(); 429 a.doMath(); 430 a.update(e, "remove"); 431 a.slides = d(c.selector + ":not(.clone)", a); 432 a.setup(); 433 c.removed(a) 434 }; 435 f.init() 436 }; 437 d.flexslider.defaults = { 438 namespace: "flex-", 439 selector: ".slides > li", 440 animation: "fade", 441 easing: "swing", 442 direction: "horizontal", 443 reverse: !1, 444 animationLoop: !0, 445 smoothHeight: !1, 446 startAt: 0, 447 slideshow: !0, 448 slideshowSpeed: 7E3, 449 animationSpeed: 600, 450 initDelay: 0, 451 randomize: !1, 452 pauseOnAction: !0, 453 pauseOnHover: !1, 454 useCSS: !0, 455 touch: !0, 456 video: !1, 457 controlNav: !0, 458 directionNav: !0, 459 prevText: "Previous", 460 nextText: "Next", 461 keyboard: !0, 462 multipleKeyboard: !1, 463 mousewheel: !1, 464 pausePlay: !1, 465 pauseText: "Pause", 466 playText: "Play", 467 controlsContainer: "", 468 manualControls: "", 469 sync: "", 470 asNavFor: "", 471 itemWidth: 0, 472 itemMargin: 0, 473 minItems: 0, 474 maxItems: 0, 475 move: 0, 476 start: function() {}, 477 before: function() {}, 478 after: function() {}, 479 end: function() {}, 480 added: function() {}, 481 removed: function() {} 482 }; 483 d.fn.flexslider = function(j) { 484 void 0 === j && (j = {}); 485 if ("object" === typeof j) return this.each(function() { 486 var a = d(this), 487 c = a.find(j.selector ? j.selector : ".slides > li"); 488 1 === c.length ? (c.fadeIn(400), 489 j.start && j.start(a)) : void 0 == a.data("flexslider") && new d.flexslider(this, j) 490 }); 491 var l = d(this).data("flexslider"); 492 switch (j) { 493 case "play": 494 l.play(); 495 break; 496 case "pause": 497 l.pause(); 498 break; 499 case "next": 500 l.flexAnimate(l.getTarget("next"), !0); 501 break; 502 case "prev": 503 case "previous": 504 l.flexAnimate(l.getTarget("prev"), !0); 505 break; 506 default: 507 "number" === typeof j && l.flexAnimate(j, !0) 508 } 509 } 510})(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.