function setFriendByList(uid) {
    $("#id_email").val("");
    $("#id_confirm_email").val("");
    $("#id_self_buy").attr("checked", "");
    FB.api(
        {
            method: "fql.query",
            query: "SELECT id, name, pic_square FROM profile WHERE id=" + uid
        },
        function(response) {
            var user = response[0];
            $("#id_recipient_reference_key").val(user.id);
            var fbFriend = '<p>Delivering to:</p><div id="fb-friend-img"><img src=' + user.pic_square + ' /><br/><p><a id="fb-change" href="javascript:void(0);">Change</a></p></div><div id="fb-friend-name"><p>' + user.name + '</p></div>';
            $("#facebook-info").html(fbFriend).show("fast");
            $("#deliver-content-facebook").hide();
        }
    );
}

function getFriendList(response) {
    var fb_callback = function(response) {
        if (response.authResponse && response.status != 'not_authorized')
        {
            getFriendList(response);
        }
        else {
            // user not logged in or no permissions, just ignore
        }
    };
    if (!response.authResponse) {
        FB.login(fb_callback, {"scope": "publish_stream, offline_access"});
        return;
    }
    $("#id_sender_reference_key").val(response.authResponse.userID);
    $.fn.colorbox({
        html: "<div id='fb-container'></div>",
        width: "800px",
        height: "450px",
        onComplete: function() {
            $("#fb-container").jfmfs({max_selected: 1});
            $(".jfmfs-friend").live("click", function(e) {
                setFriendByList($(this).attr("id"));
                $.fn.colorbox.close();
            });
            $("#cancel-button").bind("click", function() {
                $.fn.colorbox.close();
            });
        }
    });
}

function displayFriend(response, fbHolder) {
    fbHolder.html("");
    $.each(response, function(intVal, objVal) {
        fbHolder.append($("<div class='friend' id='" + objVal.id + "'><img src='" + objVal.pic_square + "'/>" + objVal.name + "</div>"));
    });
}

function setFriend(friend, uid, pic) {
    FB.api(
        {
            method: "fql.query",
            query: "SELECT id, name, pic_square FROM profile WHERE id=" + uid
        },
        function(response) {
            var user = response[0];
            if (pic) {
                fb_html = '<strong>To:</strong> ' + user.name + ' <img title="Delivered via Facebook" class="fb-icon" src="' + pic + '">';
            }
            else
            {
                fb_html = '<img class="user-pic" src="' + user.pic_square + '">' + user.name;
            }

            $(friend).html(fb_html).show("fast");
        }
    );
}

function getFriend(response, pic) {
    if (!response.authResponse) {
        FB.login(getFriend);
        return;
    }
    $(".facebook-info").each(function() {
        setFriend(this, $(this).attr("id"), pic);
    });
}

