(function($) {

function display_free_account_upgrade(msg) {
    show_dialog(msg);
}

function click_toggle() {
    var on = "/static/img/favorite.png";
    var off = "/static/img/notfavorite.png";

    var img = $(this);
    var cur_src = img.attr("src");
    var guid = img.attr("data-guid");

    var to = "";
    // currently favorited/ toggle off
    if(cur_src === on) {
        to = "off";
        img.attr("src", off);
    } 

    // currently not, toggle on
    else {
        to = "on";
        img.attr("src", on);
    }

    $.post("/a/toggle_favorite", {guid: guid, to: to},
    function(data) {
        if(data.success)
            return;

        display_free_account_upgrade(data.message);

        img.attr("src", off);
    },
    "json");
}

$.fn.favor = function() {
    return this.each(function() {
        //setup the click handler
        $(this).click(click_toggle);
        $(this).css("cursor", "pointer");
    });
};
})(jQuery);
