adicionando arquivos de media (incluindo o editor tiny mce (LGPL)
[cascardo/eventmanager.git] / media / tiny_mce / plugins / advimage / editor_plugin_src.js
diff --git a/media/tiny_mce/plugins/advimage/editor_plugin_src.js b/media/tiny_mce/plugins/advimage/editor_plugin_src.js
new file mode 100755 (executable)
index 0000000..fbfd654
--- /dev/null
@@ -0,0 +1,148 @@
+/**\r
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $\r
+ *\r
+ * @author Moxiecode\r
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.\r
+ */\r
+\r
+/* Import plugin specific language pack */\r
+tinyMCE.importPluginLanguagePack('advimage');\r
+\r
+var TinyMCE_AdvancedImagePlugin = {\r
+       getInfo : function() {\r
+               return {\r
+                       longname : 'Advanced image',\r
+                       author : 'Moxiecode Systems AB',\r
+                       authorurl : 'http://tinymce.moxiecode.com',\r
+                       infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advimage',\r
+                       version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion\r
+               };\r
+       },\r
+\r
+       getControlHTML : function(cn) {\r
+               switch (cn) {\r
+                       case "image":\r
+                               return tinyMCE.getButtonHTML(cn, 'lang_image_desc', '{$themeurl}/images/image.gif', 'mceAdvImage');\r
+               }\r
+\r
+               return "";\r
+       },\r
+\r
+       execCommand : function(editor_id, element, command, user_interface, value) {\r
+               switch (command) {\r
+                       case "mceAdvImage":\r
+                               var template = new Array();\r
+\r
+                               template['file']   = '../../plugins/advimage/image.htm';\r
+                               template['width']  = 480;\r
+                               template['height'] = 380;\r
+\r
+                               // Language specific width and height addons\r
+                               template['width']  += tinyMCE.getLang('lang_advimage_delta_width', 0);\r
+                               template['height'] += tinyMCE.getLang('lang_advimage_delta_height', 0);\r
+\r
+                               var inst = tinyMCE.getInstanceById(editor_id);\r
+                               var elm = inst.getFocusElement();\r
+\r
+                               if (elm != null && tinyMCE.getAttrib(elm, 'class').indexOf('mceItem') != -1)\r
+                                       return true;\r
+\r
+                               tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"});\r
+\r
+                               return true;\r
+               }\r
+\r
+               return false;\r
+       },\r
+\r
+       cleanup : function(type, content) {\r
+               switch (type) {\r
+                       case "insert_to_editor_dom":\r
+                               var imgs = content.getElementsByTagName("img"), src, i;\r
+                               for (i=0; i<imgs.length; i++) {\r
+                                       var onmouseover = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i], 'onmouseover'));\r
+                                       var onmouseout = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i], 'onmouseout'));\r
+\r
+                                       if ((src = this._getImageSrc(onmouseover)) != "") {\r
+                                               if (tinyMCE.getParam('convert_urls'))\r
+                                                       src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], src);\r
+\r
+                                               imgs[i].setAttribute('onmouseover', "this.src='" + src + "';");\r
+                                       }\r
+\r
+                                       if ((src = this._getImageSrc(onmouseout)) != "") {\r
+                                               if (tinyMCE.getParam('convert_urls'))\r
+                                                       src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], src);\r
+\r
+                                               imgs[i].setAttribute('onmouseout', "this.src='" + src + "';");\r
+                                       }\r
+                               }\r
+                               break;\r
+\r
+                       case "get_from_editor_dom":\r
+                               var imgs = content.getElementsByTagName("img");\r
+                               for (var i=0; i<imgs.length; i++) {\r
+                                       var onmouseover = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i], 'onmouseover'));\r
+                                       var onmouseout = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i], 'onmouseout'));\r
+\r
+                                       if ((src = this._getImageSrc(onmouseover)) != "") {\r
+                                               if (tinyMCE.getParam('convert_urls'))\r
+                                                       src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, null, true);");\r
+\r
+                                               imgs[i].setAttribute('onmouseover', "this.src='" + src + "';");\r
+                                       }\r
+\r
+                                       if ((src = this._getImageSrc(onmouseout)) != "") {\r
+                                               if (tinyMCE.getParam('convert_urls'))\r
+                                                       src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, null, true);");\r
+\r
+                                               imgs[i].setAttribute('onmouseout', "this.src='" + src + "';");\r
+                                       }\r
+                               }\r
+                               break;\r
+               }\r
+\r
+               return content;\r
+       },\r
+\r
+       handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {\r
+               if (node == null)\r
+                       return;\r
+\r
+               do {\r
+                       if (node.nodeName == "IMG" && tinyMCE.getAttrib(node, 'class').indexOf('mceItem') == -1) {\r
+                               tinyMCE.switchClass(editor_id + '_advimage', 'mceButtonSelected');\r
+                               return true;\r
+                       }\r
+               } while ((node = node.parentNode));\r
+\r
+               tinyMCE.switchClass(editor_id + '_advimage', 'mceButtonNormal');\r
+\r
+               return true;\r
+       },\r
+\r
+       /**\r
+        * Returns the image src from a scripted mouse over image str.\r
+        *\r
+        * @param {string} s String to get real src from.\r
+        * @return Image src from a scripted mouse over image str.\r
+        * @type string\r
+        */\r
+       _getImageSrc : function(s) {\r
+               var sr, p = -1;\r
+\r
+               if (!s)\r
+                       return "";\r
+\r
+               if ((p = s.indexOf('this.src=')) != -1) {\r
+                       sr = s.substring(p + 10);\r
+                       sr = sr.substring(0, sr.indexOf('\''));\r
+\r
+                       return sr;\r
+               }\r
+\r
+               return "";\r
+       }\r
+};\r
+\r
+tinyMCE.addPlugin("advimage", TinyMCE_AdvancedImagePlugin);\r