// Globals
var dialogBookmark = null,
    _selected_bookmark_id = '';

// Functions
function userBookmark(object_id, content_type, user_bookmark_type_name){

        _selected_bookmark_id = 'ub_' + user_bookmark_type_name.replace(/ /g, "_") + "_" + content_type + "_" + object_id;
	
        var checked = $('#' + _selected_bookmark_id).is(':checked'),
            unset = 1;

	if (checked) { 
            unset = 0;
        }
        
	$.ajax({
            url: _MMF_GLOBAL.page_urls.user_bookmark_form,
            data: {
                content_type: content_type,
                object_id: object_id,
                user_bookmark_type_name: user_bookmark_type_name,
                unset: unset
            },
            success: function () {
                // Increment Counts
                if (document.getElementById("lblBookmarkCount")) {
                    var bookmark_count = $("#lblBookmarkCount").html();
                    if (unset == 1) {
                        bookmark_count--;
                    } else {
                        bookmark_count++;
                    }
                    $("#lblBookmarkCount").html(bookmark_count);
                }
                if (document.getElementById("lblMustDoCount") && user_bookmark_type_name == "must do") {
                    var bookmark_count = $("#lblMustDoCount").html();
                    if (unset == 1) {
                        bookmark_count--;
                    } else {
                        bookmark_count++;
                    }
                    $("#lblMustDoCount").html(bookmark_count);
                }
                if (document.getElementById("lblTop5Count") && user_bookmark_type_name == "top 5") {
                    var bookmark_count = $("#lblTop5Count").html();
                    if (unset == 1) {
                        bookmark_count--;
                    } else {
                        bookmark_count++;
                    }
                    $("#lblTop5Count").html(bookmark_count);
                }
	    },
	    error: function () {
	    	mmfDialog(_MMF_GLOBAL.text.top5_error_title, _MMF_GLOBAL.text.top5_error_msg, 'error');
	    	$("#"+_selected_bookmark_id).attr("checked", '');
	    }
	});
   
}

// Functions
function groupBookmarkDialog(object_id, content_type, group_bookmark_type_name) {

	if (!object_id) { 
            alert("Missing ID");
        }
        
	div_id = "group_bookmark_"+object_id;

	// In order to Internationalize Button
	var dialog_buttons = {};
	dialog_buttons[_MMF_GLOBAL.text.close_button] = function () {
            $(this).dialog("close");
            $(this).dialog('destroy');
            $(this).remove();
	};

	// Render Dialog
    var dialogBookmark = $('<div id="'+div_id+'"></div>')
        .dialog({
            autoOpen: false,
            title: _MMF_GLOBAL.text.group_bookmark_title + ' ' + content_type.toTitleCase(),
            buttons: dialog_buttons,
            width: 400,
            close: function(event, ui) {
                $(this).dialog('destroy');
                $(this).remove();
            }
        });

	render_data = {
            "object_id": object_id,
            "content_type": content_type,
            "group_bookmark_type_name": group_bookmark_type_name,
            "render": 1
	};
	
    $('#'+div_id).load(_MMF_GLOBAL.page_urls.group_bookmark_form, render_data, function () {
    	dialogBookmark.dialog('open');
    });

}

function groupBookmark(object_id, content_type, group_bookmark_type_name, group_id){
	_selected_bookmark_id = "gb_" + group_bookmark_type_name.replace(/ /g, "_") + "_" + content_type + "_" + object_id + "_" + group_id;
        
	var checked = $("#"+_selected_bookmark_id).is(':checked'),
            group_id = $("#"+_selected_bookmark_id).val(),
            unset = 1;
            
	if (checked) { 
            unset = 0;
        }
	$.ajax({
            url: _MMF_GLOBAL.page_urls.group_bookmark_form,
            data: {
                content_type: content_type,
                object_id: object_id,
                group_bookmark_type_name: group_bookmark_type_name,
                unset: unset,
                group_id: group_id
            },
            success: function () {
                // Do Nothing
                if (document.getElementById("lblBookmarkCount")) {
                    var bookmark_count =  $("#lblBookmarkCount").html();
                    if (unset == 1) {
                        bookmark_count--;
                    } else {
                        bookmark_count++;
                    }
                    $("#lblBookmarkCount").html(bookmark_count);
                }
	    },
	    error: function () {
	    	mmfDialog(_MMF_GLOBAL.text.top5_error_title, _MMF_GLOBAL.text.top5_error_msg, 'error');
	    	$('#'+_selected_bookmark_id).attr('checked', '');
	    }
	});

}

