var sliderSpeed = 500;

(function($) {

    $(document).ready(
        function() {

            $("div.left-chat-scroll").jScrollPane({verticalDragMinHeight:22, verticalDragMaxHeight:22});

            $("area.pie-link-1").hover(
                function() {
                    if (!$(this).hasClass("active")) {
                        $("div.pie-1").hide();
                    }
                },

                function() {
                    if (!$(this).hasClass("active")) {
                        $("div.pie-1").show();
                    }
                }
            );

            $("area.pie-link-2").hover(
                function() {
                    if (!$(this).hasClass("active")) {
                        $("div.pie-2").hide();
                    }
                },

                function() {
                    if (!$(this).hasClass("active")) {
                        $("div.pie-2").show();
                    }
                }
            );

            $("area.pie-link-3").hover(
                function() {
                    if (!$(this).hasClass("active")) {
                        $("div.pie-3").hide();
                    }
                },

                function() {
                    if (!$(this).hasClass("active")) {
                        $("div.pie-3").show();
                    }
                }
            );

            $("area.pie-link-4").hover(
                function() {
                    if (!$(this).hasClass("active")) {
                        $("div.pie-4").hide();
                    }
                },

                function() {
                    if (!$(this).hasClass("active")) {
                        $("div.pie-4").show();
                    }
                }
            );

            $("area.pie-link-5").hover(
                function() {
                    if (!$(this).hasClass("active")) {
                        $("div.pie-5").hide();
                    }
                },

                function() {
                    if (!$(this).hasClass("active")) {
                        $("div.pie-5").show();
                    }
                }
            );

            $("area.pie-link-6").hover(
                function() {
                    if (!$(this).hasClass("active")) {
                        $("div.pie-6").hide();
                    }
                },

                function() {
                    if (!$(this).hasClass("active")) {
                        $("div.pie-6").show();
                    }
                }
            );

            $("div.overlay").each(
                function() {
                    $(window).load(updateOverlay);
                    $(window).resize(updateOverlay);
                }
            );

            $(window).scroll(
                function(e) {
                    var yScroll;
                    if (self.pageYOffset) {
                        yScroll = self.pageYOffset;
                    } else if (document.documentElement && document.documentElement.scrollTop) {
                        yScroll = document.documentElement.scrollTop;
                    } else if (document.body) {
                        yScroll = document.body.scrollTop;
                    }

                    $("div.window-form").css("top", (yScroll + ($(window).height() - $("div.window-form").height()) / 2)+ "px");
                }
            );

            $("div.left-form-link a").click(
                function() {
                    var yScroll;
                    if (self.pageYOffset) {
                        yScroll = self.pageYOffset;
                    } else if (document.documentElement && document.documentElement.scrollTop) {
                        yScroll = document.documentElement.scrollTop;
                    } else if (document.body) {
                        yScroll = document.body.scrollTop;
                    }

                    $("div.window-form").css("top", (yScroll + ($(window).height() - $("div.window-form").height()) / 2)+ "px");

                    $("div.window-form").show();
                    $("div.overlay").show();

                    return false;
                }
            );

            $("div.overlay").click(
                function() {
                    $("div.window-form").hide();
                    $("div.overlay").hide();
                }
            );

            $("body").keypress(
                function(e) {
                    if (e.keyCode == 27) {
                        $("div.window-form").hide();
                        $("div.overlay").hide();
                    }
                }
            );

            $("body").keydown(
                function(e) {
                    if (e.keyCode == 27) {
                        $("div.window-form").hide();
                        $("div.overlay").hide();
                    }
                }
            );

            $("div.window-header a").click(
                function() {
                    $("div.window-form").hide();
                    $("div.overlay").hide();

                    return false;
                }
            );

            $("div.slider").each(
                function() {
                    var curSlider    = $(this);
                    var curWrapWidth = curSlider.width();

                    curSlider.find("li").addClass("start");

                    var curLength = curSlider.find("li").length;
                    var prependHTML = "";
                    var prependFlag = 0;
                    var curIndex = curLength - 1;
                    while (prependFlag < 2) {
                        if (!curSlider.find("li").eq(curIndex).hasClass("active")) {
                            prependHTML = "<li>" + curSlider.find("li").eq(curIndex).html() + "</li>" + prependHTML;
                            prependFlag++;
                        }
                        curIndex--;
                    }
                    if (curSlider.find("li").eq(curIndex).hasClass("active")) {
                        curIndex--;
                    }
                    curSlider.find("li").eq(curIndex).addClass("start-prev");

                    var appendHTML = "";
                    var appendFlag = 0;
                    var curIndex = 0;
                    while (appendFlag < 2) {
                        if (!curSlider.find("li").eq(curIndex).hasClass("active")) {
                            appendHTML = appendHTML + "<li>" + curSlider.find("li").eq(curIndex).html() + "</li>";
                            appendFlag++;
                        }
                        curIndex++;
                    }
                    if (curSlider.find("li").eq(curIndex).hasClass("active")) {
                        curIndex++;
                    }
                    curSlider.find("li").eq(curIndex).addClass("start-next");

                    curSlider.find("ul").prepend(prependHTML);
                    curSlider.find("ul").append(appendHTML);

                    if ($.browser.msie && ($.browser.version == "6.0")) {
                        $("div.slider-content ul li a").hover(
                            function() {
                                $(this).find("span").hide();
                            },

                            function() {
                                $(this).find("span").show();
                            }
                        );
                    }

                    var curWidth = curSlider.find("li").length * 410 + 9;
                    curSlider.find("ul").css("width", curWidth + "px");

                    var curLeft = Math.round((curWrapWidth - 410) / 2);

                    var curActive = curSlider.find("li").index(curSlider.find("li.active"));
                    curSlider.data("curActive", curActive);
                    curSlider.find("li.active").removeClass("active");

                    curSlider.find("ul").css("left", (-(curActive * 410) + curLeft) + "px");
                    curSlider.find("div.slider-view").css("left", curLeft + "px");

                    $(window).resize(updateSlider);

                }
            );

            $("a.slider-next").click(
                function() {
                    var curSlider    = $("div.slider");
                    var curWrapWidth = curSlider.width();

                    var curStart = curSlider.find("li").index(curSlider.find("li.start-next"));
                    curSlider.find("ul").append("<li>" + curSlider.find("li").eq(curStart).html() + "</li>");
                    if ($.browser.msie && ($.browser.version == "6.0")) {
                        curSlider.find("li:last a").hover(
                            function() {
                                $(this).find("span").hide();
                            },

                            function() {
                                $(this).find("span").show();
                            }
                        );
                    }
                    curSlider.find("li").eq(curStart).removeClass("start-next");
                    curStart++;
                    if (!curSlider.find("li").eq(curStart).hasClass("start")) {
                        curStart = curSlider.find("li").index(curSlider.find("li.start:first"));
                    }
                    curSlider.find("li").eq(curStart).addClass("start-next");

                    var curWidth = curSlider.find("li").length * 410 + 9;
                    curSlider.find("ul").css("width", curWidth + "px");

                    var curLeft = Math.round((curWrapWidth - 410) / 2);

                    var curActive = Number(curSlider.data("curActive"));
                    curActive++;
                    curSlider.data("curActive", curActive);

                    curSlider.find("li").eq(curActive - 1).html(curSlider.find("li").eq(curActive).html());

                    curSlider.find("ul").animate({left: (-(curActive * 410) + curLeft) + "px"}, sliderSpeed);

                    return false;
                }
            );

            $("a.slider-prev").click(
                function() {
                    var curSlider    = $("div.slider");
                    var curWrapWidth = curSlider.width();

                    var curLeft = Number(curSlider.find("ul").css("left").replace(/px/, ""));
                    curSlider.find("ul").css("left", (curLeft - 410) + "px");

                    curSlider.find("ul").prepend("<li>" + curSlider.find("li.start-prev").html() + "</li>");
                    if ($.browser.msie && ($.browser.version == "6.0")) {
                        curSlider.find("li:last a").hover(
                            function() {
                                $(this).find("span").hide();
                            },

                            function() {
                                $(this).find("span").show();
                            }
                        );
                    }
                    var curEnd = curSlider.find("li").index(curSlider.find("li.start-prev"));
                    curSlider.find("li.start-prev").removeClass("start-prev");
                    curEnd--;
                    if (!curSlider.find("li").eq(curEnd).hasClass("start")) {
                        curEnd = curSlider.find("li").index(curSlider.find("li.start:last"));
                    }
                    curSlider.find("li").eq(curEnd).addClass("start-prev");

                    var curWidth = curSlider.find("li").length * 410 + 9;
                    curSlider.find("ul").css("width", curWidth + "px");

                    var curLeft = Math.round((curWrapWidth - 410) / 2);

                    var curActive = Number(curSlider.data("curActive")) + 1;
                    curActive--;
                    curSlider.data("curActive", curActive);

                    curSlider.find("li").eq(curActive + 1).html(curSlider.find("li").eq(curActive).html());

                    curSlider.find("ul").animate({left: (-(curActive * 410) + curLeft) + "px"}, sliderSpeed);

                    return false;
                }
            );

        }
    );

    function updateOverlay() {
        if ($.browser.msie && ($.browser.version == "6.0")) {
            var body = $(document.body);
        } else {
            var body = $(document);
        }
        $("div.overlay").css({width: body.width(), height: body.height()});
        delete body;
    }

    function updateSlider() {
        var curSlider    = $("div.slider");
        var curWrapWidth = curSlider.width();

        var curWidth = curSlider.find("li").length * 410 + 9;
        curSlider.find("ul").css("width", curWidth + "px");

        var curLeft = Math.round((curWrapWidth - 410) / 2);

        var curActive = Number(curSlider.data("curActive"));

        curSlider.find("ul").css("left", (-(curActive * 410) + curLeft) + "px");
        curSlider.find("div.slider-view").css("left", curLeft + "px");
    }

})(jQuery);
