src/crypto.c: possible fix for memory leak related
[citadel.git] / webcit / tiny_mce / themes / advanced / jscripts / anchor.js
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
10 \r
11         if (anchor != null) {\r
12                 element = anchor;\r
13                 action = "update";\r
14         }\r
15 \r
16         if (tinyMCE.getAttrib(img, "class") == "mceItemAnchor") {\r
17                 element = img;\r
18                 action = "update";\r
19         }\r
20 \r
21         if (action == "update")\r
22                 document.forms[0].anchorName.value = element.nodeName == "IMG" ? element.getAttribute("title") : element.getAttribute("name");\r
23 \r
24         document.forms[0].insert.value = tinyMCE.getLang('lang_' + action, 'Insert', true);\r
25 }\r
26 \r
27 function insertAnchor() {\r
28         var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));\r
29         var name = document.forms[0].anchorName.value;\r
30 \r
31         tinyMCEPopup.execCommand("mceBeginUndoLevel");\r
32 \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
40 \r
41                 if (rng.collapse)\r
42                         rng.collapse(false);\r
43 \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, '&gr;');\r
48 \r
49                 html = '<a name="' + name + '"></a>';\r
50 \r
51                 tinyMCEPopup.execCommand("mceInsertContent", false, html);\r
52                 tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst);\r
53         }\r
54 \r
55         tinyMCEPopup.execCommand("mceEndUndoLevel");\r
56 \r
57         tinyMCE.triggerNodeChange();\r
58         tinyMCEPopup.close();\r
59 }\r