﻿Cufon.replace('h2,#footer h6,.tslouisiana', { fontFamily: 'TSLouisiana', hover: true });
Cufon.replace('h3,.tsrockwell', { fontFamily: 'TSRockwell' });
//Cufon.replace('#nav .nav-item-link', { fontFamily: 'TSRockwell', hover: true });

$(function () {

    $("a.new-window").live("click", function (evt) { window.open($(this).attr("href")); return false; });

    $("a.track-link").live("click", function (evt) {

        //alert($(this).attr("href"));
        pageTracker._trackPageview($(this).attr("href"));

    });

    $("#content-wrapper").css("padding-bottom", $("#footer").outerHeight(true));

    $("input,textarea,select").fancify();

    var $nav = $("#nav");

    $nav.find(".hover-container").siblings(".nav-item-link").prepend("<span class='arrow'/>");

    $nav.find(".nav-item").mouseenter(function () {

        var $navItem = $(this);
        var $hoverContainer = $(".hover-container", $navItem);

        $navItem.addClass("nav-item-hover");

        if ($hoverContainer.length) {

            if (!$hoverContainer.is(":visible"))
                $hoverContainer.css("opacity", 0).show();

            $hoverContainer.stop().animate({

                opacity: 1

            }, {

                duration: 400,
                complete: function () {

                    if (parseFloat($(this).css("opacity")) == 1)
                        $(this).css("opacity", "");

                }

            });

        }

    }).mouseleave(function () {

        var $navItem = $(this);
        var $hoverContainer = $(".hover-container", $navItem);

        $navItem.removeClass("nav-item-hover");

        if ($hoverContainer.length) {

            $hoverContainer.stop().animate({

                opacity: 0

            }, {

                duration: 150,
                complete: function () {

                    if (parseFloat($(this).css("opacity")) == 0)
                        $(this).css("opacity", "").hide();

                }

            });

        }

        /*var $link = $navItem.children(".nav-item-link");

        $navItem.removeClass("nav-item-hover").find(".hover-container").stop().fadeOut(500, function () { $(this).css("opacity", null); });

        $link.addClass("needs-refresh");
        //Cufon.replace("#nav .nav-item-link.needs-refresh");
        $removeClass.addClass("needs-refresh");*/

    });

    var navWidth = 0;

    $(".nav-item", $nav).each(function () {

        navWidth += $(this).outerWidth(true);

    });

    //$(">.inner>.nav", $nav).width(navWidth);

    $("a.print-page").click(function () {

        window.print();

    });

    $("a.love").live("click", function () {

        var $love = $(this);

        $.get($love.attr("href"), function (data) {

            var loveData = data.split(';');

            $("." + loveData[0] + "-" + loveData[1] + "-love-count").text(loveData[2]);

        });

        return false;

    });

    $("a.hot-not").live("click", function () {

        var $love = $(this);

        $.get($love.attr("href"), function (data) {

            var hotNotData = data.split(';');

            $("." + hotNotData[0] + "-" + hotNotData[1] + "-count").text(hotNotData[2]);

        });

        return false;

    });

    $(".product a.wish-list-selector").live("click", function () {

        var $wishListLink = $(this);
        var $container = $wishListLink.closest(".product-list");

        $.get($wishListLink.attr("href"), function (data) {

            var wishListData = data.split(';');

            $wishListLink.removeClass("add-wish-list-selector remove-wish-list-selector").addClass(wishListData[0] == 1 ? "remove-wish-list-selector" : "add-wish-list-selector");

            if ($container.parent().is(".wish-list")) {

                $container.find(".product-" + wishListData[1]).remove();

                $container.find(".h-spacer").remove();

                $container.find(".product").each(function (idx) {

                    if ((idx + 1) % 3 == 0)
                        $(this).after("<div class='spacer h-spacer'/>");

                });

            }

            $(".wish-list-count").text(wishListData[2]);

        });

        return false;

    });

    $(".lightbox").fancybox({
        overlayOpacity: .5,
        overlayColor: "#000",
        padding: 0,
        titlePosition: "over"/*,
        transitionIn: "elastic",
        transitionOut: "elastic"*/
    });

    $(".lightbox-yt").click(function () {

        $.fancybox({

            overlayOpacity: .5,
            overlayColor: "#000",
            padding: 0,
            width: 680,
            height: 495,
            titlePosition: "over",
            type: "swf",
            href: $(this).attr("href").replace(new RegExp("watch\\?v=", "i"), 'v/'),
            swf: {
                'wmode': 'transparent',
                'allowfullscreen': 'true'
            }

        });

        return false;

    });

    var locationHash = location.href.split("#")[1];

    if (locationHash) {

        if (locationHash == "email-list-signup") {

            $("a.eclub").first().click();

        } else if (locationHash.indexOf("product-") == 0) {

            $("#" + locationHash).addClass("product-hilite");

        }

    }

    $(".buy-it-now").each(function () {

        var $buyItNow = $(this);

        $buyItNow.fancybox({

            overlayOpacity: .5,
            overlayColor: "#000",
            padding: 0,
            titleShow: false,
            hideOnOverlayClick: false,
            showCloseButton: false,
            enableEscapeButton: false,
            modal: true,
            content: "<div id='buy-it-now-redirect'><img src='" + __BASE_URL + "img/ui/buy-it-now/loader.gif' alt=''/></div>",

            onComplete: function () {

                setTimeout(function () {

                    location.href = $buyItNow.attr("href");
                    //$.fancybox.close();

                }, 5000);

            }

        });

    });

    $(".just-arrived .options a").live("click", function () {

        var $filter = $(this);
        var $justArrived = $filter.closest(".just-arrived");

        if (!$justArrived.is(".loading")) {

            $filter.addClass("active").siblings(".active").removeClass("active");

            $justArrived.addClass("loading").find(".carousel .item-container").addClass("item-container-loading");

            $.get(__BASE_URL + "ajax/just-arrived.aspx?type=" + $filter.attr("rel"), function (data) {

                var $newData = $(data);

                $newData.find(".item-container .item").eq(0).siblings().hide();

                $filter.closest(".just-arrived").find(".carousel .item-container").remove();
                $filter.closest(".just-arrived").find(".carousel").append($newData.find(".item-container"));

                $justArrived.removeClass("loading")

            });

        }

        return false;

    });

    // just arrived
    $(".carousel-grouped").each(function (carouselIdx, elm) {

        var $carousel = $(elm);
        var $container = $carousel.find(".item-container");

        var timeout = -1;

        var $next = $carousel.find(".next").eq(0);
        var $prev = $carousel.find(".prev").eq(0);

        var pos = 0;

        var $items = $container.children(".item");
        $items.eq(0).siblings().hide();

        $next.click(function () {

            $container = $carousel.find(".item-container");
            $items = $container.children(".item");

            var newPos = pos + 1;

            if (newPos + 1 > $items.size())
                newPos = 0;

            if (newPos != pos) {

                $items.eq(pos).animate({

                    left: -$items.eq(pos).outerWidth()

                }, 500, function () { $(this).hide(); });

                $items.eq(newPos).css("left", $items.eq(pos).outerWidth()).show().animate({

                    left: 0

                }, 500);

                pos = newPos;

                clearTimeout(timeout);

                timeout = setTimeout(function () {

                    $next.click();

                }, 3500);

            }

            return false;

        });

        $prev.click(function () {

            $container = $carousel.find(".item-container");
            $items = $container.children(".item");

            var newPos = pos - 1;

            if (newPos < 0)
                newPos = $items.size() - 1;

            if (newPos != pos) {

                $items.eq(pos).animate({

                    left: $items.eq(pos).outerWidth()

                }, 500, function () { $(this).hide(); });

                $items.eq(newPos).css("left", -$items.eq(pos).outerWidth()).show().animate({

                    left: 0

                }, 500);

                pos = newPos;

                clearTimeout(timeout);

                timeout = setTimeout(function () {

                    $prev.click();

                }, 3500);

            }

            return false;

        });

        timeout = setTimeout(function () {

            $next.click();

        }, 3500);

    });

    $(".carousel:not(.carousel-grouped)").each(function (carouselIdx, elm) {

        var $carousel = $(elm);
        var $container = $carousel.find(".item-container");
        var $wrapper = $carousel.find(".item-wrapper");

        var timeout = -1;

        var $next = $carousel.find(".next").eq(0);
        var $prev = $carousel.find(".prev").eq(0);

        var pos = 0;
        var totalWidth = 0;
        var dir = "r";

        var $items = $container.children(".item");

        $items.each(function (idx) {

            var $item = $(this);

            $item.css("left", totalWidth);

            totalWidth += $item.outerWidth(true);

        });

        $container.width(totalWidth);

        var maxPos = Math.ceil(totalWidth / $wrapper.width()) - 1;

        $container.mouseenter(function () {

            clearTimeout(timeout);
            if (dir == "r")
                pos--;
            else if (dir == "l")
                pos++;

            $container.stop();

        }).mouseleave(function () {

            if (dir == "r") scrollRight();
            else if (dir == "l") scrollLeft();

        });

        var scrollRight = function () {

            dir = "r";

            pos++;

            if (pos > maxPos)
                pos = maxPos;

            var offset = $wrapper.width() * pos;

            if (offset + $wrapper.width() > $container.outerWidth(true))
                offset = $container.outerWidth(true) - $wrapper.width();

            var time = 2000;

            $container.stop().animate({

                left: -offset

            }, time, function () {

                timeout = setTimeout(pos == maxPos ? scrollLeft : scrollRight, 5000);

            });

        };

        var scrollLeft = function () {

            dir = "l";

            pos--;

            if (pos < 0)
                pos = 0;

            var offset = $wrapper.width() * pos;

            if (offset < 0)
                offset = 0;

            var time = 2000;

            $container.stop().animate({

                left: -offset

            }, time, function () {

                timeout = setTimeout(pos == 0 ? scrollRight : scrollLeft, 5000);

            });

        };

        timeout = setTimeout(scrollRight, 5000);

        $next.click(function () {

            clearTimeout(timeout);
            scrollRight();

        });

        $prev.click(function () {

            clearTimeout(timeout);
            scrollLeft();

        });

    });

    // faq

    $(".faq").each(function (idx, elm) {

        var $faq = $(elm);
        var $questions = $faq.find("li");

        //$questions.first().addClass("active").siblings().find(".answer").hide();
        $questions.find(".answer").hide();

        $questions.children(".question").click(function () {

            var $question = $(this).closest("li");

            if (!$question.is(".active")) {

                $question.addClass("active").find(".answer").slideDown();
                $question.siblings(".active").removeClass("active").find(".answer").slideUp();

            }

        });

    });

    $("form").submit(function () {

        var $form = $(this);
        var $watermarkedFields = $form.find(".watermarked");

        $watermarkedFields.val("");

    });

    $("#add-comment .callback-value").change(function (evt) {

        var $form = $("#add-comment");
        var $callback = $(this);
        var postId = $form.find("input[name=bp]").val();
        var commentId = $callback.val();

        $form.find("textarea[name=_txtComment]").val("");

        $comments = $(".comments-bp-" + postId);
        $comments.load(__BASE_URL + "ajax/comments.aspx?rel=bp-" + postId + " .comment-container>*");

        $form.find("fieldset").show();

    });

    $(".comment-sort a").click(function () {

        var $sortLink = $(this);

        if (!$sortLink.is(".active")) {

            $comments = $(".comments-" + $sortLink.attr("rel"));
            $comments.load(__BASE_URL + "ajax/comments.aspx?rel=" + $sortLink.attr("rel") + "&sort=" + $sortLink.attr("class") + " .comment-container>*");

            $sortLink.addClass("active").siblings(".active").removeClass("active");

        }

        return false;

    });

    $("form.ajax-form").submit(function () {

        var $form = $(this);
        var $messageList = $form.find(".message-list");
        var $watermarkedFields = $form.find(".watermarked");
        var $fields = $form.find("input,select,checkbox");

        if (!$form.is(".working")) {

            $form.addClass("working");

            $.ajax({

                type: $form.attr("method"),
                url: $form.attr("action"),
                data: $form.serialize(),

                success: function (data, textStatus, req) {

                    $form.removeClass("working");

                    data = data.split(";");

                    if ($messageList.size() == 1) {
                        $messageList.show();

                        if (data[0] > 0) {

                            $messageList.addClass("message-list-success");
                            $form.find("fieldset").hide();
                            $form.find(".callback-value").val(data[0]).trigger("change");

                        } else {

                            $messageList.addClass("message-list-error");

                        }

                        $messageList.empty();

                        for (var i = 1; i < data.length; i++)
                            $messageList.append("<li>" + data[i] + "</li>");
                    } else {

                        if (data[1])
                            alert(data[1]);

                    }

                    $watermarkedFields.val("");
                    $watermarkedFields.each(function () {

                        $(this).val($(this).attr("title"));

                    });
                }

            });

        }

        return false;

    });

    $("#footer .social .link").live("mouseenter", function () {

        var $socialLink = $(this);

        $socialLink.children(".tooltip").fadeIn(300, function () {

            $(this).css("opacity", null);

        });


    }).live("mouseleave", function () {

        var $socialLink = $(this);

        $socialLink.children(".tooltip").fadeOut(300, function () {

            $(this).hide().css("opacity", null);

        });

    }).find(".tooltip").wrapInner("<div class='tooltip-content'/>").prepend("<div class='tooltip-top'/>");

    $("p:last-child").addClass("last-child");

});
