/* * Slides, A Slideshow Plugin for jQuery * Intructions: http://slidesjs.com * By: Nathan Searles, http://nathansearles.com * Version: 1.1.9 * Updated: September 5th, 2011 * * 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){p = !0, b.animationStart(n + 1); switch (g){case"next":l = n, k = n + 1, k = e === k?0:k, r = f * 2, g = - f * 2, n = k; break; case"prev":l = n, k = n - 1, k = k === - 1?e - 1:k, r = 0, g = 0, n = k; break; case"pagination":k = parseInt(i, 10), l = a("." + b.paginationClass + " li." + b.currentClass + " a", c).attr("href").match("[^#/]+$"), k > l?(r = f * 2, g = - f * 2):(r = 0, g = 0), n = k}h === "fade"?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(){a.browser.msie && a(this).get(0).style.removeAttribute("filter")}), 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})), b.pagination && (a("." + b.paginationClass + " li." + b.currentClass, c).removeClass(b.currentClass), a("." + b.paginationClass + " li:eq(" + k + ")", c).addClass(b.currentClass))}}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 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 = b.effect.indexOf(",") < 0?b.effect:b.effect.replace(" ", "").split(",")[0], j = b.effect.indexOf(",") < 0?i:b.effect.replace(" ", "").split(",")[1], k = 0, l = 0, m = 0, n = 0, o, p, q, r, s, t, u, v; if (e < 2)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 (e < 2)return; h < 0 && (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:f * 3, 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)); if (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(); a("img", c).parent().attr("class") != "slides_control"?t = d.children(":eq(0)")[0].tagName.toLowerCase():t = 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().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).click(function(a){a.preventDefault(), b.play && y(), w("next", i)}), a("." + b.prev, c).click(function(a){a.preventDefault(), b.play && y(), w("prev", i)}), b.generatePagination?(b.prependPagination?c.prepend(""):c.append(""), d.children().each(function(){a("." + b.paginationClass, c).append('
  • ' + (m + 1) + "
  • "), m++})):a("." + b.paginationClass + " li a", c).each(function(){a(this).attr("href", "#" + m), m++}), a("." + b.paginationClass + " li:eq(" + h + ")", c).addClass(b.currentClass), a("." + b.paginationClass + " li a", c).click(function(){return b.play && y(), q = a(this).attr("href").match("[^#/]+$"), n != q && w("pagination", j, q), !1}), a("a.link", c).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, 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; i < f; 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), b !== undefined && b(f, g), f.remove()})}})}})(jQuery)