]> code.citadel.org Git - citadel.git/blob - webcit/tiny_mce/plugins/xhtmlxtras/jscripts/attributes.js
* serv_ldap.c: upon successful connect to an LDAP server, post an aide message warnin...
[citadel.git] / webcit / tiny_mce / plugins / xhtmlxtras / jscripts / attributes.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-2006, Moxiecode Systems AB, All rights reserved.\r
6  */\r
7 \r
8 function preinit() {\r
9         // Initialize\r
10         tinyMCE.setWindowArg('mce_windowresize', false);\r
11 }\r
12 \r
13 function init() {\r
14         tinyMCEPopup.resizeToInnerSize();\r
15         var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));\r
16         var elm = inst.getFocusElement();\r
17 \r
18         var f = document.forms[0];\r
19         \r
20         var onclick = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onclick'));\r
21 \r
22         setFormValue('title', tinyMCE.getAttrib(elm, 'title'));\r
23         setFormValue('id', tinyMCE.getAttrib(elm, 'id'));\r
24         setFormValue('style', tinyMCE.serializeStyle(tinyMCE.parseStyle(tinyMCE.getAttrib(elm, "style"))));\r
25         setFormValue('dir', tinyMCE.getAttrib(elm, 'dir'));\r
26         setFormValue('lang', tinyMCE.getAttrib(elm, 'lang'));\r
27         setFormValue('tabindex', tinyMCE.getAttrib(elm, 'tabindex', typeof(elm.tabindex) != "undefined" ? elm.tabindex : ""));\r
28         setFormValue('accesskey', tinyMCE.getAttrib(elm, 'accesskey', typeof(elm.accesskey) != "undefined" ? elm.accesskey : ""));\r
29         setFormValue('onfocus', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onfocus')));\r
30         setFormValue('onblur', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onblur')));\r
31         setFormValue('onclick', onclick);\r
32         setFormValue('ondblclick', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'ondblclick')));\r
33         setFormValue('onmousedown', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmousedown')));\r
34         setFormValue('onmouseup', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseup')));\r
35         setFormValue('onmouseover', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseover')));\r
36         setFormValue('onmousemove', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmousemove')));\r
37         setFormValue('onmouseout', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseout')));\r
38         setFormValue('onkeypress', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onkeypress')));\r
39         setFormValue('onkeydown', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onkeydown')));\r
40         setFormValue('onkeyup', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onkeyup')));\r
41         \r
42         className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(elm, 'class'), false);\r
43                 \r
44         addClassesToList('classlist', 'advlink_styles');\r
45         selectByValue(f, 'classlist', className, true);\r
46         \r
47         TinyMCE_EditableSelects.init();\r
48 }\r
49 \r
50 function setFormValue(name, value) {\r
51         if(value && document.forms[0].elements[name]){\r
52                 document.forms[0].elements[name].value = value;\r
53         }\r
54 }\r
55 \r
56 function insertAction() {\r
57         var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));\r
58         var elm = inst.getFocusElement();\r
59 \r
60         tinyMCEPopup.execCommand("mceBeginUndoLevel");  \r
61         tinyMCEPopup.restoreSelection();\r
62         \r
63         setAllAttribs(elm);\r
64         \r
65         tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst);\r
66         tinyMCE._setEventsEnabled(inst.getBody(), false);\r
67         tinyMCEPopup.execCommand("mceEndUndoLevel");\r
68         tinyMCEPopup.close();\r
69 }\r
70 \r
71 function setAttrib(elm, attrib, value) {\r
72         var formObj = document.forms[0];\r
73         var valueElm = formObj.elements[attrib.toLowerCase()];\r
74 \r
75         if (typeof(value) == "undefined" || value == null) {\r
76                 value = "";\r
77 \r
78                 if (valueElm)\r
79                         value = valueElm.value;\r
80         }\r
81 \r
82         if (value != "") {\r
83                 tinyMCE.setAttrib(elm, attrib.toLowerCase(), value);\r
84 \r
85                 if (attrib == "style")\r
86                         attrib = "style.cssText";\r
87 \r
88                 if (attrib.substring(0, 2) == 'on')\r
89                         value = 'return true;' + value;\r
90 \r
91                 if (attrib == "class")\r
92                         attrib = "className";\r
93 \r
94                 eval('elm.' + attrib + "=value;");\r
95         } else\r
96                 elm.removeAttribute(attrib);\r
97 }\r
98 \r
99 function setAllAttribs(elm) {\r
100         var f = document.forms[0];\r
101 \r
102         setAttrib(elm, 'title');\r
103         setAttrib(elm, 'id');\r
104         setAttrib(elm, 'style');\r
105         setAttrib(elm, 'class', getSelectValue(f, 'classlist'));\r
106         setAttrib(elm, 'dir');\r
107         setAttrib(elm, 'lang');\r
108         setAttrib(elm, 'tabindex');\r
109         setAttrib(elm, 'accesskey');\r
110         setAttrib(elm, 'onfocus');\r
111         setAttrib(elm, 'onblur');\r
112         setAttrib(elm, 'onclick');\r
113         setAttrib(elm, 'ondblclick');\r
114         setAttrib(elm, 'onmousedown');\r
115         setAttrib(elm, 'onmouseup');\r
116         setAttrib(elm, 'onmouseover');\r
117         setAttrib(elm, 'onmousemove');\r
118         setAttrib(elm, 'onmouseout');\r
119         setAttrib(elm, 'onkeypress');\r
120         setAttrib(elm, 'onkeydown');\r
121         setAttrib(elm, 'onkeyup');\r
122 \r
123         // Refresh in old MSIE\r
124         if (tinyMCE.isMSIE5)\r
125                 elm.outerHTML = elm.outerHTML;\r
126 }\r
127 \r
128 function insertAttribute() {\r
129         tinyMCEPopup.close();\r
130 }