-function init() {
- tinyMCEPopup.resizeToInnerSize();
-
- var inst = tinyMCE.selectedInstance;
- var tdElm = tinyMCE.getParentElement(inst.getFocusElement(), "td,th");
- var formObj = document.forms[0];
- var st = tinyMCE.parseStyle(tdElm.style.cssText);
-
- // Get table cell data
- var celltype = tdElm.nodeName.toLowerCase();
- var align = tinyMCE.getAttrib(tdElm, 'align');
- var valign = tinyMCE.getAttrib(tdElm, 'valign');
- var width = tinyMCE.getAttrib(tdElm, 'width');
- var height = tinyMCE.getAttrib(tdElm, 'height');
- var className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(tdElm, 'class'), false);
- var bordercolor = tinyMCE.getAttrib(tdElm, 'bordercolor');
- var bgcolor = tinyMCE.getAttrib(tdElm, 'bgcolor');
- var backgroundimage = getStyle(tdElm, st, 'background', 'background-image').replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");;
- var id = tinyMCE.getAttrib(tdElm, 'id');
- var lang = tinyMCE.getAttrib(tdElm, 'lang');
- var dir = tinyMCE.getAttrib(tdElm, 'dir');
-
- // Setup form
- addClassesToList('class', 'table_cell_styles');
- formObj.bordercolor.value = bordercolor;
- formObj.bgcolor.value = bgcolor;
- formObj.backgroundimage.value = backgroundimage;
- formObj.width.value = width;
- formObj.height.value = height;
- formObj.id.value = id;
- formObj.lang.value = lang;
- formObj.style.value = tinyMCE.serializeStyle(st);
- selectByValue(formObj, 'align', align);
- selectByValue(formObj, 'valign', valign);
- selectByValue(formObj, 'class', className);
- selectByValue(formObj, 'celltype', celltype);
- selectByValue(formObj, 'dir', dir);
-
- // Resize some elements
- if (isVisible('backgroundimagebrowser'))
- document.getElementById('backgroundimage').style.width = '180px';
-
- updateColor('bordercolor_pick', 'bordercolor');
- updateColor('bgcolor_pick', 'bgcolor');
-}
-
-function updateAction() {
- var inst = tinyMCE.selectedInstance;
- var tdElm = tinyMCE.getParentElement(inst.getFocusElement(), "td,th");
- var trElm = tinyMCE.getParentElement(inst.getFocusElement(), "tr");
- var tableElm = tinyMCE.getParentElement(inst.getFocusElement(), "table");
- var formObj = document.forms[0];
-
- inst.execCommand('mceBeginUndoLevel');
-
- switch (getSelectValue(formObj, 'action')) {
- case "cell":
- updateCell(tdElm);
- break;
-
- case "row":
- var cell = trElm.firstChild;
-
- do {
- cell = updateCell(cell, true);
- } while ((cell = nextCell(cell)));
-
- break;
-
- case "all":
- var rows = tableElm.getElementsByTagName("tr");
-
- for (var i=0; i<rows.length; i++) {
- var cell = rows[i].firstChild;
-
- do {
- cell = updateCell(cell, true);
- } while ((cell = nextCell(cell)));
- }
-
- break;
- }
-
- tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst);
- tinyMCE.triggerNodeChange();
- inst.execCommand('mceEndUndoLevel');
- tinyMCEPopup.close();
-}
-
-function nextCell(elm) {
- while ((elm = elm.nextSibling)) {
- if (elm.nodeName == "TD" || elm.nodeName == "TH")
- return elm;
- }
-
- return null;
-}
-
-function updateCell(td, skip_id) {
- var inst = tinyMCE.selectedInstance;
- var formObj = document.forms[0];
- var curCellType = td.nodeName.toLowerCase();
- var celltype = getSelectValue(formObj, 'celltype');
- var doc = inst.getDoc();
-
- if (!skip_id)
- td.setAttribute('id', formObj.id.value);
-
- td.setAttribute('align', formObj.align.value);
- td.setAttribute('vAlign', formObj.valign.value);
- td.setAttribute('width', formObj.width.value);
- td.setAttribute('height', formObj.height.value);
- td.setAttribute('borderColor', formObj.bordercolor.value);
- td.setAttribute('bgColor', formObj.bgcolor.value);
- td.setAttribute('lang', formObj.lang.value);
- td.setAttribute('dir', getSelectValue(formObj, 'dir'));
- td.setAttribute('style', tinyMCE.serializeStyle(tinyMCE.parseStyle(formObj.style.value)));
- tinyMCE.setAttrib(td, 'class', getSelectValue(formObj, 'class'));
-
- if (curCellType != celltype) {
- // changing to a different node type
- var newCell = doc.createElement(celltype);
-
- for (var c=0; c<td.childNodes.length; c++) {
- newCell.appendChild(td.childNodes[c].cloneNode(1));
- }
-
- for (var a=0; a<td.attributes.length; a++) {
- var attr = td.attributes[a];
- newCell.setAttribute(attr.name, attr.value);
- }
-
- td.parentNode.replaceChild(newCell, td);
- td = newCell;
-
- return newCell;
- }
-
- return td;
-}
-
-function getStyle(elm, st, attrib, style) {
- var val = tinyMCE.getAttrib(elm, attrib);
-
- if (typeof(style) == 'undefined')
- style = attrib;
-
- return val == '' ? (st[style] ? st[style].replace('px', '') : '') : val;
-}
-
-function changedBackgroundImage() {
- var formObj = document.forms[0];
- var st = tinyMCE.parseStyle(formObj.style.value);
-
- st['background-image'] = "url('" + formObj.backgroundimage.value + "')";
-
- formObj.style.value = tinyMCE.serializeStyle(st);
-}
-
-function changedStyle() {
- var formObj = document.forms[0];
- var st = tinyMCE.parseStyle(formObj.style.value);
-
- if (st['background-image'])
- formObj.backgroundimage.value = st['background-image'].replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
- else
- formObj.backgroundimage.value = '';
-}
+function init() {\r
+ tinyMCEPopup.resizeToInnerSize();\r
+\r
+ document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table');\r
+ document.getElementById('bordercolor_pickcontainer').innerHTML = getColorPickerHTML('bordercolor_pick','bordercolor');\r
+ document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor')\r
+\r
+ var inst = tinyMCE.selectedInstance;\r
+ var tdElm = tinyMCE.getParentElement(inst.getFocusElement(), "td,th");\r
+ var formObj = document.forms[0];\r
+ var st = tinyMCE.parseStyle(tinyMCE.getAttrib(tdElm, "style"));\r
+\r
+ // Get table cell data\r
+ var celltype = tdElm.nodeName.toLowerCase();\r
+ var align = tinyMCE.getAttrib(tdElm, 'align');\r
+ var valign = tinyMCE.getAttrib(tdElm, 'valign');\r
+ var width = trimSize(getStyle(tdElm, 'width', 'width'));\r
+ var height = trimSize(getStyle(tdElm, 'height', 'height'));\r
+ var bordercolor = convertRGBToHex(getStyle(tdElm, 'bordercolor', 'borderLeftColor'));\r
+ var bgcolor = convertRGBToHex(getStyle(tdElm, 'bgcolor', 'backgroundColor'));\r
+ var className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(tdElm, 'class'), false);\r
+ var backgroundimage = getStyle(tdElm, 'background', 'backgroundImage').replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");;\r
+ var id = tinyMCE.getAttrib(tdElm, 'id');\r
+ var lang = tinyMCE.getAttrib(tdElm, 'lang');\r
+ var dir = tinyMCE.getAttrib(tdElm, 'dir');\r
+ var scope = tinyMCE.getAttrib(tdElm, 'scope');\r
+\r
+ // Setup form\r
+ addClassesToList('class', 'table_cell_styles');\r
+ formObj.bordercolor.value = bordercolor;\r
+ formObj.bgcolor.value = bgcolor;\r
+ formObj.backgroundimage.value = backgroundimage;\r
+ formObj.width.value = width;\r
+ formObj.height.value = height;\r
+ formObj.id.value = id;\r
+ formObj.lang.value = lang;\r
+ formObj.style.value = tinyMCE.serializeStyle(st);\r
+ selectByValue(formObj, 'align', align);\r
+ selectByValue(formObj, 'valign', valign);\r
+ selectByValue(formObj, 'class', className);\r
+ selectByValue(formObj, 'celltype', celltype);\r
+ selectByValue(formObj, 'dir', dir);\r
+ selectByValue(formObj, 'scope', scope);\r
+\r
+ // Resize some elements\r
+ if (isVisible('backgroundimagebrowser'))\r
+ document.getElementById('backgroundimage').style.width = '180px';\r
+\r
+ updateColor('bordercolor_pick', 'bordercolor');\r
+ updateColor('bgcolor_pick', 'bgcolor');\r
+}\r
+\r
+function updateAction() {\r
+ tinyMCEPopup.restoreSelection();\r
+\r
+ var inst = tinyMCE.selectedInstance;\r
+ var tdElm = tinyMCE.getParentElement(inst.getFocusElement(), "td,th");\r
+ var trElm = tinyMCE.getParentElement(inst.getFocusElement(), "tr");\r
+ var tableElm = tinyMCE.getParentElement(inst.getFocusElement(), "table");\r
+ var formObj = document.forms[0];\r
+\r
+ inst.execCommand('mceBeginUndoLevel');\r
+\r
+ switch (getSelectValue(formObj, 'action')) {\r
+ case "cell":\r
+ var celltype = getSelectValue(formObj, 'celltype');\r
+ var scope = getSelectValue(formObj, 'scope');\r
+\r
+ if (tinyMCE.getParam("accessibility_warnings")) {\r
+ if (celltype == "th" && scope == "")\r
+ var answer = confirm(tinyMCE.getLang('lang_table_missing_scope', '', true));\r
+ else\r
+ var answer = true;\r
+\r
+ if (!answer)\r
+ return;\r
+ }\r
+\r
+ updateCell(tdElm);\r
+ break;\r
+\r
+ case "row":\r
+ var cell = trElm.firstChild;\r
+\r
+ if (cell.nodeName != "TD" && cell.nodeName != "TH")\r
+ cell = nextCell(cell);\r
+\r
+ do {\r
+ cell = updateCell(cell, true);\r
+ } while ((cell = nextCell(cell)) != null);\r
+\r
+ break;\r
+\r
+ case "all":\r
+ var rows = tableElm.getElementsByTagName("tr");\r
+\r
+ for (var i=0; i<rows.length; i++) {\r
+ var cell = rows[i].firstChild;\r
+\r
+ if (cell.nodeName != "TD" && cell.nodeName != "TH")\r
+ cell = nextCell(cell);\r
+\r
+ do {\r
+ cell = updateCell(cell, true);\r
+ } while ((cell = nextCell(cell)) != null);\r
+ }\r
+\r
+ break;\r
+ }\r
+\r
+ tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst);\r
+ tinyMCE.triggerNodeChange();\r
+ inst.execCommand('mceEndUndoLevel');\r
+ tinyMCEPopup.close();\r
+}\r
+\r
+function nextCell(elm) {\r
+ while ((elm = elm.nextSibling) != null) {\r
+ if (elm.nodeName == "TD" || elm.nodeName == "TH")\r
+ return elm;\r
+ }\r
+\r
+ return null;\r
+}\r
+\r
+function updateCell(td, skip_id) {\r
+ var inst = tinyMCE.selectedInstance;\r
+ var formObj = document.forms[0];\r
+ var curCellType = td.nodeName.toLowerCase();\r
+ var celltype = getSelectValue(formObj, 'celltype');\r
+ var doc = inst.getDoc();\r
+\r
+ if (!skip_id)\r
+ td.setAttribute('id', formObj.id.value);\r
+\r
+ td.setAttribute('align', formObj.align.value);\r
+ td.setAttribute('vAlign', formObj.valign.value);\r
+ td.setAttribute('lang', formObj.lang.value);\r
+ td.setAttribute('dir', getSelectValue(formObj, 'dir'));\r
+ td.setAttribute('style', tinyMCE.serializeStyle(tinyMCE.parseStyle(formObj.style.value)));\r
+ td.setAttribute('scope', formObj.scope.value);\r
+ tinyMCE.setAttrib(td, 'class', getSelectValue(formObj, 'class'));\r
+\r
+ // Clear deprecated attributes\r
+ tinyMCE.setAttrib(td, 'width', '');\r
+ tinyMCE.setAttrib(td, 'height', '');\r
+ tinyMCE.setAttrib(td, 'bgColor', '');\r
+ tinyMCE.setAttrib(td, 'borderColor', '');\r
+ tinyMCE.setAttrib(td, 'background', '');\r
+\r
+ // Set styles\r
+ td.style.width = getCSSSize(formObj.width.value);\r
+ td.style.height = getCSSSize(formObj.height.value);\r
+ if (formObj.bordercolor.value != "") {\r
+ td.style.borderColor = formObj.bordercolor.value;\r
+ td.style.borderStyle = td.style.borderStyle == "" ? "solid" : td.style.borderStyle;\r
+ td.style.borderWidth = td.style.borderWidth == "" ? "1px" : td.style.borderWidth;\r
+ } else\r
+ td.style.borderColor = '';\r
+\r
+ td.style.backgroundColor = formObj.bgcolor.value;\r
+\r
+ if (formObj.backgroundimage.value != "")\r
+ td.style.backgroundImage = "url('" + formObj.backgroundimage.value + "')";\r
+ else\r
+ td.style.backgroundImage = '';\r
+\r
+ if (curCellType != celltype) {\r
+ // changing to a different node type\r
+ var newCell = doc.createElement(celltype);\r
+\r
+ for (var c=0; c<td.childNodes.length; c++)\r
+ newCell.appendChild(td.childNodes[c].cloneNode(1));\r
+\r
+ for (var a=0; a<td.attributes.length; a++) {\r
+ var attr = td.attributes[a];\r
+ newCell.setAttribute(attr.name, attr.value);\r
+ }\r
+\r
+ td.parentNode.replaceChild(newCell, td);\r
+ td = newCell;\r
+ }\r
+\r
+ return td;\r
+}\r
+\r
+function changedBackgroundImage() {\r
+ var formObj = document.forms[0];\r
+ var st = tinyMCE.parseStyle(formObj.style.value);\r
+\r
+ st['background-image'] = "url('" + formObj.backgroundimage.value + "')";\r
+\r
+ formObj.style.value = tinyMCE.serializeStyle(st);\r
+}\r
+\r
+function changedSize() {\r
+ var formObj = document.forms[0];\r
+ var st = tinyMCE.parseStyle(formObj.style.value);\r
+\r
+ var width = formObj.width.value;\r
+ if (width != "")\r
+ st['width'] = getCSSSize(width);\r
+ else\r
+ st['width'] = "";\r
+\r
+ var height = formObj.height.value;\r
+ if (height != "")\r
+ st['height'] = getCSSSize(height);\r
+ else\r
+ st['height'] = "";\r
+\r
+ formObj.style.value = tinyMCE.serializeStyle(st);\r
+}\r
+\r
+function changedColor() {\r
+ var formObj = document.forms[0];\r
+ var st = tinyMCE.parseStyle(formObj.style.value);\r
+\r
+ st['background-color'] = formObj.bgcolor.value;\r
+ st['border-color'] = formObj.bordercolor.value;\r
+\r
+ formObj.style.value = tinyMCE.serializeStyle(st);\r
+}\r
+\r
+function changedStyle() {\r
+ var formObj = document.forms[0];\r
+ var st = tinyMCE.parseStyle(formObj.style.value);\r
+\r
+ if (st['background-image'])\r
+ formObj.backgroundimage.value = st['background-image'].replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");\r
+ else\r
+ formObj.backgroundimage.value = '';\r
+\r
+ if (st['width'])\r
+ formObj.width.value = trimSize(st['width']);\r
+\r
+ if (st['height'])\r
+ formObj.height.value = trimSize(st['height']);\r
+\r
+ if (st['background-color']) {\r
+ formObj.bgcolor.value = st['background-color'];\r
+ updateColor('bgcolor_pick','bgcolor');\r
+ }\r
+\r
+ if (st['border-color']) {\r
+ formObj.bordercolor.value = st['border-color'];\r
+ updateColor('bordercolor_pick','bordercolor');\r
+ }\r
+}\r