/* * Slides, A Slideshow Plugin for jQuery * Intructions: http://slidesjs.com * By: Nathan Searles, http://nathansearles.com * Version: 1.2.0 * Updated: February 5th, 2013 * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ (function (a) { a.fn.slides = function (b) { return b = a.extend({}, a.fn.slides.option, b), this.each(function () { function w(g, h, i) { if (!p && o) { switch (p = !0, b.animationStart(n + 1), g) { case "next": l = n, k = n + 1, k = e === k ? 0 : k, r = 2 * f, g = 2 * -f, n = k; break; case "prev": l = n, k = n - 1, k = -1 === k ? e - 1 : k, r = 0, g = 0, n = k; break; } "fade" === h ? b.crossfade ? d.children(":eq(" + k + ")", c).css({ zIndex: 10 }).fadeIn(b.fadeSpeed, b.fadeEasing, function () { b.autoHeight ? d.animate({ height: d.children(":eq(" + k + ")", c).outerHeight() }, b.autoHeightSpeed, function () { d.children(":eq(" + l + ")", c).css({ display: "none", zIndex: 0 }), d.children(":eq(" + k + ")", c).css({ zIndex: 0 }), b.animationComplete(k + 1), p = !1 }) : (d.children(":eq(" + l + ")", c).css({ display: "none", zIndex: 0 }), d.children(":eq(" + k + ")", c).css({ zIndex: 0 }), b.animationComplete(k + 1), p = !1) }) : d.children(":eq(" + l + ")", c).fadeOut(b.fadeSpeed, b.fadeEasing, function () { b.autoHeight ? d.animate({ height: d.children(":eq(" + k + ")", c).outerHeight() }, b.autoHeightSpeed, function () { d.children(":eq(" + k + ")", c).fadeIn(b.fadeSpeed, b.fadeEasing) }) : d.children(":eq(" + k + ")", c).fadeIn(b.fadeSpeed, b.fadeEasing, function () { }), b.animationComplete(k + 1), p = !1 }) : (d.children(":eq(" + k + ")").css({ left: r, display: "block" }), b.autoHeight ? d.animate({ left: g, height: d.children(":eq(" + k + ")").outerHeight() }, b.slideSpeed, b.slideEasing, function () { d.css({ left: -f }), d.children(":eq(" + k + ")").css({ left: f, zIndex: 5 }), d.children(":eq(" + l + ")").css({ left: f, display: "none", zIndex: 0 }), b.animationComplete(k + 1), p = !1 }) : d.animate({ left: g }, b.slideSpeed, b.slideEasing, function () { d.css({ left: -f }), d.children(":eq(" + k + ")").css({ left: f, zIndex: 5 }), d.children(":eq(" + l + ")").css({ left: f, display: "none", zIndex: 0 }), b.animationComplete(k + 1), p = !1 })) } } function x() { clearInterval(c.data("interval")) } function y() { b.pause ? (clearTimeout(c.data("pause")), clearInterval(c.data("interval")), u = setTimeout(function () { clearTimeout(c.data("pause")), v = setInterval(function () { w("next", i) }, b.play), c.data("interval", v) }, b.pause), c.data("pause", u)) : x() } a("." + b.container, a(this)).children().wrapAll('
'); var o, p, q, r, t, u, v, c = a(this), d = a(".slides_control", c), e = d.children().size(), f = d.children().outerWidth(), g = d.children().outerHeight(), h = b.start - 1, i = 0 > b.effect.indexOf(",") ? b.effect : b.effect.replace(" ", "").split(",")[0], j = 0 > b.effect.indexOf(",") ? i : b.effect.replace(" ", "").split(",")[1], k = 0, l = 0, m = 0, n = 0; if (2 > e) return a("." + b.container, a(this)).fadeIn(b.fadeSpeed, b.fadeEasing, function () { o = !0, b.slidesLoaded() }), a("." + b.next + ", ." + b.prev).fadeOut(0), !1; if (!(2 > e)) { if (0 > h && (h = 0), h > e && (h = e - 1), b.start && (n = h), b.randomize && d.randomize(), a("." + b.container, c).css({ overflow: "hidden", position: "relative" }), d.children().css({ position: "absolute", top: 0, left: d.children().outerWidth(), zIndex: 0, display: "none" }), d.css({ position: "relative", width: 3 * f, height: g, left: -f }), a("." + b.container, c).css({ display: "block" }), b.autoHeight && (d.children().css({ height: "auto" }), d.animate({ height: d.children(":eq(" + h + ")").outerHeight() }, b.autoHeightSpeed)), b.preload && d.find("img:eq(" + h + ")").length) { a("." + b.container, c).css({ background: "url(" + b.preloadImage + ") no-repeat 50% 50%" }); var z = d.find("img:eq(" + h + ")").attr("src") + "?" + (new Date).getTime(); t = "slides_control" != a("img", c).parent().attr("class") ? d.children(":eq(0)")[0].tagName.toLowerCase() : d.find("img:eq(" + h + ")"), d.find("img:eq(" + h + ")").attr("src", z).load(function () { d.find(t + ":eq(" + h + ")").fadeIn(b.fadeSpeed, b.fadeEasing, function () { a(this).css({ zIndex: 5 }), a("." + b.container, c).css({ background: "" }), o = !0, b.slidesLoaded() }) }) } else d.children(":eq(" + h + ")").fadeIn(b.fadeSpeed, b.fadeEasing, function () { o = !0, b.slidesLoaded() }); b.bigTarget && (d.children().css({ cursor: "pointer" }), d.children().on("click", function () { return w("next", i), !1 })), b.hoverPause && b.play && (d.bind("mouseover", function () { x() }), d.bind("mouseleave", function () { y() })), b.generateNextPrev && (a("." + b.container, c).after('Prev'), a("." + b.prev, c).after('Next')), a("." + b.next, c).on("click", function (a) { a.preventDefault(), b.play && y(), w("next", i) }), a("." + b.prev, c).on("click", function (a) { a.preventDefault(), b.play && y(), w("prev", i) }).on("click", function () { return b.play && y(), q = a(this).attr("href").match("[^#/]+$"), n != q && w("pagination", j, q), !1 }), a("a.link", c).on("click", function () { return b.play && y(), q = a(this).attr("href").match("[^#/]+$") - 1, n != q && w("pagination", j, q), !1 }), b.play && (v = setInterval(function () { w("next", i) }, b.play), c.data("interval", v)) } }) }, a.fn.slides.option = { preload: !1, preloadImage: "/img/loading.gif", container: "slides_container", generateNextPrev: !1, next: "next", prev: "prev", pagination: !0, generatePagination: !0, prependPagination: !1, paginationClass: "pagination", currentClass: "current", fadeSpeed: 350, fadeEasing: "", slideSpeed: 350, slideEasing: "", start: 1, effect: "slide", crossfade: !1, randomize: !1, play: 0, pause: 0, hoverPause: !1, autoHeight: !1, autoHeightSpeed: 350, bigTarget: !1, animationStart: function () { }, animationComplete: function () { }, slidesLoaded: function () { } }, a.fn.randomize = function (b) { function c() { return Math.round(Math.random()) - .5 } return a(this).each(function () { var d = a(this), e = d.children(), f = e.length; if (f > 1) { e.hide(); var g = []; for (i = 0; f > i; i++) g[g.length] = i; g = g.sort(c), a.each(g, function (a, c) { var f = e.eq(c), g = f.clone(!0); g.show().appendTo(d), void 0 !== b && b(f, g), f.remove() }) } }) } })(jQuery);