/*
 * AbCore TitleEditor Plugin
 * version: 0.0.5 (18-JUL-2010)
 * @requires jQuery v1.2.2 or later
 */

/*
 * History:
 * 
 * 0.0.1	First version
 * 0.0.2	Added MultiLanguage Support
 * 0.0.3	Added support for BlockUI Plugin
 * 0.0.4	Added support for JsonRpc instead of AJAX
 * 0.0.5    Code cleaned
 */
function TitleEditor(path) {

    var _editTitle = function(obj) {
        try {
            var old = $(obj).html();
            var meta = $(obj).metadata();
            var modId = meta.tid;
            var block = $.getAbModuleContainer(modId);
            $.pleaseWait(path, "Please Wait...", block, function() {
                try {
                    var result = $.jrpc().Common.Modules.getTitle(modId);
                } catch (e) {
                    var result = {error: true, message: e.message};
                }
                if (block)
                    $(block).unblock();
                else
                    $.unblockUI();
                if (result.error) {
                    $.errorMessage(result.message);
                } else {
                    MlInputBox(result.message, result.translations, function(d) {
                        try {
                            if (!d)
                                return;
                            $.pleaseWait(path, "Please Wait...", block, function() {
                                try {
                                    var newTitle = $.jrpc().Common.Modules.saveTitle(modId, d);
                                } catch (e) {
                                    var newTitle = e.message;
                                }
                                if (block)
                                    $(block).unblock();
                                else
                                    $.unblockUI();
                                $(obj).html(newTitle);
                            });
                        } catch (e) {
                            $.errorMessage(e.message);
                            if (block)
                                $(block).unblock();
                            else
                                $.unblockUI();
                        }
                    });
                }
            });
        } catch (e) {
            $.errorMessage(e.message);
            if (block)
                $(block).unblock();
            else
                $.unblockUI();
        }
    };
       
    $(".titleEditable").tooltip().click(function() {
        _editTitle(this);
    });
}
