1/* 2Sequence.js (http://www.sequencejs.com) 3Version: 1.0.1.1 4Author: Ian Lunn @IanLunn 5Author URL: http://www.ianlunn.co.uk/ 6Github: https://github.com/IanLunn/Sequence 7 8This is a FREE script and is available under a MIT License: 9http://www.opensource.org/licenses/mit-license.php 10 11Sequence.js and its dependencies are (c) Ian Lunn Design 2012 - 2013 unless otherwise stated. 12 13Sequence also relies on the following open source scripts: 14 15- jQuery imagesLoaded 2.1.0 (http://github.com/desandro/imagesloaded) 16 Paul Irish et al 17 Available under a MIT License: http://www.opensource.org/licenses/mit-license.php 18 19- jQuery TouchWipe 1.1.1 (http://www.netcu.de/jquery-touchwipe-iphone-ipad-library) 20 Andreas Waltl, netCU Internetagentur (http://www.netcu.de) 21 Available under a MIT License: http://www.opensource.org/licenses/mit-license.php 22 23- Modernizr 2.6.1 Custom Build (http://modernizr.com/) (Named Modernizr for Sequence to prevent conflicts) 24 Copyright (c) Faruk Ates, Paul Irish, Alex Sexton 25 Available under the BSD and MIT licenses: www.modernizr.com/license/ 26 */ 27(function(e) { 28 function n(n, r, i, s) { 29 function f() { 30 o.afterLoaded(); 31 o.settings.hideFramesUntilPreloaded && o.settings.preloader !== undefined && o.settings.preloader !== !1 && o.frames.show(); 32 if (o.settings.preloader !== undefined && o.settings.preloader !== !1) 33 if (o.settings.hidePreloaderUsingCSS && o.transitionsSupported) { 34 o.prependPreloadingCompleteTo = o.settings.prependPreloadingComplete === !0 ? o.settings.preloader : e(o.settings.prependPreloadingComplete); 35 o.prependPreloadingCompleteTo.addClass("preloading-complete"); 36 setTimeout(g, o.settings.hidePreloaderDelay) 37 } else 38 o.settings.preloader.fadeOut(o.settings.hidePreloaderDelay, function() { 39 clearInterval(o.defaultPreloader); 40 g() 41 }); 42 else 43 g() 44 } 45 function h(t, n) { 46 var r = []; 47 if (!n) 48 for (var i = t; i > 0; i--) 49 o.frames.eq(o.settings.preloadTheseFrames[i - 1] - 1).find("img").each(function() { 50 r.push(e(this)[0]) 51 }); 52 else 53 for (var s = t; s > 0; s--) 54 r.push(e("body").find('img[src="' + o.settings.preloadTheseImages[s - 1] + '"]')); 55 return r 56 } 57 function p(t, n) { 58 function c() { 59 var t = e(f) 60 , r = e(l); 61 s && (l.length ? s.reject(u, t, r) : s.resolve(u)); 62 e.isFunction(n) && n.call(i, u, t, r) 63 } 64 function h(t, n) { 65 if (t.src === r || e.inArray(t, a) !== -1) 66 return; 67 a.push(t); 68 n ? l.push(t) : f.push(t); 69 e.data(t, "imagesLoaded", { 70 isBroken: n, 71 src: t.src 72 }); 73 o && s.notifyWith(e(t), [n, u, e(f), e(l)]); 74 if (u.length === a.length) { 75 setTimeout(c); 76 u.unbind(".imagesLoaded") 77 } 78 } 79 var r = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==" 80 , i = t 81 , s = e.isFunction(e.Deferred) ? e.Deferred() : 0 82 , o = e.isFunction(s.notify) 83 , u = i.find("img").add(i.filter("img")) 84 , a = [] 85 , f = [] 86 , l = []; 87 e.isPlainObject(n) && e.each(n, function(e, t) { 88 e === "callback" ? n = t : s && s[e](t) 89 }); 90 u.length ? u.bind("load.imagesLoaded error.imagesLoaded", function(e) { 91 h(e.target, e.type === "error") 92 }).each(function(t, n) { 93 var i = n.src 94 , s = e.data(n, "imagesLoaded"); 95 if (s && s.src === i) { 96 h(n, s.isBroken); 97 return 98 }
99 if (n.complete && n.naturalWidth !== undefined) { 100 h(n, n.naturalWidth === 0 || n.naturalHeight === 0); 101 return 102 } 103 if (n.readyState || n.complete) { 104 n.src = r; 105 n.src = i 106 } 107 }) : c() 108 } 109 function g() { 110 function t(e, t) { 111 var r, i; 112 for (i in t) { 113 i === "left" || i === "right" ? r = n[i] : r = i; 114 e === parseFloat(r) && o._initCustomKeyEvent(t[i]) 115 } 116 } 117 function r() { 118 o.canvas.on("touchmove.sequence", i); 119 u = null; 120 f = !1 121 } 122 function i(e) { 123 o.settings.swipePreventsDefault && e.preventDefault(); 124 if (f) { 125 var t = e.originalEvent.touches[0].pageX 126 , n = e.originalEvent.touches[0].pageY 127 , i = u - t 128 , s = a - n; 129 if (Math.abs(i) >= o.settings.swipeThreshold) { 130 r(); 131 i > 0 ? o._initCustomKeyEvent(o.settings.swipeEvents.left) : o._initCustomKeyEvent(o.settings.swipeEvents.right) 132 } else if (Math.abs(s) >= o.settings.swipeThreshold) { 133 r(); 134 s > 0 ? o._initCustomKeyEvent(o.settings.swipeEvents.down) : o._initCustomKeyEvent(o.settings.swipeEvents.up) 135 } 136 } 137 } 138 function s(e) { 139 if (e.originalEvent.touches.length === 1) { 140 u = e.originalEvent.touches[0].pageX; 141 a = e.originalEvent.touches[0].pageY; 142 f = !0; 143 o.canvas.on("touchmove.sequence", i) 144 } 145 } 146 e(o.settings.preloader).remove(); 147 o.nextButton = o._renderUiElements(o.settings.nextButton, ".sequence-next"); 148 o.prevButton = o._renderUiElements(o.settings.prevButton, ".sequence-prev"); 149 o.pauseButton = o._renderUiElements(o.settings.pauseButton, ".sequence-pause"); 150 o.pagination = o._renderUiElements(o.settings.pagination, ".sequence-pagination"); 151 o.nextButton !== undefined && o.nextButton !== !1 && o.settings.showNextButtonOnInit === !0 && o.nextButton.show(); 152 o.prevButton !== undefined && o.prevButton !== !1 && o.settings.showPrevButtonOnInit === !0 && o.prevButton.show(); 153 o.pauseButton !== undefined && o.pauseButton !== !1 && o.settings.showPauseButtonOnInit === !0 && o.pauseButton.show(); 154 if (o.settings.pauseIcon !== !1) { 155 o.pauseIcon = o._renderUiElements(o.settings.pauseIcon, ".sequence-pause-icon"); 156 o.pauseIcon !== undefined && o.pauseIcon.hide() 157 } else 158 o.pauseIcon = undefined; 159 if (o.pagination !== undefined && o.pagination !== !1) { 160 o.paginationLinks = o.pagination.children(); 161 o.paginationLinks.on("click.sequence", function() { 162 var t = e(this).index() + 1; 163 o.goTo(t) 164 }); 165 o.settings.showPaginationOnInit === !0 && o.pagination.show() 166 } 167 o.nextFrameID = o.settings.startingFrameID; 168 if (o.settings.hashTags === !0) { 169 o.frames.each(function() { 170 o.frameHashID.push(e(this).prop(o.getHashTagFrom)) 171 }); 172 o.currentHashTag = location.hash.replace("#", ""); 173 if (o.currentHashTag === undefined || o.currentHashTag === "") 174 o.nextFrameID = o.settings.startingFrameID; 175 else { 176 o.frameHashIndex = e.inArray(o.currentHashTag, o.frameHashID); 177 o.frameHashIndex !== -1 ? o.nextFrameID = o.frameHashIndex + 1 : o.nextFrameID = o.settings.startingFrameID 178 } 179 } 180 o.nextFrame = o.frames.eq(o.nextFrameID - 1); 181 o.nextFrameChildren = o.nextFrame.children(); 182 o.pagination !== undefined && e(o.paginationLinks[o.settings.startingFrameID - 1]).addClass("current"); 183 if (o.transitionsSupported) 184 if (!o.settings.animateStartingFrameIn) { 185 o.currentFrameID = o.nextFrameID; 186 o.settings.moveActiveFrameToTop && o.nextFrame.css("z-index", o.numberOfFrames); 187 o._resetElements(o.transitionPrefix, o.nextFrameChildren, "0s"); 188 o.nextFrame.addClass("animate-in"); 189 if (o.settings.hashTags && o.settings.hashChangesOnFirstFrame) { 190 o.currentHashTag = o.nextFrame.prop(o.getHashTagFrom); 191 document.location.hash = "#" + o.currentHashTag 192 } 193 setTimeout(function() { 194 o._resetElements(o.transitionPrefix, o.nextFrameChildren, "") 195 }, 100); 196 o._resetAutoPlay(!0, o.settings.autoPlayDelay) 197 } else if (o.settings.reverseAnimationsWhenNavigatingBackwards && o.settings.autoPlayDirection - 1 && o.settings.animateStartingFrameIn) { 198 o._resetElements(o.transitionPrefix, o.nextFrameChildren, "0s"); 199 o.nextFrame.addClass("animate-out"); 200 o.goTo(o.nextFrameID, -1, !0) 201 } else 202 o.goTo(o.nextFrameID, 1, !0); 203 else { 204 o.container.addClass("sequence-fallback"); 205 o.currentFrameID = o.nextFrameID; 206 if (o.settings.hashTags && o.settings.hashChangesOnFirstFrame) { 207 o.currentHashTag = o.nextFrame.prop(o.getHashTagFrom); 208 document.location.hash = "#" + o.currentHashTag 209 } 210 o.frames.addClass("animate-in"); 211 o.frames.not(":eq(" + (o.nextFrameID - 1) + ")").css({ 212 display: "none", 213 opacity: 0 214 }); 215 o._resetAutoPlay(!0, o.settings.autoPlayDelay) 216 } 217 o.nextButton !== undefined && o.nextButton.bind("click.sequence", function() { 218 o.next() 219 }); 220 o.prevButton !== undefined && o.prevButton.bind("click.sequence", function() { 221 o.prev() 222 }); 223 o.pauseButton !== undefined && o.pauseButton.bind("click.sequence", function() { 224 o.pause(!0) 225 }); 226 if (o.settings.keyNavigation) { 227 var n = { 228 left: 37, 229 right: 39 230 }; 231 e(document).bind("keydown.sequence", function(e) { 232 var n = String.fromCharCode(e.keyCode); 233 if (n > 0 && n <= o.numberOfFrames && o.settings.numericKeysGoToFrames) { 234 o.nextFrameID = n; 235 o.goTo(o.nextFrameID) 236 } 237 t(e.keyCode, o.settings.keyEvents); 238 t(e.keyCode, o.settings.customKeyEvents) 239 }) 240 } 241 o.canvas.on({ 242 "mouseenter.sequence": function() { 243 if (o.settings.pauseOnHover && o.settings.autoPlay && !o.hasTouch) { 244 o.isBeingHoveredOver = !0; 245 o.isHardPaused || o.pause() 246 } 247 },
248 "mouseleave.sequence": function() { 249 if (o.settings.pauseOnHover && o.settings.autoPlay && !o.hasTouch) { 250 o.isBeingHoveredOver = !1; 251 o.isHardPaused || o.unpause() 252 } 253 } 254 }); 255 o.settings.hashTags && e(window).bind("hashchange.sequence", function() { 256 var t = location.hash.replace("#", ""); 257 if (o.currentHashTag !== t) { 258 o.currentHashTag = t; 259 o.frameHashIndex = e.inArray(o.currentHashTag, o.frameHashID); 260 if (o.frameHashIndex !== -1) { 261 o.nextFrameID = o.frameHashIndex + 1; 262 o.goTo(o.nextFrameID) 263 } 264 } 265 }); 266 if (o.settings.swipeNavigation && o.hasTouch) { 267 var u, a, f = !1; 268 o.canvas.on("touchstart.sequence", s) 269 } 270 } 271 var o = this; 272 o.container = e(n); 273 o.canvas = o.container.children(".sequence-canvas"); 274 o.frames = o.canvas.children("li"); 275 o._modernizrForSequence(); 276 var u = { 277 WebkitTransition: "-webkit-", 278 WebkitAnimation: "-webkit-", 279 MozTransition: "-moz-", 280 "MozAnimation ": "-moz-", 281 OTransition: "-o-", 282 OAnimation: "-o-", 283 msTransition: "-ms-", 284 msAnimation: "-ms-", 285 transition: "", 286 animation: "" 287 } 288 , a = { 289 WebkitTransition: "webkitTransitionEnd.sequence", 290 WebkitAnimation: "webkitAnimationEnd.sequence", 291 MozTransition: "transitionend.sequence", 292 MozAnimation: "animationend.sequence", 293 OTransition: "otransitionend.sequence", 294 OAnimation: "oanimationend.sequence", 295 msTransition: "MSTransitionEnd.sequence", 296 msAnimation: "MSAnimationEnd.sequence", 297 transition: "transitionend.sequence", 298 animation: "animationend.sequence" 299 }; 300 o.transitionPrefix = u[ModernizrForSequence.prefixed("transition")], 301 o.animationPrefix = u[ModernizrForSequence.prefixed("animation")], 302 o.transitionProperties = {}, 303 o.transitionEnd = a[ModernizrForSequence.prefixed("transition")] + " " + a[ModernizrForSequence.prefixed("animation")], 304 o.numberOfFrames = o.frames.length, 305 o.transitionsSupported = o.transitionPrefix !== undefined ? !0 : !1, 306 o.hasTouch = "ontouchstart"in window ? !0 : !1, 307 o.isPaused = !1, 308 o.isBeingHoveredOver = !1, 309 o.container.removeClass("sequence-destroyed"); 310 o.paused = function() {} 311 , 312 o.unpaused = function() {} 313 , 314 o.beforeNextFrameAnimatesIn = function() {} 315 , 316 o.afterNextFrameAnimatesIn = function() {} 317 , 318 o.beforeCurrentFrameAnimatesOut = function() {} 319 , 320 o.afterCurrentFrameAnimatesOut = function() {} 321 , 322 o.afterLoaded = function() {} 323 ; 324 o.destroyed = function() {} 325 ; 326 o.settings = e.extend({}, i, r); 327 o.settings.preloader = o._renderUiElements(o.settings.preloader, ".sequence-preloader"); 328 o.isStartingFrame = o.settings.animateStartingFrameIn ? !0 : !1; 329 o.settings.unpauseDelay = o.settings.unpauseDelay === null ? o.settings.autoPlayDelay : o.settings.unpauseDelay; 330 o.getHashTagFrom = o.settings.hashDataAttribute ? "data-sequence-hashtag" : "id"; 331 o.frameHashID = []; 332 o.direction = o.settings.autoPlayDirection; 333 o.settings.hideFramesUntilPreloaded && o.settings.preloader !== undefined && o.settings.preloader !== !1 && o.frames.hide(); 334 o.transitionPrefix === "-o-" && (o.transitionsSupported = o._operaTest()); 335 o.frames.removeClass("animate-in"); 336 var l = o.settings.preloadTheseFrames.length 337 , c = o.settings.preloadTheseImages.length; 338 if (o.settings.preloader === undefined || o.settings.preloader === !1 || l === 0 && c === 0) 339 if (t === !0) { 340 f(); 341 e(this).unbind("load.sequence") 342 } else 343 e(window).bind("load.sequence", function() { 344 f(); 345 e(this).unbind("load.sequence") 346 }); 347 else { 348 var d = h(l) 349 , v = h(c, !0) 350 , m = e(d.concat(v)); 351 p(m, f) 352 } 353 } 354 var t = !1; 355 e(window).bind("load", function() { 356 t = !0 357 }); 358 n.prototype = { 359 startAutoPlay: function(e) { 360 var t = this;
361 e = e === undefined ? t.settings.autoPlayDelay : e; 362 t.unpause(); 363 t._resetAutoPlay(); 364 t.autoPlayTimer = setTimeout(function() { 365 t.settings.autoPlayDirection === 1 ? t.next() : t.prev() 366 }, e) 367 }, 368 stopAutoPlay: function() { 369 var e = this; 370 e.pause(!0); 371 clearTimeout(e.autoPlayTimer) 372 }, 373 pause: function(e) { 374 var t = this; 375 if (!t.isSoftPaused) { 376 if (t.pauseButton !== undefined) { 377 t.pauseButton.addClass("paused"); 378 t.pauseIcon !== undefined && t.pauseIcon.show() 379 } 380 t.paused(); 381 t.isSoftPaused = !0; 382 t.isHardPaused = e ? !0 : !1; 383 t.isPaused = !0; 384 t._resetAutoPlay() 385 } else 386 t.unpause() 387 }, 388 unpause: function(e) { 389 var t = this; 390 if (t.pauseButton !== undefined) { 391 t.pauseButton.removeClass("paused"); 392 t.pauseIcon !== undefined && t.pauseIcon.hide() 393 } 394 t.isSoftPaused = !1; 395 t.isHardPaused = !1; 396 t.isPaused = !1; 397 if (!t.active) { 398 e !== !1 && t.unpaused(); 399 t._resetAutoPlay(!0, t.settings.unpauseDelay) 400 } else 401 t.delayUnpause = !0 402 }, 403 next: function() { 404 var e = this; 405 id = e.currentFrameID !== e.numberOfFrames ? e.currentFrameID + 1 : 1; 406 e.active === !1 || e.active === undefined ? e.goTo(id, 1) : e.goTo(id, 1, !0) 407 }, 408 prev: function() { 409 var e = this; 410 id = e.currentFrameID === 1 ? e.numberOfFrames : e.currentFrameID - 1; 411 e.active === !1 || e.active === undefined ? e.goTo(id, -1) : e.goTo(id, -1, !0) 412 }, 413 goTo: function(t, n, r) { 414 var i = this; 415 i.nextFrameID = parseFloat(t); 416 var s = r === !0 ? 0 : i.settings.transitionThreshold; 417 if (i.nextFrameID === i.currentFrameID || i.settings.navigationSkip && i.navigationSkipThresholdActive || !i.settings.navigationSkip && i.active || !i.transitionsSupported && i.active || !i.settings.cycle && n === 1 && i.currentFrameID === i.numberOfFrames || !i.settings.cycle && n === -1 && i.currentFrameID === 1 || i.settings.preventReverseSkipping && i.direction !== n && i.active) 418 return !1; 419 if (i.settings.navigationSkip && i.active) { 420 i.navigationSkipThresholdActive = !0; 421 i.settings.fadeFrameWhenSkipped && i.nextFrame.stop().animate({ 422 opacity: 0 423 }, i.settings.fadeFrameTime); 424 clearTimeout(i.transitionThresholdTimer); 425 setTimeout(function() { 426 i.navigationSkipThresholdActive = !1 427 }, i.settings.navigationSkipThreshold) 428 } 429 if (!i.active || i.settings.navigationSkip) { 430 i.active = !0; 431 i._resetAutoPlay(); 432 n === undefined ? i.direction = i.nextFrameID > i.currentFrameID ? 1 : -1 : i.direction = n; 433 i.currentFrame = i.canvas.children(".animate-in"); 434 i.nextFrame = i.frames.eq(i.nextFrameID - 1); 435 i.currentFrameChildren = i.currentFrame.children(); 436 i.nextFrameChildren = i.nextFrame.children(); 437 if (i.pagination !== undefined) { 438 i.paginationLinks.removeClass("current"); 439 e(i.paginationLinks[i.nextFrameID - 1]).addClass("current") 440 } 441 if (i.transitionsSupported) { 442 if (i.currentFrame.length !== undefined) { 443 i.beforeCurrentFrameAnimatesOut(); 444 i.settings.moveActiveFrameToTop && i.currentFrame.css("z-index", 1); 445 i._resetElements(i.transitionPrefix, i.nextFrameChildren, "0s"); 446 if (!i.settings.reverseAnimationsWhenNavigatingBackwards || i.direction === 1) { 447 i.nextFrame.removeClass("animate-out"); 448 i._resetElements(i.transitionPrefix, i.currentFrameChildren, "") 449 } else if (i.settings.reverseAnimationsWhenNavigatingBackwards && i.direction === -1) { 450 i.nextFrame.addClass("animate-out"); 451 i._reverseTransitionProperties() 452 } 453 } else 454 i.isStartingFrame = !1; 455 i.active = !0; 456 i.currentFrame.unbind(i.transitionEnd); 457 i.nextFrame.unbind(i.transitionEnd); 458 i.settings.fadeFrameWhenSkipped && i.settings.navigationSkip && i.nextFrame.css("opacity", 1); 459 i.beforeNextFrameAnimatesIn(); 460 i.settings.moveActiveFrameToTop && i.nextFrame.css("z-index", i.numberOfFrames); 461 if (!i.settings.reverseAnimationsWhenNavigatingBackwards || i.direction === 1) { 462 setTimeout(function() { 463 i._resetElements(i.transitionPrefix, i.nextFrameChildren, ""); 464 i._waitForAnimationsToComplete(i.nextFrame, i.nextFrameChildren, "in"); 465 (i.afterCurrentFrameAnimatesOut !== "function () {}" || i.settings.transitionThreshold === !0 && r !== !0) && i._waitForAnimationsToComplete(i.currentFrame, i.currentFrameChildren, "out", !0, 1) 466 }, 50); 467 setTimeout(function() { 468 if (i.settings.transitionThreshold === !1 || i.settings.transitionThreshold === 0 || r === !0) { 469 i.currentFrame.toggleClass("animate-out animate-in"); 470 i.nextFrame.addClass("animate-in") 471 } else { 472 i.currentFrame.toggleClass("animate-out animate-in"); 473 i.settings.transitionThreshold !== !0 && (i.transitionThresholdTimer = setTimeout(function() { 474 i.nextFrame.addClass("animate-in") 475 }, s)) 476 } 477 }, 50) 478 } else if (i.settings.reverseAnimationsWhenNavigatingBackwards && i.direction === -1) { 479 setTimeout(function() { 480 i._resetElements(i.transitionPrefix, i.currentFrameChildren, ""); 481 i._resetElements(i.transitionPrefix, i.nextFrameChildren, ""); 482 i._reverseTransitionProperties(); 483 i._waitForAnimationsToComplete(i.nextFrame, i.nextFrameChildren, "in"); 484 (i.afterCurrentFrameAnimatesOut !== "function () {}" || i.settings.transitionThreshold === !0 && r !== !0) && i._waitForAnimationsToComplete(i.currentFrame, i.currentFrameChildren, "out", !0, -1) 485 }, 50); 486 setTimeout(function() { 487 if (i.settings.transitionThreshold === !1 || i.settings.transitionThreshold === 0 || r === !0) { 488 i.currentFrame.removeClass("animate-in"); 489 i.nextFrame.toggleClass("animate-out animate-in") 490 } else { 491 i.currentFrame.removeClass("animate-in"); 492 i.settings.transitionThreshold !== !0 && (i.transitionThresholdTimer = setTimeout(function() { 493 i.nextFrame.toggleClass("animate-out animate-in") 494 }, s)) 495 } 496 }, 50) 497 } 498 } else { 499 function o() { 500 i._setHashTag(); 501 i.active = !1; 502 i._resetAutoPlay(!0, i.settings.autoPlayDelay) 503 } 504 switch (i.settings.fallback.theme) { 505 case "fade": 506 i.frames.css({ 507 position: "relative" 508 }); 509 i.beforeCurrentFrameAnimatesOut(); 510 i.currentFrame = i.frames.eq(i.currentFrameID - 1); 511 i.currentFrame.animate({ 512 opacity: 0 513 }, i.settings.fallback.speed, function() { 514 i.currentFrame.css({ 515 display: "none", 516 "z-index": "1" 517 }); 518 i.afterCurrentFrameAnimatesOut(); 519 i.beforeNextFrameAnimatesIn(); 520 i.nextFrame.css({ 521 display: "block", 522 "z-index": i.numberOfFrames 523 }).animate({ 524 opacity: 1 525 }, 500, function() { 526 i.afterNextFrameAnimatesIn() 527 }); 528 o() 529 }); 530 i.frames.css({ 531 position: "relative" 532 }); 533 break; 534 case "slide": 535 default: 536 var u = {} 537 , a = {} 538 , f = {}; 539 if (i.direction === 1) { 540 u.left = "-100%"; 541 a.left = "100%" 542 } else { 543 u.left = "100%"; 544 a.left = "-100%" 545 } 546 f.left = "0"; 547 f.opacity = 1; 548 i.currentFrame = i.frames.eq(i.currentFrameID - 1); 549 i.beforeCurrentFrameAnimatesOut(); 550 i.currentFrame.animate(u, i.settings.fallback.speed, function() { 551 i.currentFrame.css({ 552 display: "none", 553 "z-index": "1" 554 }); 555 i.afterCurrentFrameAnimatesOut() 556 }); 557 i.beforeNextFrameAnimatesIn(); 558 i.nextFrame.show().css(a); 559 i.nextFrame.css({ 560 display: "block", 561 "z-index": i.numberOfFrames 562 }).animate(f, i.settings.fallback.speed, function() { 563 o(); 564 i.afterNextFrameAnimatesIn() 565 }) 566 } 567 } 568 i.currentFrameID = i.nextFrameID 569 } 570 }, 571 destroy: function(t) { 572 var n = this; 573 n.container.addClass("sequence-destroyed"); 574 n.nextButton !== undefined && n.nextButton.unbind("click.sequence"); 575 n.prevButton !== undefined && n.prevButton.unbind("click.sequence"); 576 n.pauseButton !== undefined && n.pauseButton.unbind("click.sequence"); 577 n.pagination !== undefined && n.paginationLinks.unbind("click.sequence");
578 e(document).unbind("keydown.sequence"); 579 n.canvas.unbind("mouseenter.sequence, mouseleave.sequence, touchstart.sequence, touchmove.sequence"); 580 e(window).unbind("hashchange.sequence"); 581 n.stopAutoPlay(); 582 clearTimeout(n.transitionThresholdTimer); 583 n.canvas.children("li").remove(); 584 n.canvas.prepend(n.frames); 585 n.frames.removeClass("animate-in animate-out").removeAttr("style"); 586 n.frames.eq(n.currentFrameID - 1).addClass("animate-in"); 587 n.nextButton !== undefined && n.nextButton !== !1 && n.nextButton.hide(); 588 n.prevButton !== undefined && n.prevButton !== !1 && n.prevButton.hide(); 589 n.pauseButton !== undefined && n.pauseButton !== !1 && n.pauseButton.hide(); 590 n.pauseIcon !== undefined && n.pauseIcon !== !1 && n.pauseIcon.hide(); 591 n.pagination !== undefined && n.pagination !== !1 && n.pagination.hide(); 592 t !== undefined && t(); 593 n.destroyed(); 594 n.container.removeData() 595 }, 596 _initCustomKeyEvent: function(e) { 597 var t = this; 598 switch (e) { 599 case "next": 600 t.next(); 601 break; 602 case "prev": 603 t.prev(); 604 break; 605 case "pause": 606 t.pause(!0) 607 } 608 }, 609 _resetElements: function(e, t, n) { 610 var r = this; 611 t.css(r._prefixCSS(e, { 612 "transition-duration": n, 613 "transition-delay": n, 614 "transition-timing-function": "" 615 })) 616 }, 617 _reverseTransitionProperties: function() { 618 var t = this 619 , n = [] 620 , r = []; 621 t.currentFrameChildren.each(function() { 622 n.push(parseFloat(e(this).css(t.transitionPrefix + "transition-duration").replace("s", "")) + parseFloat(e(this).css(t.transitionPrefix + "transition-delay").replace("s", ""))) 623 }); 624 t.nextFrameChildren.each(function() { 625 r.push(parseFloat(e(this).css(t.transitionPrefix + "transition-duration").replace("s", "")) + parseFloat(e(this).css(t.transitionPrefix + "transition-delay").replace("s", ""))) 626 }); 627 var i = Math.max.apply(Math, n) 628 , s = Math.max.apply(Math, r) 629 , o = i - s 630 , u = 0 631 , a = 0; 632 o < 0 && !t.settings.preventDelayWhenReversingAnimations ? u = Math.abs(o) : o > 0 && (a = Math.abs(o)); 633 var f = function(n, r, i, s) { 634 function o(e) { 635 e = e.split(",")[0]; 636 var t = { 637 linear: "cubic-bezier(0.0,0.0,1.0,1.0)", 638 ease: "cubic-bezier(0.25, 0.1, 0.25, 1.0)", 639 "ease-in": "cubic-bezier(0.42, 0.0, 1.0, 1.0)", 640 "ease-in-out": "cubic-bezier(0.42, 0.0, 0.58, 1.0)", 641 "ease-out": "cubic-bezier(0.0, 0.0, 0.58, 1.0)" 642 }; 643 e.indexOf("cubic-bezier") < 0 && (e = t[e]); 644 return e 645 } 646 r.each(function() { 647 var r = parseFloat(e(this).css(t.transitionPrefix + "transition-duration").replace("s", "")) 648 , u = parseFloat(e(this).css(t.transitionPrefix + "transition-delay").replace("s", "")) 649 , a = e(this).css(t.transitionPrefix + "transition-timing-function"); 650 if (a.indexOf("cubic") === -1) 651 var a = o(a); 652 var f = a.replace("cubic-bezier(", "").replace(")", "").split(","); 653 e.each(f, function(e, t) { 654 f[e] = parseFloat(t) 655 }); 656 var l = [1 - f[2], 1 - f[3], 1 - f[0], 1 - f[1]]; 657 a = "cubic-bezier(" + l + ")"; 658 var c = r + u; 659 n["transition-duration"] = r + "s"; 660 n["transition-delay"] = i - c + s + "s"; 661 n["transition-timing-function"] = a; 662 e(this).css(t._prefixCSS(t.transitionPrefix, n)) 663 }) 664 }; 665 f(t.transitionProperties, t.currentFrameChildren, i, u); 666 f(t.transitionProperties, t.nextFrameChildren, s, a) 667 }, 668 _prefixCSS: function(e, t) { 669 var n = this 670 , r = {}; 671 for (var i in t) 672 r[e + i] = t[i]; 673 return r 674 }, 675 _resetAutoPlay: function(e, t) { 676 var n = this; 677 if (e === !0) { 678 if (n.settings.autoPlay && !n.isSoftPaused) { 679 clearTimeout(n.autoPlayTimer); 680 n.autoPlayTimer = setTimeout(function() { 681 n.settings.autoPlayDirection === 1 ? n.next() : n.prev() 682 }, t) 683 } 684 } else 685 clearTimeout(n.autoPlayTimer) 686 }, 687 _renderUiElements: function(t, n) { 688 var r = this; 689 switch (t) { 690 case !1: 691 return undefined; 692 case !0: 693 n === ".sequence-preloader" && r._defaultPreloader(r.container, r.transitionsSupported, r.animationPrefix); 694 return e(n); 695 default: 696 return e(t) 697 } 698 }, 699 _waitForAnimationsToComplete: function(t, n, r, i, s) { 700 var o = this; 701 if (r === "out") 702 var u = function() { 703 o.afterCurrentFrameAnimatesOut(); 704 o.settings.transitionThreshold === !0 && (s === 1 ? o.nextFrame.addClass("animate-in") : s === -1 && o.nextFrame.toggleClass("animate-out animate-in")) 705 }; 706 else if (r === "in") 707 var u = function() { 708 o.afterNextFrameAnimatesIn(); 709 o._setHashTag(); 710 o.active = !1; 711 if (!o.isHardPaused && !o.isBeingHoveredOver) 712 if (!o.delayUnpause) 713 o.unpause(!1); 714 else { 715 o.delayUnpause = !1; 716 o.unpause() 717 } 718 }; 719 n.data("animationEnded", !1); 720 t.bind(o.transitionEnd, function(r) { 721 e(r.target).data("animationEnded", !0); 722 var i = !0; 723 n.each(function() { 724 if (e(this).data("animationEnded") === !1) { 725 i = !1; 726 return !1 727 } 728 }); 729 if (i) { 730 t.unbind(o.transitionEnd); 731 u() 732 } 733 }) 734 }, 735 _setHashTag: function() { 736 var t = this; 737 if (t.settings.hashTags) { 738 t.currentHashTag = t.nextFrame.prop(t.getHashTagFrom); 739 t.frameHashIndex = e.inArray(t.currentHashTag, t.frameHashID); 740 if (t.frameHashIndex !== -1 && (t.settings.hashChangesOnFirstFrame || !t.isStartingFrame || !t.transitionsSupported)) { 741 t.nextFrameID = t.frameHashIndex + 1; 742 document.location.hash = "#" + t.currentHashTag 743 } else { 744 t.nextFrameID = t.settings.startingFrameID; 745 t.isStartingFrame = !1 746 } 747 } 748 }, 749 _modernizrForSequence: function() { 750 window.ModernizrForSequence = function(e, t, n) { 751 function r(e) { 752 v.cssText = e 753 } 754 function i(e, t) { 755 return r(prefixes.join(e + ";") + (t || "")) 756 } 757 function s(e, t) { 758 return typeof e === t 759 } 760 function o(e, t) {
761 return !!~("" + e).indexOf(t) 762 } 763 function u(e, t) { 764 for (var r in e) { 765 var i = e[r]; 766 if (!o(i, "-") && v[i] !== n) 767 return t == "pfx" ? i : !0 768 } 769 return !1 770 } 771 function a(e, t, r) { 772 for (var i in e) { 773 var o = t[e[i]]; 774 if (o !== n) 775 return r === !1 ? e[i] : s(o, "function") ? o.bind(r || t) : o 776 } 777 return !1 778 } 779 function f(e, t, n) { 780 var r = e.charAt(0).toUpperCase() + e.slice(1) 781 , i = (e + " " + b.join(r + " ") + r).split(" "); 782 return s(t, "string") || s(t, "undefined") ? u(i, t) : (i = (e + " " + w.join(r + " ") + r).split(" "), 783 a(i, t, n)) 784 } 785 var l = "2.6.1", c = {}, h = t.documentElement, p = "modernizrForSequence", d = t.createElement(p), v = d.style, m, g = {}.toString, y = "Webkit Moz O ms", b = y.split(" "), w = y.toLowerCase().split(" "), E = { 786 svg: "http://www.w3.org/2000/svg" 787 }, S = {}, x = {}, T = {}, N = [], C = N.slice, k, L = {}.hasOwnProperty, A; 788 !s(L, "undefined") && !s(L.call, "undefined") ? A = function(e, t) { 789 return L.call(e, t) 790 } 791 : A = function(e, t) { 792 return t in e && s(e.constructor.prototype[t], "undefined") 793 } 794 , 795 Function.prototype.bind || (Function.prototype.bind = function(e) { 796 var t = self; 797 if (typeof t != "function") 798 throw new TypeError; 799 var n = C.call(arguments, 1) 800 , r = function() { 801 if (self instanceof r) { 802 var i = function() {}; 803 i.prototype = t.prototype; 804 var s = new i 805 , o = t.apply(s, n.concat(C.call(arguments))); 806 return Object(o) === o ? o : s 807 } 808 return t.apply(e, n.concat(C.call(arguments))) 809 }; 810 return r 811 } 812 ), 813 S.svg = function() { 814 return !!t.createElementNS && !!t.createElementNS(E.svg, "svg").createSVGRect 815 } 816 ; 817 for (var O in S) 818 A(S, O) && (k = O.toLowerCase(), 819 c[k] = S[O](), 820 N.push((c[k] ? "" : "no-") + k)); 821 return c.addTest = function(e, t) { 822 if (typeof e == "object") 823 for (var r in e) 824 A(e, r) && c.addTest(r, e[r]); 825 else { 826 e = e.toLowerCase(); 827 if (c[e] !== n) 828 return c; 829 t = typeof t == "function" ? t() : t, 830 enableClasses && (h.className += " " + (t ? "" : "no-") + e), 831 c[e] = t 832 } 833 return c 834 } 835 , 836 r(""), 837 d = m = null, 838 c._version = l, 839 c._domPrefixes = w, 840 c._cssomPrefixes = b, 841 c.testProp = function(e) { 842 return u([e]) 843 } 844 , 845 c.testAllProps = f, 846 c.prefixed = function(e, t, n) { 847 return t ? f(e, t, n) : f(e, "pfx") 848 } 849 , 850 c 851 }(self, self.document) 852 }, 853 _defaultPreloader: function(t, n, r) { 854 var i = '<div class="sequence-preloader"><svg class="preloading" xmlns="http://www.w3.org/2000/svg"><circle class="circle" cx="6" cy="6" r="6" /><circle class="circle" cx="22" cy="6" r="6" /><circle class="circle" cx="38" cy="6" r="6" /></svg></div>'; 855 e("head").append("<style>.sequence-preloader{height: 100%;position: absolute;width: 100%;z-index: 999999;}@" + r + "keyframes preload{0%{opacity: 1;}50%{opacity: 0;}100%{opacity: 1;}}.sequence-preloader .preloading .circle{fill: #ff9442;display: inline-block;height: 12px;position: relative;top: -50%;width: 12px;" + r + "animation: preload 1s infinite; animation: preload 1s infinite;}.preloading{display:block;height: 12px;margin: 0 auto;top: 50%;margin-top:-6px;position: relative;width: 48px;}.sequence-preloader .preloading .circle:nth-child(2){" + r + "animation-delay: .15s; animation-delay: .15s;}.sequence-preloader .preloading .circle:nth-child(3){" + r + "animation-delay: .3s; animation-delay: .3s;}.preloading-complete{opacity: 0;visibility: hidden;" + r + "transition-duration: 1s; transition-duration: 1s;}div.inline{background-color: #ff9442; margin-right: 4px; float: left;}</style>"); 856 t.prepend(i); 857 if (!ModernizrForSequence.svg && !n) { 858 e(".sequence-preloader").prepend('<div class="preloading"><div class="circle inline"></div><div class="circle inline"></div><div class="circle inline"></div></div>'); 859 setInterval(function() { 860 e(".sequence-preloader .circle").fadeToggle(500) 861 }, 500) 862 } else 863 n || setInterval(function() { 864 e(".sequence-preloader").fadeToggle(500) 865 }, 500) 866 }, 867 _operaTest: function() { 868 e("body").append('<span id="sequence-opera-test"></span>'); 869 var t = e("#sequence-opera-test"); 870 t.css("-o-transition", "1s"); 871 if (t.css("-o-transition") !== "1s") { 872 t.remove(); 873 return !1 874 } 875 t.remove(); 876 return !0 877 } 878 }; 879 var r = { 880 startingFrameID: 1, 881 cycle: !0, 882 animateStartingFrameIn: !1, 883 transitionThreshold: !1, 884 reverseAnimationsWhenNavigatingBackwards: !0, 885 preventDelayWhenReversingAnimations: !1, 886 moveActiveFrameToTop: !0, 887 autoPlay: !1, 888 autoPlayDirection: 1, 889 autoPlayDelay: 5e3, 890 navigationSkip: !0, 891 navigationSkipThreshold: 250, 892 fadeFrameWhenSkipped: !0, 893 fadeFrameTime: 150, 894 preventReverseSkipping: !1, 895 nextButton: !1, 896 showNextButtonOnInit: !0, 897 prevButton: !1, 898 showPrevButtonOnInit: !0, 899 pauseButton: !1, 900 unpauseDelay: null, 901 pauseOnHover: !0, 902 pauseIcon: !1, 903 showPauseButtonOnInit: !0, 904 pagination: !1, 905 showPaginationOnInit: !0, 906 preloader: !1, 907 preloadTheseFrames: [1], 908 preloadTheseImages: [], 909 hideFramesUntilPreloaded: !0, 910 prependPreloadingComplete: !0, 911 hidePreloaderUsingCSS: !0, 912 hidePreloaderDelay: 0, 913 keyNavigation: !0, 914 numericKeysGoToFrames: !0, 915 keyEvents: { 916 left: "prev", 917 right: "next" 918 }, 919 customKeyEvents: {}, 920 swipeNavigation: !0, 921 swipeThreshold: 20, 922 swipePreventsDefault: !1, 923 swipeEvents: { 924 left: "prev", 925 right: "next", 926 up: !1, 927 down: !1 928 }, 929 hashTags: !1, 930 hashDataAttribute: !1, 931 hashChangesOnFirstFrame: !1, 932 fallback: { 933 theme: "slide", 934 speed: 500 935 } 936 }; 937 e.fn.sequence = function(t) { 938 return this.each(function() { 939 e.data(this, "sequence") || e.data(this, "sequence", new n(e(this),t,r)) 940 }) 941 } 942} 943)(jQuery); 944
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.