(function (a) {
    var b;
    a.fn.setTransition = function (c) {
        b.setTransition(c)
    };
    a.fn.setTextEffect = function (c) {
        b.setTextEffect(c)
    };
    a.fn.setTooltipType = function (c) {
        b.setTooltipType(c)
    };
    a.fn.setCpanelAlign = function (c) {
        b.setCpanelAlign(c)
    };
    a.fn.setCpanelPos = function (c) {
        b.setCpanelPos(c)
    };
    a.fn.setThumbs = function (c) {
        b.setThumbs(c)
    };
    a.fn.setDButtons = function (c) {
        b.setDButtons(c)
    };
    a.fn.setPlayButton = function (c) {
        b.setPlayButton(c)
    };
    a.fn.setTooltip = function (c) {
        b.setTooltip(c)
    };
    a.fn.setTimerBar = function (c) {
        b.setTimerBar(c)
    };
    a.fn.setMouseoverPause = function (c) {
        b.setMouseoverPause(c)
    };
    a.fn.setMouseoverCPanel = function (c) {
        b.setMouseoverCPanel(c)
    };
    a.fn.setMouseoverText = function (c) {
        b.setMouseoverText(c)
    };
    a.fn.wtRotator = function (B) {
        var y = "TL";
        var e = "TR";
        var w = "TC";
        var u = "BL";
        var f = "BR";
        var n = "BC";
        var k = "inside";
        var q = "outside";
        var h = new Array(42);
        h.fade = 0;
        h["block.top"] = 1;
        h["block.right"] = 2;
        h["block.bottom"] = 3;
        h["block.left"] = 4;
        h["block.drop"] = 5;
        h["diag.fade"] = 6;
        h["diag.exp"] = 7;
        h["rev.diag.fade"] = 8;
        h["rev.diag.exp"] = 9;
        h["block.fade"] = 10;
        h["block.exp"] = 11;
        h["block.top.zz"] = 12;
        h["block.bottom.zz"] = 13;
        h["block.left.zz"] = 14;
        h["block.right.zz"] = 15;
        h["spiral.in"] = 16;
        h["spiral.out"] = 17;
        h["vert.tl"] = 18;
        h["vert.tr"] = 19;
        h["vert.bl"] = 20;
        h["vert.br"] = 21;
        h["fade.left"] = 22;
        h["fade.right"] = 23;
        h["alt.left"] = 24;
        h["alt.right"] = 25;
        h["blinds.left"] = 26;
        h["blinds.right"] = 27;
        h["vert.random.fade"] = 28;
        h["horz.tl"] = 29;
        h["horz.tr"] = 30;
        h["horz.bl"] = 31;
        h["horz.br"] = 32;
        h["fade.top"] = 33;
        h["fade.bottom"] = 34;
        h["alt.top"] = 35;
        h["alt.bottom"] = 36;
        h["blinds.top"] = 37;
        h["blinds.bottom"] = 38;
        h["horz.random.fade"] = 39;
        h.none = 40;
        h.random = 41;
        var z = new Array(4);
        z.fade = 0;
        z.down = 1;
        z.right = 2;
        z.none = 3;
        var p = 5000;
        var x = 800;
        var v = 600;
        var m = 600;
        var g = "updatetext";

        function c(G, P, N, R, M, H, I) {
            var J;
            var E;
            var L;
            var Q = null;
            var S = function () {
                L = Math.ceil(P / R);
                var U = "";
                for (var T = 0; T < L; T++) {
                    U += "<div class='vpiece' id='" + T + "'></div>"
                }
                G.addToScreen(U);
                J = a("div.vpiece", G.$el);
                E = new Array(L);
                J.each(function (V) {
                    a(this).css({
                        left: (V * R),
                        height: N
                    });
                    E[V] = a(this)
                })
            };
            this.clear = function () {
                clearInterval(Q);
                J.stop(true).css({
                    "z-index": 2,
                    opacity: 0
                })
            };
            this.displayContent = function (T, U) {
                D(T, U);
                if (U == h["vert.random.fade"]) {
                    O(T)
                } else {
                    F(T, U)
                }
            };
            var D = function (T, U) {
                switch (U) {
                case h["vert.tl"]:
                case h["vert.tr"]:
                    K(T, -N, 1, R, false);
                    break;
                case h["vert.bl"]:
                case h["vert.br"]:
                    K(T, N, 1, R, false);
                    break;
                case h["alt.left"]:
                case h["alt.right"]:
                    K(T, 0, 1, R, true);
                    break;
                case h["blinds.left"]:
                case h["blinds.right"]:
                    K(T, 0, 1, 0, false);
                    break;
                default:
                    K(T, 0, 0, R, false)
                }
            };
            var K = function (T, Z, aa, V, Y) {
                var ac = T.attr("src");
                var ab = (N - T.height()) / 2;
                var U = (P - T.width()) / 2;
                for (var W = 0; W < L; W++) {
                    var X = ((-W * R) + U);
                    if (Y) {
                        Z = (W % 2) == 0 ? -N : N
                    }
                    a(J.get(W)).css({
                        background: M + " url('" + ac + "') no-repeat",
                        backgroundPosition: X + "px " + ab + "px",
                        opacity: aa,
                        top: Z,
                        width: V,
                        "z-index": 3
                    })
                }
            };
            var F = function (V, W) {
                var Y, U, X, T;
                switch (W) {
                case h["vert.tl"]:
                case h["vert.bl"]:
                case h["fade.left"]:
                case h["blinds.left"]:
                case h["alt.left"]:
                    Y = 0;
                    U = L - 1;
                    X = 1;
                    break;
                default:
                    Y = L - 1;
                    U = 0;
                    X = -1
                }
                Q = setInterval(function () {
                    a(J.get(Y)).animate({
                        top: 0,
                        opacity: 1,
                        width: R
                    }, H, "", function () {
                        if (a(this).attr("id") == U) {
                            G.setComplete(V)
                        }
                    });
                    if (Y == U) {
                        clearInterval(Q)
                    }
                    Y += X
                }, I)
            };
            var O = function (U) {
                s(E);
                var T = 0;
                var V = 0;
                Q = setInterval(function () {
                    E[T++].animate({
                        opacity: 1
                    }, H, "", function () {
                        if (++V == L) {
                            G.setComplete(U)
                        }
                    });
                    if (T == L) {
                        clearInterval(Q)
                    }
                }, I)
            };
            S()
        }
        function t(G, P, N, R, M, H, I) {
            var J;
            var E;
            var L;
            var Q = null;
            var S = function () {
                L = Math.ceil(N / R);
                var U = "";
                for (var T = 0; T < L; T++) {
                    U += "<div class='hpiece' id='" + T + "'><!-- --></div>"
                }
                G.addToScreen(U);
                J = a("div.hpiece", G.$el);
                E = new Array(L);
                J.each(function (V) {
                    a(this).css({
                        top: (V * R),
                        width: P
                    });
                    E[V] = a(this)
                })
            };
            this.clear = function () {
                clearInterval(Q);
                J.stop(true).css({
                    "z-index": 2,
                    opacity: 0
                })
            };
            this.displayContent = function (T, U) {
                D(T, U);
                if (U == h["horz.random.fade"]) {
                    O(T)
                } else {
                    F(T, U)
                }
            };
            var D = function (T, U) {
                switch (U) {
                case h["horz.tr"]:
                case h["horz.br"]:
                    K(T, P, 1, R, false);
                    break;
                case h["horz.tl"]:
                case h["horz.bl"]:
                    K(T, -P, 1, R, false);
                    break;
                case h["alt.top"]:
                case h["alt.bottom"]:
                    K(T, 0, 1, R, true);
                    break;
                case h["blinds.top"]:
                case h["blinds.bottom"]:
                    K(T, 0, 1, 0, false);
                    break;
                default:
                    K(T, 0, 0, R, false)
                }
            };
            var K = function (T, W, Z, ab, Y) {
                var ac = T.attr("src");
                var aa = (N - T.height()) / 2;
                var U = (P - T.width()) / 2;
                for (var X = 0; X < L; X++) {
                    var V = ((-X * R) + aa);
                    if (Y) {
                        W = (X % 2) == 0 ? -P : P
                    }
                    a(J.get(X)).css({
                        background: M + " url('" + ac + "') no-repeat",
                        backgroundPosition: U + "px " + V + "px",
                        opacity: Z,
                        left: W,
                        height: ab,
                        "z-index": 3
                    })
                }
            };
            var F = function (U, V) {
                var X, T, W;
                switch (V) {
                case h["horz.tl"]:
                case h["horz.tr"]:
                case h["fade.top"]:
                case h["blinds.top"]:
                case h["alt.top"]:
                    X = 0;
                    T = L - 1;
                    W = 1;
                    break;
                default:
                    X = L - 1;
                    T = 0;
                    W = -1
                }
                Q = setInterval(function () {
                    a(J.get(X)).animate({
                        left: 0,
                        opacity: 1,
                        height: R
                    }, H, "", function () {
                        if (a(this).attr("id") == T) {
                            G.setComplete(U)
                        }
                    });
                    if (X == T) {
                        clearInterval(Q)
                    }
                    X += W
                }, I)
            };
            var O = function (U) {
                s(E);
                var T = 0;
                var V = 0;
                Q = setInterval(function () {
                    E[T++].animate({
                        opacity: 1
                    }, H, "", function () {
                        if (++V == L) {
                            G.setComplete(U)
                        }
                    });
                    if (T == L) {
                        clearInterval(Q)
                    }
                }, I)
            };
            S()
        }
        function l(N, O, J, P, M, D, W) {
            var L;
            var E;
            var Q;
            var I;
            var K;
            var Y;
            var X;
            var V = function () {
                I = Math.ceil(J / P);
                K = Math.ceil(O / P);
                Y = I * K;
                var ac = "";
                for (var ab = 0; ab < I; ab++) {
                    for (var aa = 0; aa < K; aa++) {
                        ac += "<div class='block' id='" + ab + "-" + aa + "'></div>"
                    }
                }
                N.addToScreen(ac);
                E = a("div.block", N.$el);
                E.data({
                    tlId: "0-0",
                    trId: "0-" + (K - 1),
                    blId: (I - 1) + "-0",
                    brId: (I - 1) + "-" + (K - 1)
                });
                var Z = 0;
                Q = new Array(Y);
                L = new Array(I);
                for (var ab = 0; ab < I; ab++) {
                    L[ab] = new Array(K);
                    for (var aa = 0; aa < K; aa++) {
                        L[ab][aa] = Q[Z++] = E.filter("#" + (ab + "-" + aa)).data("top", ab * P)
                    }
                }
            };
            this.clear = function () {
                clearInterval(X);
                E.stop(true).css({
                    "z-index": 2,
                    opacity: 0
                })
            };
            this.displayContent = function (Z, aa) {
                switch (aa) {
                case h["diag.fade"]:
                    S(Z, 0, P, 0);
                    T(Z, {
                        opacity: 1
                    }, false);
                    break;
                case h["diag.exp"]:
                    S(Z, 0, 0, 0);
                    T(Z, {
                        opacity: 1,
                        width: P,
                        height: P
                    }, false);
                    break;
                case h["rev.diag.fade"]:
                    S(Z, 0, P, 0);
                    T(Z, {
                        opacity: 1
                    }, true);
                    break;
                case h["rev.diag.exp"]:
                    S(Z, 0, 0, 0);
                    T(Z, {
                        opacity: 1,
                        width: P,
                        height: P
                    }, true);
                    break;
                case h["block.fade"]:
                    S(Z, 0, P, 0);
                    F(Z);
                    break;
                case h["block.exp"]:
                    S(Z, 1, 0, 0);
                    F(Z);
                    break;
                case h["block.drop"]:
                    S(Z, 1, P, -(I * P));
                    F(Z);
                    break;
                case h["block.top.zz"]:
                case h["block.bottom.zz"]:
                    S(Z, 0, P, 0);
                    H(Z, aa);
                    break;
                case h["block.left.zz"]:
                case h["block.right.zz"]:
                    S(Z, 0, P, 0);
                    R(Z, aa);
                    break;
                case h["spiral.in"]:
                    S(Z, 0, P, 0);
                    U(Z, false);
                    break;
                case h["spiral.out"]:
                    S(Z, 0, P, 0);
                    U(Z, true);
                    break;
                default:
                    S(Z, 1, 0, 0);
                    G(Z, aa)
                }
            };
            var S = function (Z, af, aj, ae) {
                var ag = (J - Z.height()) / 2;
                var ab = (O - Z.width()) / 2;
                var ah = Z.attr("src");
                for (var ad = 0; ad < I; ad++) {
                    for (var ac = 0; ac < K; ac++) {
                        var ai = ((-ad * P) + ag);
                        var aa = ((-ac * P) + ab);
                        L[ad][ac].css({
                            background: M + " url('" + ah + "') no-repeat",
                            backgroundPosition: aa + "px " + ai + "px",
                            opacity: af,
                            top: (ad * P) + ae,
                            left: (ac * P),
                            width: aj,
                            height: aj,
                            "z-index": 3
                        })
                    }
                }
            };
            var T = function (Z, ah, ae) {
                var ag = new Array(Y);
                var aa, ad, ab, ac;
                var ai = (I - 1) + (K - 1);
                if (ae) {
                    aa = ai;
                    ad = -1;
                    ab = -1;
                    ac = E.data("tlId")
                } else {
                    aa = 0;
                    ad = ai + 1;
                    ab = 1;
                    ac = E.data("brId")
                }
                var af = 0;
                while (aa != ad) {
                    i = Math.min(I - 1, aa);
                    while (i >= 0) {
                        j = Math.abs(i - aa);
                        if (j >= K) {
                            break
                        }
                        ag[af++] = L[i][j];
                        i--
                    }
                    aa += ab
                }
                af = 0;
                X = setInterval(function () {
                    ag[af++].animate(ah, D, "", function () {
                        if (a(this).attr("id") == ac) {
                            N.setComplete(Z)
                        }
                    });
                    if (af == Y) {
                        clearInterval(X)
                    }
                }, W)
            };
            var R = function (ac, ad) {
                var ab = true;
                var aa = 0,
                    Z, af, ae;
                if (ad == h["block.left.zz"]) {
                    ae = (K % 2 == 0) ? E.data("trId") : E.data("brId");
                    Z = 0;
                    af = 1
                } else {
                    ae = (K % 2 == 0) ? E.data("tlId") : E.data("blId");
                    Z = K - 1;
                    af = -1
                }
                X = setInterval(function () {
                    L[aa][Z].animate({
                        opacity: 1
                    }, D, "", function () {
                        if (a(this).attr("id") == ae) {
                            N.setComplete(ac)
                        }
                    });
                    if (L[aa][Z].attr("id") == ae) {
                        clearInterval(X)
                    }(ab ? aa++ : aa--);
                    if (aa == I || aa < 0) {
                        ab = !ab;
                        aa = (ab ? 0 : I - 1);
                        Z += af
                    }
                }, W)
            };
            var H = function (ac, ad) {
                var ab = true;
                var aa, Z = 0,
                    af, ae;
                if (ad == h["block.top.zz"]) {
                    ae = (I % 2 == 0) ? E.data("blId") : E.data("brId");
                    aa = 0;
                    af = 1
                } else {
                    ae = (I % 2 == 0) ? E.data("tlId") : E.data("trId");
                    aa = I - 1;
                    af = -1
                }
                X = setInterval(function () {
                    L[aa][Z].animate({
                        opacity: 1
                    }, D, "", function () {
                        if (a(this).attr("id") == ae) {
                            N.setComplete(ac)
                        }
                    });
                    if (L[aa][Z].attr("id") == ae) {
                        clearInterval(X)
                    }(ab ? Z++ : Z--);
                    if (Z == K || Z < 0) {
                        ab = !ab;
                        Z = (ab ? 0 : K - 1);
                        aa += af
                    }
                }, W)
            };
            var G = function (ab, ac) {
                var ae = new Array(Y);
                var af;
                var ad = 0;
                switch (ac) {
                case h["block.left"]:
                    af = E.data("brId");
                    for (var Z = 0; Z < K; Z++) {
                        for (var aa = 0; aa < I; aa++) {
                            ae[ad++] = L[aa][Z]
                        }
                    }
                    break;
                case h["block.right"]:
                    af = E.data("blId");
                    for (var Z = K - 1; Z >= 0; Z--) {
                        for (var aa = 0; aa < I; aa++) {
                            ae[ad++] = L[aa][Z]
                        }
                    }
                    break;
                case h["block.top"]:
                    af = E.data("brId");
                    for (var aa = 0; aa < I; aa++) {
                        for (var Z = 0; Z < K; Z++) {
                            ae[ad++] = L[aa][Z]
                        }
                    }
                    break;
                default:
                    af = E.data("trId");
                    for (var aa = I - 1; aa >= 0; aa--) {
                        for (var Z = 0; Z < K; Z++) {
                            ae[ad++] = L[aa][Z]
                        }
                    }
                }
                ad = 0;
                X = setInterval(function () {
                    ae[ad++].animate({
                        width: P,
                        height: P
                    }, D, "", function () {
                        if (a(this).attr("id") == af) {
                            N.setComplete(ab)
                        }
                    });
                    if (ad == Y) {
                        clearInterval(X)
                    }
                }, W)
            };
            var F = function (aa) {
                s(Q);
                var Z = 0;
                count = 0;
                X = setInterval(function () {
                    Q[Z].animate({
                        top: Q[Z].data("top"),
                        width: P,
                        height: P,
                        opacity: 1
                    }, D, "", function () {
                        if (++count == Y) {
                            N.setComplete(aa)
                        }
                    });
                    Z++;
                    if (Z == Y) {
                        clearInterval(X)
                    }
                }, W)
            };
            var U = function (Z, ah) {
                var ag = 0,
                    af = 0;
                var ak = I - 1;
                var al = K - 1;
                var ab = 0;
                var ae = al;
                var aj = new Array();
                while (ak >= 0 && al >= 0) {
                    var ai = 0;
                    while (true) {
                        aj[aj.length] = L[ag][af];
                        if ((++ai) > ae) {
                            break
                        }
                        switch (ab) {
                        case 0:
                            af++;
                            break;
                        case 1:
                            ag++;
                            break;
                        case 2:
                            af--;
                            break;
                        case 3:
                            ag--
                        }
                    }
                    switch (ab) {
                    case 0:
                        ab = 1;
                        ae = (--ak);
                        ag++;
                        break;
                    case 1:
                        ab = 2;
                        ae = (--al);
                        af--;
                        break;
                    case 2:
                        ab = 3;
                        ae = (--ak);
                        ag--;
                        break;
                    case 3:
                        ab = 0;
                        ae = (--al);
                        af++
                    }
                }
                if (aj.length > 0) {
                    if (ah) {
                        aj.reverse()
                    }
                    var ad = aj.length - 1;
                    var aa = aj[ad].attr("id");
                    var ac = 0;
                    X = setInterval(function () {
                        aj[ac].animate({
                            opacity: 1
                        }, D, "", function () {
                            if (a(this).attr("id") == aa) {
                                N.setComplete(Z)
                            }
                        });
                        if (ac == ad) {
                            clearInterval(X)
                        }
                        ac++
                    }, W)
                }
            };
            V()
        }
        function A(bl, bh) {
            var an = d(bh.width, 825);
            var bc = d(bh.height, 300);
            var a7 = C(bh.button_margin, 4);
            var ak = bh.transition.toLowerCase();
            var ar = d(bh.transition_speed, x);
            var W = d(bh.delay, p);
            var aG = bh.auto_start;
            var U = bh.cpanel_position.toLowerCase();
            var aZ = bh.cpanel_align.toUpperCase();
            var af = d(bh.button_width, 24);
            var aT = d(bh.button_height, 24);
            var F = bh.display_thumbs;
            var aE = bh.display_dbuttons;
            var aC = bh.display_playbutton;
            var ay = bh.cpanel_mouseover;
            var au = bh.text_mouseover;
            var Z = bh.mouseover_pause;
            var aa = bh.tooltip_type.toLowerCase();
            var at = bh.text_effect.toLowerCase();
            var bi = bh.text_sync;
            var ah;
            var ap;
            var J;
            var H;
            var Q;
            var aI;
            var aV;
            var a3 = null;
            var ag = a(".wt-rotator", bl);
            var aP = ag.find("div.screen");
            var aq;
            var aM;
            var E;
            var I = ag.find("div.c-panel");
            var aW = I.find("div.thumbnails");
            var ab = aW.find(">ul:first>li");
            var K = I.find("div.buttons");
            var R = K.find("div.play-btn");
            var P = K.find("div.prev-btn");
            var a4 = K.find("div.next-btn");
            var S;
            var M;
            var aA;
            var Y;
            this.$el = bl;
            this.init = function () {
                ap = 0;
                J = -1;
                ah = ab.size();
                aA = new Array(ah);
                aD();
                aH();
                aX();
                aQ();
                bg();
                av();
                ag.css({
                    width: an,
                    height: bc + (U == q ? I.outerHeight() : 0)
                });
                var bm = aP.css("background-color");
                Q = new c(this, an, bc, d(bh.vert_size, 50), bm, ar, d(bh.vstripe_delay, 75));
                aI = new t(this, an, bc, d(bh.horz_size, 50), bm, ar, d(bh.hstripe_delay, 75));
                aV = new l(this, an, bc, d(bh.block_size, 75), bm, ar, d(bh.block_delay, 25));
                a1(0);
                aB(ap)
            };
            this.setComplete = function (bm) {
                D(bm)
            };
            this.addToScreen = function (bm) {
                aq.append(bm)
            };
            var aD = function () {
                var bm = "<a href='#'></a>								<div class='desc'></div>								<div class='preloader'></div>								<div id='timer'></div>";
                aP.empty().append(bm);
                aq = aP.find(">a:first");
                aM = aP.find("div.desc");
                E = aP.find("div.preloader");
                aP.css({
                    width: an,
                    height: bc
                })
            };
            var aH = function () {
                aM.append("<div class='inner-bg'></div><div class='inner-text'></div>");
                Y = aM.find("div.inner-text");
                if (au) {
                    ag.hover(ad, aj)
                } else {
                    ag.bind(g, aY)
                }
            };
            var bg = function () {
                if (F || aE || aC) {
                    aW.css("height", ab.outerHeight());
                    var bo = an - (K.width() + a7);
                    if (aW.width() > bo) {
                        aW.width(bo)
                    }
                    if (U == k) {
                        I.css({
                            "margin-top": a7,
                            "margin-right": 0,
                            "margin-bottom": a7,
                            "margin-left": a7
                        });
                        var bn = I.outerWidth(true);
                        var bm = I.outerHeight(true);
                        switch (aZ) {
                        case y:
                            a0(0, 0, -bm, "left");
                            break;
                        case w:
                            a0(0, Math.round((an - bn) / 2), -bm, "right");
                            break;
                        case e:
                            a0(0, (an - bn), -bm, "right");
                            break;
                        case u:
                            a0((bc - bm), 0, bc, "left");
                            break;
                        case n:
                            a0((bc - bm), Math.round((an - bn) / 2), bc, "right");
                            break;
                        default:
                            a0((bc - bm), (an - bn), bc, "right")
                        }
                        if (ay) {
                            ag.hover(bj, az)
                        }
                    } else {
                        if (ag.outerWidth() - ag.width() > 0) {
                            I.css({
                                "border-left": "none",
                                "border-right": "none"
                            })
                        }
                        I.css({
                            "padding-top": a7,
                            "padding-bottom": a7
                        }).addClass("cp-bg");
                        var bn = I.outerWidth();
                        switch (aZ) {
                        case y:
                            aK(I.outerHeight(), 0, a7, "left");
                            break;
                        case w:
                            aK(I.outerHeight(), 0, Math.round((an - bn) / 2), "right");
                            break;
                        case e:
                            aK(I.outerHeight(), 0, an - bn, "right");
                            break;
                        case u:
                            aK(0, bc, a7, "left");
                            break;
                        case n:
                            aK(0, bc, Math.round((an - bn) / 2), "right");
                            break;
                        default:
                            aK(0, bc, an - bn, "right")
                        }
                    }
                    I.css("visibility", "visible")
                }
            };
            var a0 = function (bm, bo, bn, bp) {
                I.data({
                    offset: bn,
                    pos: bm
                }).css({
                    top: (ay ? bn : bm),
                    left: bo
                });
                aW.css("float", bp);
                K.css("float", bp)
            };
            var aK = function (bn, bo, bm, bp) {
                aP.css("top", bn);
                I.css(bn == 0 ? "border-bottom" : "border-top", "none");
                I.css({
                    top: bo,
                    "padding-left": bm,
                    "padding-right": an - (bm + I.outerWidth())
                });
                aW.css("float", bp);
                K.css("float", bp)
            };
            var aQ = function () {
                var bm = {
                    "margin-right": a7,
                    width: af,
                    height: aT
                };
                if (aE) {
                    P.css(bm).click(ao).mouseover(G).mouseout(aU).mousedown(ai);
                    a4.css(bm).click(L).mouseover(G).mouseout(aU).mousedown(ai)
                } else {
                    P.hide();
                    a4.hide()
                }
                if (aC) {
                    if (aG) {
                        R.addClass("pause")
                    }
                    R.css(bm).click(ac).mouseover(G).mouseout(aU).mousedown(ai)
                } else {
                    R.hide()
                }
                if (Z) {
                    ag.hover(aL, X)
                }
            };
            var av = function () {
                S = aP.find("#timer").data("pct", 1);
                if (bh.display_timer) {
                    var bm = bh.timer_align.toLowerCase();
                    S.css("visibility", "visible");
                    S.css(bm == "bottom" ? "bottom" : "top", 0)
                } else {
                    S.hide()
                }
            };
            var aX = function () {
                var bm = Y.outerHeight() - Y.height();
                ab.each(function (bo) {
                    var bn = a(this).find(">a:first");
                    a(this).data({
                        imgurl: bn.attr("href"),
                        caption: bn.attr("title"),
                        tturl: bn.find(">img:first").attr("src"),
                        effect: h[a(this).attr("effect")] != undefined ? h[a(this).attr("effect")] : h[ak],
                        delay: d(a(this).attr("delay"), W)
                    });
                    a9(a(this), bm);
                    aA[bo] = a(this);
                    if (bh.display_numbers) {
                        a(this).append(bo + 1)
                    }
                });
                Y.css({
                    width: "auto",
                    height: "auto"
                }).html("");
                aM.css("visibility", "visible");
                if (bh.shuffle) {
                    O()
                }
                if (F) {
                    aW.click(aw);
                    ab.css({
                        width: af,
                        height: aT,
                        "line-height": aT + "px",
                        "margin-right": a7
                    }).mouseover(bb).mouseout(V).mousedown(ai);
                    ba()
                } else {
                    ab.hide()
                }
            };
            var a9 = function (bm, bo) {
                var bn = bm.find(">div:hidden");
                var bq = d(parseInt(bn.css("width")) - bo, 300);
                var bp = d(parseInt(bn.css("height")) - bo, 0);
                Y.width(bq).html(bn.html());
                if (bp < Y.height()) {
                    bp = Y.height()
                }
                bm.data("textbox", {
                    x: bn.css("left"),
                    y: bn.css("top"),
                    w: bq + bo,
                    h: bp + bo,
                    color: bn.css("color"),
                    bgcolor: bn.css("background-color")
                })
            };
            var ba = function () {
                M = a("<div id='rotator-tooltip'></div>");
                if (aa == "text") {
                    M.append("<div class='tt-txt'></div>");
                    a("body").append(M);
                    switch (aZ) {
                    case y:
                    case w:
                    case e:
                        M.data("bottom", true).addClass("txt-down");
                        break;
                    default:
                        M.data("bottom", false).addClass("txt-up")
                    }
                    for (var bn = 0; bn < aA.length; bn++) {
                        var bm = aA[bn].data("caption");
                        if (bm != "") {
                            aA[bn].mouseover(be).mouseout(aJ).bind("mousemove", T)
                        }
                    }
                } else {
                    if (aa == "image") {
                        M.append("<img class='tt-img'/>");
                        a("body").append(M);
                        switch (aZ) {
                        case y:
                        case w:
                        case e:
                            M.data("bottom", true).addClass("img-down");
                            break;
                        default:
                            M.data("bottom", false).addClass("img-up")
                        }
                        for (var bn = 0; bn < aA.length; bn++) {
                            var bo = aA[bn].data("tturl");
                            if (bo != undefined) {
                                aA[bn].mouseover(a8).mouseout(aJ).bind("mousemove", ax)
                            }
                        }
                    }
                }
                if (jQuery.browser.msie && parseInt(jQuery.browser.version) <= 6) {
                    M.css("background-image", "none").find(":only-child").css("margin", 0)
                }
            };
            var a8 = function (bm) {
                var bn = M.data("bottom") ? 0 : -M.outerHeight(true);
                M.find(">img.tt-img").attr("src", aA[a(this).index()].data("tturl"));
                M.css({
                    top: bm.pageY + bn,
                    left: bm.pageX - M.outerWidth() / 2
                }).stop(true, true).delay(m).fadeIn(300)
            };
            var ax = function (bm) {
                var bn = M.data("bottom") ? 0 : -M.outerHeight(true);
                M.css({
                    top: bm.pageY + bn,
                    left: bm.pageX - M.outerWidth() / 2
                })
            };
            var be = function (bm) {
                var bn = M.data("bottom") ? 0 : -M.outerHeight(true);
                M.find(">div.tt-txt").html(aA[a(this).index()].data("caption"));
                M.css({
                    top: bm.pageY + bn,
                    left: bm.pageX
                }).stop(true, true).delay(m).fadeIn(300)
            };
            var T = function (bm) {
                var bn = M.data("bottom") ? 0 : -M.outerHeight(true);
                M.css({
                    top: bm.pageY + bn,
                    left: bm.pageX
                })
            };
            var aJ = function () {
                M.stop(true, true).fadeOut(0)
            };
            var bj = function () {
                I.stop(true).animate({
                    top: I.data("pos"),
                    opacity: 1
                }, v)
            };
            var az = function () {
                I.stop(true).animate({
                    top: I.data("offset"),
                    opacity: 0
                }, v)
            };
            var aw = function (bn) {
                if (bn.target.nodeName == "LI") {
                    var bm = a(bn.target).index();
                    if (bm >= 0 && bm != ap) {
                        a5();
                        J = ap;
                        ap = bm;
                        aB(ap)
                    }
                }
                return false
            };
            var bb = function () {
                a(this).addClass("thumb-over")
            };
            var V = function () {
                a(this).removeClass("thumb-over")
            };
            var ao = function () {
                a5();
                J = ap;
                ap = (ap > 0) ? (ap - 1) : (ah - 1);
                aB(ap);
                return false
            };
            var L = function () {
                a5();
                J = ap;
                ap = (ap < ah - 1) ? (ap + 1) : 0;
                aB(ap);
                return false
            };
            var ac = function () {
                aG = !aG;
                a(this).toggleClass("pause", aG);
                aG ? aO() : N();
                return false
            };
            var X = function () {
                aG = true;
                R.toggleClass("pause", aG);
                aO()
            };
            var aL = function () {
                aG = false;
                R.toggleClass("pause", aG);
                N()
            };
            var G = function () {
                a(this).addClass("button-over")
            };
            var aU = function () {
                a(this).removeClass("button-over")
            };
            var aY = function (bn) {
                if (!aM.data("visible")) {
                    aM.data("visible", true);
                    var bo = aA[ap].find(">div:first").html();
                    if (bo && bo.length > 0) {
                        var bm = aA[ap].data("textbox");
                        Y.css("color", bm.color);
                        aM.find(".inner-bg").css("background-color", bm.bgcolor);
                        switch (z[at]) {
                        case z.fade:
                            aS(bo, bm);
                            break;
                        case z.down:
                            a6(bo, {
                                display: "block",
                                top: bm.y,
                                left: bm.x,
                                width: bm.w,
                                height: 0
                            }, {
                                height: bm.h
                            });
                            break;
                        case z.right:
                            a6(bo, {
                                display: "block",
                                top: bm.y,
                                left: bm.x,
                                width: 0,
                                height: bm.h
                            }, {
                                width: bm.w
                            });
                            break;
                        default:
                            bk(bo, bm)
                        }
                    }
                }
            };
            var a6 = function (bo, bn, bm) {
                Y.html("");
                aM.stop(true).css(bn).animate(bm, v, function () {
                    Y.html(bo)
                })
            };
            var aS = function (bn, bm) {
                Y.css("opacity", 1).html(bn);
                aM.css({
                    top: bm.y,
                    left: bm.x,
                    width: bm.w,
                    height: bm.h
                }).stop(true, true).fadeIn(v, function () {
                    if (jQuery.browser.msie) {
                        Y[0].style.removeAttribute("filter")
                    }
                })
            };
            var bk = function (bn, bm) {
                aM.stop(true).css({
                    display: "block",
                    top: bm.y,
                    left: bm.x,
                    width: bm.w,
                    height: bm.h
                });
                Y.html(bn)
            };
            var ad = function () {
                ag.unbind(g).bind(g, aY).trigger(g)
            };
            var aj = function () {
                ag.unbind(g);
                bd()
            };
            var aB = function (bo) {
                ab.filter(".curr-thumb").removeClass("curr-thumb");
                a(ab.get(bo)).addClass("curr-thumb");
                H = aA[bo].data("delay");
                bd();
                if (!bi) {
                    ag.trigger(g)
                }
                var bp = aA[bo].find(">a:nth-child(2)");
                var bm = bp.attr("href");
                if (bm) {
                    aq.unbind("click").css("cursor", "pointer").attr({
                        href: bm,
                        target: bp.attr("target")
                    })
                } else {
                    aq.click(ai).css("cursor", "default")
                }
                if (aA[bo].data("img")) {
                    E.hide();
                    aF(aA[bo].data("img"))
                } else {
                    var bn = a("<img class='main-img'/>");
                    bn.attr("src", aA[bo].data("imgurl"));
                    if (!bn[0].complete) {
                        E.show();
                        bn.load(function () {
                            E.hide();
                            bf(aA[bo], a(this));
                            aF(a(this))
                        }).error(function () {
                            alert("Error loading image")
                        })
                    } else {
                        E.hide();
                        bf(aA[bo], bn);
                        aF(bn)
                    }
                }
            };
            var aF = function (bm) {
                Q.clear();
                aI.clear();
                aV.clear();
                al();
                var bn = aA[ap].data("effect");
                if (bn == h.none) {
                    D(bm);
                    return
                }
                if (bn == h.random) {
                    bn = Math.floor(Math.random() * (h.length - 2))
                }
                if (bn == h.fade) {
                    a2(bm)
                } else {
                    if (bn < h["vert.tl"]) {
                        aV.displayContent(bm, bn)
                    } else {
                        if (bn < h["horz.tl"]) {
                            Q.displayContent(bm, bn)
                        } else {
                            aI.displayContent(bm, bn)
                        }
                    }
                }
            };
            var al = function () {
                if (J >= 0) {
                    var bn = a("img#curr-img").attr("src");
                    var bo = aA[J].data("imgurl");
                    if (bn != bo) {
                        a("img.main-img", aq).removeAttr("id").hide();
                        var bm = a("img.main-img", aq).filter(function () {
                            return a(this).attr("src") == bo
                        });
                        a(bm.get(0)).show()
                    }
                }
            };
            var D = function (bm) {
                if (bi) {
                    ag.trigger(g)
                }
                a("img.main-img", aq).removeAttr("id").hide();
                bm.attr("id", "curr-img").show();
                aO()
            };
            var a2 = function (bm) {
                a("img#curr-img", aq).stop(true, true);
                a("img.main-img", aq).removeAttr("id").css("z-index", 0);
                bm.attr("id", "curr-img").css("z-index", 1).stop(true, true).fadeIn(ar, function () {
                    a("img.main-img:not('#curr-img')", aq).hide();
                    if (bi) {
                        ag.trigger(g)
                    }
                    aO()
                })
            };
            var a1 = function (bn) {
                var bm = aA[bn];
                var bo = a("<img class='main-img'/>");
                bo.attr("src", bm.data("imgurl"));
                bo.load(function () {
                    if (!bm.data("img")) {
                        bf(bm, a(this))
                    }
                    bn++;
                    if (bn < ah) {
                        a1(bn)
                    }
                }).error(function () {
                    bn++;
                    if (bn < ah) {
                        a1(bn)
                    }
                })
            };
            var bf = function (bo, bq) {
                aq.append(bq);
                var bt = (bc - bq.height()) / 2;
                var bp = (an - bq.width()) / 2;
                var bs = 0,
                    br = 0,
                    bn = 0,
                    bm = 0;
                if (bt > 0) {
                    bn = bt
                } else {
                    if (bt < 0) {
                        bs = bt
                    }
                }
                if (bp > 0) {
                    bm = bp
                } else {
                    if (bp < 0) {
                        br = bp
                    }
                }
                bq.css({
                    top: bs,
                    left: br,
                    "padding-top": bn,
                    "padding-bottom": bn,
                    "padding-left": bm,
                    "padding-right": bm
                });
                bo.data("img", bq)
            };
            var aO = function () {
                if (aG && a3 == null) {
                    var bm = Math.round(S.data("pct") * H);
                    S.animate({
                        width: (S.parent().width() + 1)
                    }, bm);
                    a3 = setTimeout(L, bm)
                }
            };
            var a5 = function () {
                clearTimeout(a3);
                a3 = null;
                S.stop(true).width(0).data("pct", 1)
            };
            var N = function () {
                clearTimeout(a3);
                a3 = null;
                var bm = 1 - (S.width() / (S.parent().width() + 1));
                S.stop(true).data("pct", bm)
            };
            var O = function () {
                for (var bo = 0; bo < aA.length; bo++) {
                    var bm = Math.floor(Math.random() * aA.length);
                    var bn = aA[bo];
                    aA[bo] = aA[bm];
                    aA[bm] = bn
                }
            };
            var ai = function () {
                return false
            };
            this.setMouseoverPause = function (bm) {
                Z = bm;
                if (Z) {
                    ag.bind("mouseenter", aL).bind("mouseleave", X)
                } else {
                    ag.unbind("mouseenter", aL).unbind("mouseleave", X)
                }
            };
            this.setMouseoverText = function (bm) {
                au = bm;
                if (au) {
                    aj();
                    ag.bind("mouseenter", ad).bind("mouseleave", aj)
                } else {
                    ad();
                    ag.unbind("mouseenter", ad).unbind("mouseleave", aj)
                }
            };
            this.setMouseoverCPanel = function (bm) {
                ay = bm;
                if (ay && U == k) {
                    az();
                    ag.bind("mouseenter", bj).bind("mouseleave", az)
                } else {
                    bj();
                    ag.unbind("mouseenter", bj).unbind("mouseleave", az)
                }
            };
            this.setTransition = function (bm) {
                ak = bm;
                ab.data("effect", h[ak])
            };
            this.setTextEffect = function (bm) {
                at = bm
            };
            var aN;
            this.setThumbs = function (bm) {
                if (aN == undefined) {
                    aN = aW.width()
                }
                F = bm;
                if (F) {
                    aW.width(aN).show()
                } else {
                    aW.hide().width(0)
                }
                am()
            };
            var ae = 31;
            this.setDButtons = function (bm) {
                aE = bm;
                if (aE) {
                    P.show();
                    a4.show();
                    if (aC) {
                        K.width(3 * ae)
                    } else {
                        K.width(2 * ae)
                    }
                } else {
                    P.hide();
                    a4.hide();
                    if (aC) {
                        K.width(ae)
                    } else {
                        K.width(0)
                    }
                }
                am()
            };
            this.setPlayButton = function (bm) {
                aC = bm;
                if (aC) {
                    R.show();
                    if (aE) {
                        K.width(3 * ae)
                    } else {
                        K.width(ae)
                    }
                } else {
                    R.hide();
                    if (aE) {
                        K.width(2 * ae)
                    } else {
                        K.width(0)
                    }
                }
                am()
            };
            this.setTimerBar = function (bm) {
                displayTimer = bm;
                if (displayTimer) {
                    S.css({
                        visibility: "visible"
                    })
                } else {
                    S.css({
                        visibility: "hidden"
                    })
                }
            };
            this.setCpanelAlign = function (bm) {
                aZ = bm;
                am();
                aR()
            };
            this.setCpanelPos = function (bm) {
                U = bm;
                am()
            };
            var am = function () {
                aP.css("top", 0);
                I.css({
                    margin: 0,
                    padding: 0,
                    top: 0,
                    left: 0,
                    border: "none"
                }).removeClass("cp-bg");
                ag.unbind("mouseenter", bj).unbind("mouseleave", az);
                if (!F && !aE && !aC) {
                    I.hide();
                    ag.css({
                        width: an,
                        height: bc
                    });
                    return
                }
                if (U == k) {
                    I.css({
                        "margin-top": a7,
                        "margin-right": 0,
                        "margin-bottom": a7,
                        "margin-left": a7
                    });
                    var bn = I.outerWidth(true);
                    var bm = I.outerHeight(true);
                    switch (aZ) {
                    case y:
                        a0(0, 0, -bm, "left");
                        break;
                    case w:
                        a0(0, Math.round((an - bn) / 2), -bm, "right");
                        break;
                    case e:
                        a0(0, (an - bn), -bm, "right");
                        break;
                    case u:
                        a0((bc - bm), 0, bc, "left");
                        break;
                    case n:
                        a0((bc - bm), Math.round((an - bn) / 2), bc, "right");
                        break;
                    default:
                        a0((bc - bm), (an - bn), bc, "right")
                    }
                    if (ay) {
                        ag.hover(bj, az)
                    }
                    ag.css({
                        width: an,
                        height: bc
                    })
                } else {
                    I.stop(true).css({
                        opacity: 1,
                        "padding-top": a7,
                        "padding-bottom": a7
                    }).addClass("cp-bg");
                    var bn = I.outerWidth();
                    switch (aZ) {
                    case y:
                        aK(I.outerHeight(), 0, a7, "left");
                        break;
                    case w:
                        aK(I.outerHeight(), 0, Math.round((an - bn) / 2), "right");
                        break;
                    case e:
                        aK(I.outerHeight(), 0, an - bn, "right");
                        break;
                    case u:
                        aK(0, bc, a7, "left");
                        break;
                    case n:
                        aK(0, bc, Math.round((an - bn) / 2), "right");
                        break;
                    default:
                        aK(0, bc, an - bn, "right")
                    }
                    ag.css({
                        width: an,
                        height: bc + I.outerHeight()
                    })
                }
                I.show()
            };
            this.setTooltipType = function (bm) {
                aa = bm;
                aR()
            };
            var aR = function () {
                M.remove();
                ab.unbind("mouseover", a8).unbind("mousemove", ax).unbind("mouseover", be).unbind("mousemove", T).unbind("mouseout", aJ);
                M = a("<div id='rotator-tooltip'></div>");
                if (aa == "text") {
                    M.append("<div class='tt-txt'></div>");
                    a("body").append(M);
                    switch (aZ) {
                    case y:
                    case w:
                    case e:
                        M.data("bottom", true).addClass("txt-down");
                        break;
                    default:
                        M.data("bottom", false).addClass("txt-up")
                    }
                    for (var bn = 0; bn < aA.length; bn++) {
                        var bm = aA[bn].data("caption");
                        if (bm != "") {
                            aA[bn].mouseover(be).mouseout(aJ).bind("mousemove", T)
                        }
                    }
                } else {
                    if (aa == "image") {
                        M.append("<img class='tt-img'/>");
                        a("body").append(M);
                        switch (aZ) {
                        case y:
                        case w:
                        case e:
                            M.data("bottom", true).addClass("img-down");
                            break;
                        default:
                            M.data("bottom", false).addClass("img-up")
                        }
                        for (var bn = 0; bn < aA.length; bn++) {
                            var bo = aA[bn].data("tturl");
                            if (bo != undefined) {
                                aA[bn].mouseover(a8).mouseout(aJ).bind("mousemove", ax)
                            }
                        }
                    }
                }
            };
            var bd = function () {
                aM.data("visible", false).stop(true, true);
                switch (z[at]) {
                case z.down:
                    Y.html("");
                    aM.animate({
                        height: 0
                    }, v);
                    break;
                case z.right:
                    Y.html("");
                    aM.animate({
                        width: 0
                    }, v);
                    break;
                default:
                    aM.css("display", "none")
                }
            }
        }
        var d = function (D, E) {
            if (!isNaN(D) && D > 0) {
                return D
            }
            return E
        };
        var C = function (D, E) {
            if (!isNaN(D) && D >= 0) {
                return D
            }
            return E
        };
        var s = function (D) {
            var H = D.length;
            for (var G = 0; G < H; G++) {
                var E = Math.floor(Math.random() * H);
                var F = D[G];
                D[G] = D[E];
                D[E] = F
            }
        };
        var o = {
            width: 999,
            height: 288,
            button_width: 24,
            button_height: 24,
            button_margin: 4,
            auto_start: true,
            delay: p,
            transition: "fade",
            transition_speed: x,
            cpanel_position: k,
            cpanel_align: f,
            timer_align: "top",
            display_thumbs: false,
            display_dbuttons: true,
            display_playbutton: true,
            display_imgtooltip: true,
            display_numbers: true,
            display_timer: true,
            mouseover_pause: false,
            cpanel_mouseover: false,
            text_mouseover: false,
            text_effect: "fade",
            text_sync: true,
            tooltip_type: "text",
            shuffle: false,
            block_size: 75,
            vert_size: 50,
            horz_size: 50,
            block_delay: 25,
            vstripe_delay: 75,
            hstripe_delay: 75
        };
        var r = a.extend({}, o, B);
        return this.each(function () {
            b = new A(a(this), r);
            b.init()
        })
    }
})(jQuery);
