Browse code

TinyMCE version directories relocated to /tinymce/ directory, each with its own version numbers: 2, 3, 4 - Slight naming tweak to TinyMCE dropdown in site settings

Clarissa Walker authored on 2026/07/27 13:46:03
Showing 1 changed files
1 1
deleted file mode 100644
... ...
@@ -1,319 +0,0 @@
1
-tinyMCEPopup.requireLangPack();
2
-
3
-var ed;
4
-
5
-function init() {
6
-	ed = tinyMCEPopup.editor;
7
-	tinyMCEPopup.resizeToInnerSize();
8
-
9
-	document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table');
10
-	document.getElementById('bordercolor_pickcontainer').innerHTML = getColorPickerHTML('bordercolor_pick','bordercolor');
11
-	document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor')
12
-
13
-	var inst = ed;
14
-	var tdElm = ed.dom.getParent(ed.selection.getStart(), "td,th");
15
-	var formObj = document.forms[0];
16
-	var st = ed.dom.parseStyle(ed.dom.getAttrib(tdElm, "style"));
17
-
18
-	// Get table cell data
19
-	var celltype = tdElm.nodeName.toLowerCase();
20
-	var align = ed.dom.getAttrib(tdElm, 'align');
21
-	var valign = ed.dom.getAttrib(tdElm, 'valign');
22
-	var width = trimSize(getStyle(tdElm, 'width', 'width'));
23
-	var height = trimSize(getStyle(tdElm, 'height', 'height'));
24
-	var bordercolor = convertRGBToHex(getStyle(tdElm, 'bordercolor', 'borderLeftColor'));
25
-	var bgcolor = convertRGBToHex(getStyle(tdElm, 'bgcolor', 'backgroundColor'));
26
-	var className = ed.dom.getAttrib(tdElm, 'class');
27
-	var backgroundimage = getStyle(tdElm, 'background', 'backgroundImage').replace(new RegExp("url\\(['\"]?([^'\"]*)['\"]?\\)", 'gi'), "$1");
28
-	var id = ed.dom.getAttrib(tdElm, 'id');
29
-	var lang = ed.dom.getAttrib(tdElm, 'lang');
30
-	var dir = ed.dom.getAttrib(tdElm, 'dir');
31
-	var scope = ed.dom.getAttrib(tdElm, 'scope');
32
-
33
-	// Setup form
34
-	addClassesToList('class', 'table_cell_styles');
35
-	TinyMCE_EditableSelects.init();
36
-
37
-	if (!ed.dom.hasClass(tdElm, 'mceSelected')) {
38
-		formObj.bordercolor.value = bordercolor;
39
-		formObj.bgcolor.value = bgcolor;
40
-		formObj.backgroundimage.value = backgroundimage;
41
-		formObj.width.value = width;
42
-		formObj.height.value = height;
43
-		formObj.id.value = id;
44
-		formObj.lang.value = lang;
45
-		formObj.style.value = ed.dom.serializeStyle(st);
46
-		selectByValue(formObj, 'align', align);
47
-		selectByValue(formObj, 'valign', valign);
48
-		selectByValue(formObj, 'class', className, true, true);
49
-		selectByValue(formObj, 'celltype', celltype);
50
-		selectByValue(formObj, 'dir', dir);
51
-		selectByValue(formObj, 'scope', scope);
52
-
53
-		// Resize some elements
54
-		if (isVisible('backgroundimagebrowser'))
55
-			document.getElementById('backgroundimage').style.width = '180px';
56
-
57
-		updateColor('bordercolor_pick', 'bordercolor');
58
-		updateColor('bgcolor_pick', 'bgcolor');
59
-	} else
60
-		tinyMCEPopup.dom.hide('action');
61
-}
62
-
63
-function updateAction() {
64
-	var el, inst = ed, tdElm, trElm, tableElm, formObj = document.forms[0];
65
-
66
-	if (!AutoValidator.validate(formObj)) {
67
-		tinyMCEPopup.alert(AutoValidator.getErrorMessages(formObj).join('. ') + '.');
68
-		return false;
69
-	}
70
-
71
-	tinyMCEPopup.restoreSelection();
72
-	el = ed.selection.getStart();
73
-	tdElm = ed.dom.getParent(el, "td,th");
74
-	trElm = ed.dom.getParent(el, "tr");
75
-	tableElm = ed.dom.getParent(el, "table");
76
-
77
-	// Cell is selected
78
-	if (ed.dom.hasClass(tdElm, 'mceSelected')) {
79
-		// Update all selected sells
80
-		tinymce.each(ed.dom.select('td.mceSelected,th.mceSelected'), function(td) {
81
-			updateCell(td);
82
-		});
83
-
84
-		ed.addVisual();
85
-		ed.nodeChanged();
86
-		inst.execCommand('mceEndUndoLevel');
87
-		tinyMCEPopup.close();
88
-		return;
89
-	}
90
-
91
-	switch (getSelectValue(formObj, 'action')) {
92
-		case "cell":
93
-			var celltype = getSelectValue(formObj, 'celltype');
94
-			var scope = getSelectValue(formObj, 'scope');
95
-
96
-			function doUpdate(s) {
97
-				if (s) {
98
-					updateCell(tdElm);
99
-
100
-					ed.addVisual();
101
-					ed.nodeChanged();
102
-					inst.execCommand('mceEndUndoLevel');
103
-					tinyMCEPopup.close();
104
-				}
105
-			};
106
-
107
-			if (ed.getParam("accessibility_warnings", 1)) {
108
-				if (celltype == "th" && scope == "")
109
-					tinyMCEPopup.confirm(ed.getLang('table_dlg.missing_scope', '', true), doUpdate);
110
-				else
111
-					doUpdate(1);
112
-
113
-				return;
114
-			}
115
-
116
-			updateCell(tdElm);
117
-			break;
118
-
119
-		case "row":
120
-			var cell = trElm.firstChild;
121
-
122
-			if (cell.nodeName != "TD" && cell.nodeName != "TH")
123
-				cell = nextCell(cell);
124
-
125
-			do {
126
-				cell = updateCell(cell, true);
127
-			} while ((cell = nextCell(cell)) != null);
128
-
129
-			break;
130
-
131
-		case "col":
132
-			var curr, col = 0, cell = trElm.firstChild, rows = tableElm.getElementsByTagName("tr");
133
-
134
-			if (cell.nodeName != "TD" && cell.nodeName != "TH")
135
-				cell = nextCell(cell);
136
-
137
-			do {
138
-				if (cell == tdElm)
139
-					break;
140
-				col += cell.getAttribute("colspan");
141
-			} while ((cell = nextCell(cell)) != null);
142
-
143
-			for (var i=0; i<rows.length; i++) {
144
-				cell = rows[i].firstChild;
145
-
146
-				if (cell.nodeName != "TD" && cell.nodeName != "TH")
147
-					cell = nextCell(cell);
148
-
149
-				curr = 0;
150
-				do {
151
-					if (curr == col) {
152
-						cell = updateCell(cell, true);
153
-						break;
154
-					}
155
-					curr += cell.getAttribute("colspan");
156
-				} while ((cell = nextCell(cell)) != null);
157
-			}
158
-
159
-			break;
160
-
161
-		case "all":
162
-			var rows = tableElm.getElementsByTagName("tr");
163
-
164
-			for (var i=0; i<rows.length; i++) {
165
-				var cell = rows[i].firstChild;
166
-
167
-				if (cell.nodeName != "TD" && cell.nodeName != "TH")
168
-					cell = nextCell(cell);
169
-
170
-				do {
171
-					cell = updateCell(cell, true);
172
-				} while ((cell = nextCell(cell)) != null);
173
-			}
174
-
175
-			break;
176
-	}
177
-
178
-	ed.addVisual();
179
-	ed.nodeChanged();
180
-	inst.execCommand('mceEndUndoLevel');
181
-	tinyMCEPopup.close();
182
-}
183
-
184
-function nextCell(elm) {
185
-	while ((elm = elm.nextSibling) != null) {
186
-		if (elm.nodeName == "TD" || elm.nodeName == "TH")
187
-			return elm;
188
-	}
189
-
190
-	return null;
191
-}
192
-
193
-function updateCell(td, skip_id) {
194
-	var inst = ed;
195
-	var formObj = document.forms[0];
196
-	var curCellType = td.nodeName.toLowerCase();
197
-	var celltype = getSelectValue(formObj, 'celltype');
198
-	var doc = inst.getDoc();
199
-	var dom = ed.dom;
200
-
201
-	if (!skip_id)
202
-		dom.setAttrib(td, 'id', formObj.id.value);
203
-
204
-	dom.setAttrib(td, 'align', formObj.align.value);
205
-	dom.setAttrib(td, 'vAlign', formObj.valign.value);
206
-	dom.setAttrib(td, 'lang', formObj.lang.value);
207
-	dom.setAttrib(td, 'dir', getSelectValue(formObj, 'dir'));
208
-	dom.setAttrib(td, 'style', ed.dom.serializeStyle(ed.dom.parseStyle(formObj.style.value)));
209
-	dom.setAttrib(td, 'scope', formObj.scope.value);
210
-	dom.setAttrib(td, 'class', getSelectValue(formObj, 'class'));
211
-
212
-	// Clear deprecated attributes
213
-	ed.dom.setAttrib(td, 'width', '');
214
-	ed.dom.setAttrib(td, 'height', '');
215
-	ed.dom.setAttrib(td, 'bgColor', '');
216
-	ed.dom.setAttrib(td, 'borderColor', '');
217
-	ed.dom.setAttrib(td, 'background', '');
218
-
219
-	// Set styles
220
-	td.style.width = getCSSSize(formObj.width.value);
221
-	td.style.height = getCSSSize(formObj.height.value);
222
-	if (formObj.bordercolor.value != "") {
223
-		td.style.borderColor = formObj.bordercolor.value;
224
-		td.style.borderStyle = td.style.borderStyle == "" ? "solid" : td.style.borderStyle;
225
-		td.style.borderWidth = td.style.borderWidth == "" ? "1px" : td.style.borderWidth;
226
-	} else
227
-		td.style.borderColor = '';
228
-
229
-	td.style.backgroundColor = formObj.bgcolor.value;
230
-
231
-	if (formObj.backgroundimage.value != "")
232
-		td.style.backgroundImage = "url('" + formObj.backgroundimage.value + "')";
233
-	else
234
-		td.style.backgroundImage = '';
235
-
236
-	if (curCellType != celltype) {
237
-		// changing to a different node type
238
-		var newCell = doc.createElement(celltype);
239
-
240
-		for (var c=0; c<td.childNodes.length; c++)
241
-			newCell.appendChild(td.childNodes[c].cloneNode(1));
242
-
243
-		for (var a=0; a<td.attributes.length; a++)
244
-			ed.dom.setAttrib(newCell, td.attributes[a].name, ed.dom.getAttrib(td, td.attributes[a].name));
245
-
246
-		td.parentNode.replaceChild(newCell, td);
247
-		td = newCell;
248
-	}
249
-
250
-	dom.setAttrib(td, 'style', dom.serializeStyle(dom.parseStyle(td.style.cssText)));
251
-
252
-	return td;
253
-}
254
-
255
-function changedBackgroundImage() {
256
-	var formObj = document.forms[0];
257
-	var st = ed.dom.parseStyle(formObj.style.value);
258
-
259
-	st['background-image'] = "url('" + formObj.backgroundimage.value + "')";
260
-
261
-	formObj.style.value = ed.dom.serializeStyle(st);
262
-}
263
-
264
-function changedSize() {
265
-	var formObj = document.forms[0];
266
-	var st = ed.dom.parseStyle(formObj.style.value);
267
-
268
-	var width = formObj.width.value;
269
-	if (width != "")
270
-		st['width'] = getCSSSize(width);
271
-	else
272
-		st['width'] = "";
273
-
274
-	var height = formObj.height.value;
275
-	if (height != "")
276
-		st['height'] = getCSSSize(height);
277
-	else
278
-		st['height'] = "";
279
-
280
-	formObj.style.value = ed.dom.serializeStyle(st);
281
-}
282
-
283
-function changedColor() {
284
-	var formObj = document.forms[0];
285
-	var st = ed.dom.parseStyle(formObj.style.value);
286
-
287
-	st['background-color'] = formObj.bgcolor.value;
288
-	st['border-color'] = formObj.bordercolor.value;
289
-
290
-	formObj.style.value = ed.dom.serializeStyle(st);
291
-}
292
-
293
-function changedStyle() {
294
-	var formObj = document.forms[0];
295
-	var st = ed.dom.parseStyle(formObj.style.value);
296
-
297
-	if (st['background-image'])
298
-		formObj.backgroundimage.value = st['background-image'].replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
299
-	else
300
-		formObj.backgroundimage.value = '';
301
-
302
-	if (st['width'])
303
-		formObj.width.value = trimSize(st['width']);
304
-
305
-	if (st['height'])
306
-		formObj.height.value = trimSize(st['height']);
307
-
308
-	if (st['background-color']) {
309
-		formObj.bgcolor.value = st['background-color'];
310
-		updateColor('bgcolor_pick','bgcolor');
311
-	}
312
-
313
-	if (st['border-color']) {
314
-		formObj.bordercolor.value = st['border-color'];
315
-		updateColor('bordercolor_pick','bordercolor');
316
-	}
317
-}
318
-
319
-tinyMCEPopup.onInit.add(init);
Browse code

