/*
 * 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"spotlightPagination":
							k = parseInt(i, 10), l = a("." + b.spotlightPaginationClass + " 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.spotlightPagination && (a("." + b.spotlightPaginationClass + " li." + b.currentClass, c).removeClass(b.currentClass), a("." + b.spotlightPaginationClass + " 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('<div class="slides_control"/>');
			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('<a href="#" class="' + b.prev + '">Prev</a>'), a("." + b.prev, c).after('<a href="#" class="' + b.next + '">Next</a>')), 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.generatespotlightPagination ? (b.prependspotlightPagination ? c.prepend("<ul class=" + b.spotlightPaginationClass + "></ul>") : c.append("<ul class=" + b.spotlightPaginationClass + "></ul>"), d.children().each(function() {a("." + b.spotlightPaginationClass, c).append('<li><a href="#' + m + '">' + (m + 1) + "</a></li>"), m++
			})) : a("." + b.spotlightPaginationClass + " li a", c).each(function() {a(this).attr("href", "#" + m), m++
			}), a("." + b.spotlightPaginationClass + " li:eq(" + h + ")", c).addClass(b.currentClass), a("." + b.spotlightPaginationClass + " li a", c).click(function() {
				return b.play && y(), q = a(this).attr("href").match("[^#/]+$"), n != q && w("spotlightPagination", j, q), !1
			}), a("a.link", c).click(function() {
				return b.play && y(), q = a(this).attr("href").match("[^#/]+$") - 1, n != q && w("spotlightPagination", 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/upload/spotlight/loading.gif",
		container : "slides_container",
		generateNextPrev : !1,
		next : "next",
		prev : "prev",
		spotlightPagination : !0,
		generatespotlightPagination : !0,
		prependspotlightPagination : !1,
		spotlightPaginationClass : "spotlightPagination",
		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)
