applied my changes - initial import
[boxroom-stian.git] / public / javascripts / tiny_mce / plugins / advlink / editor_plugin_src.js
blob7700f34cc6490f6ffe6765e24e457eee67268758
1 /**\r
2  * $Id: editor_plugin_src.js 126 2006-10-22 16:19:55Z spocke $\r
3  *\r
4  * @author Moxiecode\r
5  * @copyright Copyright © 2004-2006, Moxiecode Systems AB, All rights reserved.\r
6  */\r
7 \r
8 /* Import plugin specific language pack */\r
9 tinyMCE.importPluginLanguagePack('advlink');\r
11 var TinyMCE_AdvancedLinkPlugin = {\r
12         getInfo : function() {\r
13                 return {\r
14                         longname : 'Advanced link',\r
15                         author : 'Moxiecode Systems AB',\r
16                         authorurl : 'http://tinymce.moxiecode.com',\r
17                         infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_advlink.html',\r
18                         version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion\r
19                 };\r
20         },\r
22         initInstance : function(inst) {\r
23                 inst.addShortcut('ctrl', 'k', 'lang_advlink_desc', 'mceAdvLink');\r
24         },\r
26         getControlHTML : function(cn) {\r
27                 switch (cn) {\r
28                         case "link":\r
29                                 return tinyMCE.getButtonHTML(cn, 'lang_link_desc', '{$themeurl}/images/link.gif', 'mceAdvLink');\r
30                 }\r
32                 return "";\r
33         },\r
35         execCommand : function(editor_id, element, command, user_interface, value) {\r
36                 switch (command) {\r
37                         case "mceAdvLink":\r
38                                 var anySelection = false;\r
39                                 var inst = tinyMCE.getInstanceById(editor_id);\r
40                                 var focusElm = inst.getFocusElement();\r
41                                 var selectedText = inst.selection.getSelectedText();\r
43                                 if (tinyMCE.selectedElement)\r
44                                         anySelection = (tinyMCE.selectedElement.nodeName.toLowerCase() == "img") || (selectedText && selectedText.length > 0);\r
46                                 if (anySelection || (focusElm != null && focusElm.nodeName == "A")) {\r
47                                         var template = new Array();\r
49                                         template['file']   = '../../plugins/advlink/link.htm';\r
50                                         template['width']  = 480;\r
51                                         template['height'] = 400;\r
53                                         // Language specific width and height addons\r
54                                         template['width']  += tinyMCE.getLang('lang_advlink_delta_width', 0);\r
55                                         template['height'] += tinyMCE.getLang('lang_advlink_delta_height', 0);\r
57                                         tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"});\r
58                                 }\r
60                                 return true;\r
61                 }\r
63                 return false;\r
64         },\r
66         handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {\r
67                 if (node == null)\r
68                         return;\r
70                 do {\r
71                         if (node.nodeName == "A" && tinyMCE.getAttrib(node, 'href') != "") {\r
72                                 tinyMCE.switchClass(editor_id + '_advlink', 'mceButtonSelected');\r
73                                 return true;\r
74                         }\r
75                 } while ((node = node.parentNode));\r
77                 if (any_selection) {\r
78                         tinyMCE.switchClass(editor_id + '_advlink', 'mceButtonNormal');\r
79                         return true;\r
80                 }\r
82                 tinyMCE.switchClass(editor_id + '_advlink', 'mceButtonDisabled');\r
84                 return true;\r
85         }\r
86 };\r
88 tinyMCE.addPlugin("advlink", TinyMCE_AdvancedLinkPlugin);\r