Re-add TinyMCE 2.0.1 to the site settings list - TinyMCE directoy names changed - installer submission settings layout dirty fix

Clarissa Walker authored on 2026/07/27 11:20:38
Showing 1 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,319 @@
1
+tinyMCEPopup.requireLangPack();
2
+
3
+var ed;
4
+
5
+function init() {
6
+	ed = tinyMCEPopup.editor;
7
+	tinyMCEPopup.resizeToInnerSize();
8
+
9
+	document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table');
10
+	document.getElementById('bordercolor_pickcontainer').innerHTML = getColorPickerHTML('bordercolor_pick','bordercolor');
11
+	document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor')
12
+
13
+	var inst = ed;
14
+	var tdElm = ed.dom.getParent(ed.selection.getStart(), "td,th");
15
+	var formObj = document.forms[0];
16
+	var st = ed.dom.parseStyle(ed.dom.getAttrib(tdElm, "style"));
17
+
18
+	// Get table cell data
19
+	var celltype = tdElm.nodeName.toLowerCase();
20
+	var align = ed.dom.getAttrib(tdElm, 'align');
21
+	var valign = ed.dom.getAttrib(tdElm, 'valign');
22
+	var width = trimSize(getStyle(tdElm, 'width', 'width'));
23
+	var height = trimSize(getStyle(tdElm, 'height', 'height'));
24
+	var bordercolor = convertRGBToHex(getStyle(tdElm, 'bordercolor', 'borderLeftColor'));
25
+	var bgcolor = convertRGBToHex(getStyle(tdElm, 'bgcolor', 'backgroundColor'));
26
+	var className = ed.dom.getAttrib(tdElm, 'class');
27
+	var backgroundimage = getStyle(tdElm, 'background', 'backgroundImage').replace(new RegExp("url\\(['\"]?([^'\"]*)['\"]?\\)", 'gi'), "$1");
28
+	var id = ed.dom.getAttrib(tdElm, 'id');
29
+	var lang = ed.dom.getAttrib(tdElm, 'lang');
30
+	var dir = ed.dom.getAttrib(tdElm, 'dir');
31
+	var scope = ed.dom.getAttrib(tdElm, 'scope');
32
+
33
+	// Setup form
34
+	addClassesToList('class', 'table_cell_styles');
35
+	TinyMCE_EditableSelects.init();
36
+
37
+	if (!ed.dom.hasClass(tdElm, 'mceSelected')) {
38
+		formObj.bordercolor.value = bordercolor;
39
+		formObj.bgcolor.value = bgcolor;
40
+		formObj.backgroundimage.value = backgroundimage;
41
+		formObj.width.value = width;
42
+		formObj.height.value = height;
43
+		formObj.id.value = id;
44
+		formObj.lang.value = lang;
45
+		formObj.style.value = ed.dom.serializeStyle(st);
46
+		selectByValue(formObj, 'align', align);
47
+		selectByValue(formObj, 'valign', valign);
48
+		selectByValue(formObj, 'class', className, true, true);
49
+		selectByValue(formObj, 'celltype', celltype);
50
+		selectByValue(formObj, 'dir', dir);
51
+		selectByValue(formObj, 'scope', scope);
52
+
53
+		// Resize some elements
54
+		if (isVisible('backgroundimagebrowser'))
55
+			document.getElementById('backgroundimage').style.width = '180px';
56
+
57
+		updateColor('bordercolor_pick', 'bordercolor');
58
+		updateColor('bgcolor_pick', 'bgcolor');
59
+	} else
60
+		tinyMCEPopup.dom.hide('action');
61
+}
62
+
63
+function updateAction() {
64
+	var el, inst = ed, tdElm, trElm, tableElm, formObj = document.forms[0];
65
+
66
+	if (!AutoValidator.validate(formObj)) {
67
+		tinyMCEPopup.alert(AutoValidator.getErrorMessages(formObj).join('. ') + '.');
68
+		return false;
69
+	}
70
+
71
+	tinyMCEPopup.restoreSelection();
72
+	el = ed.selection.getStart();
73
+	tdElm = ed.dom.getParent(el, "td,th");
74
+	trElm = ed.dom.getParent(el, "tr");
75
+	tableElm = ed.dom.getParent(el, "table");
76
+
77
+	// Cell is selected
78
+	if (ed.dom.hasClass(tdElm, 'mceSelected')) {
79
+		// Update all selected sells
80
+		tinymce.each(ed.dom.select('td.mceSelected,th.mceSelected'), function(td) {
81
+			updateCell(td);
82
+		});
83
+
84
+		ed.addVisual();
85
+		ed.nodeChanged();
86
+		inst.execCommand('mceEndUndoLevel');
87
+		tinyMCEPopup.close();
88
+		return;
89
+	}
90
+
91
+	switch (getSelectValue(formObj, 'action')) {
92
+		case "cell":
93
+			var celltype = getSelectValue(formObj, 'celltype');
94
+			var scope = getSelectValue(formObj, 'scope');
95
+
96
+			function doUpdate(s) {
97
+				if (s) {
98
+					updateCell(tdElm);
99
+
100
+					ed.addVisual();
101
+					ed.nodeChanged();
102
+					inst.execCommand('mceEndUndoLevel');
103
+					tinyMCEPopup.close();
104
+				}
105
+			};
106
+
107
+			if (ed.getParam("accessibility_warnings", 1)) {
108
+				if (celltype == "th" && scope == "")
109
+					tinyMCEPopup.confirm(ed.getLang('table_dlg.missing_scope', '', true), doUpdate);
110
+				else
111
+					doUpdate(1);
112
+
113
+				return;
114
+			}
115
+
116
+			updateCell(tdElm);
117
+			break;
118
+
119
+		case "row":
120
+			var cell = trElm.firstChild;
121
+
122
+			if (cell.nodeName != "TD" && cell.nodeName != "TH")
123
+				cell = nextCell(cell);
124
+
125
+			do {
126
+				cell = updateCell(cell, true);
127
+			} while ((cell = nextCell(cell)) != null);
128
+
129
+			break;
130
+
131
+		case "col":
132
+			var curr, col = 0, cell = trElm.firstChild, rows = tableElm.getElementsByTagName("tr");
133
+
134
+			if (cell.nodeName != "TD" && cell.nodeName != "TH")
135
+				cell = nextCell(cell);
136
+
137
+			do {
138
+				if (cell == tdElm)
139
+					break;
140
+				col += cell.getAttribute("colspan");
141
+			} while ((cell = nextCell(cell)) != null);
142
+
143
+			for (var i=0; i<rows.length; i++) {
144
+				cell = rows[i].firstChild;
145
+
146
+				if (cell.nodeName != "TD" && cell.nodeName != "TH")
147
+					cell = nextCell(cell);
148
+
149
+				curr = 0;
150
+				do {
151
+					if (curr == col) {
152
+						cell = updateCell(cell, true);
153
+						break;
154
+					}
155
+					curr += cell.getAttribute("colspan");
156
+				} while ((cell = nextCell(cell)) != null);
157
+			}
158
+
159
+			break;
160
+
161
+		case "all":
162
+			var rows = tableElm.getElementsByTagName("tr");
163
+
164
+			for (var i=0; i<rows.length; i++) {
165
+				var cell = rows[i].firstChild;
166
+
167
+				if (cell.nodeName != "TD" && cell.nodeName != "TH")
168
+					cell = nextCell(cell);
169
+
170
+				do {
171
+					cell = updateCell(cell, true);
172
+				} while ((cell = nextCell(cell)) != null);
173
+			}
174
+
175
+			break;
176
+	}
177
+
178
+	ed.addVisual();
179
+	ed.nodeChanged();
180
+	inst.execCommand('mceEndUndoLevel');
181
+	tinyMCEPopup.close();
182
+}
183
+
184
+function nextCell(elm) {
185
+	while ((elm = elm.nextSibling) != null) {
186
+		if (elm.nodeName == "TD" || elm.nodeName == "TH")
187
+			return elm;
188
+	}
189
+
190
+	return null;
191
+}
192
+
193
+function updateCell(td, skip_id) {
194
+	var inst = ed;
195
+	var formObj = document.forms[0];
196
+	var curCellType = td.nodeName.toLowerCase();
197
+	var celltype = getSelectValue(formObj, 'celltype');
198
+	var doc = inst.getDoc();
199
+	var dom = ed.dom;
200
+
201
+	if (!skip_id)
202
+		dom.setAttrib(td, 'id', formObj.id.value);
203
+
204
+	dom.setAttrib(td, 'align', formObj.align.value);
205
+	dom.setAttrib(td, 'vAlign', formObj.valign.value);
206
+	dom.setAttrib(td, 'lang', formObj.lang.value);
207
+	dom.setAttrib(td, 'dir', getSelectValue(formObj, 'dir'));
208
+	dom.setAttrib(td, 'style', ed.dom.serializeStyle(ed.dom.parseStyle(formObj.style.value)));
209
+	dom.setAttrib(td, 'scope', formObj.scope.value);
210
+	dom.setAttrib(td, 'class', getSelectValue(formObj, 'class'));
211
+
212
+	// Clear deprecated attributes
213
+	ed.dom.setAttrib(td, 'width', '');
214
+	ed.dom.setAttrib(td, 'height', '');
215
+	ed.dom.setAttrib(td, 'bgColor', '');
216
+	ed.dom.setAttrib(td, 'borderColor', '');
217
+	ed.dom.setAttrib(td, 'background', '');
218
+
219
+	// Set styles
220
+	td.style.width = getCSSSize(formObj.width.value);
221
+	td.style.height = getCSSSize(formObj.height.value);
222
+	if (formObj.bordercolor.value != "") {
223
+		td.style.borderColor = formObj.bordercolor.value;
224
+		td.style.borderStyle = td.style.borderStyle == "" ? "solid" : td.style.borderStyle;
225
+		td.style.borderWidth = td.style.borderWidth == "" ? "1px" : td.style.borderWidth;
226
+	} else
227
+		td.style.borderColor = '';
228
+
229
+	td.style.backgroundColor = formObj.bgcolor.value;
230
+
231
+	if (formObj.backgroundimage.value != "")
232
+		td.style.backgroundImage = "url('" + formObj.backgroundimage.value + "')";
233
+	else
234
+		td.style.backgroundImage = '';
235
+
236
+	if (curCellType != celltype) {
237
+		// changing to a different node type
238
+		var newCell = doc.createElement(celltype);
239
+
240
+		for (var c=0; c<td.childNodes.length; c++)
241
+			newCell.appendChild(td.childNodes[c].cloneNode(1));
242
+
243
+		for (var a=0; a<td.attributes.length; a++)
244
+			ed.dom.setAttrib(newCell, td.attributes[a].name, ed.dom.getAttrib(td, td.attributes[a].name));
245
+
246
+		td.parentNode.replaceChild(newCell, td);
247
+		td = newCell;
248
+	}
249
+
250
+	dom.setAttrib(td, 'style', dom.serializeStyle(dom.parseStyle(td.style.cssText)));
251
+
252
+	return td;
253
+}
254
+
255
+function changedBackgroundImage() {
256
+	var formObj = document.forms[0];
257
+	var st = ed.dom.parseStyle(formObj.style.value);
258
+
259
+	st['background-image'] = "url('" + formObj.backgroundimage.value + "')";
260
+
261
+	formObj.style.value = ed.dom.serializeStyle(st);
262
+}
263
+
264
+function changedSize() {
265
+	var formObj = document.forms[0];
266
+	var st = ed.dom.parseStyle(formObj.style.value);
267
+
268
+	var width = formObj.width.value;
269
+	if (width != "")
270
+		st['width'] = getCSSSize(width);
271
+	else
272
+		st['width'] = "";
273
+
274
+	var height = formObj.height.value;
275
+	if (height != "")
276
+		st['height'] = getCSSSize(height);
277
+	else
278
+		st['height'] = "";
279
+
280
+	formObj.style.value = ed.dom.serializeStyle(st);
281
+}
282
+
283
+function changedColor() {
284
+	var formObj = document.forms[0];
285
+	var st = ed.dom.parseStyle(formObj.style.value);
286
+
287
+	st['background-color'] = formObj.bgcolor.value;
288
+	st['border-color'] = formObj.bordercolor.value;
289
+
290
+	formObj.style.value = ed.dom.serializeStyle(st);
291
+}
292
+
293
+function changedStyle() {
294
+	var formObj = document.forms[0];
295
+	var st = ed.dom.parseStyle(formObj.style.value);
296
+
297
+	if (st['background-image'])
298
+		formObj.backgroundimage.value = st['background-image'].replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
299
+	else
300
+		formObj.backgroundimage.value = '';
301
+
302
+	if (st['width'])
303
+		formObj.width.value = trimSize(st['width']);
304
+
305
+	if (st['height'])
306
+		formObj.height.value = trimSize(st['height']);
307
+
308
+	if (st['background-color']) {
309
+		formObj.bgcolor.value = st['background-color'];
310
+		updateColor('bgcolor_pick','bgcolor');
311
+	}
312
+
313
+	if (st['border-color']) {
314
+		formObj.bordercolor.value = st['border-color'];
315
+		updateColor('bordercolor_pick','bordercolor');
316
+	}
317
+}
318
+
319
+tinyMCEPopup.onInit.add(init);