/**
* editor_plugin_src.js
*
* Copyright 2012, Umbraco
* Released under MIT License.
*
* License: http://opensource.org/licenses/mit-license.html
*/

(function () {
    var Event = tinymce.dom.Event, each = tinymce.each, DOM = tinymce.DOM;

    /**
    * This plugin modifies the standard TinyMCE context menu, with umbraco specific changes.
    *
    * @class tinymce.plugins.umbContextMenu
    */
    tinymce.create('tinymce.plugins.UmbracoContextMenu', {
        /**
        * Initializes the plugin, this will be executed after the plugin has been created.
        * This call is done before the editor instance has finished it's initialization so use the onInit event
        * of the editor instance to intercept that event.
        *
        * @method init
        * @param {tinymce.Editor} ed Editor instance that the plugin is initialized in.
        * @param {string} url Absolute URL to where the plugin is located.
        */
        init: function (ed) {
            if (ed.plugins.contextmenu) {

            ed.plugins.contextmenu.onContextMenu.add(function (th, menu, event) {

                var keys = UmbClientMgr.uiKeys();

                $.each(menu.items, function (idx, el) {
                
                    switch (el.settings.cmd) {
                        case "Cut":
                            el.settings.title = keys['defaultdialogs_cut'];
                            break;
                        case "Copy":
                            el.settings.title = keys['general_copy'];
                            break;
                        case "Paste":
                            el.settings.title = keys['defaultdialogs_paste'];
                            break;
                        case "mceAdvLink":
                        case "mceLink":
                            el.settings.title = keys['defaultdialogs_insertlink'];
                            break;
                        case "UnLink":
                            el.settings.title = keys['relatedlinks_removeLink'];
                            break;
                        case "mceImage":
                            el.settings.title = keys['defaultdialogs_insertimage'];
                            el.settings.cmd = "mceUmbimage";
                            break;
                    }

                });

            });
        }
        }
    });

    // Register plugin
    tinymce.PluginManager.add('umbracocontextmenu', tinymce.plugins.UmbracoContextMenu);
})();
