--- /dev/null
+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, '<');\r
+ name = name.replace(/>/g, '>');\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