PluginProbe
Contact Forms by Cimatti / 1.1
Contact Forms by Cimatti v1.1
2.3.6 2.3.5 2.3.0 2.2.32 2.2.4 2.2.0 2.1.2 2.1.1 trunk 1.0 1.1 1.2 1.2.1 1.3 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 1.4.1 All 62 releases
contact-forms / PFBC / Resources / tiny_mce / utils / form_utils.js

form_utils.js in Contact Forms by Cimatti 1.1, at PFBC/Resources/tiny_mce/utils/form_utils.js

211 lines 5.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /**
2 * form_utils.js
3 *
4 * Copyright 2009, Moxiecode Systems AB
5 * Released under LGPL License.
6 *
7 * License: http://tinymce.moxiecode.com/license
8 * Contributing: http://tinymce.moxiecode.com/contributing
9 */
10
11 var themeBaseURL = tinyMCEPopup.editor.baseURI.toAbsolute('themes/' + tinyMCEPopup.getParam("theme"));
12
13 function getColorPickerHTML(id, target_form_element) {
14 var h = "", dom = tinyMCEPopup.dom;
15
16 if (label = dom.select('label[for=' + target_form_element + ']')[0]) {
17 label.id = label.id || dom.uniqueId();
18 }
19
20 h += '<a role="button" aria-labelledby="' + id + '_label" id="' + id + '_link" href="javascript:;" onclick="tinyMCEPopup.pickColor(event,\'' + target_form_element +'\');" onmousedown="return false;" class="pickcolor">';
21 h += '<span id="' + id + '" title="' + tinyMCEPopup.getLang('browse') + '">&nbsp;<span id="' + id + '_label" class="mceVoiceLabel mceIconOnly" style="display:none;">' + tinyMCEPopup.getLang('browse') + '</span></span></a>';
22
23 return h;
24 }
25
26 function updateColor(img_id, form_element_id) {
27 document.getElementById(img_id).style.backgroundColor = document.forms[0].elements[form_element_id].value;
28 }
29
30 function setBrowserDisabled(id, state) {
31 var img = document.getElementById(id);
32 var lnk = document.getElementById(id + "_link");
33
34 if (lnk) {
35 if (state) {
36 lnk.setAttribute("realhref", lnk.getAttribute("href"));
37 lnk.removeAttribute("href");
38 tinyMCEPopup.dom.addClass(img, 'disabled');
39 } else {
40 if (lnk.getAttribute("realhref"))
41 lnk.setAttribute("href", lnk.getAttribute("realhref"));
42
43 tinyMCEPopup.dom.removeClass(img, 'disabled');
44 }
45 }
46 }
47
48 function getBrowserHTML(id, target_form_element, type, prefix) {
49 var option = prefix + "_" + type + "_browser_callback", cb, html;
50
51 cb = tinyMCEPopup.getParam(option, tinyMCEPopup.getParam("file_browser_callback"));
52
53 if (!cb)
54 return "";
55
56 html = "";
57 html += '<a id="' + id + '_link" href="javascript:openBrowser(\'' + id + '\',\'' + target_form_element + '\', \'' + type + '\',\'' + option + '\');" onmousedown="return false;" class="browse">';
58 html += '<span id="' + id + '" title="' + tinyMCEPopup.getLang('browse') + '">&nbsp;</span></a>';
59
60 return html;
61 }
62
63 function openBrowser(img_id, target_form_element, type, option) {
64 var img = document.getElementById(img_id);
65
66 if (img.className != "mceButtonDisabled")
67 tinyMCEPopup.openBrowser(target_form_element, type, option);
68 }
69
70 function selectByValue(form_obj, field_name, value, add_custom, ignore_case) {
71 if (!form_obj || !form_obj.elements[field_name])
72 return;
73
74 if (!value)
75 value = "";
76
77 var sel = form_obj.elements[field_name];
78
79 var found = false;
80 for (var i=0; i<sel.options.length; i++) {
81 var option = sel.options[i];
82
83 if (option.value == value || (ignore_case && option.value.toLowerCase() == value.toLowerCase())) {
84 option.selected = true;
85 found = true;
86 } else
87 option.selected = false;
88 }
89
90 if (!found && add_custom && value != '') {
91 var option = new Option(value, value);
92 option.selected = true;
93 sel.options[sel.options.length] = option;
94 sel.selectedIndex = sel.options.length - 1;
95 }
96
97 return found;
98 }
99
100 function getSelectValue(form_obj, field_name) {
101 var elm = form_obj.elements[field_name];
102
103 if (elm == null || elm.options == null || elm.selectedIndex === -1)
104 return "";
105
106 return elm.options[elm.selectedIndex].value;
107 }
108
109 function addSelectValue(form_obj, field_name, name, value) {
110 var s = form_obj.elements[field_name];
111 var o = new Option(name, value);
112 s.options[s.options.length] = o;
113 }
114
115 function addClassesToList(list_id, specific_option) {
116 // Setup class droplist
117 var styleSelectElm = document.getElementById(list_id);
118 var styles = tinyMCEPopup.getParam('theme_advanced_styles', false);
119 styles = tinyMCEPopup.getParam(specific_option, styles);
120
121 if (styles) {
122 var stylesAr = styles.split(';');
123
124 for (var i=0; i<stylesAr.length; i++) {
125 if (stylesAr != "") {
126 var key, value;
127
128 key = stylesAr[i].split('=')[0];
129 value = stylesAr[i].split('=')[1];
130
131 styleSelectElm.options[styleSelectElm.length] = new Option(key, value);
132 }
133 }
134 } else {
135 tinymce.each(tinyMCEPopup.editor.dom.getClasses(), function(o) {
136 styleSelectElm.options[styleSelectElm.length] = new Option(o.title || o['class'], o['class']);
137 });
138 }
139 }
140
141 function isVisible(element_id) {
142 var elm = document.getElementById(element_id);
143
144 return elm && elm.style.display != "none";
145 }
146
147 function convertRGBToHex(col) {
148 var re = new RegExp("rgb\\s*\\(\\s*([0-9]+).*,\\s*([0-9]+).*,\\s*([0-9]+).*\\)", "gi");
149
150 var rgb = col.replace(re, "$1,$2,$3").split(',');
151 if (rgb.length == 3) {
152 r = parseInt(rgb[0]).toString(16);
153 g = parseInt(rgb[1]).toString(16);
154 b = parseInt(rgb[2]).toString(16);
155
156 r = r.length == 1 ? '0' + r : r;
157 g = g.length == 1 ? '0' + g : g;
158 b = b.length == 1 ? '0' + b : b;
159
160 return "#" + r + g + b;
161 }
162
163 return col;
164 }
165
166 function convertHexToRGB(col) {
167 if (col.indexOf('#') != -1) {
168 col = col.replace(new RegExp('[^0-9A-F]', 'gi'), '');
169
170 r = parseInt(col.substring(0, 2), 16);
171 g = parseInt(col.substring(2, 4), 16);
172 b = parseInt(col.substring(4, 6), 16);
173
174 return "rgb(" + r + "," + g + "," + b + ")";
175 }
176
177 return col;
178 }
179
180 function trimSize(size) {
181 return size.replace(/([0-9\.]+)(px|%|in|cm|mm|em|ex|pt|pc)/i, '$1$2');
182 }
183
184 function getCSSSize(size) {
185 size = trimSize(size);
186
187 if (size == "")
188 return "";
189
190 // Add px
191 if (/^[0-9]+$/.test(size))
192 size += 'px';
193 // Sanity check, IE doesn't like broken values
194 else if (!(/^[0-9\.]+(px|%|in|cm|mm|em|ex|pt|pc)$/i.test(size)))
195 return "";
196
197 return size;
198 }
199
200 function getStyle(elm, attrib, style) {
201 var val = tinyMCEPopup.dom.getAttrib(elm, attrib);
202
203 if (val != '')
204 return '' + val;
205
206 if (typeof(style) == 'undefined')
207 style = attrib;
208
209 return tinyMCEPopup.dom.getStyle(elm, style);
210 }
211