﻿(function (a) {
    var A = function (s, v) {
        var f = a.extend({}, a.fn.nivoSlider.defaults, v), g = { currentSlide: 0, currentImage: "", totalSlides: 0, randAnim: "", running: false, paused: false, stop: false }, e = a(s); e.data("nivo:vars", g); e.css("position", "relative"); e.addClass("nivoSlider"); var j = e.children(); j.each(function () {
            var b = a(this), h = ""; if (!b.is("img")) { if (b.is("a")) { b.addClass("nivo-imageLink"); h = b } b = b.find("img:first") } var c = b.width(); if (c == 0) c = b.attr("width"); var o = b.height(); if (o == 0) o = b.attr("height"); c > e.width() &&
e.width(c); o > e.height() && e.height(o); h != "" && h.css("display", "none"); b.css("display", "none"); g.totalSlides++
        }); if (f.startSlide > 0) { if (f.startSlide >= g.totalSlides) f.startSlide = g.totalSlides - 1; g.currentSlide = f.startSlide } g.currentImage = a(j[g.currentSlide]).is("img") ? a(j[g.currentSlide]) : a(j[g.currentSlide]).find("img:first"); a(j[g.currentSlide]).is("a") && a(j[g.currentSlide]).css("display", "block"); e.css("background", 'url("' + g.currentImage.attr("src") + '") no-repeat'); for (var k = 0; k < f.slices; k++) {
            var p =
Math.round(e.width() / f.slices); k == f.slices - 1 ? e.append(a('<div class="nivo-slice"></div>').css({ left: p * k + "px", width: e.width() - p * k + "px" })) : e.append(a('<div class="nivo-slice"></div>').css({ left: p * k + "px", width: p + "px" }))
        } e.append(a('<div class="nivo-caption"><p></p></div>').css({ display: "none", opacity: f.captionOpacity })); if (g.currentImage.attr("title") != "") { k = g.currentImage.attr("title"); if (k.substr(0, 1) == "#") k = a(k).html(); a(".nivo-caption p", e).html(k); a(".nivo-caption", e).fadeIn(f.animSpeed) } var l =
0; if (!f.manualAdvance && j.length > 1) l = setInterval(function () { r(e, j, f, false) }, f.pauseTime); if (f.directionNav) {
            e.append('<div class="nivo-directionNav"><a class="nivo-prevNav">Prev</a><a class="nivo-nextNav">Next</a></div>'); if (f.directionNavHide) { a(".nivo-directionNav", e).hide(); e.hover(function () { a(".nivo-directionNav", e).show() }, function () { a(".nivo-directionNav", e).hide() }) } a("a.nivo-prevNav", e).live("click", function () { if (g.running) return false; clearInterval(l); l = ""; g.currentSlide -= 2; r(e, j, f, "prev") });
            a("a.nivo-nextNav", e).live("click", function () { if (g.running) return false; clearInterval(l); l = ""; r(e, j, f, "next") })
        } if (f.controlNav) {
            p = a('<div class="nivo-controlNav"></div>'); e.append(p); for (k = 0; k < j.length; k++) if (f.controlNavThumbs) {
                var t = j.eq(k); t.is("img") || (t = t.find("img:first")); f.controlNavThumbsFromRel ? p.append('<a class="nivo-control" rel="' + k + '"><img src="' + t.attr("rel") + '" alt="" /></a>') : p.append('<a class="nivo-control" rel="' + k + '"><img src="' + t.attr("src").replace(f.controlNavThumbsSearch,
f.controlNavThumbsReplace) + '" alt="" /></a>')
            } else p.append('<a class="nivo-control" rel="' + k + '">' + (k + 1) + "</a>"); a(".nivo-controlNav a:eq(" + g.currentSlide + ")", e).addClass("active"); a(".nivo-controlNav a", e).live("click", function () { if (g.running) return false; if (a(this).hasClass("active")) return false; clearInterval(l); l = ""; e.css("background", 'url("' + g.currentImage.attr("src") + '") no-repeat'); g.currentSlide = a(this).attr("rel") - 1; r(e, j, f, "control") })
        } f.keyboardNav && a(window).keypress(function (b) {
            if (b.keyCode ==
"37") { if (g.running) return false; clearInterval(l); l = ""; g.currentSlide -= 2; r(e, j, f, "prev") } if (b.keyCode == "39") { if (g.running) return false; clearInterval(l); l = ""; r(e, j, f, "next") } 
        }); f.pauseOnHover && e.hover(function () { g.paused = true; clearInterval(l); l = "" }, function () { g.paused = false; if (l == "" && !f.manualAdvance) l = setInterval(function () { r(e, j, f, false) }, f.pauseTime) }); e.bind("nivo:animFinished", function () {
            g.running = false; a(j).each(function () { a(this).is("a") && a(this).css("display", "none") }); a(j[g.currentSlide]).is("a") &&
a(j[g.currentSlide]).css("display", "block"); if (l == "" && !g.paused && !f.manualAdvance) l = setInterval(function () { r(e, j, f, false) }, f.pauseTime); f.afterChange.call(this)
        }); var w = function (b, h) { var c = 0; a(".nivo-slice", b).each(function () { var o = a(this), d = Math.round(b.width() / h.slices); c == h.slices - 1 ? o.css("width", b.width() - d * c + "px") : o.css("width", d + "px"); c++ }) }, r = function (b, h, c, o) {
            var d = b.data("nivo:vars"); d && d.currentSlide == d.totalSlides - 1 && c.lastSlide.call(this); if ((!d || d.stop) && !o) return false; c.beforeChange.call(this);
            if (o) { o == "prev" && b.css("background", 'url("' + d.currentImage.attr("src") + '") no-repeat'); o == "next" && b.css("background", 'url("' + d.currentImage.attr("src") + '") no-repeat') } else b.css("background", 'url("' + d.currentImage.attr("src") + '") no-repeat'); d.currentSlide++; if (d.currentSlide == d.totalSlides) { d.currentSlide = 0; c.slideshowEnd.call(this) } if (d.currentSlide < 0) d.currentSlide = d.totalSlides - 1; d.currentImage = a(h[d.currentSlide]).is("img") ? a(h[d.currentSlide]) : a(h[d.currentSlide]).find("img:first"); if (c.controlNav) {
                a(".nivo-controlNav a",
b).removeClass("active"); a(".nivo-controlNav a:eq(" + d.currentSlide + ")", b).addClass("active")
            } if (d.currentImage.attr("title") != "") { var u = d.currentImage.attr("title"); if (u.substr(0, 1) == "#") u = a(u).html(); a(".nivo-caption", b).css("display") == "block" ? a(".nivo-caption p", b).fadeOut(c.animSpeed, function () { a(this).html(u); a(this).fadeIn(c.animSpeed) }) : a(".nivo-caption p", b).html(u); a(".nivo-caption", b).fadeIn(c.animSpeed) } else a(".nivo-caption", b).fadeOut(c.animSpeed); var m = 0; a(".nivo-slice", b).each(function () {
                var i =
Math.round(b.width() / c.slices); a(this).css({ height: "0px", opacity: "0", background: 'url("' + d.currentImage.attr("src") + '") no-repeat -' + (i + m * i - i) + "px 0%" }); m++
            }); if (c.effect == "random") { h = ["sliceDownRight", "sliceDownLeft", "sliceUpRight", "sliceUpLeft", "sliceUpDown", "sliceUpDownLeft", "fold", "fade", "slideInRight", "slideInLeft"]; d.randAnim = h[Math.floor(Math.random() * (h.length + 1))]; if (d.randAnim == undefined) d.randAnim = "fade" } if (c.effect.indexOf(",") != -1) {
                h = c.effect.split(","); d.randAnim = h[Math.floor(Math.random() *
h.length)]; if (d.randAnim == undefined) d.randAnim = "fade"
            } d.running = true; if (c.effect == "sliceDown" || c.effect == "sliceDownRight" || d.randAnim == "sliceDownRight" || c.effect == "sliceDownLeft" || d.randAnim == "sliceDownLeft") {
                var n = 0; m = 0; w(b, c); h = a(".nivo-slice", b); if (c.effect == "sliceDownLeft" || d.randAnim == "sliceDownLeft") h = a(".nivo-slice", b)._reverse(); h.each(function () {
                    var i = a(this); i.css({ top: "0px" }); m == c.slices - 1 ? setTimeout(function () { i.animate({ height: "100%", opacity: "1.0" }, c.animSpeed, "", function () { b.trigger("nivo:animFinished") }) },
100 + n) : setTimeout(function () { i.animate({ height: "100%", opacity: "1.0" }, c.animSpeed) }, 100 + n); n += 50; m++
                })
            } else if (c.effect == "sliceUp" || c.effect == "sliceUpRight" || d.randAnim == "sliceUpRight" || c.effect == "sliceUpLeft" || d.randAnim == "sliceUpLeft") {
                m = n = 0; w(b, c); h = a(".nivo-slice", b); if (c.effect == "sliceUpLeft" || d.randAnim == "sliceUpLeft") h = a(".nivo-slice", b)._reverse(); h.each(function () {
                    var i = a(this); i.css({ bottom: "0px" }); m == c.slices - 1 ? setTimeout(function () {
                        i.animate({ height: "100%", opacity: "1.0" }, c.animSpeed, "",
function () { b.trigger("nivo:animFinished") })
                    }, 100 + n) : setTimeout(function () { i.animate({ height: "100%", opacity: "1.0" }, c.animSpeed) }, 100 + n); n += 50; m++
                })
            } else if (c.effect == "sliceUpDown" || c.effect == "sliceUpDownRight" || d.randAnim == "sliceUpDown" || c.effect == "sliceUpDownLeft" || d.randAnim == "sliceUpDownLeft") {
                var x = m = n = 0; w(b, c); h = a(".nivo-slice", b); if (c.effect == "sliceUpDownLeft" || d.randAnim == "sliceUpDownLeft") h = a(".nivo-slice", b)._reverse(); h.each(function () {
                    var i = a(this); if (m == 0) { i.css("top", "0px"); m++ } else {
                        i.css("bottom",
"0px"); m = 0
                    } x == c.slices - 1 ? setTimeout(function () { i.animate({ height: "100%", opacity: "1.0" }, c.animSpeed, "", function () { b.trigger("nivo:animFinished") }) }, 100 + n) : setTimeout(function () { i.animate({ height: "100%", opacity: "1.0" }, c.animSpeed) }, 100 + n); n += 50; x++
                })
            } else if (c.effect == "fold" || d.randAnim == "fold") {
                m = n = 0; w(b, c); a(".nivo-slice", b).each(function () {
                    var i = a(this), y = i.width(); i.css({ top: "0px", height: "100%", width: "0px" }); m == c.slices - 1 ? setTimeout(function () { i.animate({ width: y, opacity: "1.0" }, c.animSpeed, "", function () { b.trigger("nivo:animFinished") }) },
100 + n) : setTimeout(function () { i.animate({ width: y, opacity: "1.0" }, c.animSpeed) }, 100 + n); n += 50; m++
                })
            } else if (c.effect == "fade" || d.randAnim == "fade") { var q = a(".nivo-slice:first", b); q.css({ height: "100%", width: b.width() + "px" }); q.animate({ opacity: "1.0" }, c.animSpeed * 2, "", function () { b.trigger("nivo:animFinished") }) } else if (c.effect == "slideInRight" || d.randAnim == "slideInRight") { q = a(".nivo-slice:first", b); q.css({ height: "100%", width: "0px", opacity: "1" }); q.animate({ width: b.width() + "px" }, c.animSpeed * 2, "", function () { b.trigger("nivo:animFinished") }) } else if (c.effect ==
"slideInLeft" || d.randAnim == "slideInLeft") { q = a(".nivo-slice:first", b); q.css({ height: "100%", width: "0px", opacity: "1", left: "", right: "0px" }); q.animate({ width: b.width() + "px" }, c.animSpeed * 2, "", function () { q.css({ left: "0px", right: "" }); b.trigger("nivo:animFinished") }) } 
        }, z = function (b) { this.console && typeof console.log != "undefined" && console.log(b) }; this.stop = function () { if (!a(s).data("nivo:vars").stop) { a(s).data("nivo:vars").stop = true; z("Stop Slider") } }; this.start = function () {
            if (a(s).data("nivo:vars").stop) {
                a(s).data("nivo:vars").stop =
false; z("Start Slider")
            } 
        }; f.afterLoad.call(this)
    }; a.fn.nivoSlider = function (s) { return this.each(function () { var v = a(this); if (!v.data("nivoslider")) { var f = new A(this, s); v.data("nivoslider", f) } }) }; a.fn.nivoSlider.defaults = { effect: "slideInLeft", slices: 15, animSpeed: 500, pauseTime: 3000, startSlide: 0, directionNav: true, directionNavHide: true, controlNav: true, controlNavThumbs: false, controlNavThumbsFromRel: false, controlNavThumbsSearch: ".jpg", controlNavThumbsReplace: "_thumb.jpg", keyboardNav: true, pauseOnHover: true, manualAdvance: false,
        captionOpacity: 0.8, beforeChange: function () { }, afterChange: function () { }, slideshowEnd: function () { }, lastSlide: function () { }, afterLoad: function () { } 
    }; a.fn._reverse = [].reverse
})(jQuery);
