﻿(function(a)
{
    jQuery.fn.preLoad = function()
    {
        this.parent();
        var g = 0;
        return this.one("load", function() { g++ }).each(function()
        {
            this.complete && a(this).trigger("load")
        })
    }
})(jQuery);

jQuery.extend(jQuery.easing, { florence: function(a, g, n, m, k)
{
    return m * (-Math.pow(2, -10 * g / k) + 1) + n
}
});
jQuery(function(a)
{
    $canvas = a("#flow_canvas");
    $slider = a("#floArrowBody div");
    $imgs = a("#flow_images").find("a");
    var g = 115 / $imgs.length, n = Math.floor($imgs.length / 2), m = function(b)
    {
        var c = Math.sqrt(1E4 + b * b) + 100, e = 125.2396 / c * 420;
        return { left: b / c * 420 + 420 - 65.75 / c * 420, width: e, top: e * 1.167 / 5, x: b }
    }, k = function(b)
    {
        var c = $canvas.data("moving"), e = $canvas.data("initial"), h = $canvas.data("isinfront") + b;
        if (h < 0 || h > $imgs.length - 1) return false;
        var j = a($imgs[h]).data("currentPosition") || 120 * b;
        j = Math.abs(j);
        b && $imgs.stop(true, false);
        c || $slider.css("margin-left", h * g).data("margin", h * g); c = b > 0 ? ["left", "-="] : ["right", "+="];
        $imgs.each(function()
        {
            var i = a(this), l = i.data("position"); i.data("position", l - b);
            i.data("position") === 0 && $canvas.data("isinfront", i.data("facebox"))
        });
        $imgs.animate({ textIndent: c[1] + j }, {
            duration: 1E3, easing: "florence", step: function(i, l)
            {
                var o = a(this), d = o.data("position"), f = Math.abs(d), p = m(i);
                l.elem.style.left = p.left + "px";
                l.elem.style.width = p.width + "px";
                l.elem.style.top = p.top + "px";
                o.css("opacity", d === 0 ? 1 : 0.7 - f / 10);
                this.style.zIndex = 100 - f;
                o.data("currentPosition", p.x)
            }, complete: function()
            {
                if (e)
                {
                    a("#loading").hide(); a("#flow_images").css("visibility", "visible");
                    a("#flow_images img, #floArrow").hide().css("visibility", "visible").fadeIn(); $canvas.data("initial", false)
                }
            }
        }); return false
    };
    $canvas.data("isinfront", 0).data("moving", false).data("initial", true);
    $slider.data("margin", 0);
    $imgs.each(function(b)
    {
        var c = a(this), e = m(120 * b); c.data("position", b).data("facebox", b); c.css({ left: e.left, width: e.width, top: e.top,
            opacity: c.data("position") === 0 ? 1 : 0.7 - Math.abs(c.data("position")) / 10, textIndent: b * 120, zIndex: 100 - b
        })
    }); a("#xflow_player").bind("mousedown", function(b)
    {
        var c = b.target.id; if (c === "click-slider")
        {
            $canvas.data("moving", true); var e = b.pageX, h = $slider.data("margin"), j = $canvas.data("isinfront");
            a(document).bind("mousemove mouseup", function(d)
            {
                if (d.type === "mousemove")
                {
                    d = d.pageX - e; var f = h + d; if (f < 100 && f > -1)
                    {
                        $slider.css("margin-left", f); $slider.data("margin", h + d); d = Math.round(f / g); if (d != j)
                        {
                            k(d > j ? 1 : -1); j = d
                        }
                    }
                    else
                        return false
                }
            }).mouseup(function()
            {
                $slider.css("margin-left", j * g).data("margin", j * g);
                $canvas.data("moving", false);
                a(document).unbind("mousemove mouseup")
            })
        } if (c === "click-left" || c === "click-right")
        {
            c = c === "click-left" ? -1 : 1;
        } else c = a(b.target).closest("a").data("position");

        if (c === 0 || c === undefined)
        {
            if (c === 0)
            {
                b.preventDefault(); b = a(b.target).closest("a").data("facebox");
                var l = a("#dboxArrowRight"), o = a("#dboxArrowLeft");
                b === 0 && o.addClass("nil");
                b === $imgs.length - 1 && l.addClass("nil");
                a("#dbox").find("div#dboxMask").css("marginLeft", -1 * b * 720).end().fadeIn(300).bind("mousedown keyup",
function(d)
{
    if (d.target.id === "dboxArrowLeft" || d.target.id === "dboxArrowRight")
    {
        var f = d.target.id === "dboxArrowLeft" ? -1 : 1, p = d.target.id === "dboxArrowLeft" ? "+=" : "-=", r = $canvas.data("isinfront");
        k(f);
        f = $canvas.data("isinfront");
        if (f === 0) o.addClass("nil");
        else f === $imgs.length - 1 ? l.addClass("nil") : a(this).children("a").removeClass("nil");
        if (r === f) return false;
        a("#dboxMask").animate({ marginLeft: p + 720 }, 300)
    }
    if (d.target.id === "dbClose" || d.keyCode === 27)
        a(this).unbind("mousedown keyup").fadeOut(300,
        function()
        {
            a(this).children("a").removeClass("nil")
        });
    return false
});
                return false
            } return false
        } k(c); return false
    }).bind("click", function(b)
    {
        b = a(b.target).closest("a").attr("href"); if (!b || b === "#" || b === undefined) return false
    });
    a("#flow_images a").bind("keyup", function(b)
    {
        var c = a(this), e = c.data("position"), h = c.data("facebox");
        b.keyCode === 9 && k(e);
        if (b.type === "keyup" && b.keyCode === 13)
        {
            c.blur();
            b = a("#popup-" + h).find("h2").find("a").attr("href");
            window.location.href = b
        }
    });

    var s = Date().split(" ")[1] + Date().split(" ")[2].replace(/^0/, ""), q = 0; a("dt").each(function()
    {
        if (a(this).html().split(" ").join("").toLowerCase() === s.toLowerCase()) q === 0 ? a(this).html("TODAY") : a(this).html("");
        q++
    });
    a("#xflow_player").each(function()
    {
        if (a.browser.mozilla) a(this).css("MozUserSelect", "none");
        else a.browser.msie ? a(this).bind("selectstart", function()
        {
            return false
        }) : a(this).mousedown(function()
        {
            return false
        })
    });
    $imgs.preLoad().length >= $imgs.length && k(n)
});
