remove old readme
[atutor.git] / jscripts / tiny_mce / plugins / xhtmlxtras / js / attributes.js
1 /**\r
2  * attributes.js\r
3  *\r
4  * Copyright 2009, Moxiecode Systems AB\r
5  * Released under LGPL License.\r
6  *\r
7  * License: http://tinymce.moxiecode.com/license\r
8  * Contributing: http://tinymce.moxiecode.com/contributing\r
9  */\r
10 \r
11 function init() {\r
12         tinyMCEPopup.resizeToInnerSize();\r
13         var inst = tinyMCEPopup.editor;\r
14         var dom = inst.dom;\r
15         var elm = inst.selection.getNode();\r
16         var f = document.forms[0];\r
17         var onclick = dom.getAttrib(elm, 'onclick');\r
18 \r
19         setFormValue('title', dom.getAttrib(elm, 'title'));\r
20         setFormValue('id', dom.getAttrib(elm, 'id'));\r
21         setFormValue('style', dom.getAttrib(elm, "style"));\r
22         setFormValue('dir', dom.getAttrib(elm, 'dir'));\r
23         setFormValue('lang', dom.getAttrib(elm, 'lang'));\r
24         setFormValue('tabindex', dom.getAttrib(elm, 'tabindex', typeof(elm.tabindex) != "undefined" ? elm.tabindex : ""));\r
25         setFormValue('accesskey', dom.getAttrib(elm, 'accesskey', typeof(elm.accesskey) != "undefined" ? elm.accesskey : ""));\r
26         setFormValue('onfocus', dom.getAttrib(elm, 'onfocus'));\r
27         setFormValue('onblur', dom.getAttrib(elm, 'onblur'));\r
28         setFormValue('onclick', onclick);\r
29         setFormValue('ondblclick', dom.getAttrib(elm, 'ondblclick'));\r
30         setFormValue('onmousedown', dom.getAttrib(elm, 'onmousedown'));\r
31         setFormValue('onmouseup', dom.getAttrib(elm, 'onmouseup'));\r
32         setFormValue('onmouseover', dom.getAttrib(elm, 'onmouseover'));\r
33         setFormValue('onmousemove', dom.getAttrib(elm, 'onmousemove'));\r
34         setFormValue('onmouseout', dom.getAttrib(elm, 'onmouseout'));\r
35         setFormValue('onkeypress', dom.getAttrib(elm, 'onkeypress'));\r
36         setFormValue('onkeydown', dom.getAttrib(elm, 'onkeydown'));\r
37         setFormValue('onkeyup', dom.getAttrib(elm, 'onkeyup'));\r
38         className = dom.getAttrib(elm, 'class');\r
39 \r
40         addClassesToList('classlist', 'advlink_styles');\r
41         selectByValue(f, 'classlist', className, true);\r
42 \r
43         TinyMCE_EditableSelects.init();\r
44 }\r
45 \r
46 function setFormValue(name, value) {\r
47         if(value && document.forms[0].elements[name]){\r
48                 document.forms[0].elements[name].value = value;\r
49         }\r
50 }\r
51 \r
52 function insertAction() {\r
53         var inst = tinyMCEPopup.editor;\r
54         var elm = inst.selection.getNode();\r
55 \r
56         tinyMCEPopup.execCommand("mceBeginUndoLevel");  \r
57         setAllAttribs(elm);\r
58         tinyMCEPopup.execCommand("mceEndUndoLevel");\r
59         tinyMCEPopup.close();\r
60 }\r
61 \r
62 function setAttrib(elm, attrib, value) {\r
63         var formObj = document.forms[0];\r
64         var valueElm = formObj.elements[attrib.toLowerCase()];\r
65         var inst = tinyMCEPopup.editor;\r
66         var dom = inst.dom;\r
67 \r
68         if (typeof(value) == "undefined" || value == null) {\r
69                 value = "";\r
70 \r
71                 if (valueElm)\r
72                         value = valueElm.value;\r
73         }\r
74 \r
75         if (value != "") {\r
76                 dom.setAttrib(elm, attrib.toLowerCase(), value);\r
77 \r
78                 if (attrib == "style")\r
79                         attrib = "style.cssText";\r
80 \r
81                 if (attrib.substring(0, 2) == 'on')\r
82                         value = 'return true;' + value;\r
83 \r
84                 if (attrib == "class")\r
85                         attrib = "className";\r
86 \r
87                 elm[attrib]=value;\r
88         } else\r
89                 elm.removeAttribute(attrib);\r
90 }\r
91 \r
92 function setAllAttribs(elm) {\r
93         var f = document.forms[0];\r
94 \r
95         setAttrib(elm, 'title');\r
96         setAttrib(elm, 'id');\r
97         setAttrib(elm, 'style');\r
98         setAttrib(elm, 'class', getSelectValue(f, 'classlist'));\r
99         setAttrib(elm, 'dir');\r
100         setAttrib(elm, 'lang');\r
101         setAttrib(elm, 'tabindex');\r
102         setAttrib(elm, 'accesskey');\r
103         setAttrib(elm, 'onfocus');\r
104         setAttrib(elm, 'onblur');\r
105         setAttrib(elm, 'onclick');\r
106         setAttrib(elm, 'ondblclick');\r
107         setAttrib(elm, 'onmousedown');\r
108         setAttrib(elm, 'onmouseup');\r
109         setAttrib(elm, 'onmouseover');\r
110         setAttrib(elm, 'onmousemove');\r
111         setAttrib(elm, 'onmouseout');\r
112         setAttrib(elm, 'onkeypress');\r
113         setAttrib(elm, 'onkeydown');\r
114         setAttrib(elm, 'onkeyup');\r
115 \r
116         // Refresh in old MSIE\r
117 //      if (tinyMCE.isMSIE5)\r
118 //              elm.outerHTML = elm.outerHTML;\r
119 }\r
120 \r
121 function insertAttribute() {\r
122         tinyMCEPopup.close();\r
123 }\r
124 \r
125 tinyMCEPopup.onInit.add(init);\r
126 tinyMCEPopup.requireLangPack();\r