source: trunk/www.guidonia.net/wp/wp-content/plugins/contact-form-7/admin/wpcf7-admin.js@ 44

Last change on this file since 44 was 44, checked in by luciano, 14 years ago
File size: 31.8 KB
Line 
1jQuery(document).ready(function() {
2 try {
3 jQuery('#tag-generator-div').append(tagGenerator());
4
5 jQuery('input#wpcf7-title:enabled').css({
6 cursor: 'pointer'
7 });
8
9 jQuery('input#wpcf7-title').mouseover(function() {
10 jQuery(this).not('.focus').css({
11 'background-color': '#ffffdd'
12 });
13 });
14
15 jQuery('input#wpcf7-title').mouseout(function() {
16 jQuery(this).css({
17 'background-color': '#fff'
18 });
19 });
20
21 jQuery('input#wpcf7-title').focus(function() {
22 jQuery(this).addClass('focus');
23 jQuery(this).css({
24 cursor: 'text',
25 color: '#333',
26 border: '1px solid #777',
27 font: 'normal 13px Verdana, Arial, Helvetica, sans-serif',
28 'background-color': '#fff'
29 });
30 });
31
32 jQuery('input#wpcf7-title').blur(function() {
33 jQuery(this).removeClass('focus');
34 jQuery(this).css({
35 cursor: 'pointer',
36 color: '#555',
37 border: 'none',
38 font: 'bold 20px serif',
39 'background-color': '#fff'
40 });
41 });
42
43 jQuery('input#wpcf7-title').change(function() {
44 updateTag();
45 });
46
47 updateTag();
48
49 if (! jQuery('#wpcf7-mail-2-active').is(':checked'))
50 jQuery('#mail-2-fields').hide();
51
52 jQuery('#wpcf7-mail-2-active').click(function() {
53 if (jQuery('#wpcf7-mail-2-active').is(':checked')) {
54 if (jQuery('#mail-2-fields').is(':hidden'))
55 jQuery('#mail-2-fields').slideDown('fast');
56 } else {
57 if (jQuery('#mail-2-fields').is(':visible'))
58 jQuery('#mail-2-fields').hide('fast');
59 }
60 });
61
62 jQuery('#message-fields-toggle-switch').text(_wpcf7L10n.show);
63 jQuery('#message-fields').hide();
64
65 jQuery('#message-fields-toggle-switch').click(function() {
66 if (jQuery('#message-fields').is(':hidden')) {
67 jQuery('#message-fields').slideDown('fast');
68 jQuery('#message-fields-toggle-switch').text(_wpcf7L10n.hide);
69 } else {
70 jQuery('#message-fields').hide('fast');
71 jQuery('#message-fields-toggle-switch').text(_wpcf7L10n.show);
72 }
73 });
74
75 if ('' == jQuery.trim(jQuery('#wpcf7-additional-settings').text())) {
76 jQuery('#additional-settings-fields-toggle-switch').text(_wpcf7L10n.show);
77 jQuery('#additional-settings-fields').hide();
78 } else {
79 jQuery('#additional-settings-fields-toggle-switch').text(_wpcf7L10n.hide);
80 jQuery('#additional-settings-fields').show();
81 }
82
83 jQuery('#additional-settings-fields-toggle-switch').click(function() {
84 if (jQuery('#additional-settings-fields').is(':hidden')) {
85 jQuery('#additional-settings-fields').slideDown('fast');
86 jQuery('#additional-settings-fields-toggle-switch').text(_wpcf7L10n.hide);
87 } else {
88 jQuery('#additional-settings-fields').hide('fast');
89 jQuery('#additional-settings-fields-toggle-switch').text(_wpcf7L10n.show);
90 }
91 });
92
93 } catch (e) {
94 }
95});
96
97function updateTag() {
98 var title = jQuery('input#wpcf7-title').val();
99 if (title)
100 title = title.replace(/["'\[\]]/g, '');
101 jQuery('input#wpcf7-title').val(title);
102 var current = jQuery('input#wpcf7-id').val();
103 var tag = '[contact-form ' + current + ' "' + title + '"]';
104 jQuery('input#contact-form-anchor-text').val(tag);
105}
106
107function tagGenerator() {
108 var menu = jQuery('<div class="tag-generator"></div>');
109
110 var dropdown_icon = jQuery('<img src="../wp-content/plugins/contact-form-7/images/dropdown.gif" />');
111 dropdown_icon.css({ 'vertical-align': 'bottom' });
112
113 var selector = jQuery('<span>' + _wpcf7L10n.generateTag + '</span>');
114 selector.append(dropdown_icon);
115 selector.css({
116 border: '1px solid #ddd',
117 padding: '2px 4px',
118 background: '#fff url( ../wp-admin/images/fade-butt.png ) repeat-x 0 0',
119 '-moz-border-radius': '3px',
120 '-khtml-border-radius': '3px',
121 '-webkit-border-radius': '3px',
122 'border-radius': '3px'
123 });
124 selector.mouseover(function() {
125 jQuery(this).css({ 'border-color': '#bbb' });
126 });
127 selector.mouseout(function() {
128 jQuery(this).css({ 'border-color': '#ddd' });
129 });
130 selector.mousedown(function() {
131 jQuery(this).css({ background: '#ddd' });
132 });
133 selector.mouseup(function() {
134 jQuery(this).css({ background: '#fff url( ../wp-admin/images/fade-butt.png ) repeat-x 0 0' });
135 });
136 selector.click(function() {
137 dropdown.slideDown('fast');
138 return false;
139 });
140 jQuery('body').click(function() {
141 dropdown.hide();
142 });
143 menu.append(selector);
144
145 var pane = jQuery('<div class="tg-pane"></div>');
146 pane.hide();
147 menu.append(pane);
148
149 var dropdown = jQuery('<div class="tg-dropdown"></div>');
150 dropdown.hide();
151
152 var tag_types = [
153 'textField', 'emailField', 'textArea', 'menu', 'checkboxes', 'radioButtons',
154 'acceptance', 'quiz', 'captcha', 'fileUpload', 'submit'];
155
156 jQuery.each(tag_types, function(i, n) {
157 var submenu = jQuery('<div>' + _wpcf7L10n[n] + '</div>');
158 submenu.css({
159 margin: 0,
160 padding: '0 4px',
161 'line-height': '180%',
162 background: '#fff'
163 });
164 submenu.mouseover(function() {
165 jQuery(this).css({ background: '#d4f2f2' });
166 });
167 submenu.mouseout(function() {
168 jQuery(this).css({ background: '#fff' });
169 });
170 submenu.click(function() {
171 dropdown.hide();
172 pane.hide();
173 pane.empty();
174 tgPane(pane, n);
175 pane.slideDown('fast');
176 return false;
177 });
178 dropdown.append(submenu);
179 });
180
181 menu.append(dropdown);
182
183 return menu;
184}
185
186function tgPane(pane, tagType) {
187 var closeButtonDiv = jQuery('<div></div>');
188 closeButtonDiv.css({ float: 'right' });
189 var closeButton = jQuery('<span class="tg-closebutton">&#215;</span>');
190 closeButton.click(function() {
191 pane.slideUp('fast').empty();
192 });
193 closeButtonDiv.append(closeButton);
194 pane.append(closeButtonDiv);
195
196 var paneTitle = jQuery('<div class="tg-panetitle">' + _wpcf7L10n[tagType] + '</div>');
197 pane.append(paneTitle);
198
199 var tgInputs = {};
200 jQuery.each([ 'tagName', 'tagId', 'tagClasses', 'tagId2', 'tagClasses2', 'defaultValue',
201 'tagSize', 'tagMaxLength', 'tagFileSizeLimit', 'tagAcceptableFileTypes', 'tagCols', 'tagRows', 'label', 'fgColor', 'bgColor' ], function(i, n) {
202 tgInputs[n] = jQuery('<input type="text" />');
203 tgInputs[n].css({ width: '98%', 'font-size': 'smaller' });
204 tgInputs[n].change(function() {
205 tgCreateTag(tagType, tgInputs, n);
206 });
207 });
208 tgInputs.tagName.css({ 'border-color': '#555' });
209 jQuery.each([ 'isRequiredField', 'allowsMultipleSelections', 'insertFirstBlankOption', 'makeCheckboxesExclusive',
210 'isAcceptanceDefaultOn', 'isAcceptanceInvert',
211 'akismetAuthor', 'akismetAuthorEmail', 'akismetAuthorUrl',
212 'imageSizeSmall', 'imageSizeMedium', 'imageSizeLarge' ], function(i, n) {
213 tgInputs[n] = jQuery('<input type="checkbox" />');
214 tgInputs[n].change(function() {
215 tgCreateTag(tagType, tgInputs, n);
216 });
217 });
218 jQuery.each([ 'menuChoices' ], function(i, n) {
219 tgInputs[n] = jQuery('<textarea></textarea>');
220 tgInputs[n].css({ width: '98%', height: '100px', 'font-size': 'smaller' });
221 tgInputs[n].change(function() {
222 tgCreateTag(tagType, tgInputs, n);
223 });
224 });
225 jQuery.each([ 'tag1st', 'tag2nd' ], function(i, n) {
226 tgInputs[n] = jQuery('<input type="text" class="tag" readonly="readonly" onfocus="this.select()" />');
227 tgInputs[n].css({ width: '98%' });
228 });
229
230 switch (tagType) {
231 case 'textField':
232 case 'emailField':
233 var table1 = jQuery('<table></table>');
234 pane.append(table1);
235 table1.append(tgTr(
236 jQuery('<span>&nbsp;' + _wpcf7L10n.isRequiredField + '</span>').prepend(tgInputs.isRequiredField)
237 ));
238 table1.append(tgTr(
239 jQuery('<span>' + _wpcf7L10n.tagName + '<br /></span>').append(tgInputs.tagName),
240 jQuery('<span></span>')
241 ));
242
243 var table2 = jQuery('<table></table>');
244 pane.append(table2);
245 table2.append(tgTr(
246 jQuery('<span><code>size</code> (' + _wpcf7L10n.optional + ')<br /></span>').append(tgInputs.tagSize),
247 jQuery('<span><code>maxlength</code> (' + _wpcf7L10n.optional + ')<br /></span>').append(tgInputs.tagMaxLength)
248 ));
249 table2.append(tgTr(
250 jQuery('<span><code>id</code> (' + _wpcf7L10n.optional + ')<br /></span>').append(tgInputs.tagId),
251 jQuery('<span><code>class</code> (' + _wpcf7L10n.optional + ')<br /></span>').append(tgInputs.tagClasses)
252 ));
253 var akismetOpts = jQuery('<span>' + _wpcf7L10n.akismet + ' (' + _wpcf7L10n.optional + ')<br /></span>');
254 if ('textField' == tagType) {
255 akismetOpts.append(tgInputs.akismetAuthor).append('&nbsp;' + _wpcf7L10n.akismetAuthor);
256 akismetOpts.append('<br />');
257 akismetOpts.append(tgInputs.akismetAuthorUrl).append('&nbsp;' + _wpcf7L10n.akismetAuthorUrl);
258 } else if ('emailField' == tagType) {
259 akismetOpts.append(tgInputs.akismetAuthorEmail).append('&nbsp;' + _wpcf7L10n.akismetAuthorEmail);
260 }
261 table2.append(tgTr(
262 akismetOpts,
263 jQuery('<span>' + _wpcf7L10n.defaultValue + ' (' + _wpcf7L10n.optional + ')<br /></span>').append(tgInputs.defaultValue)
264 ));
265 pane.append(jQuery('<div class="tg-tag">' + _wpcf7L10n.generatedTag + '<br /></div>').append(tgInputs.tag1st));
266 break;
267 case 'textArea':
268 var table1 = jQuery('<table></table>');
269 pane.append(table1);
270 table1.append(tgTr(
271 jQuery('<span>&nbsp;' + _wpcf7L10n.isRequiredField + '</span>').prepend(tgInputs.isRequiredField)
272 ));
273 table1.append(tgTr(
274 jQuery('<span>' + _wpcf7L10n.tagName + '<br /></span>').append(tgInputs.tagName),
275 jQuery('<span></span>')
276 ));
277
278 var table2 = jQuery('<table></table>');
279 pane.append(table2);
280 table2.append(tgTr(
281 jQuery('<span><code>cols</code> (' + _wpcf7L10n.optional + ')<br /></span>').append(tgInputs.tagCols),
282 jQuery('<span><code>rows</code> (' + _wpcf7L10n.optional + ')<br /></span>').append(tgInputs.tagRows)
283 ));
284 table2.append(tgTr(
285 jQuery('<span><code>id</code> (' + _wpcf7L10n.optional + ')<br /></span>').append(tgInputs.tagId),
286 jQuery('<span><code>class</code> (' + _wpcf7L10n.optional + ')<br /></span>').append(tgInputs.tagClasses)
287 ));
288 table2.append(tgTr(
289 jQuery('<span>' + _wpcf7L10n.defaultValue + ' (' + _wpcf7L10n.optional + ')<br /></span>').append(tgInputs.defaultValue)
290 ));
291 pane.append(jQuery('<div class="tg-tag">' + _wpcf7L10n.generatedTag + '<br /></div>').append(tgInputs.tag1st));
292 break;
293 case 'menu':
294 case 'checkboxes':
295 case 'radioButtons':
296 var table1 = jQuery('<table></table>');
297 pane.append(table1);
298 if ('radioButtons' != tagType)
299 table1.append(tgTr(
300 jQuery('<span>&nbsp;' + _wpcf7L10n.isRequiredField + '</span>').prepend(tgInputs.isRequiredField)
301 ));
302 table1.append(tgTr(
303 jQuery('<span>' + _wpcf7L10n.tagName + '<br /></span>').append(tgInputs.tagName),
304 jQuery('<span></span>')
305 ));
306
307 var table2 = jQuery('<table></table>');
308 pane.append(table2);
309 table2.append(tgTr(
310 jQuery('<span><code>id</code> (' + _wpcf7L10n.optional + ')<br /></span>').append(tgInputs.tagId),
311 jQuery('<span><code>class</code> (' + _wpcf7L10n.optional + ')<br /></span>').append(tgInputs.tagClasses)
312 ));
313
314 if ('menu' == tagType) {
315 var menuOpt1 = jQuery('<span>&nbsp;' + _wpcf7L10n.allowsMultipleSelections + '</span>').prepend(tgInputs.allowsMultipleSelections).prepend('<br />');
316 var menuOpt2 = jQuery('<span>&nbsp;' + _wpcf7L10n.insertFirstBlankOption + '</span>').prepend(tgInputs.insertFirstBlankOption).prepend('<br />');
317
318 table2.append(tgTr(
319 jQuery('<span>' + _wpcf7L10n.menuChoices + '<br /></span>').append(tgInputs.menuChoices)
320 .append('<br /><span style="font-size: smaller">' + _wpcf7L10n.oneChoicePerLine + '</span>'),
321 menuOpt1.append(menuOpt2)
322 ));
323 } else if ('checkboxes' == tagType) {
324 table2.append(tgTr(
325 jQuery('<span>' + _wpcf7L10n.menuChoices + '<br /></span>').append(tgInputs.menuChoices)
326 .append('<br /><span style="font-size: smaller">' + _wpcf7L10n.oneChoicePerLine + '</span>'),
327 jQuery('<span>&nbsp;' + _wpcf7L10n.makeCheckboxesExclusive + '</span>').prepend(tgInputs.makeCheckboxesExclusive).prepend('<br />')
328 ));
329 } else {
330 table2.append(tgTr(
331 jQuery('<span>' + _wpcf7L10n.menuChoices + '<br /></span>').append(tgInputs.menuChoices)
332 .append('<br /><span style="font-size: smaller">' + _wpcf7L10n.oneChoicePerLine + '</span>')
333 ));
334 }
335
336 pane.append(jQuery('<div class="tg-tag">' + _wpcf7L10n.generatedTag + '<br /></div>').append(tgInputs.tag1st));
337 break;
338 case 'acceptance':
339 var table1 = jQuery('<table></table>');
340 pane.append(table1);
341
342 table1.append(tgTr(
343 jQuery('<span>' + _wpcf7L10n.tagName + '<br /></span>').append(tgInputs.tagName),
344 jQuery('<span></span>')
345 ));
346
347 var table2 = jQuery('<table></table>');
348 pane.append(table2);
349 table2.append(tgTr(
350 jQuery('<span><code>id</code> (' + _wpcf7L10n.optional + ')<br /></span>').append(tgInputs.tagId),
351 jQuery('<span><code>class</code> (' + _wpcf7L10n.optional + ')<br /></span>').append(tgInputs.tagClasses)
352 ));
353
354 var menuOpt1 = jQuery('<span>&nbsp;' + _wpcf7L10n.isAcceptanceDefaultOn + '</span>').prepend(tgInputs.isAcceptanceDefaultOn).prepend('<br />');
355 var menuOpt2 = jQuery('<span>&nbsp;' + _wpcf7L10n.isAcceptanceInvert + '</span>').prepend(tgInputs.isAcceptanceInvert).prepend('<br />');
356 menuOpt2.append('<br /><span style="font-size: smaller;">' + _wpcf7L10n.isAcceptanceInvertMeans + '</span>');
357
358 table2.append(jQuery('<tr></tr>').append(jQuery('<td colspan="2"></td>').append(menuOpt1).append(menuOpt2)));
359
360 pane.append(jQuery('<div class="tg-tag">' + _wpcf7L10n.generatedTag + '<br /></div>').append(tgInputs.tag1st));
361 break;
362 case 'quiz':
363 var table1 = jQuery('<table></table>');
364 pane.append(table1);
365
366 table1.append(tgTr(
367 jQuery('<span>' + _wpcf7L10n.tagName + '<br /></span>').append(tgInputs.tagName),
368 jQuery('<span></span>')
369 ));
370
371 var table2 = jQuery('<table></table>');
372 pane.append(table2);
373 table2.append(tgTr(
374 jQuery('<span><code>size</code> (' + _wpcf7L10n.optional + ')<br /></span>').append(tgInputs.tagSize),
375 jQuery('<span><code>maxlength</code> (' + _wpcf7L10n.optional + ')<br /></span>').append(tgInputs.tagMaxLength)
376 ));
377 table2.append(tgTr(
378 jQuery('<span><code>id</code> (' + _wpcf7L10n.optional + ')<br /></span>').append(tgInputs.tagId),
379 jQuery('<span><code>class</code> (' + _wpcf7L10n.optional + ')<br /></span>').append(tgInputs.tagClasses)
380 ));
381 table2.append(tgTr(
382 jQuery('<span>' + _wpcf7L10n.quizzes + '<br /></span>').append(tgInputs.menuChoices)
383 .append('<br /><span style="font-size: smaller">' + _wpcf7L10n.quizFormatDesc + '</span>')
384 ));
385 pane.append(jQuery('<div class="tg-tag">' + _wpcf7L10n.generatedTag + '<br /></div>').append(tgInputs.tag1st));
386 break;
387 case 'captcha':
388 var table1 = jQuery('<table></table>');
389 pane.append(table1);
390
391 if (! _wpcf7.captchaMod) {
392 table1.append('<tr><td colspan="2"><strong style="color: #e6255b">' +
393 _wpcf7L10n.needReallySimpleCaptcha + '</strong><br />' +
394 '<a href="http://wordpress.org/extend/plugins/really-simple-captcha/">' +
395 'http://wordpress.org/extend/plugins/really-simple-captcha/</a></td></tr>');
396 }
397
398 table1.append(tgTr(
399 jQuery('<span>' + _wpcf7L10n.tagName + '<br /></span>').append(tgInputs.tagName),
400 jQuery('<span></span>')
401 ));
402
403 var table2 = jQuery('<table></table>');
404 pane.append(table2);
405 table2.append('<caption>' + _wpcf7L10n.imageSettings + '</caption>');
406 var imageSizeOpts = jQuery('<span>' + _wpcf7L10n.imageSize + ' (' + _wpcf7L10n.optional + ')<br /></span>');
407 imageSizeOpts.append(tgInputs.imageSizeSmall).append('&nbsp;' + _wpcf7L10n.imageSizeSmall);
408 imageSizeOpts.append('&emsp;');
409 imageSizeOpts.append(tgInputs.imageSizeMedium).append('&nbsp;' + _wpcf7L10n.imageSizeMedium);
410 imageSizeOpts.append('&emsp;');
411 imageSizeOpts.append(tgInputs.imageSizeLarge).append('&nbsp;' + _wpcf7L10n.imageSizeLarge);
412 table2.append(jQuery('<tr></tr>').append(jQuery('<td colspan="2"></td>').append(imageSizeOpts)));
413 table2.append(tgTr(
414 jQuery('<span>' + _wpcf7L10n.fgColor + ' (' + _wpcf7L10n.optional + ')<br /></span>').append(tgInputs.fgColor),
415 jQuery('<span>' + _wpcf7L10n.bgColor + ' (' + _wpcf7L10n.optional + ')<br /></span>').append(tgInputs.bgColor)
416 ));
417 table2.append(tgTr(
418 jQuery('<span><code>id</code> (' + _wpcf7L10n.optional + ')<br /></span>').append(tgInputs.tagId),
419 jQuery('<span><code>class</code> (' + _wpcf7L10n.optional + ')<br /></span>').append(tgInputs.tagClasses)
420 ));
421
422 var table3 = jQuery('<table></table>');
423 pane.append(table3);
424 table3.append('<caption>' + _wpcf7L10n.inputFieldSettings + '</caption>');
425 table3.append(tgTr(
426 jQuery('<span><code>size</code> (' + _wpcf7L10n.optional + ')<br /></span>').append(tgInputs.tagSize),
427 jQuery('<span><code>maxlength</code> (' + _wpcf7L10n.optional + ')<br /></span>').append(tgInputs.tagMaxLength)
428 ));
429 table3.append(tgTr(
430 jQuery('<span><code>id</code> (' + _wpcf7L10n.optional + ')<br /></span>').append(tgInputs.tagId2),
431 jQuery('<span><code>class</code> (' + _wpcf7L10n.optional + ')<br /></span>').append(tgInputs.tagClasses2)
432 ));
433 pane.append(
434 jQuery('<div class="tg-tag">' + _wpcf7L10n.generatedTag + '</div>')
435 .append('<br />').append('1) ' + _wpcf7L10n.tagForImage)
436 .append(tgInputs.tag1st)
437 .append('<br />').append('2) ' + _wpcf7L10n.tagForInputField)
438 .append(tgInputs.tag2nd)
439 );
440 break;
441 case 'fileUpload':
442 var table1 = jQuery('<table></table>');
443 pane.append(table1);
444 table1.append(tgTr(
445 jQuery('<span>&nbsp;' + _wpcf7L10n.isRequiredField + '</span>').prepend(tgInputs.isRequiredField)
446 ));
447 table1.append(tgTr(
448 jQuery('<span>' + _wpcf7L10n.tagName + '<br /></span>').append(tgInputs.tagName),
449 jQuery('<span></span>')
450 ));
451
452 var table2 = jQuery('<table></table>');
453 pane.append(table2);
454 table2.append(tgTr(
455 jQuery('<span>' + _wpcf7L10n.fileSizeLimit + ' (' + _wpcf7L10n.bytes + ') (' + _wpcf7L10n.optional + ')<br /></span>').append(tgInputs.tagFileSizeLimit),
456 jQuery('<span>' + _wpcf7L10n.acceptableFileTypes + ' (' + _wpcf7L10n.optional + ')<br /></span>').append(tgInputs.tagAcceptableFileTypes)
457 ));
458 table2.append(tgTr(
459 jQuery('<span><code>id</code> (' + _wpcf7L10n.optional + ')<br /></span>').append(tgInputs.tagId),
460 jQuery('<span><code>class</code> (' + _wpcf7L10n.optional + ')<br /></span>').append(tgInputs.tagClasses)
461 ));
462 pane.append(jQuery('<div class="tg-tag">' + _wpcf7L10n.generatedTag + '<br /></div>').append(tgInputs.tag1st));
463 break;
464 case 'submit':
465 var table = jQuery('<table></table>');
466 pane.append(table);
467
468 table.append(tgTr(
469 jQuery('<span><code>id</code> (' + _wpcf7L10n.optional + ')<br /></span>').append(tgInputs.tagId),
470 jQuery('<span><code>class</code> (' + _wpcf7L10n.optional + ')<br /></span>').append(tgInputs.tagClasses)
471 ));
472
473 table.append(tgTr(
474 jQuery('<span>' + _wpcf7L10n.label + '<br /></span>').append(tgInputs.label),
475 jQuery('<span></span>')
476 ));
477 pane.append(jQuery('<div class="tg-tag">' + _wpcf7L10n.generatedTag + '<br /></div>').append(tgInputs.tag1st));
478 break;
479 }
480
481 tgCreateTag(tagType, tgInputs);
482}
483
484function tgTr() {
485 var tr = jQuery('<tr></tr>');
486 jQuery.each(arguments, function(i, n) {
487 var td = jQuery('<td></td>').append(n);
488 tr.append(td);
489 });
490 return tr;
491}
492
493function tgCreateTag(tagType, tgInputs, trigger) {
494 tgInputs.tag1st.empty();
495 tgInputs.tag2nd.empty();
496
497 jQuery.each([ 'tagName' ], function(i, n) {
498 var val = tgInputs[n].val();
499 val = val.replace(/[^0-9a-zA-Z:._-]/g, '').replace(/^[^a-zA-Z]+/, '');
500 if ('' == val)
501 val = tgDefaultName(tagType);
502 tgInputs[n].val(val);
503 });
504
505 jQuery.each([ 'tagSize', 'tagMaxLength', 'tagCols', 'tagRows' ], function(i, n) {
506 var val = tgInputs[n].val();
507 val = val.replace(/[^0-9]/g, '');
508 tgInputs[n].val(val);
509 });
510
511 jQuery.each([ 'tagId', 'tagId2' ], function(i, n) {
512 var val = tgInputs[n].val();
513 val = val.replace(/[^-0-9a-zA-Z_]/g, '');
514 tgInputs[n].val(val);
515 });
516
517 jQuery.each([ 'tagClasses', 'tagClasses2' ], function(i, n) {
518 var val = tgInputs[n].val();
519 val = jQuery.map(val.split(' '), function(n) {
520 return n.replace(/[^-0-9a-zA-Z_]/g, '');
521 }).join(' ');
522 val = jQuery.trim(val.replace(/\s+/g, ' '));
523 tgInputs[n].val(val);
524 });
525
526 jQuery.each([ 'fgColor', 'bgColor' ], function(i, n) {
527 var val = tgInputs[n].val();
528 val = val.replace(/[^0-9a-fA-F]/g, '');
529 tgInputs[n].val(val);
530 });
531
532 jQuery.each([ 'tagFileSizeLimit' ], function(i, n) {
533 var val = tgInputs[n].val();
534 val = val.replace(/[^0-9kKmMbB]/g, '');
535 tgInputs[n].val(val);
536 });
537
538 jQuery.each([ 'tagAcceptableFileTypes' ], function(i, n) {
539 var val = tgInputs[n].val();
540 val = val.replace(/[^0-9a-zA-Z.\s]/g, '');
541 tgInputs[n].val(val);
542 });
543
544 if ('akismetAuthor' == trigger && tgInputs.akismetAuthor.is(':checked')) {
545 tgInputs.akismetAuthorUrl.removeAttr('checked');
546 tgInputs.akismetAuthorEmail.removeAttr('checked');
547 } else if ('akismetAuthorUrl' == trigger && tgInputs.akismetAuthorUrl.is(':checked')) {
548 tgInputs.akismetAuthor.removeAttr('checked');
549 tgInputs.akismetAuthorEmail.removeAttr('checked');
550 } else if ('akismetAuthorEmail' == trigger && tgInputs.akismetAuthorEmail.is(':checked')) {
551 tgInputs.akismetAuthor.removeAttr('checked');
552 tgInputs.akismetAuthorUrl.removeAttr('checked');
553 }
554
555 if ('imageSizeSmall' == trigger && tgInputs.imageSizeSmall.is(':checked')) {
556 tgInputs.imageSizeMedium.removeAttr('checked');
557 tgInputs.imageSizeLarge.removeAttr('checked');
558 } else if ('imageSizeMedium' == trigger && tgInputs.imageSizeMedium.is(':checked')) {
559 tgInputs.imageSizeSmall.removeAttr('checked');
560 tgInputs.imageSizeLarge.removeAttr('checked');
561 } else if ('imageSizeLarge' == trigger && tgInputs.imageSizeLarge.is(':checked')) {
562 tgInputs.imageSizeSmall.removeAttr('checked');
563 tgInputs.imageSizeMedium.removeAttr('checked');
564 }
565
566 switch (tagType) {
567 case 'textField':
568 case 'emailField':
569 var type = ('emailField' == tagType) ? 'email' : 'text';
570 if (tgInputs.isRequiredField.is(':checked'))
571 type += '*';
572 var name = tgInputs.tagName.val();
573 var options = [];
574 if (tgInputs.tagSize.val() || tgInputs.tagMaxLength.val())
575 options.push(tgInputs.tagSize.val() + '/' + tgInputs.tagMaxLength.val());
576 if (tgInputs.tagId.val())
577 options.push('id:' + tgInputs.tagId.val());
578 if (tgInputs.tagClasses.val())
579 jQuery.each(tgInputs.tagClasses.val().split(' '), function(i, n) {
580 options.push('class:' + n);
581 });
582 if (tgInputs.akismetAuthor.is(':checked'))
583 options.push('akismet:author');
584 if (tgInputs.akismetAuthorUrl.is(':checked'))
585 options.push('akismet:author_url');
586 if (tgInputs.akismetAuthorEmail.is(':checked'))
587 options.push('akismet:author_email');
588 options = (options.length > 0) ? ' ' + options.join(' ') : '';
589 var dv = '';
590 if (tgInputs.defaultValue.val()) {
591 dv = ' "' + tgInputs.defaultValue.val().replace(/["]/g, '&quot;') + '"';
592 }
593 var tag = name ? '[' + type + ' ' + name + options + dv + ']' : '';
594 tgInputs.tag1st.val(tag);
595 break;
596 case 'textArea':
597 var type = 'textarea';
598 if (tgInputs.isRequiredField.is(':checked'))
599 type += '*';
600 var name = tgInputs.tagName.val();
601 var options = [];
602 if (tgInputs.tagCols.val() || tgInputs.tagRows.val())
603 options.push(tgInputs.tagCols.val() + 'x' + tgInputs.tagRows.val());
604 if (tgInputs.tagId.val())
605 options.push('id:' + tgInputs.tagId.val());
606 if (tgInputs.tagClasses.val())
607 jQuery.each(tgInputs.tagClasses.val().split(' '), function(i, n) {
608 options.push('class:' + n);
609 });
610 options = (options.length > 0) ? ' ' + options.join(' ') : '';
611 var dv = '';
612 if (tgInputs.defaultValue.val()) {
613 dv = ' "' + tgInputs.defaultValue.val().replace(/["]/g, '&quot;') + '"';
614 }
615 var tag = name ? '[' + type + ' ' + name + options + dv + ']' : '';
616 tgInputs.tag1st.val(tag);
617 break;
618 case 'menu':
619 case 'checkboxes':
620 case 'radioButtons':
621 var type = '';
622 if ('menu' == tagType)
623 type = 'select';
624 else if ('checkboxes' == tagType)
625 type = 'checkbox';
626 else if ('radioButtons' == tagType)
627 type = 'radio';
628 if (tgInputs.isRequiredField.is(':checked'))
629 type += '*';
630
631 var name = tgInputs.tagName.val();
632 var options = [];
633 if (tgInputs.allowsMultipleSelections.is(':checked'))
634 options.push('multiple');
635 if (tgInputs.insertFirstBlankOption.is(':checked'))
636 options.push('include_blank');
637 if (tgInputs.makeCheckboxesExclusive.is(':checked'))
638 options.push('exclusive');
639 if (tgInputs.tagId.val())
640 options.push('id:' + tgInputs.tagId.val());
641 if (tgInputs.tagClasses.val())
642 jQuery.each(tgInputs.tagClasses.val().split(' '), function(i, n) {
643 options.push('class:' + n);
644 });
645 options = (options.length > 0) ? ' ' + options.join(' ') : '';
646 var choices = '';
647 if (tgInputs.menuChoices.val())
648 jQuery.each(tgInputs.menuChoices.val().split("\n"), function(i, n) {
649 choices += ' "' + n.replace(/["]/g, '&quot;') + '"';
650 });
651 var tag = name ? '[' + type + ' ' + name + options + choices + ']' : '';
652 tgInputs.tag1st.val(tag);
653 break;
654 case 'acceptance':
655 var type = 'acceptance';
656 var name = tgInputs.tagName.val();
657 var options = [];
658 if (tgInputs.isAcceptanceDefaultOn.is(':checked'))
659 options.push('default:on');
660 if (tgInputs.isAcceptanceInvert.is(':checked'))
661 options.push('invert');
662 if (tgInputs.tagId.val())
663 options.push('id:' + tgInputs.tagId.val());
664 if (tgInputs.tagClasses.val())
665 jQuery.each(tgInputs.tagClasses.val().split(' '), function(i, n) {
666 options.push('class:' + n);
667 });
668 options = (options.length > 0) ? ' ' + options.join(' ') : '';
669 var tag = name ? '[' + type + ' ' + name + options + ']' : '';
670 tgInputs.tag1st.val(tag);
671 break;
672 case 'quiz':
673 var type = 'quiz';
674 var name = tgInputs.tagName.val();
675 var options = [];
676 if (tgInputs.tagSize.val() || tgInputs.tagMaxLength.val())
677 options.push(tgInputs.tagSize.val() + '/' + tgInputs.tagMaxLength.val());
678 if (tgInputs.tagId.val())
679 options.push('id:' + tgInputs.tagId.val());
680 if (tgInputs.tagClasses.val())
681 jQuery.each(tgInputs.tagClasses.val().split(' '), function(i, n) {
682 options.push('class:' + n);
683 });
684 options = (options.length > 0) ? ' ' + options.join(' ') : '';
685 var choices = '';
686 if (tgInputs.menuChoices.val())
687 jQuery.each(tgInputs.menuChoices.val().split("\n"), function(i, n) {
688 choices += ' "' + n.replace(/["]/g, '&quot;') + '"';
689 });
690 var tag = name ? '[' + type + ' ' + name + options + choices + ']' : '';
691 tgInputs.tag1st.val(tag);
692 break;
693 case 'captcha':
694 // for captchac
695 var type = 'captchac';
696 var name = tgInputs.tagName.val();
697 var options = [];
698 if (tgInputs.imageSizeSmall.is(':checked'))
699 options.push('size:s');
700 if (tgInputs.imageSizeMedium.is(':checked'))
701 options.push('size:m');
702 if (tgInputs.imageSizeLarge.is(':checked'))
703 options.push('size:l');
704 if (tgInputs.fgColor.val())
705 options.push('fg:#' + tgInputs.fgColor.val());
706 if (tgInputs.bgColor.val())
707 options.push('bg:#' + tgInputs.bgColor.val());
708 if (tgInputs.tagId.val())
709 options.push('id:' + tgInputs.tagId.val());
710 if (tgInputs.tagClasses.val())
711 jQuery.each(tgInputs.tagClasses.val().split(' '), function(i, n) {
712 options.push('class:' + n);
713 });
714 options = (options.length > 0) ? ' ' + options.join(' ') : '';
715 var tag = name ? '[' + type + ' ' + name + options + ']' : '';
716 tgInputs.tag1st.val(tag);
717 // for captchar
718 var type = 'captchar';
719 var options = [];
720 if (tgInputs.tagSize.val() || tgInputs.tagMaxLength.val())
721 options.push(tgInputs.tagSize.val() + '/' + tgInputs.tagMaxLength.val());
722 if (tgInputs.tagId2.val())
723 options.push('id:' + tgInputs.tagId2.val());
724 if (tgInputs.tagClasses2.val())
725 jQuery.each(tgInputs.tagClasses2.val().split(' '), function(i, n) {
726 options.push('class:' + n);
727 });
728 options = (options.length > 0) ? ' ' + options.join(' ') : '';
729 var tag = name ? '[' + type + ' ' + name + options + ']' : '';
730 tgInputs.tag2nd.val(tag);
731 break;
732 case 'fileUpload':
733 var type = 'file';
734 if (tgInputs.isRequiredField.is(':checked'))
735 type += '*';
736 var name = tgInputs.tagName.val();
737 var options = [];
738 if (tgInputs.tagId.val())
739 options.push('id:' + tgInputs.tagId.val());
740 if (tgInputs.tagClasses.val())
741 jQuery.each(tgInputs.tagClasses.val().split(' '), function(i, n) {
742 options.push('class:' + n);
743 });
744 if (tgInputs.tagFileSizeLimit.val())
745 options.push('limit:' + tgInputs.tagFileSizeLimit.val());
746 if (tgInputs.tagAcceptableFileTypes.val())
747 options.push('filetypes:' + tgInputs.tagAcceptableFileTypes.val().split(' ').join('|'));
748 options = (options.length > 0) ? ' ' + options.join(' ') : '';
749 var tag = name ? '[' + type + ' ' + name + options + ']' : '';
750 tgInputs.tag1st.val(tag);
751 break;
752 case 'submit':
753 var type = 'submit';
754
755 var options = [];
756 if (tgInputs.tagId.val())
757 options.push('id:' + tgInputs.tagId.val());
758 if (tgInputs.tagClasses.val())
759 jQuery.each(tgInputs.tagClasses.val().split(' '), function(i, n) {
760 options.push('class:' + n);
761 });
762 options = (options.length > 0) ? ' ' + options.join(' ') : '';
763
764 var label = tgInputs.label.val();
765 if (label)
766 label = ' "' + label.replace(/["]/g, '&quot;') + '"';
767 var tag = '[' + type + options + label + ']';
768 tgInputs.tag1st.val(tag);
769 break;
770 }
771}
772
773function tgDefaultName(tagType) {
774 var rand = Math.floor(Math.random() * 1000);
775 if ('textField' == tagType) {
776 return 'text-' + rand;
777 } else if ('emailField' == tagType) {
778 return 'email-' + rand;
779 } else if ('textArea' == tagType) {
780 return 'textarea-' + rand;
781 } else if ('menu' == tagType) {
782 return 'menu-' + rand;
783 } else if ('checkboxes' == tagType) {
784 return 'checkbox-' + rand;
785 } else if ('radioButtons' == tagType) {
786 return 'radio-' + rand;
787 } else if ('acceptance' == tagType) {
788 return 'acceptance-' + rand;
789 } else if ('quiz' == tagType) {
790 return 'quiz-' + rand;
791 } else if ('captcha' == tagType) {
792 return 'captcha-' + rand;
793 } else if ('fileUpload' == tagType) {
794 return 'file-' + rand;
795 }
796}
Note: See TracBrowser for help on using the repository browser.