
$(function () {

    $(".wishlistButton, .wishlistMenu")
            .hover(function () {
                $(".wishlistButton").css("background-position", "-54px 0");
                $(".wishlistMenu").css({ display: "block", visibility: "visible" });
            },
        function () {
            $(".wishlistButton").css("background-position", "0 0");
            $(".wishlistMenu").css({ display: "none", visibility: "hidden" });
        });

    $("#AddToFavorites").click(function () {
        AddToFavorites();
    });

    // load the favorites
    LoadFavorites();
});

function LoadFavorites() {
    $("#createMenu").empty();
    if ($.cookie("favorites") != null) {
        var favs = JSON.parse($.cookie("favorites"));
        // iterate through favs
        $.each(favs, function (i, item) {
            $("<li><span class='favoritesDelete'><a href='#' id='DelFav" + item.ID + "'>X</a> </span><span class='favoritesLink'><a href='" + item.URL + "'>" + item.Name + "</a></span></li>").appendTo('#createMenu');
            $("#DelFav" + item.ID).click(function () {
                DeleteFavorite(item.ID);
            });
        });
    }
}

function DeleteFavorite(id) {
    if ($.cookie("favorites") != null) {
        var favs = JSON.parse($.cookie("favorites"));
        var revised = "";
        $.each(favs, function (i, item) {
            // remove the match, keep the rest
            if (id != item.ID) {
                if (revised != "") { revised += ", "; }
                revised += "{ \"ID\": \"" + item.ID + "\", \"URL\": \"" + item.URL + "\", \"Name\": \"" + item.Name + "\" }"
            }
        });
        if (revised == "")
            $.cookie("favorites", null, { path: '/' });
        else {
            revised = "[" + revised + "]";
            $.cookie("favorites", revised, { path: '/' });
        }
        LoadFavorites();
    }
}

function AddToFavorites() {
    var id = $("#ProductNumber").text();
    var loc = window.location;
    var prodName = $("#ProductName").text();

    var favorite = "{ \"ID\": \"" + id + "\", \"URL\": \"" + loc + "\", \"Name\": \"" + prodName + "\" }";

    var revised = "";
    if ($.cookie("favorites") != null) {
        var favs = JSON.parse($.cookie("favorites"));
        $.each(favs, function (i, item) {
            // do not add duplicate
            if (id != item.ID) {
                if (revised) { revised += ", "; }
                revised += "{ \"ID\": \"" + item.ID + "\", \"URL\": \"" + item.URL + "\", \"Name\": \"" + item.Name + "\" }"
            }
        });
        // add
        if (revised != "")
            revised = "[" + revised + "," + favorite + "]";
        else
            revised = "[" + favorite + "]";
    } else {
        var revised = "[" + favorite + "]";
    }
    $.cookie("favorites", revised, { path: '/' });

    LoadFavorites();
}

