4 tinyMCEPopup.resizeToInnerSize();
\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
11 if (anchor != null) {
\r
16 if (tinyMCE.getAttrib(img, "class") == "mceItemAnchor") {
\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
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
37 element.setAttribute("name", name);
\r
39 var rng = inst.getRng();
\r
42 rng.collapse(false);
\r
44 name = name.replace(/&/g, '&');
\r
45 name = name.replace(/\"/g, '"');
\r
46 name = name.replace(/</g, '<');
\r
47 name = name.replace(/>/g, '>');
\r
49 // Fix for bug #1447335
\r
50 if (tinyMCE.isGecko)
\r
51 html = '<a id="mceNewAnchor" name="' + name + '"></a>';
\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
62 inst.selection.selectNode(e, true, false, false);
\r
63 e.removeAttribute('id');
\r
67 tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst);
\r
70 tinyMCEPopup.execCommand("mceEndUndoLevel");
\r
72 tinyMCE.triggerNodeChange();
\r
73 tinyMCEPopup.close();
\r