Open-Source PHP Framework - Designed for rapid development of performance-oriented scalable applications

/webroot/js/tinymce/plugins/style/js/props.js

[return to app]
1 tinyMCEPopup.requireLangPack();
2
3 var 
defaultFonts "" 
4     
"Arial, Helvetica, sans-serif=Arial, Helvetica, sans-serif;" 
5     
"Times New Roman, Times, serif=Times New Roman, Times, serif;" 
6     
"Courier New, Courier, mono=Courier New, Courier, mono;" 
7     
"Times New Roman, Times, serif=Times New Roman, Times, serif;" 
8     
"Georgia, Times New Roman, Times, serif=Georgia, Times New Roman, Times, serif;" 
9     
"Verdana, Arial, Helvetica, sans-serif=Verdana, Arial, Helvetica, sans-serif;" 
10     
"Geneva, Arial, Helvetica, sans-serif=Geneva, Arial, Helvetica, sans-serif";
11
12 var 
defaultSizes "9;10;12;14;16;18;24;xx-small;x-small;small;medium;large;x-large;xx-large;smaller;larger";
13 var 
defaultMeasurement "+pixels=px;points=pt;inches=in;centimetres=cm;millimetres=mm;picas=pc;ems=em;exs=ex;%";
14 var 
defaultSpacingMeasurement =
 
"pixels=px;points=pt;inches=in;centimetres=cm;millimetres=mm;picas=pc;+ems=em;exs=ex;%";
15 var 
defaultIndentMeasurement =
 
"pixels=px;+points=pt;inches=in;centimetres=cm;millimetres=mm;picas=pc;ems=em;exs=ex;%";
16 var 
defaultWeight "normal;bold;bolder;lighter;100;200;300;400;500;600;700;800;900";
17 var 
defaultTextStyle "normal;italic;oblique";
18 var 
defaultVariant "normal;small-caps";
19 var 
defaultLineHeight "normal";
20 var 
defaultAttachment "fixed;scroll";
21 var 
defaultRepeat "no-repeat;repeat;repeat-x;repeat-y";
22 var 
defaultPosH "left;center;right";
23 var 
defaultPosV "top;center;bottom";
24 var 
defaultVAlign "baseline;sub;super;top;text-top;middle;bottom;text-bottom";
25 var 
defaultDisplay =
 
"inline;block;list-item;run-in;compact;marker;table;inline-table;table-row-group;table-header-group;table-footer-g
 roup;table-row;table-column-group;table-column;table-cell;table-caption;none"
