* Re-added tiny_mce, this time with the language packs
[citadel.git] / webcit / tiny_mce / plugins / xhtmlxtras / js / ins.js
1  /**\r
2  * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $\r
3  *\r
4  * @author Moxiecode - based on work by Andrew Tetlaw\r
5  * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved.\r
6  */\r
7 \r
8 function init() {\r
9         SXE.initElementDialog('ins');\r
10         if (SXE.currentAction == "update") {\r
11                 setFormValue('datetime', tinyMCEPopup.editor.dom.getAttrib(SXE.updateElement, 'datetime'));\r
12                 setFormValue('cite', tinyMCEPopup.editor.dom.getAttrib(SXE.updateElement, 'cite'));\r
13                 SXE.showRemoveButton();\r
14         }\r
15 }\r
16 \r
17 function setElementAttribs(elm) {\r
18         setAllCommonAttribs(elm);\r
19         setAttrib(elm, 'datetime');\r
20         setAttrib(elm, 'cite');\r
21 }\r
22 \r
23 function insertIns() {\r
24         var elm = tinyMCEPopup.editor.dom.getParent(SXE.focusElement, 'INS');\r
25         tinyMCEPopup.execCommand('mceBeginUndoLevel');\r
26         if (elm == null) {\r
27                 var s = SXE.inst.selection.getContent();\r
28                 if(s.length > 0) {\r
29                         insertInlineElement('INS');\r
30                         var elementArray = tinymce.grep(SXE.inst.dom.select('ins'), function(n) {return n.id == '#sxe_temp_ins#';});\r
31                         for (var i=0; i<elementArray.length; i++) {\r
32                                 var elm = elementArray[i];\r
33                                 setElementAttribs(elm);\r
34                         }\r
35                 }\r
36         } else {\r
37                 setElementAttribs(elm);\r
38         }\r
39         tinyMCEPopup.editor.nodeChanged();\r
40         tinyMCEPopup.execCommand('mceEndUndoLevel');\r
41         tinyMCEPopup.close();\r
42 }\r
43 \r
44 function removeIns() {\r
45         SXE.removeElement('ins');\r
46         tinyMCEPopup.close();\r
47 }\r
48 \r
49 function insertInlineElement(en) {\r
50         var ed = tinyMCEPopup.editor, dom = ed.dom;\r
51 \r
52         ed.getDoc().execCommand('FontName', false, 'mceinline');\r
53         tinymce.each(dom.select(tinymce.isWebKit ? 'span' : 'font'), function(n) {\r
54                 if (n.style.fontFamily == 'mceinline' || n.face == 'mceinline')\r
55                         dom.replace(dom.create(en), n, 1);\r
56         });\r
57 }\r
58 \r
59 tinyMCEPopup.onInit.add(init);\r