inital git commit
[phpns.git] / inc / js / tinymce / themes / advanced / jscripts / anchor.js
blobe7c1c62c56da0901e6203bd98e740c9b11e9b0e8
1 var action, element;\r
2 \r
3 function init() {\r
4         tinyMCEPopup.resizeToInnerSize();\r
5 \r
6         var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));\r
7         var anchor = tinyMCE.getParentElement(inst.getFocusElement(), "a", "name");\r
8         var img = inst.getFocusElement();\r
9         action = 'insert';\r
11         if (anchor != null) {\r
12                 element = anchor;\r
13                 action = "update";\r
14         }\r
16         if (tinyMCE.getAttrib(img, "class") == "mceItemAnchor") {\r
17                 element = img;\r
18                 action = "update";\r
19         }\r
21         if (action == "update")\r
22                 document.forms[0].anchorName.value = element.nodeName == "IMG" ? element.getAttribute("title") : element.getAttribute("name");\r
24         document.forms[0].insert.value = tinyMCE.getLang('lang_' + action, 'Insert', true);\r
25 }\r
27 function insertAnchor() {\r
28         var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));\r
29         var name = document.forms[0].anchorName.value, e;\r
31         tinyMCEPopup.execCommand("mceBeginUndoLevel");\r
33         if (action == "update") {\r
34                 if (element.nodeName == "IMG")\r
35                         element.setAttribute("title", name);\r
36                 else\r
37                         element.setAttribute("name", name);\r
38         } else {\r
39                 var rng = inst.getRng();\r
41                 if (rng.collapse)\r
42                         rng.collapse(false);\r
44                 name = name.replace(/&/g, '&');\r
45                 name = name.replace(/\"/g, '"');\r
46                 name = name.replace(/</g, '&lt;');\r
47                 name = name.replace(/>/g, '&gt;');\r
49                 // Fix for bug #1447335\r
50                 if (tinyMCE.isGecko)\r
51                         html = '<a id="mceNewAnchor" name="' + name + '"></a>';\r
52                 else\r
53                         html = '<a name="' + name + '"></a>';\r
55                 tinyMCEPopup.execCommand("mceInsertContent", false, html);\r
57                 // Fix for bug #1447335 force cursor after the anchor element\r
58                 if (tinyMCE.isGecko) {\r
59                         e = inst.getDoc().getElementById('mceNewAnchor');\r
61                         if (e) {\r
62                                 inst.selection.selectNode(e, true, false, false);\r
63                                 e.removeAttribute('id');\r
64                         }\r
65                 }\r
67                 tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst);\r
68         }\r
70         tinyMCEPopup.execCommand("mceEndUndoLevel");\r
72         tinyMCE.triggerNodeChange();\r
73         tinyMCEPopup.close();\r
74 }\r