adicionando arquivos de media (incluindo o editor tiny mce (LGPL)
[cascardo/eventmanager.git] / media / tiny_mce / themes / advanced / jscripts / anchor.js
diff --git a/media/tiny_mce/themes/advanced/jscripts/anchor.js b/media/tiny_mce/themes/advanced/jscripts/anchor.js
new file mode 100755 (executable)
index 0000000..e7c1c62
--- /dev/null
@@ -0,0 +1,74 @@
+var action, element;\r
+\r
+function init() {\r
+       tinyMCEPopup.resizeToInnerSize();\r
+\r
+       var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));\r
+       var anchor = tinyMCE.getParentElement(inst.getFocusElement(), "a", "name");\r
+       var img = inst.getFocusElement();\r
+       action = 'insert';\r
+\r
+       if (anchor != null) {\r
+               element = anchor;\r
+               action = "update";\r
+       }\r
+\r
+       if (tinyMCE.getAttrib(img, "class") == "mceItemAnchor") {\r
+               element = img;\r
+               action = "update";\r
+       }\r
+\r
+       if (action == "update")\r
+               document.forms[0].anchorName.value = element.nodeName == "IMG" ? element.getAttribute("title") : element.getAttribute("name");\r
+\r
+       document.forms[0].insert.value = tinyMCE.getLang('lang_' + action, 'Insert', true);\r
+}\r
+\r
+function insertAnchor() {\r
+       var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));\r
+       var name = document.forms[0].anchorName.value, e;\r
+\r
+       tinyMCEPopup.execCommand("mceBeginUndoLevel");\r
+\r
+       if (action == "update") {\r
+               if (element.nodeName == "IMG")\r
+                       element.setAttribute("title", name);\r
+               else\r
+                       element.setAttribute("name", name);\r
+       } else {\r
+               var rng = inst.getRng();\r
+\r
+               if (rng.collapse)\r
+                       rng.collapse(false);\r
+\r
+               name = name.replace(/&/g, '&');\r
+               name = name.replace(/\"/g, '"');\r
+               name = name.replace(/</g, '&lt;');\r
+               name = name.replace(/>/g, '&gt;');\r
+\r
+               // Fix for bug #1447335\r
+               if (tinyMCE.isGecko)\r
+                       html = '<a id="mceNewAnchor" name="' + name + '"></a>';\r
+               else\r
+                       html = '<a name="' + name + '"></a>';\r
+\r
+               tinyMCEPopup.execCommand("mceInsertContent", false, html);\r
+\r
+               // Fix for bug #1447335 force cursor after the anchor element\r
+               if (tinyMCE.isGecko) {\r
+                       e = inst.getDoc().getElementById('mceNewAnchor');\r
+\r
+                       if (e) {\r
+                               inst.selection.selectNode(e, true, false, false);\r
+                               e.removeAttribute('id');\r
+                       }\r
+               }\r
+\r
+               tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst);\r
+       }\r
+\r
+       tinyMCEPopup.execCommand("mceEndUndoLevel");\r
+\r
+       tinyMCE.triggerNodeChange();\r
+       tinyMCEPopup.close();\r
+}\r