;
26 var 
defaultBorderStyle "none;solid;dashed;dotted;double;groove;ridge;inset;outset";
27 var 
defaultBorderWidth "thin;medium;thick";
28 var 
defaultListType "disc;circle;square;decimal;lower-roman;upper-roman;lower-alpha;upper-alpha;none";
29
30 function 
init() {
31     var 
ce document.getElementById('container'), h;
32
33     
ce.style.cssText tinyMCEPopup.getWindowArg('style_text');
34
35     
getBrowserHTML('background_image_browser','background_image','image','advimage');
36     
document.getElementById("background_image_browser").innerHTML h;
37
38     
document.getElementById('text_color_pickcontainer').innerHTML =
 
getColorPickerHTML('text_color_pick','text_color');
39     
document.getElementById('background_color_pickcontainer').innerHTML =
 
getColorPickerHTML('background_color_pick','background_color');
40     
document.getElementById('border_color_top_pickcontainer').innerHTML =
 
getColorPickerHTML('border_color_top_pick','border_color_top');
41     
document.getElementById('border_color_right_pickcontainer').innerHTML =
 
getColorPickerHTML('border_color_right_pick','border_color_right');
42     
document.getElementById('border_color_bottom_pickcontainer').innerHTML =
 
getColorPickerHTML('border_color_bottom_pick','border_color_bottom');
43     
document.getElementById('border_color_left_pickcontainer').innerHTML =
 
getColorPickerHTML('border_color_left_pick','border_color_left');
44
45     
fillSelect(0'text_font''style_font'defaultFonts';'true);
46     
fillSelect(0'text_size''style_font_size'defaultSizes';'true);
47     
fillSelect(0'text_size_measurement''style_font_size_measurement'defaultMeasurement';'true);
48     
fillSelect(0'text_case''style_text_case'"capitalize;uppercase;lowercase"';'true);
49     
fillSelect(0'text_weight''style_font_weight'defaultWeight';'true);
50     
fillSelect(0'text_style''style_font_style'defaultTextStyle';'true);
51     
fillSelect(0'text_variant''style_font_variant'defaultVariant';'true);
52     
fillSelect(0'text_lineheight''style_font_line_height'defaultLineHeight';'true);
53     
fillSelect(0'text_lineheight_measurement''style_font_line_height_measurement'defaultMeasurement';',
 
true);
54
55     
fillSelect(0'background_attachment''style_background_attachment'defaultAttachment';'true);
56     
fillSelect(0'background_repeat''style_background_repeat'defaultRepeat';'true);
57
58     
fillSelect(0'background_hpos_measurement''style_background_hpos_measurement'defaultMeasurement';',
 
true);
59     
fillSelect(0'background_vpos_measurement''style_background_vpos_measurement'defaultMeasurement';',
 
true);
60
61     
fillSelect(0'background_hpos''style_background_hpos'defaultPosH';'true);
62     
fillSelect(0'background_vpos''style_background_vpos'defaultPosV';'true);
63
64     
fillSelect(0'block_wordspacing''style_wordspacing''normal'';'true);
65     
fillSelect(0'block_wordspacing_measurement''style_wordspacing_measurement'defaultSpacingMeasurement';',
 
true);
66     
fillSelect(0'block_letterspacing''style_letterspacing''normal'';'true);
67     
fillSelect(0'block_letterspacing_measurement''style_letterspacing_measurement'defaultSpacingMeasurement,
 
';'true);
68     
fillSelect(0'block_vertical_alignment''style_vertical_alignment'defaultVAlign';'true);
69     
fillSelect(0'block_text_align''style_text_align'"left;right;center;justify"';'true);
70     
fillSelect(0'block_whitespace''style_whitespace'"normal;pre;nowrap"';'true);
71     
fillSelect(0'block_display''style_display'defaultDisplay';'true);
72     
fillSelect(0'block_text_indent_measurement''style_text_indent_measurement'defaultIndentMeasurement';',
 
true);
73
74     
fillSelect(0'box_width_measurement''style_box_width_measurement'defaultMeasurement';'true);
75     
fillSelect(0'box_height_measurement''style_box_height_measurement'defaultMeasurement';'true);
76     
fillSelect(0'box_float''style_float''left;right;none'';'true);
77     
fillSelect(0'box_clear''style_clear''left;right;both;none'';'true);
78     
fillSelect(0'box_padding_left_measurement''style_padding_left_measurement'defaultMeasurement';'true);
79     
fillSelect(0'box_padding_top_measurement''style_padding_top_measurement'defaultMeasurement';'true);
80     
fillSelect(0'box_padding_bottom_measurement''style_padding_bottom_measurement'defaultMeasurement';',
 
true);
81     
fillSelect(0'box_padding_right_measurement''style_padding_right_measurement'defaultMeasurement';',
 
true);
82     
fillSelect(0'box_margin_left_measurement''style_margin_left_measurement'defaultMeasurement';'true);
83     
fillSelect(0'box_margin_top_measurement''style_margin_top_measurement'defaultMeasurement';'true);
84     
fillSelect(0'box_margin_bottom_measurement''style_margin_bottom_measurement'defaultMeasurement';',
 
true);
85     
fillSelect(0'box_margin_right_measurement''style_margin_right_measurement'defaultMeasurement';'true);
86
87     
fillSelect(0'border_style_top''style_border_style_top'defaultBorderStyle';'true);
88     
fillSelect(0'border_style_right''style_border_style_right'defaultBorderStyle';'true);
89     
fillSelect(0'border_style_bottom''style_border_style_bottom'defaultBorderStyle';'true);
90     
fillSelect(0'border_style_left''style_border_style_left'defaultBorderStyle';'true);
91
92     
fillSelect(0'border_width_top''style_border_width_top'defaultBorderWidth';'true);
93     
fillSelect(0'border_width_right''style_border_width_right'defaultBorderWidth';'true);
94     
fillSelect(0'border_width_bottom''style_border_width_bottom'defaultBorderWidth';'true);
95     
fillSelect(0'border_width_left''style_border_width_left'defaultBorderWidth';'true);
96
97     
fillSelect(0'border_width_top_measurement''style_border_width_top_measurement'defaultMeasurement';',
 
true);
98     
fillSelect(0'border_width_right_measurement''style_border_width_right_measurement'defaultMeasurement';',
 
true);
99     
fillSelect(0'border_width_bottom_measurement''style_border_width_bottom_measurement'defaultMeasurement,
 
';'true);
100     
fillSelect(0'border_width_left_measurement''style_border_width_left_measurement'defaultMeasurement';',
 
true);
101
102     
fillSelect(0'list_type''style_list_type'defaultListType';'true);
103     
fillSelect(0'list_position''style_list_position'"inside;outside"';'true);
104
105     
fillSelect(0'positioning_type''style_positioning_type'"absolute;relative;static"';'true);
106     
fillSelect(0'positioning_visibility''style_positioning_visibility'"inherit;visible;hidden"';'true);
107
108     
fillSelect(0'positioning_width_measurement''style_positioning_width_measurement'defaultMeasurement';',
 
true);
109     
fillSelect(0'positioning_height_measurement''style_positioning_height_measurement'defaultMeasurement';',
 
true);
110     
fillSelect(0'positioning_overflow''style_positioning_overflow'"visible;hidden;scroll;auto"';'true);
111
112     
fillSelect(0'positioning_placement_top_measurement''style_positioning_placement_top_measurement',
 
defaultMeasurement';'true);
113     
fillSelect(0'positioning_placement_right_measurement''style_positioning_placement_right_measurement',
 
defaultMeasurement';'true);
114     
fillSelect(0'positioning_placement_bottom_measurement''style_positioning_placement_bottom_measurement',
 
defaultMeasurement';'true);
115     
fillSelect(0'positioning_placement_left_measurement''style_positioning_placement_left_measurement',
 
defaultMeasurement';'true);
116
117     
fillSelect(0'positioning_clip_top_measurement''style_positioning_clip_top_measurement'defaultMeasurement,
 
';'true);
118     
fillSelect(0'positioning_clip_right_measurement''style_positioning_clip_right_measurement',
 
defaultMeasurement';'true);
119     
fillSelect(0'positioning_clip_bottom_measurement''style_positioning_clip_bottom_measurement',
 
defaultMeasurement';'true);
120     
fillSelect(0'positioning_clip_left_measurement''style_positioning_clip_left_measurement'defaultMeasurement,
 
';'true);
121
122     
TinyMCE_EditableSelects.init();
123     
setupFormData();
124     
showDisabledControls();
125 }
126
127 function 
setupFormData() {
128     var 
ce document.getElementById('container'), document.forms[0], sbi;
129
130     
// Setup text fields
131
132     
selectByValue(f'text_font'ce.style.fontFamilytruetrue);
133     
selectByValue(f'text_size'getNum(ce.style.fontSize), truetrue);
134     
selectByValue(f'text_size_measurement'getMeasurement(ce.style.fontSize));
135     
selectByValue(f'text_weight'ce.style.fontWeighttruetrue);
136     
selectByValue(f'text_style'ce.style.fontStyletruetrue);
137     
selectByValue(f'text_lineheight'getNum(ce.style.lineHeight), truetrue);
138     
selectByValue(f'text_lineheight_measurement'getMeasurement(ce.style.lineHeight));
139     
selectByValue(f'text_case'ce.style.textTransformtruetrue);
140     
selectByValue(f'text_variant'ce.style.fontVarianttruetrue);
141     
f.text_color.value tinyMCEPopup.editor.dom.toHex(ce.style.color);
142     
updateColor('text_color_pick''text_color');
143     
f.text_underline.checked inStr(ce.style.textDecoration'underline');
144     
f.text_overline.checked inStr(ce.style.textDecoration'overline');
145     
f.text_linethrough.checked inStr(ce.style.textDecoration'line-through');
146     
f.text_blink.checked inStr(ce.style.textDecoration'blink');
147
148     
// Setup background fields
149
150     
f.background_color.value tinyMCEPopup.editor.dom.toHex(ce.style.backgroundColor);
151     
updateColor('background_color_pick''background_color');
152     
f.background_image.value ce.style.backgroundImage.replace(new RegExp("url\\('?([^']*)'?\\)"'gi'), "$1");
153     
selectByValue(f'background_repeat'ce.style.backgroundRepeattruetrue);
154     
selectByValue(f'background_attachment'ce.style.backgroundAttachmenttruetrue);
155     
selectByValue(f'background_hpos'getNum(getVal(ce.style.backgroundPosition0)), truetrue);
156     
selectByValue(f'background_hpos_measurement'getMeasurement(getVal(ce.style.backgroundPosition0)));
157     
selectByValue(f'background_vpos'getNum(getVal(ce.style.backgroundPosition1)), truetrue);
158     
selectByValue(f'background_vpos_measurement'getMeasurement(getVal(ce.style.backgroundPosition1)));
159
160     
// Setup block fields
161
162     
selectByValue(f'block_wordspacing'getNum(ce.style.wordSpacing), truetrue);
163     
selectByValue(f'block_wordspacing_measurement'getMeasurement(ce.style.wordSpacing));
164     
selectByValue(f'block_letterspacing'getNum(ce.style.letterSpacing), truetrue);
165     
selectByValue(f'block_letterspacing_measurement'getMeasurement(ce.style.letterSpacing));
166     
selectByValue(f'block_vertical_alignment'ce.style.verticalAligntruetrue);
167     
selectByValue(f'block_text_align'ce.style.textAligntruetrue);
168     
f.block_text_indent.value getNum(ce.style.textIndent);
169     
selectByValue(f'block_text_indent_measurement'getMeasurement(ce.style.textIndent));
170     
selectByValue(f'block_whitespace'ce.style.whiteSpacetruetrue);
171     
selectByValue(f'block_display'ce.style.displaytruetrue);
172
173     
// Setup box fields
174
175     
f.box_width.value getNum(ce.style.width);
176     
selectByValue(f'box_width_measurement'getMeasurement(ce.style.width));
177
178     
f.box_height.value getNum(ce.style.height);
179     
selectByValue(f'box_height_measurement'getMeasurement(ce.style.height));
180
181     if (
tinymce.isGecko)
182         
selectByValue(f'box_float'ce.style.cssFloattruetrue);
183     else
184         
selectByValue(f'box_float'ce.style.styleFloattruetrue);
185
186     
selectByValue(f'box_clear'ce.style.cleartruetrue);
187
188     
setupBox(fce'box_padding''padding''');
189     
setupBox(fce'box_margin''margin''');
190
191     
// Setup border fields
192
193     
setupBox(fce'border_style''border''Style');
194     
setupBox(fce'border_width''border''Width');
195     
setupBox(fce'border_color''border''Color');
196
197     
updateColor('border_color_top_pick''border_color_top');
198     
updateColor('border_color_right_pick''border_color_right');
199     
updateColor('border_color_bottom_pick''border_color_bottom');
200     
updateColor('border_color_left_pick''border_color_left');
201
202     
f.elements.border_color_top.value tinyMCEPopup.editor.dom.toHex(f.elements.border_color_top.value);
203     
f.elements.border_color_right.value tinyMCEPopup.editor.dom.toHex(f.elements.border_color_right.value);
204     
f.elements.border_color_bottom.value tinyMCEPopup.editor.dom.toHex(f.elements.border_color_bottom.value);
205     
f.elements.border_color_left.value tinyMCEPopup.editor.dom.toHex(f.elements.border_color_left.value);
206
207     
// Setup list fields
208
209     
selectByValue(f'list_type'ce.style.listStyleTypetruetrue);
210     
selectByValue(f'list_position'ce.style.listStylePositiontruetrue);
211     
f.list_bullet_image.value ce.style.listStyleImage.replace(new RegExp("url\\('?([^']*)'?\\)"'gi'), "$1");
212
213     
// Setup box fields
214
215     
selectByValue(f'positioning_type'ce.style.positiontruetrue);
216     
selectByValue(f'positioning_visibility'ce.style.visibilitytruetrue);
217     
selectByValue(f'positioning_overflow'ce.style.overflowtruetrue);
218     
f.positioning_zindex.value ce.style.zIndex ce.style.zIndex "";
219
220     
f.positioning_width.value getNum(ce.style.width);
221     
selectByValue(f'positioning_width_measurement'getMeasurement(ce.style.width));
222
223     
f.positioning_height.value getNum(ce.style.height);
224     
selectByValue(f'positioning_height_measurement'getMeasurement(ce.style.height));
225
226     
setupBox(fce'positioning_placement''''', ['top''right''bottom''left']);
227
228     
ce.style.clip.replace(new RegExp("rect\\('?([^']*)'?\\)"'gi'), "$1");
229     
s.replace(/,/g' ');
230
231     if (!
hasEqualValues([getVal(s0), getVal(s1), getVal(s2), getVal(s3)])) {
232         
f.positioning_clip_top.value getNum(getVal(s0));
233         
selectByValue(f'positioning_clip_top_measurement'getMeasurement(getVal(s0)));
234         
f.positioning_clip_right.value getNum(getVal(s1));
235         
selectByValue(f'positioning_clip_right_measurement'getMeasurement(getVal(s1)));
236         
f.positioning_clip_bottom.value getNum(getVal(s2));
237         
selectByValue(f'positioning_clip_bottom_measurement'getMeasurement(getVal(s2)));
238         
f.positioning_clip_left.value getNum(getVal(s3));
239         
selectByValue(f'positioning_clip_left_measurement'getMeasurement(getVal(s3)));
240     } else {
241         
f.positioning_clip_top.value getNum(getVal(s0));
242         
selectByValue(f'positioning_clip_top_measurement'getMeasurement(getVal(s0)));
243         
f.positioning_clip_right.value f.positioning_clip_bottom.value f.positioning_clip_left.value;
244     }
245
246
//    setupBox(f, ce, '', 'border', 'Color');
247
}
248
249 function 
getMeasurement(s) {
250     return 
s.replace(/^([0-9.]+)(.*)$/, "$2");
251 }
252
253 function 
getNum(s) {
254     if (new 
RegExp('^(?:[0-9.]+)(?:[a-z%]+)$''gi').test(s))
255         return 
s.replace(/[^0-9.]/g'');
256
257     return 
s;
258 }
259
260 function 
inStr(sn) {
261     return new 
RegExp(n'gi').test(s);
262 }
263
264 function 
getVal(si) {
265     var 
s.split(' ');
266
267     if (
a.length 1)
268         return 
a[i];
269
270     return 
"";
271 }
272
273 function 
setValue(fnv) {
274     if (
f.elements[n].type == "text")
275         
f.elements[n].value v;
276     else
277         
selectByValue(fnvtruetrue);
278 }
279
280 function 
setupBox(fcefpprsfb) {
281     if (
typeof(b) == "undefined")
282         
= ['Top''Right''Bottom''Left'];
283
284     if (
isSame(ceprsfb)) {
285         
f.elements[fp "_same"].checked true;
286
287         
setValue(ffp "_top"getNum(ce.style[pr b[0] + sf]));
288         
f.elements[fp "_top"].disabled false;
289
290         
f.elements[fp "_right"].value "";
291         
f.elements[fp "_right"].disabled true;
292         
f.elements[fp "_bottom"].value "";
293         
f.elements[fp "_bottom"].disabled true;
294         
f.elements[fp "_left"].value "";
295         
f.elements[fp "_left"].disabled true;
296
297         if (
f.elements[fp "_top_measurement"]) {
298             
selectByValue(ffp '_top_measurement'getMeasurement(ce.style[pr b[0] + sf]));
299             
f.elements[fp "_left_measurement"].disabled true;
300             
f.elements[fp "_bottom_measurement"].disabled true;
301             
f.elements[fp "_right_measurement"].disabled true;
302         }
303     } else {
304         
f.elements[fp "_same"].checked false;
305
306         
setValue(ffp "_top"getNum(ce.style[pr b[0] + sf]));
307         
f.elements[fp "_top"].disabled false;
308
309         
setValue(ffp "_right"getNum(ce.style[pr b[1] + sf]));
310         
f.elements[fp "_right"].disabled false;
311
312         
setValue(ffp "_bottom"getNum(ce.style[pr b[2] + sf]));
313         
f.elements[fp "_bottom"].disabled false;
314
315         
setValue(ffp "_left"getNum(ce.style[pr b[3] + sf]));
316         
f.elements[fp "_left"].disabled false;
317
318         if (
f.elements[fp "_top_measurement"]) {
319             
selectByValue(ffp '_top_measurement'getMeasurement(ce.style[pr b[0] + sf]));
320             
selectByValue(ffp '_right_measurement'getMeasurement(ce.style[pr b[1] + sf]));
321             
selectByValue(ffp '_bottom_measurement'getMeasurement(ce.style[pr b[2] + sf]));
322             
selectByValue(ffp '_left_measurement'getMeasurement(ce.style[pr b[3] + sf]));
323             
f.elements[fp "_left_measurement"].disabled false;
324             
f.elements[fp "_bottom_measurement"].disabled false;
325             
f.elements[fp "_right_measurement"].disabled false;
326         }
327     }
328 }
329
330 function 
isSame(eprsfb) {
331     var 
= [], ix;
332
333     if (
typeof(b) == "undefined")
334         
= ['Top''Right''Bottom''Left'];
335
336     if (
typeof(sf) == "undefined" || sf == null)
337         
sf "";
338
339     
a[0] = e.style[pr b[0] + sf];
340     
a[1] = e.style[pr b[1] + sf];
341     
a[2] = e.style[pr b[2] + sf];
342     
a[3] = e.style[pr b[3] + sf];
343
344     for (
i=0i<a.lengthi++) {
345         if (
a[i] == null)
346             return 
false;
347
348         for (
x=0x<a.lengthx++) {
349             if (
a[x] != a[i])
350                 return 
false;
351         }
352     }
353
354     return 
true;
355 };
356
357 function 
hasEqualValues(a) {
358     var 
ix;
359
360     for (
i=0i<a.lengthi++) {
361         if (
a[i] == null)
362             return 
false;
363
364         for (
x=0x<a.lengthx++) {
365             if (
a[x] != a[i])
366                 return 
false;
367         }
368     }
369
370     return 
true;
371 }
372
373 function 
applyAction() {
374     var 
ce document.getElementById('container'), ed tinyMCEPopup.editor;
375
376     
generateCSS();
377
378     
tinyMCEPopup.restoreSelection();
379     
ed.dom.setAttrib(ed.selection.getNode(), 'style',
 
tinyMCEPopup.editor.dom.serializeStyle(tinyMCEPopup.editor.dom.parseStyle(ce.style.cssText)));
380 }
381
382 function 
updateAction() {
383     
applyAction();
384     
tinyMCEPopup.close();
385 }
386
387 function 
generateCSS() {
388     var 
ce document.getElementById('container'), document.forms[0], num = new RegExp('[0-9]+''g'), st;
389
390     
ce.style.cssText "";
391
392     
// Build text styles
393     
ce.style.fontFamily f.text_font.value;
394     
ce.style.fontSize f.text_size.value + (isNum(f.text_size.value) ? (f.text_size_measurement.value || 'px') :
 
"");
395     
ce.style.fontStyle f.text_style.value;
396     
ce.style.lineHeight f.text_lineheight.value + (isNum(f.text_lineheight.value) ?
 
f.text_lineheight_measurement.value "");
397     
ce.style.textTransform f.text_case.value;
398     
ce.style.fontWeight f.text_weight.value;
399     
ce.style.fontVariant f.text_variant.value;
400     
ce.style.color f.text_color.value;
401
402     
"";
403     
+= f.text_underline.checked " underline" "";
404     
+= f.text_overline.checked " overline" "";
405     
+= f.text_linethrough.checked " line-through" "";
406     
+= f.text_blink.checked " blink" "";
407     
s.length s.substring(1) : s;
408
409     if (
f.text_none.checked)
410         
"none";
411
412     
ce.style.textDecoration s;
413
414     
// Build background styles
415
416     
ce.style.backgroundColor f.background_color.value;
417     
ce.style.backgroundImage f.background_image.value != "" "url(" f.background_image.value ")" "";
418     
ce.style.backgroundRepeat f.background_repeat.value;
419     
ce.style.backgroundAttachment f.background_attachment.value;
420
421     if (
f.background_hpos.value != "") {
422         
"";
423         
+= f.background_hpos.value + (isNum(f.background_hpos.value) ? f.background_hpos_measurement.value "") + "
 "
;
424         
+= f.background_vpos.value + (isNum(f.background_vpos.value) ? f.background_vpos_measurement.value "");
425         
ce.style.backgroundPosition s;
426     }
427
428     
// Build block styles
429
430     
ce.style.wordSpacing f.block_wordspacing.value + (isNum(f.block_wordspacing.value) ?
 
f.block_wordspacing_measurement.value "");
431     
ce.style.letterSpacing f.block_letterspacing.value + (isNum(f.block_letterspacing.value) ?
 
f.block_letterspacing_measurement.value "");
432     
ce.style.verticalAlign f.block_vertical_alignment.value;
433     
ce.style.textAlign f.block_text_align.value;
434     
ce.style.textIndent f.block_text_indent.value + (isNum(f.block_text_indent.value) ?
 
f.block_text_indent_measurement.value "");
435     
ce.style.whiteSpace f.block_whitespace.value;
436     
ce.style.display f.block_display.value;
437
438     
// Build box styles
439
440     
ce.style.width f.box_width.value + (isNum(f.box_width.value) ? f.box_width_measurement.value "");
441     
ce.style.height f.box_height.value + (isNum(f.box_height.value) ? f.box_height_measurement.value "");
442     
ce.style.styleFloat f.box_float.value;
443
444     if (
tinymce.isGecko)
445         
ce.style.cssFloat f.box_float.value;
446
447     
ce.style.clear f.box_clear.value;
448
449     if (!
f.box_padding_same.checked) {
450         
ce.style.paddingTop f.box_padding_top.value + (isNum(f.box_padding_top.value) ?
 
f.box_padding_top_measurement.value "");
451         
ce.style.paddingRight f.box_padding_right.value + (isNum(f.box_padding_right.value) ?
 
f.box_padding_right_measurement.value "");
452         
ce.style.paddingBottom f.box_padding_bottom.value + (isNum(f.box_padding_bottom.value) ?
 
f.box_padding_bottom_measurement.value "");
453         
ce.style.paddingLeft f.box_padding_left.value + (isNum(f.box_padding_left.value) ?
 
f.box_padding_left_measurement.value "");
454     } else
455         
ce.style.padding f.box_padding_top.value + (isNum(f.box_padding_top.value) ?
 
f.box_padding_top_measurement.value "");        
456
457     if (!
f.box_margin_same.checked) {
458         
ce.style.marginTop f.box_margin_top.value + (isNum(f.box_margin_top.value) ?
 
f.box_margin_top_measurement.value "");
459         
ce.style.marginRight f.box_margin_right.value + (isNum(f.box_margin_right.value) ?
 
f.box_margin_right_measurement.value "");
460         
ce.style.marginBottom f.box_margin_bottom.value + (isNum(f.box_margin_bottom.value) ?
 
f.box_margin_bottom_measurement.value "");
461         
ce.style.marginLeft f.box_margin_left.value + (isNum(f.box_margin_left.value) ?
 
f.box_margin_left_measurement.value "");
462     } else
463         
ce.style.margin f.box_margin_top.value + (isNum(f.box_margin_top.value) ? f.box_margin_top_measurement.value :
 
"");        
464
465     
// Build border styles
466
467     
if (!f.border_style_same.checked) {
468         
ce.style.borderTopStyle f.border_style_top.value;
469         
ce.style.borderRightStyle f.border_style_right.value;
470         
ce.style.borderBottomStyle f.border_style_bottom.value;
471         
ce.style.borderLeftStyle f.border_style_left.value;
472     } else
473         
ce.style.borderStyle f.border_style_top.value;
474
475     if (!
f.border_width_same.checked) {
476         
ce.style.borderTopWidth f.border_width_top.value + (isNum(f.border_width_top.value) ?
 
f.border_width_top_measurement.value "");
477         
ce.style.borderRightWidth f.border_width_right.value + (isNum(f.border_width_right.value) ?
 
f.border_width_right_measurement.value "");
478         
ce.style.borderBottomWidth f.border_width_bottom.value + (isNum(f.border_width_bottom.value) ?
 
f.border_width_bottom_measurement.value "");
479         
ce.style.borderLeftWidth f.border_width_left.value + (isNum(f.border_width_left.value) ?
 
f.border_width_left_measurement.value "");
480     } else
481         
ce.style.borderWidth f.border_width_top.value + (isNum(f.border_width_top.value) ?
 
f.border_width_top_measurement.value "");
482
483     if (!
f.border_color_same.checked) {
484         
ce.style.borderTopColor f.border_color_top.value;
485         
ce.style.borderRightColor f.border_color_right.value;
486         
ce.style.borderBottomColor f.border_color_bottom.value;
487         
ce.style.borderLeftColor f.border_color_left.value;
488     } else
489         
ce.style.borderColor f.border_color_top.value;
490
491     
// Build list styles
492
493     
ce.style.listStyleType f.list_type.value;
494     
ce.style.listStylePosition f.list_position.value;
495     
ce.style.listStyleImage f.list_bullet_image.value != "" "url(" f.list_bullet_image.value ")" "";
496
497     
// Build positioning styles
498
499     
ce.style.position f.positioning_type.value;
500     
ce.style.visibility f.positioning_visibility.value;
501
502     if (
ce.style.width == "")
503         
ce.style.width f.positioning_width.value + (isNum(f.positioning_width.value) ?
 
f.positioning_width_measurement.value "");
504
505     if (
ce.style.height == "")
506         
ce.style.height f.positioning_height.value + (isNum(f.positioning_height.value) ?
 
f.positioning_height_measurement.value "");
507
508     
ce.style.zIndex f.positioning_zindex.value;
509     
ce.style.overflow f.positioning_overflow.value;
510
511     if (!
f.positioning_placement_same.checked) {
512         
ce.style.top f.positioning_placement_top.value + (isNum(f.positioning_placement_top.value) ?
 
f.positioning_placement_top_measurement.value "");
513         
ce.style.right f.positioning_placement_right.value + (isNum(f.positioning_placement_right.value) ?
 
f.positioning_placement_right_measurement.value "");
514         
ce.style.bottom f.positioning_placement_bottom.value + (isNum(f.positioning_placement_bottom.value) ?
 
f.positioning_placement_bottom_measurement.value "");
515         
ce.style.left f.positioning_placement_left.value + (isNum(f.positioning_placement_left.value) ?
 
f.positioning_placement_left_measurement.value "");
516     } else {
517         
f.positioning_placement_top.value + (isNum(f.positioning_placement_top.value) ?
 
f.positioning_placement_top_measurement.value "");
518         
ce.style.top s;
519         
ce.style.right s;
520         
ce.style.bottom s;
521         
ce.style.left s;
522     }
523
524     if (!
f.positioning_clip_same.checked) {
525         
"rect(";
526         
+= (isNum(f.positioning_clip_top.value) ? f.positioning_clip_top.value +
 
f.positioning_clip_top_measurement.value "auto") + " ";
527         
+= (isNum(f.positioning_clip_right.value) ? f.positioning_clip_right.value +
 
f.positioning_clip_right_measurement.value "auto") + " ";
528         
+= (isNum(f.positioning_clip_bottom.value) ? f.positioning_clip_bottom.value +
 
f.positioning_clip_bottom_measurement.value "auto") + " ";
529         
+= (isNum(f.positioning_clip_left.value) ? f.positioning_clip_left.value +
 
f.positioning_clip_left_measurement.value "auto");
530         
+= ")";
531
532         if (
!= "rect(auto auto auto auto)")
533             
ce.style.clip s;
534     } else {
535         
"rect(";
536         
isNum(f.positioning_clip_top.value) ? f.positioning_clip_top.value +
 
f.positioning_clip_top_measurement.value "auto";
537         
+= " ";
538         
+= " ";
539         
+= " ";
540         
+= ")";
541
542         if (
!= "rect(auto auto auto auto)")
543             
ce.style.clip s;
544     }
545
546     
ce.style.cssText ce.style.cssText;
547 }
548
549 function 
isNum(s) {
550     return new 
RegExp('[0-9]+''g').test(s);
551 }
552
553 function 
showDisabledControls() {
554     var 
document.formsia;
555
556     for (
i=0i<f.lengthi++) {
557         for (
a=0a<f[i].elements.lengtha++) {
558             if (
f[i].elements[a].disabled)
559                 
tinyMCEPopup.editor.dom.addClass(f[i].elements[a], "disabled");
560             else
561                 
tinyMCEPopup.editor.dom.removeClass(f[i].elements[a], "disabled");
562         }
563     }
564 }
565
566 function 
fillSelect(fsparamdvalsepem) {
567     var 
iarpse;
568
569     
document.forms[f];
570     
sep typeof(sep) == "undefined" ";" sep;
571
572     if (
em)
573         
addSelectValue(fs"""");
574
575     
ar tinyMCEPopup.getParam(paramdval).split(sep);
576     for (
i=0i<ar.lengthi++) {
577         
se false;
578
579         if (
ar[i].charAt(0) == '+') {
580             
ar[i] = ar[i].substring(1);
581             
se true;
582         }
583
584         
ar[i].split('=');
585
586         if (
p.length 1) {
587             
addSelectValue(fsp[0], p[1]);
588
589             if (
se)
590                 
selectByValue(fsp[1]);
591         } else {
592             
addSelectValue(fsp[0], p[0]);
593
594             if (
se)
595                 
selectByValue(fsp[0]);
596         }
597     }
598 }
599
600 function 
toggleSame(cepre) {
601     var 
el document.forms[0].elementsi;
602
603     if (
ce.checked) {
604         
el[pre "_top"].disabled false;
605         
el[pre "_right"].disabled true;
606         
el[pre "_bottom"].disabled true;
607         
el[pre "_left"].disabled true;
608
609         if (
el[pre "_top_measurement"]) {
610             
el[pre "_top_measurement"].disabled false;
611             
el[pre "_right_measurement"].disabled true;
612             
el[pre "_bottom_measurement"].disabled true;
613             
el[pre "_left_measurement"].disabled true;
614         }
615     } else {
616         
el[pre "_top"].disabled false;
617         
el[pre "_right"].disabled false;
618         
el[pre "_bottom"].disabled false;
619         
el[pre "_left"].disabled false;
620
621         if (
el[pre "_top_measurement"]) {
622             
el[pre "_top_measurement"].disabled false;
623             
el[pre "_right_measurement"].disabled false;
624             
el[pre "_bottom_measurement"].disabled false;
625             
el[pre "_left_measurement"].disabled false;
626         }
627     }
628
629     
showDisabledControls();
630 }
631
632 function 
synch(frto) {
633     var 
document.forms[0];
634
635     
f.elements[to].value f.elements[fr].value;
636
637     if (
f.elements[fr "_measurement"])
638         
selectByValue(fto "_measurement"f.elements[fr "_measurement"].value);
639 }
640
641
tinyMCEPopup.onInit.add(init);
642