jQuery.cookie = function(b, j, m) {
    if (typeof j != "undefined") {
        m = m || {};
        if (j === null) {
            j = "";
            m.expires = -1
        }
        var e = "";
        if (m.expires && (typeof m.expires == "number" || m.expires.toUTCString)) {
            var f;
            if (typeof m.expires == "number") {
                f = new Date();
                f.setTime(f.getTime() + (m.expires * 24 * 60 * 60 * 1000))
            } else {
                f = m.expires
            }
            e = "; expires=" + f.toUTCString()
        }
        var l = m.path ? "; path=" + (m.path) : "";
        var g = m.domain ? "; domain=" + (m.domain) : "";
        var a = m.secure ? "; secure": "";
        document.cookie = [b, "=", encodeURIComponent(j), e, l, g, a].join("")
    } else {
        var d = null;
        if (document.cookie && document.cookie != "") {
            var k = document.cookie.split(";");
            for (var h = 0; h < k.length; h++) {
                var c = jQuery.trim(k[h]);
                if (c.substring(0, b.length + 1) == (b + "=")) {
                    d = decodeURIComponent(c.substring(b.length + 1));
                    break
                }
            }
        }
        return d
    }
}; 
(function(a) {
    a.fn.imgscroller = function(b) {
        var c = {
            controllId: "",
            vertical: true,
            speed: 1000,
            auto: true,
            pause: 4000,
            continuous: true,
            effect: "scroll",
            fadeTime: 0
        };
        var b = a.extend(c, b);
        this.each(function() {
            var g = a(this);
            var f = a("ul:first", g);
            var v = a("li", f).length;
            var r = a("li", f).width();
            var j = a("li", f).height();
            var o = f.height();
            var n = a("img", f).height();
            b.initSpeed = b.speed;
            var l = j > o ? o: j;
            var l = l > n ? n: l;
            g.height(l);
            g.css("overflow", "hidden");
            var m = v - 1;
            var u = 0;
            if (!b.vertical) {
                a("li", f).css("float", "left")
            }
            a("li", f).hover(function() {
                q()
            },
            function() {
                e()
            });
            if (b.controllId) {
                var k = a("#" + b.controllId);
                if (!b.vertical) {
                    a("li", k).css("float", "left")
                }
                a("li", k).each(function(s, h) {
                    a(h).hover(function() {
                        q();
                        d(s)
                    },
                    function() {
                        if (b.auto) {
                            e()
                        }
                    })
                })
            }
            function e() {
                g.imgscrollTime = setInterval(function() {
                    d("next")
                },
                b.pause)
            }
            function q() {
                clearInterval(g.imgscrollTime)
            }
            function d(s) {
                var t = u;
                switch (s) {
                case "next":
                    u = (t >= m) ? (b.continuous ? 0 : m) : u + 1;
                    var h = b.speed;
                    if (t >= m) {
                        b.speed = b.speed / 2
                    } else {
                        b.speed = b.initSpeed
                    }
                    break;
                case "prev":
                    u = (u <= 0) ? (b.continuous ? m: 0) : u - 1;
                    break;
                case "first":
                    u = 0;
                    break;
                case "last":
                    u = m;
                    break;
                default:
                    break
                }
                var w = b.speed;
                if (typeof s == "number") {
                    u = s;
                    w = w / 2
                }
                if (b.controllId) {
                    a("li", k).removeClass("current");
                    a("li:eq(" + u + ")", k).addClass("current")
                }
                if (!b.vertical) {
                    p = (u * r * -1);
                    if (b.effect == "scroll") {
                        f.stop().animate({
                            marginLeft: p
                        },
                        w)
                    } else {
                        if (b.effect == "fade") {
                            f.css("margin-left", p).css("opacity", 1);
                            f.stop().hide().fadeIn(b.fadeTime)
                        }
                    }
                } else {
                    p = (u * j * -1);
                    if (b.effect == "scroll") {
                        f.stop().animate({
                            marginTop: p
                        },
                        w)
                    } else {
                        if (b.effect == "fade") {
                            f.css("margin-top", p).css("opacity", 1);
                            f.stop().hide().fadeIn(b.fadeTime)
                        }
                    }
                }
            }
            if (b.auto) {
                e()
            }
        })
    };
    a.fn.imgPlayer = function(b) {
        var c = a.extend({},
        a.fn.imgPlayer.defaults, b);
        this.each(function() {
            var L = a(this);
            var s = L.get(0);
            var B = L.width();
            var g = L.height();
            var w = L.children();
            var H = w.children();
            var h = 0;
            var G = (c.direction == "left" || c.direction == "right") ? 1 : 0;
            var x, f, z, l;
            var u, M, K, J, I;
            var k, N;
            var A, O;
            var C = [];
            var n = 0;
            var v = 0;
            var o = 0;
            w.css(G ? "width": "height", 10000);
            var F = "<ul>";
            if (c.isEqual) {
                k = H[G ? "outerWidth": "outerHeight"]();
                if (G == 1) {
                    k += parseInt(a(H.get(0)).css("margin-left") == "auto" ? 0 : a(H.get(0)).css("margin-left")) + parseInt(a(H.get(0)).css("margin-right") == "auto" ? 0 : a(H.get(0)).css("margin-right"))
                } else {
                    k += parseInt(a(H.get(0)).css("margin-top") == "auto" ? 0 : a(H.get(0)).css("margin-top")) + parseInt(a(H.get(0)).css("margin-bottom") == "auto" ? 0 : a(H.get(0)).css("margin-bottom"))
                }
                N = H.length;
                h = k * N;
                for (var E = 0; E < N; E++) {
                    C.push(E * k);
                    F += "<li>" + (E + 1) + "</li>"
                }
            } else {
                H.each(function(d) {
                    C.push(h);
                    h += a(this)[G ? "outerWidth": "outerHeight"]();
                    if (G == 1) {
                        h += parseInt(a(H.get(0)).css("margin-left")) + parseInt(a(H.get(0)).css("margin-right"))
                    } else {
                        h += parseInt(a(H.get(0)).css("margin-top")) + parseInt(a(H.get(0)).css("margin-bottom"))
                    }
                    F += "<li>" + (d + 1) + "</li>"
                })
            }
            F += "</ul>";
            if (h < (G ? B: g)) {
                return
            }
            w.append(H.clone()).css(G ? "width": "height", h * 2);
            if (c.navId) {
                A = a(c.navId).append(F).hover(y, m);
                O = a("li", A);
                O.each(function(d) {
                    a(this).bind(c.eventNav,
                    function() {
                        if (z) {
                            return
                        }
                        if (n == d) {
                            return
                        }
                        j(C[d]);
                        O.eq(n).removeClass("navOn");
                        n = d;
                        a(this).addClass("navOn")
                    })
                });
                O.eq(n).addClass("navOn")
            }
            if (c.direction == "right" || c.direction == "down") {
                s[G ? "scrollLeft": "scrollTop"] = h
            } else {
                s[G ? "scrollLeft": "scrollTop"] = 0
            }
            if (c.isMarquee) {
                l = setTimeout(D, c.scrollDelay);
                L.hover(function() {
                    clearInterval(l)
                },
                function() {
                    clearInterval(l);
                    l = setTimeout(D, c.scrollDelay)
                });
                if (c.controlBtn) {
                    a.each(c.controlBtn,
                    function(d, e) {
                        a(e).bind(c.eventA,
                        function() {
                            c.direction = d;
                            c.oldAmount = c.scrollAmount;
                            c.scrollAmount = c.newAmount
                        }).bind(c.eventB,
                        function() {
                            c.scrollAmount = c.oldAmount
                        })
                    })
                }
            } else {
                if (c.isAuto) {
                    m();
                    L.hover(y, m)
                }
                if (c.btnGo) {
                    a.each(c.btnGo,
                    function(d, e) {
                        a(e).bind(c.eventGo,
                        function() {
                            if (z == true) {
                                return
                            }
                            c.direction = d;
                            j();
                            if (c.isAuto) {
                                y();
                                m()
                            }
                        })
                    })
                }
            }
            function D() {
                var e = (c.direction == "left" || c.direction == "right") ? "scrollLeft": "scrollTop";
                if (c.isMarquee) {
                    if (c.loop > 0) {
                        o += c.scrollAmount;
                        if (o > h * c.loop) {
                            s[e] = 0;
                            return clearInterval(l)
                        }
                    }
                    var d = s[e] + (c.direction == "left" || c.direction == "up" ? 1 : -1) * c.scrollAmount
                } else {
                    if (c.duration) {
                        if (u++<J) {
                            z = true;
                            var d = Math.ceil(r(u, M, K, J));
                            if (u == J) {
                                d = I
                            }
                        } else {
                            d = I;
                            clearInterval(x);
                            z = false;
                            return
                        }
                    } else {
                        var d = I;
                        clearInterval(x)
                    }
                }
                if (c.direction == "left" || c.direction == "up") {
                    if (d >= h) {
                        d -= h
                    }
                } else {
                    if (d <= 0) {
                        d += h
                    }
                }
                s[e] = d;
                if (c.isMarquee) {
                    l = setTimeout(D, c.scrollDelay)
                } else {
                    if (u < J) {
                        if (x) {
                            clearTimeout(x)
                        }
                        x = setTimeout(D, c.scrollDelay)
                    } else {
                        z = false
                    }
                }
            }
            function j(t) {
                z = true;
                var P = (c.direction == "left" || c.direction == "right") ? "scrollLeft": "scrollTop";
                var e = c.direction == "left" || c.direction == "up" ? 1 : -1;
                v = v + e;
                if (t == undefined && c.navId) {
                    O.eq(n).removeClass("navOn");
                    n += e;
                    if (n >= N) {
                        n = 0
                    } else {
                        if (n < 0) {
                            n = N - 1
                        }
                    }
                    O.eq(n).addClass("navOn");
                    v = n
                }
                var d = v < 0 ? h: 0;
                u = 0;
                M = s[P];
                I = (t != undefined) ? t: d + (c.distance * v) % h;
                if (e == 1) {
                    if (I > M) {
                        K = I - M
                    } else {
                        K = I + h - M
                    }
                } else {
                    if (I > M) {
                        K = I - h - M
                    } else {
                        K = I - M
                    }
                }
                J = c.duration;
                if (x) {
                    clearTimeout(x)
                }
                x = setTimeout(D, c.scrollDelay)
            }
            function m() {
                f = setInterval(function() {
                    j()
                },
                c.time * 1000)
            }
            function y() {
                clearInterval(f)
            }
            function r(P, e, R, Q) {
                return - R * (P /= Q) * (P - 2) + e
            }
            function q(P, e, R, Q) {
                return R * ((P = P / Q - 1) * P * P * P * P + 1) + e
            }
        })
    };
    a.fn.imgPlayer.defaults = {
        isMarquee: false,
        isEqual: true,
        loop: 0,
        newAmount: 3,
        eventA: "mousedown",
        eventB: "mouseup",
        isAuto: true,
        time: 5,
        duration: 50,
        eventGo: "click",
        direction: "left",
        scrollAmount: 1,
        scrollDelay: 10,
        eventNav: "click"
    };
    a.fn.imgPlayer.setDefaults = function(b) {
        a.extend(a.fn.imgPlayer.defaults, b)
    }
})(jQuery);
