added support for editing tables to html area editor

This commit is contained in:
JT Smith 2003-08-23 14:08:43 +00:00
parent 6ba7dfc540
commit 89590ba4b0
33 changed files with 1838 additions and 27 deletions

View file

@ -13,6 +13,7 @@
- Templatized the HttpProxy wobject. (Thanks to Len Kranendonk.)
- Added a "Search for" and "Stop at" option to HttpProxy. (Thanks to Len Kranendonk.)
- Fixed a bug in the PreviousDropMenu macro.
- Enhanced HTMLArea editor to include table editing. (Thanks to IRV.)
5.4.3

View file

@ -21,6 +21,7 @@ Contributing Developers..............Peter Beardsley / Appropriate Solutions
Greg Fast / WDI
Chris Gebhardt / OpenServe
Andy Grundman
IRV
Chris Jackson
Koen de Jonge / ProcoliX
Martin Kamerbeek / ProcoliX

View file

@ -61,6 +61,10 @@ this.toolbar = [
['HorizontalRule','Createlink','InsertImage','InsertTable','htmlmode','separator'],
['Macros','separator'],
['Smileys','separator'],
// inserted by lvn : table actions
['TableProperties','RowProperties','InsertRowBefore','InsertRowAfter','DeleteRow','InsertColumnBefore','InsertColumnAfter','DeleteColumn','CellProperties','InsertCellBefore','InsertCellAfter','DeleteCell','SplitCell','MergeCells','SplitRow','MergeRows','separator'],
// end insert by lvn
// ['custom1','custom2','custom3','separator'],
['popupeditor']]; //,'about']];
@ -131,6 +135,27 @@ this.btnList = {
"custom3": ['custom3', 'Purpose of button 3', 'editor_action(this.id)', 'ed_custom.gif'],
// end: custom buttons
// inserted by lvn : table operations
"tableproperties": ['TableProperties', 'Table Properties', 'editor_action(this.id)', 'ed_tableprop.gif'],
"rowproperties": ['RowProperties', 'Row Properties', 'editor_action(this.id)', 'ed_rowprop.gif'],
"insertrowbefore": ['InsertRowBefore', 'Insert Row Before', 'editor_action(this.id)', 'ed_insabove.gif'],
"insertrowafter": ['InsertRowAfter', 'Insert Row After', 'editor_action(this.id)', 'ed_insunder.gif'],
"deleterow": ['DeleteRow', 'Delete Row', 'editor_action(this.id)', 'ed_delrow.gif'],
"insertcolumnbefore": ['InsertColumnBefore','Insert Column Before', 'editor_action(this.id)', 'ed_insleft.gif'],
"insertcolumnafter": ['InsertColumnAfter', 'Insert Column Afer','editor_action(this.id)', 'ed_insright.gif'],
"deletecolumn": ['DeleteColumn', 'Delete Column', ' editor_action(this.id)', 'ed_delcol.gif'],
"cellproperties": ['CellProperties', 'Cell Properties', 'editor_action(this.id)', 'ed_cellprop.gif'],
"insertcellbefore": ['InsertCellBefore', 'Insert Cell Before','editor_action(this.id)', 'ed_inscellft.gif'],
"insertcellafter": ['InsertCellAfter', 'Insert Cell After', 'editor_action(this.id)', 'ed_inscelrgt.gif'],
"deletecell": ['DeleteCell', 'Delete Cell', 'editor_action(this.id)', 'ed_delcel.gif'],
"splitcell": ['SplitCell', 'Split Cell', 'editor_action(this.id)', 'ed_splitcel.gif'],
"mergecells": ['MergeCells', 'Merge Cells', 'editor_action(this.id)', 'ed_mergecels.gif'],
"splitrow": ['SplitRow', 'Split row', 'editor_action(this.id)', 'ed_splitrow.gif'],
"mergerows": ['MergeRows', 'Merge rows', 'editor_action(this.id)', 'ed_mergerows.gif'],
// end insert by lvn
"help": ['showhelp', 'Help using editor', 'editor_action(this.id)', 'ed_help.gif']};
@ -312,6 +337,23 @@ function editor_action(button_id) {
'toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=yes,resizable=yes,width=640,height=480');
return;
}
// inserted by lvn : showborders
if (cmdID == 'ShowBorder'){
var btnObj = document.all["_" +objname+ "_ShowBorder"];
if (config.showborders){ // toggle is on : put borders off
nullBorders(editor_obj.contentWindow.document,'hide');
btnObj.className = 'btn';
config.showborders = false;
} else {
nullBorders(editor_obj.contentWindow.document,'show');
btnObj.className = 'btnDown';
config.showborders = true;
}
return;
}
// end insert by lvn
// check editor mode (don't perform actions in textedit mode)
if (editor_obj.tagName.toLowerCase() == 'textarea') { return; }
@ -365,7 +407,37 @@ function editor_action(button_id) {
"resizable: yes; help: no; status: no; scroll: no; ");
if (myText) { editor_insertHTML(objname, myText); }
}
// inserted by lvn : table operations
else if ( cmdID == 'TableProperties' ||
cmdID == 'RowProperties' ||
cmdID == 'InsertRowBefore' ||
cmdID == 'InsertRowAfter' ||
cmdID == 'DeleteRow' ||
cmdID == 'InsertColumnBefore' ||
cmdID == 'InsertColumnAfter' ||
cmdID == 'DeleteColumn' ||
cmdID == 'CellProperties' ||
cmdID == 'InsertCellBefore' ||
cmdID == 'InsertCellAfter' ||
cmdID == 'SplitCell' ||
cmdID == 'MergeRows' ||
cmdID == 'SplitRow' ||
cmdID == 'MergeCells' ||
cmdID == 'DeleteCell' ) {
// table operations
var table_src_element = editdoc.selection.createRange().parentElement();
while (table_src_element != null && table_src_element.tagName != 'TD' && table_src_element.tagName != 'TH'){
table_src_element = table_src_element.parentElement;
}
if (table_src_element == null) {
alert('Table operations not allowed here');
} else {
tables_action(button_id,table_src_element);
}
}
// end insert by lvn
// Custom3
else if (cmdID == 'custom3') { // insert some text
editor_insertHTML(objname, "It's easy to add buttons that insert text!");
@ -492,19 +564,6 @@ oTags[i].outerHTML = oTags[i].innerHTML;
var tar_attribute = '';
var linkText = '';
// a few tests.
var elmSelectedImage;
var htmlSelectionControl = "Control";
var grngMaster = editdoc.selection.createRange();
if (editdoc.selection.type == htmlSelectionControl) {
// alright! here we have an image.
elmSelectedImage = grngMaster.item(0);
highlightedText = elmSelectedImage.outerHTML;
}
else { // else NOT an image
if (editdoc.selection.createRange().parentElement().outerHTML.search(/^\<[A|a]/) != -1) {
var fullElement = editdoc.selection.createRange().parentElement().outerHTML;
@ -531,7 +590,6 @@ oTags[i].outerHTML = oTags[i].innerHTML;
linkText = lt[0];
}
}
var myValues = new Object();
myValues.highlightedText = highlightedText;
@ -548,17 +606,11 @@ oTags[i].outerHTML = oTags[i].innerHTML;
}
}
else {
if (myText) {
if (editdoc.selection.type == htmlSelectionControl) {
grngMaster.execCommand('Delete');
}
editor_insertHTML(objname, unescape(myText) ); // this function ALWAYS puts in an absolute link
}
if (myText) { editor_insertHTML(objname, unescape(myText) ); } // this function ALWAYS puts in an absolute link
}
}
// insert image
else if (cmdID.toLowerCase() == 'insertimage'){
showModalDialog(_editor_url + "popups/insert_image.html", editdoc, "resizable: no; help: no; status: no; scroll: no; ");
@ -576,8 +628,270 @@ oTags[i].outerHTML = oTags[i].innerHTML;
}
editor_event(objname);
// inserted by lvn
editor_obj.focus();
// end insert by lvn
}
// inserted by lvn : table operations
/* ---------------------------------------------------------------------- *\
Function : tables_action
Description : perform an action on selected table
Usage :
Arguments : table_action - objectname + action to execute
td - startpoint cell
\* ---------------------------------------------------------------------- */
function tables_action(table_action,td) {
// operations only valid on table cells
if (td.tagName == 'TD' || td.tagName == 'TH' ) {
var TableParts = table_action.split("_");
var objname = table_action.replace(/^_(.*)_[^_]*$/, '$1');
var cmdID = TableParts[ TableParts.length-1 ];
var editor_obj = document.all["_" +objname + "_editor"];
var config = document.all[objname].config;
var tr,td,tbody,table,newtr;
// get the table object model
tr = td.parentNode;
while(tr != null && tr.tagName != 'TR'){tr = tr.parentNode;}
if (tr != null) {
var tbody = tr.parentNode;
while(tbody != null && tbody.tagName != 'TBODY' && tbody.tagName != 'THEAD' && tbody.tagName != 'TFOOT'){tbody = tbody.parentNode;}
if (tbody != null) {
table = tbody.parentNode;
while(table!= null && table.tagName != 'TABLE'){table = table.parentNode;}
}
}
// only execute commands if table object model is complete
if (table != null) {
// local functions to insert rowdetails and columns
function insertRowDetails(tr,newtr) {
//for (var i=0;i < tr.childNodes.length;i++) {
for (var i=0;i < tr.cells.length;i++) {
newtr.insertCell(-1);
}
}
function insertColumn(tbody,where) {
//for (var i=0;i < tbody.childNodes.length;i++) {
for (var i=0;i < tbody.rows.length;i++) {
//tr = tbody.childNodes(i);
tr = tbody.rows(i);
//if (where > tr.childNodes.length){
if (where > tr.cells.length){
tr.insertCell();
} else {
tr.insertCell(where);
}
}
}
function deleteColumn(tbody,where) {
//for (var i=0;i < tbody.childNodes.length;i++) {
for (var i=0;i < tbody.rows.length;i++) {
//var tr = tbody.childNodes(i);
var tr = tbody.rows(i);
//if (tr.childNodes.length - 1 < where){
if (tr.cells.length - 1 < where){
//tr.deleteCell(tr.childNodes.length - 1);
tr.deleteCell(tr.cells.length - 1);
} else {
tr.deleteCell(where);
}
//tr = tbody.childNodes(i);
tr = tbody.rows(i);
//if (tr.childNodes.length == 0){
if (tr.cells.length == 0){
tbody.deleteRow(i);
}
}
}
function splitCell(tbody,currTr,currTd){
if (currTd.colSpan > 1) {
// rowspan > 1 just insert cell and decrease colspan
currTd.colSpan = currTd.colSpan - 1;
currTr.insertCell(currTd.cellIndex + 1);
} else {
// rowspan = 1 increase colspan for all other rows and insert cell in current row
for (var i=0;i < tbody.rows.length;i++) {
var tr = tbody.rows(i);
var td = tr.cells(currTd.cellIndex);
if (i == currTr.rowIndex) {
tr.insertCell(currTd.cellIndex + 1);
} else {
td.colSpan = td.colSpan + 1;
}
}
}
}
// commented out!
/* function mergeCells(tbody,currTr,currTd){
// check if leftmost of cells to merge
var left = false;
for (var i=0;i < tbody.rows.length;i++) {
var tr = tbody.rows(i);
var allTd = tr.cells;
if (currTd.cellIndex + 2 > allTd.length) {
left = false;
break;
} else {
var td = tr.cells(currTd.cellIndex);
if (i != currTr.rowIndex) {
if (td.colSpan > 1) {
left = true;
} else {
left = false;
break;
}
}
}
}
if (left){
for (var i=0;i < tbody.rows.length;i++){
var tr = tbody.rows(i);
var td = tr.cells(currTd.cellIndex);
if (currTd.cellIndex + 2 > tr.length) {
alert("You can't merge cells here.");
return;
} else {
var mergeCell = tr.cells(currTd.cellIndex + 1);
if (i == currTr.rowIndex) {
// merge the contents of the current cell with the one on the right
currTd.innerHTML = currTd.innerHTML + mergeCell.innerHTML;
currTr.deleteCell(currTd.cellIndex + 1);
} else {
// decrease colspan for non current rows
td.colSpan = td.colSpan - 1;
}
}
}
} else {
alert('Select the leftmost cell of the split to merge.');
}
} */
function mergeCells(tbody,currTr,currTd){
//first check if there are cells to the right
if (currTd.cellIndex < currTr.cells.length-1) {
//get current colspan and cell to be merged's colspan
//add the two together to get the new one,
//move the conetent and delete the right one
var currColSpan = currTd.colSpan ;
var mergeCellColSpan = currTr.cells(currTd.cellIndex+1).colSpan;
var mergeCell = currTr.cells(currTd.cellIndex+1);
currTd.innerHTML = currTd.innerHTML + mergeCell.innerHTML;
currTr.deleteCell(currTd.cellIndex + 1);
currTd.colSpan = currColSpan+mergeCellColSpan ;
} else {
alert('Select the leftmost cell of the split to merge.');
}
}
function splitRow(tbody,currTr,currTd){
// check rowspan on other cells
if (currTd.rowSpan > 1){
currTd.rowSpan = currTd.rowSpan - 1;
var tr = tbody.rows(currTr.rowIndex + 1);
var where = 0;
for (var i=0;i < currTr.cells.length;i++) {
if (i < currTd.cellIndex){
if (currTr.cells(i).rowSpan < 2){where++;}
}
}
tr.insertCell(where);
} else {
for (var i=0;i < currTr.cells.length;i++) {
var td = currTr.cells(i);
if (i == currTd.cellIndex) {
tr = tbody.insertRow(currTr.rowIndex + 1);
tr.insertCell(0);
} else {
td.rowSpan = td.rowSpan + 1;
}
}
}
}
function mergeRows(tbody,currTr,currTd){
// check if topmost of cells to merge
var top = false;
if (currTd.rowSpan < 2){
for (var i=0;i < currTr.cells.length;i++) {
if (i !== currTd.cellIndex) {
if (currTr.cells(i).rowSpan > 1){
top = true;
break;
}
}
}
}
if (top){
return;
} else {
alert('Select the topmost row of the split to merge.');
}
}
// execute the operation depending on the given command
switch(cmdID) {
case 'CreateCaption' : table.createCaption();break;
case 'DeleteCaption' : table.deleteCaption();break;
case 'CreateTHead' : table.createTHead();break;
case 'DeleteTHead' : table.deleteTHead();break;
case 'CreateTFoot' : table.createTFoot();break;
case 'DeleteTFoot' : table.deleteTFoot();break;
case 'InsertRowTop' : newtr = tbody.insertRow(0);insertRowDetails(tr,newtr);break;
case 'InsertRowBottom' : newtr = tbody.insertRow(-1);insertRowDetails(tr,newtr);break;
case 'InsertRowBefore' : newtr = tbody.insertRow(tr.rowIndex);insertRowDetails(tr,newtr);break;
case 'InsertRowAfter' : newtr = tbody.insertRow(tr.rowIndex+1);insertRowDetails(tr,newtr);break;
case 'InsertRowStart' : newtr = tbody.insertRow(0);insertRowDetails(tr,newtr);break;
case 'DeleteRow' : tbody.deleteRow(tr.rowIndex);break;
case 'InsertColumnLeft' : insertColumn(tbody,0);break;
case 'InsertColumnRight' : insertColumn(tbody,-1);break;
case 'InsertColumnBefore' : insertColumn(tbody,td.cellIndex);break;
case 'InsertColumnAfter' : insertColumn(tbody,td.cellIndex+1);break;
case 'DeleteColumn' : deleteColumn(tbody,td.cellIndex);break;
case 'InsertCellLeft' : tr.insertCell(0);break;
case 'InsertCellRight' : tr.insertCell(-1);break;
case 'InsertCellBefore' : tr.insertCell(td.cellIndex);break;
case 'InsertCellAfter' : tr.insertCell(td.cellIndex+1);break;
case 'InsertCellStart' : tr.insertCell(0);break;
case 'DeleteCell' : tr.deleteCell(td.cellIndex);break;
case 'SplitCell' : splitCell(tbody,tr,td);break;
case 'MergeCells' : mergeCells(tbody,tr,td);break;
case 'SplitRow' : splitRow(tbody,tr,td);break;
case 'MergeRows' : mergeRows(tbody,tr,td);break;
// inserted by lvn : property pallettes
case 'TableProperties' : nullBorders(editor_obj.contentWindow.document,'hide');
setGlobalVar('_editor_field',objname);
setGlobalVar('_editor_table',table);
showModalDialog(_editor_url + "popups/tableprop.html?"+objname,
window,
"resizable: yes; help: no; status: no; scroll: no; ");
td.focus();
break;
case 'RowProperties' : setGlobalVar('_editor_field',objname);
setGlobalVar('_editor_row',tr);
showModalDialog(_editor_url + "popups/rowprop.html?"+objname,
window,
"resizable: yes; help: no; status: no; scroll: no; ");
td.focus();
break;
case 'CellProperties' : setGlobalVar('_editor_field',objname);
setGlobalVar('_editor_cell',td);
showModalDialog(_editor_url + "popups/cellprop.html?"+objname,
window,
"resizable: yes; help: no; status: no; scroll: no; ");
td.focus();
break;
// end insert lvn property pallettes
default : break;
}
// if 0 table borders and the switch to show them is on: show them
if (config.showborders){ // toggle is on : show null borders
nullBorders(editor_obj.contentWindow.document,'show');
}
}
}
return;
}
// end insert by lvn
/* ---------------------------------------------------------------------- *\
Function : MS-Word clean-up
Description : replace textarea with wysiwyg editor
@ -808,6 +1122,42 @@ function editor_updateToolbar(objname,action) {
if (btnObj.disabled != false) { btnObj.disabled = false; }
}
}
// inserted by lvn: table operations
// disable table handling buttons when not in a table cell
var table_src_element = null;
// only works on non-control ranges
if (editdoc.selection.type != 'Control'){
table_src_element = editdoc.selection.createRange().parentElement();
while (table_src_element != null && table_src_element.tagName != 'TD' && table_src_element.tagName != 'TH'){
table_src_element = table_src_element.parentElement;
}
}
// check if buttons are set in the config
var IDList = Array('TableProperties','RowProperties','InsertRowBefore','InsertRowAfter','DeleteRow','InsertColumnBefore','InsertColumnAfter','DeleteColumn','CellProperties','InsertCellBefore','InsertCellAfter','DeleteCell','SplitCell','MergeCells','SplitRow','MergeRows');
for (var i=0; i<IDList.length; i++) {
var found = false;
for (var j=0;j<config.toolbar.length;j++){
if(config.toolbar[j]) {
for (var k=0;k<config.toolbar[j].length;k++){
if ( IDList[i] == config.toolbar[j][k]){found = true;}
}
}
}
// if in cell enable buttons, else disable them
if (found) {
var btnObj = document.all["_" +objname+ "_" +IDList[i]];
if (table_src_element == null) {
btnObj.disabled = true;
btnObj.className = 'btnNA';
} else {
btnObj.disabled = false;
btnObj.className = 'btn';
}
}
}
// end insert by lvn
}
/* ---------------------------------------------------------------------- *\
@ -836,6 +1186,54 @@ function editor_updateOutput(objname) {
}
// inserted by lvn
/* ---------------------------------------------------------------------- *\
Function : nullBorders
Description : show 'dotted' borders for tables with border=0
Usage : nullBorders(doc,status);
Arguments : doc - document object in wich the borders must be shown
status - show or hide
\* ---------------------------------------------------------------------- */
function nullBorders(doc,status) {
// show table borders
var edit_Tables = doc.body.getElementsByTagName("TABLE");
for (i=0; i < edit_Tables.length; i++) {
if (edit_Tables[i].border == '' || edit_Tables[i].border == '0' ) {
if (status == 'show' ) {
edit_Tables[i].style.border = "1px dotted #C0C0C0";
} else {
edit_Tables[i].removeAttribute("style");
}
}
edit_Rows = edit_Tables[i].rows;
for (j=0; j < edit_Rows.length; j++) {
edit_Cells = edit_Rows[j].cells;
for (k=0; k < edit_Cells.length; k++) {
if (edit_Tables[i].border == '' || edit_Tables[i].border == '0' ) {
if (!edit_Cells[k].border || edit_Cells[k].border == '' || edit_Cells[k].border == '0' ) {
if (status == 'show' ) {
edit_Cells[k].style.border = "1px dotted #C0C0C0";
} else {
edit_Cells[k].removeAttribute("style");
}
}
} else {
if ( edit_Cells[k].border == '0' ) {
if (status == 'show' ) {
edit_Cells[k].style.border = "1px dotted #C0C0C0";
} else {
edit_Cells[k].removeAttribute("style");
}
}
}
}
}
}
}
// end insert by lvn
/* ---------------------------------------------------------------------- *\
Function : editor_filterOutput
Description :
@ -882,7 +1280,6 @@ function editor_filterOutput(objname) {
var matchTag = /<\/?(\w+)((?:[^'">]*|'[^']*'|"[^"]*")*)>/g; // this will match tags, but still doesn't handle container tags (textarea, comments, etc)
contents = contents.replace(matchTag, filterTag);
contents = contents.replace(/http:\/\/www\.___relativelink___\.com\//g, "");
// remove nextlines from output (if requested)
if (config.replaceNextlines) {
@ -932,9 +1329,16 @@ function editor_setmode(objname, mode) {
editor_obj = document.all["_" +objname + "_editor"];
editor_obj.value = contents;
editor_event(objname);
// inserted by lvn
if (config.showborders) {
editor_updateToolbar(objname, "disable");
config.showborders = true;
} else {
// end insert by lvn
editor_updateToolbar(objname, "disable"); // disable toolbar items
// insert by lvn
}
// end insert by lvn
// set event handlers
editor_obj.onkeydown = function() { editor_event(objname); }
editor_obj.onkeypress = function() { editor_event(objname); }
@ -983,11 +1387,13 @@ function editor_setmode(objname, mode) {
+ '<body contenteditable="true" topmargin=1 leftmargin=1'
// still working on this
// + ' oncontextmenu="parent.editor_cMenu_generate(window,\'' +objname+ '\');"'
// updated by lvn: table actions (uncommented next line to show in popupmenu)
+ ' oncontextmenu="parent.editor_cMenu_generate(window,\'' +objname+ '\');"'
+'>'
+ contents
+ '</body>\n'
+ '</html>\n';
// write to editor window
var editdoc = editor_obj.contentWindow.document;
@ -1011,9 +1417,32 @@ function editor_setmode(objname, mode) {
editdoc.body.onpaste = function() { editor_event(objname, 100); }
editdoc.body.onblur = function() { editor_event(objname, -1); }
// inserted by lvn
// show table borders
if (config.showborders) {
nullBorders(editdoc,'show');
var btnObj = document.all["_" +objname+ "_ShowBorder"];
if(btnObj) { btnObj.className = 'btnDown'; }
}
// end insert by lvn
// bring focus to editor
if (mode != 'init') { // don't focus on page load, only on mode switch
editor_focus(editor_obj);
// insert by lvn : check editor changes)
} else {
if (config.checkChanges == 1) {
var localVar = getGlobalVar("objnames");
if (localVar == null){
setGlobalVar("objnames",objname);
} else {
localVar = localVar + ',' + objname;
setGlobalVar("objnames",localVar);
}
setGlobalVar("_" +objname + "_initialText",editdoc.body.innerHTML);
if (window.onbeforeunload == null){window.onbeforeunload = function() {discardOnExit();}}
}
// end insert by lvn
}
}
@ -1225,7 +1654,10 @@ function _isMouseOver(obj,event) { // determine if mouse is over object
function editor_cMenu_generate(editorWin,objname) {
var parentWin = window;
editorWin.event.returnValue = false; // cancel default context menu
// inserted by lvn : table operations
var table_object = document.all["_" +objname + "_editor"];
var table_src_element = table_object.contentWindow.event.srcElement;
// end insert bylvn
// define content menu options
var cMenuOptions = [ // menu name, shortcut displayed, javascript code
['Cut', 'Ctrl-X', function() {}],
@ -1239,6 +1671,52 @@ function editor_cMenu_generate(editorWin,objname) {
['About this editor...', '', function() {
alert("about this editor");
}]];
// inserted by lvn: table operations
// (uncomment to have more elements in popup menu)
if (table_src_element.tagName == 'TD') {
// set the contextmenu for tableactions when clicked in a table
cMenuOptions = [
// ['Insert Table' , '' , function() {editor_action('_' + objname + '_' + 'InsertTable');}],
// ['Delete Table' , '' , function() {tables_action('_' + objname + '_' + 'DeleteTable',table_src_element);}],
// ['Insert Caption' , '' , function() {tables_action('_' + objname + '_' + 'CreateCaption',table_src_element);}],
// ['Delete Caption' , '' , function() {tables_action('_' + objname + '_' + 'DeleteCaption',table_src_element);}],
// ['Insert Head' , '' , function() {tables_action('_' + objname + '_' + 'CreateTHead',table_src_element);}],
// ['Delete Head' , '' , function() {tables_action('_' + objname + '_' + 'DeleteTHead',table_src_element);}],
// ['Insert Foot' , '' , function() {tables_action('_' + objname + '_' + 'CreateTFoot',table_src_element);}],
// ['Delete Foot' , '' , function() {tables_action('_' + objname + '_' + 'DeleteTFoot',table_src_element);}],
// ['Insert Row at Top' , '' , function() {tables_action('_' + objname + '_' + 'InsertRowTop',table_src_element );}],
// ['Insert Row at Bottom' , '' , function() {tables_action('_' + objname + '_' + 'InsertRowBottom',table_src_element );}],
['Insert Row before' , '' , function() {tables_action('_' + objname + '_' + 'InsertRowBefore',table_src_element );}],
['Insert Row after' , '' , function() {tables_action('_' + objname + '_' + 'InsertRowAfter',table_src_element );}],
['Delete Row' , '' , function() {tables_action('_' + objname + '_' + 'DeleteRow',table_src_element );}],
// ['Insert Column leftmost', '' , function() {tables_action('_' + objname + '_' + 'InsertColumnLeft',table_src_element );}],
// ['Insert Column righttmost', '' , function() {tables_action('_' + objname + '_' + 'InsertColumnRight',table_src_element );}],
['Insert Column before', '' , function() {tables_action('_' + objname + '_' + 'InsertColumnBefore',table_src_element );}],
['Insert Column after', '' , function() {tables_action('_' + objname + '_' + 'InsertColumnAfter',table_src_element );}],
['Delete Column', '' , function() {tables_action('_' + objname + '_' + 'DeleteColumn',table_src_element );}],
// ['Insert Cell leftmost', '' , function() {tables_action('_' + objname + '_' + 'InsertCellLeft',table_src_element );}],
// ['Insert Cell rightmost' , '' , function() {tables_action('_' + objname + '_' + 'InsertCellRight',table_src_element );}],
['Insert Cell before' , '' , function() {tables_action('_' + objname + '_' + 'InsertCellBefore',table_src_element );}],
['Insert Cell after' , '' , function() {tables_action('_' + objname + '_' + 'InsertCellAfter',table_src_element );}],
['Delete Cell' , '' , function() {tables_action('_' + objname + '_' + 'DeleteCell',table_src_element );}],
['Split Cell' , '' , function() {tables_action('_' + objname + '_' + 'SplitCell',table_src_element );}],
['Merge Cells' , '' , function() {tables_action('_' + objname + '_' + 'MergeCells',table_src_element );}],
['Split Row' , '' , function() {tables_action('_' + objname + '_' + 'SplitRow',table_src_element );}],
['Merge Rows' , '' , function() {tables_action('_' + objname + '_' + 'MergeRows',table_src_element );}],
// inserted by lvn : property pallettes
['Table Properties' , '' , function() {tables_action('_' + objname + '_' + 'TableProperties',table_src_element );}],
['Row Properties' , '' , function() {tables_action('_' + objname + '_' + 'RowProperties',table_src_element );}],
['Cell Properties' , '' , function() {tables_action('_' + objname + '_' + 'CellProperties',table_src_element );}]
// end insert lvn property pallettes
];
} else {
// reset to de default browser contextmenu
editorWin.event.returnValue = true;
return;
}
// end insert by lvn
editor_cMenu.options = cMenuOptions; // save options
// generate context menu
@ -1368,6 +1846,25 @@ function getGlobalVar(varName, value) {
}
}
// insert by lvn : check editor changes
/* ---------------------------------------------------------------------- *\
Function : discardOnExit
Description : check if contents have been changed and ask user confirmation
to discard changes
Usage : discardOnExit();
\* ---------------------------------------------------------------------- */
function discardOnExit(){
var objNames = getGlobalVar("objnames").split(",");
for (var i=0;i < objNames.length;i++){
if (document.all["_" +objNames[i] + "_editor"].contentWindow.document.body.innerHTML
!= getGlobalVar("_" + objNames[i] + "_initialText")) {
event.returnValue = "Your document has been changed. Discard changes?";
}
}
}
// end insert by lvn
function CheckDocument()
{
oShell= new

Binary file not shown.

After

Width:  |  Height:  |  Size: 155 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 121 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 121 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 910 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 910 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 949 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 892 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 925 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 923 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 121 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 145 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 920 B

View file

@ -0,0 +1,2 @@
<html>
</html>

View file

@ -0,0 +1,262 @@
<!-- based on insimage.dlg -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD W3 HTML 3.2//EN">
<HTML id=dlgFind STYLE="width: 420px; height: 250px; ">
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="MSThemeCompatible" content="Yes">
<TITLE>
Cell Properties
</TITLE>
<style>
html, body, button, div, input, select, fieldset { font-family: MS Shell Dlg; font-size: 8pt; position: absolute; };
</style>
<script>
opener = window.dialogArguments;
var editor_obj = opener.document.all["_" + opener.getGlobalVar('_editor_field') + "_editor"];
var td = opener.getGlobalVar('_editor_cell');
</script>
<SCRIPT defer>
function _CloseOnEsc() {
if (event.keyCode == 27) { window.close(); return; }
}
window.onerror = HandleError
function HandleError(message, url, line) {
var std = "An error has occurred in this dialog." + "\n\n"
+ "Error: " + line + "\n" + message;
alert(std);
window.close();
return true;
}
function Init() {
// event handlers
document.body.onkeypress = _CloseOnEsc;
btnOK.onclick = new Function("btnOKClick()");
align.selectedIndex = 0;
for (var i=0; i< align.length; i++) {
if (align[i].value.toLowerCase() == td.align.toLowerCase()) {
align.selectedIndex = i;
}
}
vAlign.selectedIndex = 0;
for (var i=0; i< vAlign.length; i++) {
if (vAlign[i].value.toLowerCase() == td.vAlign.toLowerCase()) {
vAlign.selectedIndex = i;
}
}
//if (td.bgColor == ''){
bgColor.innerText = ' ' + td.bgColor.toUpperCase();
//}
bgColor.style.backgroundColor = td.bgColor;
//if (td.borderColor == ''){
borderColor.innerText = ' ' + td.borderColor.toUpperCase();
//}
borderColor.style.backgroundColor = td.borderColor;
//if (td.borderColorDark == ''){
borderColorDark.innerText = ' ' + td.borderColorDark.toUpperCase();
//}
borderColorDark.style.backgroundColor = td.borderColorDark;
//if (td.borderColorLight == ''){
borderColorLight.innerText = ' ' + td.borderColorLight.toUpperCase();
//}
borderColorLight.style.backgroundColor = td.borderColorLight;
if (td.height == null){
height.value = '';
heightExt.value = '';
} else {
if (td.height.search(/%/) < 0) {
height.value = td.height;
heightExt.value = '';
} else {
height.value = td.height.split('%')[0];
heightExt.value = '%';
}
}
if (td.width == null){
width.value = '';
widthExt.value = '';
} else {
if (td.width.search(/%/) < 0) {
widthExt.value = '';
width.value = td.width;
} else {
width.value = td.width.split('%')[0];
widthExt.value = '%';
}
}
id.value = td.id;
title.value = td.title;
if (td.background == null) {
background.value = '';
} else {
background.value = td.background;
}
colSpan.value = td.colSpan;
rowSpan.value = td.rowSpan;
noWrap.checked = td.noWrap;
}
function radioValue(radioobject){
for (var i=0; i < radioobject.length; i++) {
if (direction[i].checked) {
return radioobject[i].value;
}
}
}
function _isValidNumber(txtBox) {
if (txtBox == '') {
return true;
} else {
var val = parseInt(txtBox);
if (isNaN(val) || val < 0 || val > 9999) { return false; }
return true;
}
}
function btnOKClick() {
if (!_isValidNumber(height.value)) {
alert("You must specify a number between 0 and 9999 for height!");
heigth.focus();
return;
}
if (height.value == ''){heightExt.value = '';}
if (!_isValidNumber(width.value)) {
alert("You must specify a number between 0 and 9999 for width!");
width.focus();
return;
}
if (width.value == ''){widthExt.value = '';}
td.align = align[align.selectedIndex].value;
td.vAlign = vAlign[vAlign.selectedIndex].value;
td.bgColor = bgColor.style.backgroundColor;
td.borderColor = borderColor.style.backgroundColor;
td.borderColorDark = borderColorDark.style.backgroundColor;
td.borderColorLight = borderColorLight.style.backgroundColor;
td.height = height.value + heightExt.value;
td.id = id.value ;
if (title.value == ''){
if (td.getAttribute('title') != null){td.removeAttribute('title');}
} else {td.title = title.value;}
if (width.value == ''){
if (td.getAttribute('width') != null){td.removeAttribute('width');}
} else {td.width = width.value + widthExt.value;}
if (background.value == '' ){
if (td.getAttribute('background') != null){td.removeAttribute('background');}
} else {td.background = background.value;}
if (!_isValidNumber(colSpan.value)) {
alert("You must specify a number between 0 and 9999 for colSpan!");
colSpan.focus();
return;
}
if (colSpan.value == '' || colSpan.value == '0' || colSpan.value == '1'){
if (td.getAttribute('colSpan') != null){td.removeAttribute('colSpan');}
} else {td.colSpan = colSpan.value;}
if (!_isValidNumber(rowSpan.value)) {
alert("You must specify a number between 0 and 9999 for rowSpan!");
rowSpan.focus();
return;
}
if (rowSpan.value == '' || rowSpan.value == '0' || rowSpan.value == '1'){
if (td.getAttribute('rowSpan') != null){td.removeAttribute('rowSpan');}
} else {td.rowSpan = rowSpan.value;}
td.noWrap = noWrap.checked;
window.close();
return true;
}
function setColors (but) {
but.style.borderStyle = 'inset';
var color=showModalDialog('set_color.html',but.style.backgroundColor,'resizable:no;help:no;status:no;scroll:no;');
if (color == '' || color == null){
but.innerText = '';
but.style.backgroundColor = '';
} else {
but.innerText = ' #' + color.toUpperCase();
but.style.backgroundColor = color;
}
but.style.borderStyle = 'outset';
return;
}
</SCRIPT>
</HEAD>
<BODY id=bdy onload="Init()" style="background: threedface; color: windowtext;" scroll=no>
<DIV id=divHeight style="left: 1em; top: 1em; width: 10em; height: 1.9em; ">
Height:
</DIV>
<INPUT ID=height type=text style="left: 10em; top: 0.8em; width: 3em; height: 1.9em; " tabIndex=10 onfocus="select()">
<select name="heightExt" style="left: 13.2em; top: 0.8em; width: 6em; height: 1.9em; " tabIndex=20>
<option value="">Pixels</option>
<option value="%" selected>Percent</option>
</select>
<DIV id=divWidth style="left: 20em; top: 1em; width: 10em; height: 1.9em; ">
Width:
</DIV>
<INPUT ID=width type=text style="left: 27.9em; top: 0.8em; width: 3em; height: 1.9em; " tabIndex=30 onfocus="select()">
<select name="widthExt" style="left: 31.1em; top: 0.8em; width: 6em; height: 1.9em; " tabIndex=40>
<option value="">Pixels</option>
<option value="%" selected>Percent</option>
</select>
<DIV id=divId style="left: 1em; top: 3em; width: 10em; height: 1.2168em; ">
Id:
</DIV>
<INPUT ID=id type=text style="left: 10em; top: 2.8em; width: 27.04em; height: 1.9em; " tabIndex=50 onfocus="select()">
<DIV id=divTitle style="left: 1em; top: 5em; width: 31em; height: 1.2168em; ">
Tooltip:
</DIV>
<INPUT ID=title type=text style="left: 10em; top: 4.8em; width: 27.04em; height: 1.9em; " tabIndex=60 onfocus="select()">
<DIV id=divBackground style="left: 1em; top: 7em; width: 10em; height: 1.2168em; ">
Background Image:
</DIV>
<INPUT ID=background type=text style="left: 10em; top: 6.8em; width: 27.04em; height: 1.9em; " tabIndex=70 onfocus="select()">
<DIV id=divAlign style="left: 1em; top: 9em; width: 10em; height: 1.2168em; ">
Horizontal Align:
</DIV>
<select name="align" style="left: 10em; top: 8.8em; width: 6em; height: 1.9em; " tabIndex=80>
<option value="">Not set</option>
<option value="center">center</option>
<option value="justify">Justify</option>
<option value="left">Left</option>
<option value="right">Right</option>
</select>
<DIV id=divvAlign style="left: 20em; top: 9em; width: 10em; height: 1.2168em; ">
Vertical Align:
</DIV>
<select name="vAlign" style="left: 31em; top: 8.8em; width: 6em; height: 1.9em; " tabIndex=90>
<option value="">Not set</option>
<option value="middle">Middle</option>
<option value="baseline">Baseline</option>
<option value="bottom">Bottom</option>
<option value="top">Top</option>
</select>
<DIV id=divBgColor style="left: 1em; top: 11em; width: 10em; height: 1.2168em; ">
Background Color:
</DIV>
<DIV id=bgColor style="left: 10em; top: 11em; width: 6em; height: 1.2168em;border-style: outset; border-width: thin;" onclick="setColors(this);"></DIV>
<DIV id=divBorderColor style="left: 20em; top: 11em; width: 10em; height: 1.2168em; ">
Border Color:
</DIV>
<DIV id=borderColor style="left: 31em; top: 11em; width: 6em; height: 1.2168em;border-style: outset; border-width: thin;" onclick="setColors(this);"></DIV>
<DIV id=divBorderColorDark style="left: 1em; top: 13em; width: 10em; height: 1.2168em; ">
Border Color Dark:
</DIV>
<DIV id=borderColorDark style="left: 10em; top: 13em; width: 6em; height: 1.2168em;border-style: outset; border-width: thin;" onclick="setColors(this);"></DIV>
<DIV id=divBorderCOlorLight style="left: 20em; top: 13em; width: 10em; height: 1.2168em; ">
Border Color Light:
</DIV>
<DIV id=borderColorLight style="left: 31em; top: 13em; width: 6em; height: 1.2168em;border-style: outset; border-width: thin;" onclick="setColors(this);"></DIV>
<DIV id=divColSpan style="left: 1em; top: 15em; width: 10em; height: 1.9em; ">
Colspan:
</DIV>
<INPUT ID=colSpan type=text style="left: 10em; top: 14.8em; width: 3em; height: 1.9em; " tabIndex=100 onfocus="select()">
<DIV id=divrowSpan style="left: 17em; top: 15em; width: 10em; height: 1.9em; ">
Rowspan:
</DIV>
<INPUT ID=rowSpan type=text style="left: 23em; top: 14.8em; width: 3em; height: 1.9em; " tabIndex=110 onfocus="select()">
<DIV id=divrowSpan style="left: 30em; top: 15em; width: 10em; height: 1.9em; ">
No Wrap:
</DIV>
<input ID=noWrap type=checkbox style="left: 35.6em; top: 15em; width: 1.5em; height: 1.5em; " tabIndex=120 onfocus="select()">
<BUTTON ID=btnOK style="left: 10em; top: 17em; width: 8.5em; height: 2.2em; " type=submit tabIndex=130>
OK
</BUTTON>
<BUTTON ID=btnCancel style="left: 19.9em; top: 17em; width: 8.5em; height: 2.2em; " type=reset tabIndex=140 onClick="window.close();">
Cancel
</BUTTON>
</BODY>
</HTML>

View file

@ -0,0 +1,171 @@
<!-- based on insimage.dlg -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD W3 HTML 3.2//EN">
<HTML id=dlgFind STYLE="width: 460px; height: 350px; ">
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="MSThemeCompatible" content="Yes">
<TITLE>
Cell Properties
</TITLE>
<style>
html, body, button, div, input, select, fieldset { font-family: MS Shell Dlg; font-size: 8pt; position: absolute; };
</style>
<script>
opener = window.dialogArguments;
var editor_obj = opener.document.all["_" + opener.getGlobalVar('_editor_field') + "_editor"];
var td = opener.getGlobalVar('_editor_cell');
</script>
<SCRIPT defer>
function _CloseOnEsc() {
if (event.keyCode == 27) { window.close(); return; }
}
window.onerror = HandleError
function HandleError(message, url, line) {
var str = "An error has occurred in this dialog." + "\n\n"
+ "Error: " + line + "\n" + message;
alert(str);
window.close();
return true;
}
function Init() {
// event handlers
document.body.onkeypress = _CloseOnEsc;
btnOK.onclick = new Function("btnOKClick()");
align.selectedIndex = 0;
for (var i=0; i< align.length; i++) {
if (align[i].value.toLowerCase() == td.align.toLowerCase()) {
align.selectedIndex = i;
}
}
vAlign.selectedIndex = 0;
for (var i=0; i< vAlign.length; i++) {
if (vAlign[i].value.toLowerCase() == td.vAlign.toLowerCase()) {
vAlign.selectedIndex = i;
}
}
if (td.background != 'undefined') {
background.value = td.background;
} else {
background.value = '';
}
bgColor.value = td.bgColor;
borderColor.value = td.borderColor;
borderColorDark.value = td.borderColorDark;
borderColorLight.value = td.borderColorLight;
height.value = td.height;
id.value = td.id;
title.value = td.title;
if (td.width != 'undefined') {
width.value = td.width;
} else {
width.value = '';
}
colSpan.value = td.colSpan;
rowSpan.value = td.rowSpan;
noWrap.checked = td.noWrap;
}
function radioValue(radioobject){
for (var i=0; i < radioobject.length; i++) {
if (direction[i].checked) {
return radioobject[i].value;
}
}
}
function btnOKClick() {
td.align = align[align.selectedIndex].value;
td.vAlign = vAlign[vAlign.selectedIndex].value;
td.background = background.value;
td.bgColor = bgColor.value;
td.borderColor = borderColor.value;
td.borderColorDark = borderColorDark.value;
td.borderColorLight = borderColorLight.value;
td.height = height.value ;
td.id = id.value ;
td.title = title.value ;
td.width = width.value ;
td.colSpan = colSpan.value ;
td.rowSpan = rowSpan.value ;
td.noWrap = noWrap.checked;
window.close();
return true;
}
</SCRIPT>
</HEAD>
<BODY id=bdy onload="Init()" style="background: threedface; color: windowtext;" scroll=no>
<DIV id=divHeight style="left: 1em; top: 1em; width: 10em; height: 1.9em; ">
Height:
</DIV>
<INPUT ID=height type=text style="left: 10em; top: 0.8em; width: 3em; height: 1.9em; " tabIndex=10 onfocus="select()">
<DIV id=divWidth style="left: 1em; top: 3em; width: 10em; height: 1.9em; ">
Width:
</DIV>
<INPUT ID=width type=text style="left: 10em; top: 2.8em; width: 3em; height: 1.9em; " tabIndex=20 onfocus="select()">
<DIV id=divId style="left: 1em; top: 5em; width: 10em; height: 1.2168em; ">
Id:
</DIV>
<INPUT ID=id type=text style="left: 10em; top: 4.8em; width: 31em; height: 1.9em; " tabIndex=30 onfocus="select()">
<DIV id=divAlign style="left: 1em; top: 7em; width: 10em; height: 1.2168em; ">
Align:
</DIV>
<select name="align" style="left: 10em; top: 6.8em; width: 6em; height: 1.9em; " tabIndex=40 onfocus="select()">
<option value="">Not set</option>
<option value="center">center</option>
<option value="justify">Justify</option>
<option value="left">Left</option>
<option value="right">Right</option>
</select>
<DIV id=divvAlign style="left: 1em; top: 9em; width: 10em; height: 1.2168em; ">
Vertical Align:
</DIV>
<select name="vAlign" style="left: 10em; top: 8.8em; width: 6em; height: 1.9em; " tabIndex=50 onfocus="select()">
<option value="">Not set</option>
<option value="middle">Middle</option>
<option value="baseline">Baseline</option>
<option value="bottom">Bottom</option>
<option value="top">Top</option>
</select>
<DIV id=divBackground style="left: 1em; top: 11em; width: 10em; height: 1.2168em; ">
Background Image:
</DIV>
<INPUT ID=background type=text style="left: 10em; top: 10.8em; width: 31em; height: 1.9em; " tabIndex=60 onfocus="select()">
<DIV id=divBgColor style="left: 1em; top: 13em; width: 10em; height: 1.2168em; ">
Background Color:
</DIV>
<INPUT ID=bgColor type=text style="left: 10em; top: 12.8em; width: 5em; height: 1.9em; " tabIndex=70 onfocus="select()">
<DIV id=divBorderColor style="left: 1em; top: 15em; width: 10em; height: 1.2168em; ">
Border Color:
</DIV>
<INPUT ID=borderColor type=text style="left: 10em; top: 14.8em; width: 5em; height: 1.9em; " tabIndex=80 onfocus="select()">
<DIV id=divBorderColorDark style="left: 1em; top: 17em; width: 10em; height: 1.2168em; ">
Border Color Dark:
</DIV>
<INPUT ID=borderColorDark type=text style="left: 10em; top: 16.8em; width: 5em; height: 1.9em; " tabIndex=90 onfocus="select()">
<DIV id=divBorderCOlorLight style="left: 1em; top: 19em; width: 10em; height: 1.2168em; ">
Border Color Light:
</DIV>
<INPUT ID=borderColorLight type=text style="left: 10em; top: 18.8em; width: 5em; height: 1.9em; " tabIndex=100 onfocus="select()">
<DIV id=divTitle style="left: 1em; top: 21em; width: 31em; height: 1.2168em; ">
Tooltip:
</DIV>
<INPUT ID=title type=text style="left: 10em; top: 20.8em; width: 31em; height: 1.9em; " tabIndex=110 onfocus="select()">
<DIV id=divColSpan style="left: 1em; top: 23em; width: 10em; height: 1.9em; ">
Colspan:
</DIV>
<INPUT ID=colSpan type=text style="left: 10em; top: 22.8em; width: 3em; height: 1.9em; " tabIndex=120 onfocus="select()">
<DIV id=divrowSpan style="left: 1em; top: 25em; width: 10em; height: 1.9em; ">
Rowspan:
</DIV>
<INPUT ID=rowSpan type=text style="left: 10em; top: 24.8em; width: 3em; height: 1.9em; " tabIndex=140 onfocus="select()">
<DIV id=divrowSpan style="left: 35em; top: 25em; width: 10em; height: 1.9em; ">
No Wrap:
</DIV>
<input ID=noWrap type=checkbox style="left: 39.6em; top: 25em; width: 1.5em; height: 1.5em; " tabIndex=150 onfocus="select()">
<BUTTON ID=btnOK style="left: 10em; top: 27.5em; width: 8.5em; height: 2.2em; " type=submit tabIndex=160>
OK
</BUTTON>
<BUTTON ID=btnCancel style="left: 19em; top: 27.5em; width: 8.5em; height: 2.2em; " type=reset tabIndex=170 onClick="window.close();">
Cancel
</BUTTON>
</BODY>
</HTML>

View file

@ -0,0 +1,223 @@
<!-- based on insimage.dlg -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD W3 HTML 3.2//EN">
<HTML id=dlgFind STYLE="width: 420px; height: 200px; ">
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="MSThemeCompatible" content="Yes">
<TITLE>
Row Properties
</TITLE>
<style>
html, body, button, div, input, select, fieldset { font-family: MS Shell Dlg; font-size: 8pt; position: absolute; };
</style>
<script>
opener = window.dialogArguments;
var editor_obj = opener.document.all["_" + opener.getGlobalVar('_editor_field') + "_editor"];
var tr = opener.getGlobalVar('_editor_row');
</script>
<SCRIPT defer>
function _CloseOnEsc() {
if (event.keyCode == 27) { window.close(); return; }
}
window.onerror = HandleError
function HandleError(message, url, line) {
var str = "An error has occurred in this dialog." + "\n\n"
+ "Error: " + line + "\n" + message;
alert(str);
window.close();
return true;
}
function Init() {
// event handlers
document.body.onkeypress = _CloseOnEsc;
btnOK.onclick = new Function("btnOKClick()");
align.selectedIndex = 0;
for (var i=0; i< align.length; i++) {
if (align[i].value.toLowerCase() == tr.align.toLowerCase()) {
align.selectedIndex = i;
}
}
vAlign.selectedIndex = 0;
for (var i=0; i< vAlign.length; i++) {
if (vAlign[i].value.toLowerCase() == tr.vAlign.toLowerCase()) {
vAlign.selectedIndex = i;
}
}
//if (tr.bgColor == ''){
bgColor.innerText = ' ' + tr.bgColor.toUpperCase();
//}
bgColor.style.backgroundColor = tr.bgColor;
//if (tr.borderColor == ''){
borderColor.innerText = ' ' + tr.borderColor.toUpperCase();
//}
borderColor.style.backgroundColor = tr.borderColor;
//if (tr.borderColorDark == ''){
borderColorDark.innerText = ' ' + tr.borderColorDark.toUpperCase();
//}
borderColorDark.style.backgroundColor = tr.borderColorDark;
//if (tr.borderColorLight == ''){
borderColorLight.innerText = ' ' + tr.borderColorLight.toUpperCase();
//}
borderColorLight.style.backgroundColor = tr.borderColorLight;
if (tr.height == null){
height.value = '';
heightExt.value = '';
} else {
if (tr.height.search(/%/) < 0) {
height.value = tr.height;
heightExt.value = '';
} else {
height.value = tr.height.split('%')[0];
heightExt.value = '%';
}
}
if (tr.width == null){
width.value = '';
widthExt.value = '';
} else {
if (tr.width.search(/%/) < 0) {
widthExt.value = '';
width.value = tr.width;
} else {
width.value = tr.width.split('%')[0];
widthExt.value = '%';
}
}
id.value = tr.id;
title.value = tr.title;
}
function radioValue(radioobject){
for (var i=0; i < radioobject.length; i++) {
if (direction[i].checked) {
return radioobject[i].value;
}
}
}
function _isValidNumber(txtBox) {
if (txtBox == '') {
return true;
} else {
var val = parseInt(txtBox);
if (isNaN(val) || val < 0 || val > 9999) { return false; }
return true;
}
}
function btnOKClick() {
if (!_isValidNumber(height.value)) {
alert("You must specify a number between 0 and 9999 for height!");
heigth.focus();
return;
}
if (height.value == ''){heightExt.value = '';}
if (!_isValidNumber(width.value)) {
alert("You must specify a number between 0 and 9999 for width!");
width.focus();
return;
}
if (width.value == ''){widthExt.value = '';}
tr.align = align[align.selectedIndex].value;
tr.vAlign = vAlign[vAlign.selectedIndex].value;
tr.bgColor = bgColor.style.backgroundColor;
tr.borderColor = borderColor.style.backgroundColor;
tr.borderColorDark = borderColorDark.style.backgroundColor;
tr.borderColorLight = borderColorLight.style.backgroundColor;
// tr.bgColor = bgColor.value;
// tr.borderColor = borderColor.value;
// tr.borderColorDark = borderColorDark.value;
// tr.borderColorLight = borderColorLight.value;
tr.height = height.value + heightExt.value;
tr.id = id.value ;
if (title.value == ''){
if (tr.getAttribute('title') != null){tr.removeAttribute('title');}
} else {tr.title = title.value;}
if (width.value == ''){
if (tr.getAttribute('width') != null){tr.removeAttribute('width');}
} else {tr.width = width.value + widthExt.value;}
window.close();
return true;
}
function setColors (but) {
but.style.borderStyle = 'inset';
var color=showModalDialog('set_color.html',but.style.backgroundColor,'resizable:no;help:no;status:no;scroll:no;');
if (color == '' || color == null){
but.innerText = '';
but.style.backgroundColor = '';
} else {
but.innerText = ' #' + color.toUpperCase();
but.style.backgroundColor = color;
}
but.style.borderStyle = 'outset';
return;
}
</SCRIPT>
</HEAD>
<BODY id=bdy onload="Init()" style="background: threedface; color: windowtext;" scroll=no>
<DIV id=divHeight style="left: 1em; top: 1em; width: 10em; height: 1.9em; ">
Height:
</DIV>
<INPUT ID=height type=text style="left: 10em; top: 0.8em; width: 3em; height: 1.9em; " tabIndex=10 onfocus="select()">
<select name="heightExt" style="left: 13.2em; top: 0.8em; width: 6em; height: 1.9em; " tabIndex=20>
<option value="">Pixels</option>
<option value="%" selected>Percent</option>
</select>
<DIV id=divWidth style="left: 20em; top: 1em; width: 10em; height: 1.9em; ">
Width:
</DIV>
<INPUT ID=width type=text style="left: 27.9em; top: 0.8em; width: 3em; height: 1.9em; " tabIndex=30 onfocus="select()">
<select name="widthExt" style="left: 31.1em; top: 0.8em; width: 6em; height: 1.9em; " tabIndex=40>
<option value="">Pixels</option>
<option value="%" selected>Percent</option>
</select>
<DIV id=divId style="left: 1em; top: 3em; width: 10em; height: 1.2168em; ">
Id:
</DIV>
<INPUT ID=id type=text style="left: 10em; top: 2.8em; width: 27.04em; height: 1.9em; " tabIndex=50 onfocus="select()">
<DIV id=divTitle style="left: 1em; top: 5em; width: 31em; height: 1.2168em; ">
Tooltip:
</DIV>
<INPUT ID=title type=text style="left: 10em; top: 4.8em; width: 27.04em; height: 1.9em; " tabIndex=60 onfocus="select()">
<DIV id=divAlign style="left: 1em; top: 7em; width: 10em; height: 1.2168em; ">
Horizontal Align:
</DIV>
<select name="align" style="left: 10em; top: 6.8em; width: 6em; height: 1.9em; " tabIndex=70">
<option value="">Not set</option>
<option value="center">center</option>
<option value="justify">Justify</option>
<option value="left">Left</option>
<option value="right">Right</option>
</select>
<DIV id=divvAlign style="left: 20em; top: 7em; width: 10em; height: 1.2168em; ">
Vertical Align:
</DIV>
<select name="vAlign" style="left: 31em; top: 6.8em; width: 6em; height: 1.9em; " tabIndex=80">
<option value="">Not set</option>
<option value="middle">Middle</option>
<option value="baseline">Baseline</option>
<option value="bottom">Bottom</option>
<option value="top">Top</option>
</select>
<DIV id=divBgColor style="left: 1em; top: 9em; width: 10em; height: 1.2168em; ">
Background Color:
</DIV>
<DIV id=bgColor style="left: 10em; top: 9em; width: 6em; height: 1.2168em;border-style: outset; border-width: thin;" onclick="setColors(this);"></DIV>
<DIV id=divBorderColor style="left: 20em; top: 9em; width: 10em; height: 1.2168em; ">
Border Color:
</DIV>
<DIV id=borderColor style="left: 31em; top: 9em; width: 6em; height: 1.2168em;border-style: outset; border-width: thin;" onclick="setColors(this);"></DIV>
<DIV id=divBorderColorDark style="left: 1em; top: 11em; width: 10em; height: 1.2168em; ">
Border Color Dark:
</DIV>
<DIV id=borderColorDark style="left: 10em; top: 11em; width: 6em; height: 1.2168em;border-style: outset; border-width: thin;" onclick="setColors(this);"></DIV>
<DIV id=divBorderCOlorLight style="left: 20em; top: 11em; width: 10em; height: 1.2168em; ">
Border Color Light:
</DIV>
<DIV id=borderColorLight style="left: 31em; top: 11em; width: 6em; height: 1.2168em;border-style: outset; border-width: thin;" onclick="setColors(this);"></DIV>
<BUTTON ID=btnOK style="left: 10em; top: 13em; width: 8.5em; height: 2.2em; " type=submit tabIndex=90>
OK
</BUTTON>
<BUTTON ID=btnCancel style="left: 19.9em; top: 13em; width: 8.5em; height: 2.2em; " type=reset tabIndex=100 onClick="window.close();">
Cancel
</BUTTON>
</BODY>
</HTML>

View file

@ -0,0 +1,352 @@
<!-- note: this version of the color picker is optimized for IE 5.5+ only -->
<html STYLE="width: 238px; height: 212px"><head><title>Select Color</title>
<script language="javascript">
function _CloseOnEsc() {
if (event.keyCode == 27) { window.close(); return; }
}
function Init() { // run on page load
document.body.onkeypress = _CloseOnEsc;
color = window.dialogArguments;
color = ValidateColor(color) || '000000';
View(color); // set default color
}
function View(color) { // preview color
if ( color == '' ){
document.all.ColorPreview.style.backgroundColor = '';
document.all.ColorHex.value = '';
} else {
document.all.ColorPreview.style.backgroundColor = '#' + color;
document.all.ColorHex.value = '#' + color;
}
}
function Set(string) { // select color
if (string == '') {
window.returnvalue = '';
} else {
color = ValidateColor(string);
View(color); // show selected color
window.returnValue = color; // set return value
}
window.close(); // close dialog
}
function ValidateColor(string) { // return valid color code
string = string || '';
string = string + "";
string = string.toUpperCase();
chars = '0123456789ABCDEF';
out = '';
for (i=0; i<string.length; i++) { // remove invalid color chars
schar = string.charAt(i);
if (chars.indexOf(schar) != -1) { out += schar; }
}
if (out.length != 6) { return null; } // check length
return out;
}
</script>
</head>
<body bgcolor="#000000" topmargin=0 leftmargin=0 onload="Init()">
<form method=get onSubmit="Set(document.all.ColorHex.value); return false;">
<table border=0 cellspacing=0 cellpadding=4 width=100%>
<tr>
<td bgcolor="buttonface" valign=center><div style="background-color: #000000; padding: 1; height: 21px; width: 50px"><div id="ColorPreview" style="height: 100%; width: 100%"></div></div></td>
<td bgcolor="buttonface" valign=center><input type="text" name="ColorHex" value="" size=15 style="font-size: 12px"></td>
<td bgcolor="buttonface" width=100%></td>
</tr>
</table>
<table border=0 cellspacing=1 cellpadding=0 bgcolor=#000000 style="cursor: hand;">
<tr>
<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>
<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>
<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>
<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>
<td bgcolor=#003300 onMouseOver=View('003300') onClick=Set('003300') height=10 width=10></td>
<td bgcolor=#006600 onMouseOver=View('006600') onClick=Set('006600') height=10 width=10></td>
<td bgcolor=#009900 onMouseOver=View('009900') onClick=Set('009900') height=10 width=10></td>
<td bgcolor=#00CC00 onMouseOver=View('00CC00') onClick=Set('00CC00') height=10 width=10></td>
<td bgcolor=#00FF00 onMouseOver=View('00FF00') onClick=Set('00FF00') height=10 width=10></td>
<td bgcolor=#330000 onMouseOver=View('330000') onClick=Set('330000') height=10 width=10></td>
<td bgcolor=#333300 onMouseOver=View('333300') onClick=Set('333300') height=10 width=10></td>
<td bgcolor=#336600 onMouseOver=View('336600') onClick=Set('336600') height=10 width=10></td>
<td bgcolor=#339900 onMouseOver=View('339900') onClick=Set('339900') height=10 width=10></td>
<td bgcolor=#33CC00 onMouseOver=View('33CC00') onClick=Set('33CC00') height=10 width=10></td>
<td bgcolor=#33FF00 onMouseOver=View('33FF00') onClick=Set('33FF00') height=10 width=10></td>
<td bgcolor=#660000 onMouseOver=View('660000') onClick=Set('660000') height=10 width=10></td>
<td bgcolor=#663300 onMouseOver=View('663300') onClick=Set('663300') height=10 width=10></td>
<td bgcolor=#666600 onMouseOver=View('666600') onClick=Set('666600') height=10 width=10></td>
<td bgcolor=#669900 onMouseOver=View('669900') onClick=Set('669900') height=10 width=10></td>
<td bgcolor=#66CC00 onMouseOver=View('66CC00') onClick=Set('66CC00') height=10 width=10></td>
<td bgcolor=#66FF00 onMouseOver=View('66FF00') onClick=Set('66FF00') height=10 width=10></td>
</tr>
<tr>
<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>
<td bgcolor=#333333 onMouseOver=View('333333') onClick=Set('333333') height=10 width=10></td>
<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>
<td bgcolor=#000033 onMouseOver=View('000033') onClick=Set('000033') height=10 width=10></td>
<td bgcolor=#003333 onMouseOver=View('003333') onClick=Set('003333') height=10 width=10></td>
<td bgcolor=#006633 onMouseOver=View('006633') onClick=Set('006633') height=10 width=10></td>
<td bgcolor=#009933 onMouseOver=View('009933') onClick=Set('009933') height=10 width=10></td>
<td bgcolor=#00CC33 onMouseOver=View('00CC33') onClick=Set('00CC33') height=10 width=10></td>
<td bgcolor=#00FF33 onMouseOver=View('00FF33') onClick=Set('00FF33') height=10 width=10></td>
<td bgcolor=#330033 onMouseOver=View('330033') onClick=Set('330033') height=10 width=10></td>
<td bgcolor=#333333 onMouseOver=View('333333') onClick=Set('333333') height=10 width=10></td>
<td bgcolor=#336633 onMouseOver=View('336633') onClick=Set('336633') height=10 width=10></td>
<td bgcolor=#339933 onMouseOver=View('339933') onClick=Set('339933') height=10 width=10></td>
<td bgcolor=#33CC33 onMouseOver=View('33CC33') onClick=Set('33CC33') height=10 width=10></td>
<td bgcolor=#33FF33 onMouseOver=View('33FF33') onClick=Set('33FF33') height=10 width=10></td>
<td bgcolor=#660033 onMouseOver=View('660033') onClick=Set('660033') height=10 width=10></td>
<td bgcolor=#663333 onMouseOver=View('663333') onClick=Set('663333') height=10 width=10></td>
<td bgcolor=#666633 onMouseOver=View('666633') onClick=Set('666633') height=10 width=10></td>
<td bgcolor=#669933 onMouseOver=View('669933') onClick=Set('669933') height=10 width=10></td>
<td bgcolor=#66CC33 onMouseOver=View('66CC33') onClick=Set('66CC33') height=10 width=10></td>
<td bgcolor=#66FF33 onMouseOver=View('66FF33') onClick=Set('66FF33') height=10 width=10></td>
</tr>
<tr>
<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>
<td bgcolor=#666666 onMouseOver=View('666666') onClick=Set('666666') height=10 width=10></td>
<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>
<td bgcolor=#000066 onMouseOver=View('000066') onClick=Set('000066') height=10 width=10></td>
<td bgcolor=#003366 onMouseOver=View('003366') onClick=Set('003366') height=10 width=10></td>
<td bgcolor=#006666 onMouseOver=View('006666') onClick=Set('006666') height=10 width=10></td>
<td bgcolor=#009966 onMouseOver=View('009966') onClick=Set('009966') height=10 width=10></td>
<td bgcolor=#00CC66 onMouseOver=View('00CC66') onClick=Set('00CC66') height=10 width=10></td>
<td bgcolor=#00FF66 onMouseOver=View('00FF66') onClick=Set('00FF66') height=10 width=10></td>
<td bgcolor=#330066 onMouseOver=View('330066') onClick=Set('330066') height=10 width=10></td>
<td bgcolor=#333366 onMouseOver=View('333366') onClick=Set('333366') height=10 width=10></td>
<td bgcolor=#336666 onMouseOver=View('336666') onClick=Set('336666') height=10 width=10></td>
<td bgcolor=#339966 onMouseOver=View('339966') onClick=Set('339966') height=10 width=10></td>
<td bgcolor=#33CC66 onMouseOver=View('33CC66') onClick=Set('33CC66') height=10 width=10></td>
<td bgcolor=#33FF66 onMouseOver=View('33FF66') onClick=Set('33FF66') height=10 width=10></td>
<td bgcolor=#660066 onMouseOver=View('660066') onClick=Set('660066') height=10 width=10></td>
<td bgcolor=#663366 onMouseOver=View('663366') onClick=Set('663366') height=10 width=10></td>
<td bgcolor=#666666 onMouseOver=View('666666') onClick=Set('666666') height=10 width=10></td>
<td bgcolor=#669966 onMouseOver=View('669966') onClick=Set('669966') height=10 width=10></td>
<td bgcolor=#66CC66 onMouseOver=View('66CC66') onClick=Set('66CC66') height=10 width=10></td>
<td bgcolor=#66FF66 onMouseOver=View('66FF66') onClick=Set('66FF66') height=10 width=10></td>
</tr>
<tr>
<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>
<td bgcolor=#999999 onMouseOver=View('999999') onClick=Set('999999') height=10 width=10></td>
<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>
<td bgcolor=#000099 onMouseOver=View('000099') onClick=Set('000099') height=10 width=10></td>
<td bgcolor=#003399 onMouseOver=View('003399') onClick=Set('003399') height=10 width=10></td>
<td bgcolor=#006699 onMouseOver=View('006699') onClick=Set('006699') height=10 width=10></td>
<td bgcolor=#009999 onMouseOver=View('009999') onClick=Set('009999') height=10 width=10></td>
<td bgcolor=#00CC99 onMouseOver=View('00CC99') onClick=Set('00CC99') height=10 width=10></td>
<td bgcolor=#00FF99 onMouseOver=View('00FF99') onClick=Set('00FF99') height=10 width=10></td>
<td bgcolor=#330099 onMouseOver=View('330099') onClick=Set('330099') height=10 width=10></td>
<td bgcolor=#333399 onMouseOver=View('333399') onClick=Set('333399') height=10 width=10></td>
<td bgcolor=#336699 onMouseOver=View('336699') onClick=Set('336699') height=10 width=10></td>
<td bgcolor=#339999 onMouseOver=View('339999') onClick=Set('339999') height=10 width=10></td>
<td bgcolor=#33CC99 onMouseOver=View('33CC99') onClick=Set('33CC99') height=10 width=10></td>
<td bgcolor=#33FF99 onMouseOver=View('33FF99') onClick=Set('33FF99') height=10 width=10></td>
<td bgcolor=#660099 onMouseOver=View('660099') onClick=Set('660099') height=10 width=10></td>
<td bgcolor=#663399 onMouseOver=View('663399') onClick=Set('663399') height=10 width=10></td>
<td bgcolor=#666699 onMouseOver=View('666699') onClick=Set('666699') height=10 width=10></td>
<td bgcolor=#669999 onMouseOver=View('669999') onClick=Set('669999') height=10 width=10></td>
<td bgcolor=#66CC99 onMouseOver=View('66CC99') onClick=Set('66CC99') height=10 width=10></td>
<td bgcolor=#66FF99 onMouseOver=View('66FF99') onClick=Set('66FF99') height=10 width=10></td>
</tr>
<tr>
<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>
<td bgcolor=#CCCCCC onMouseOver=View('CCCCCC') onClick=Set('CCCCCC') height=10 width=10></td>
<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>
<td bgcolor=#0000CC onMouseOver=View('0000CC') onClick=Set('0000CC') height=10 width=10></td>
<td bgcolor=#0033CC onMouseOver=View('0033CC') onClick=Set('0033CC') height=10 width=10></td>
<td bgcolor=#0066CC onMouseOver=View('0066CC') onClick=Set('0066CC') height=10 width=10></td>
<td bgcolor=#0099CC onMouseOver=View('0099CC') onClick=Set('0099CC') height=10 width=10></td>
<td bgcolor=#00CCCC onMouseOver=View('00CCCC') onClick=Set('00CCCC') height=10 width=10></td>
<td bgcolor=#00FFCC onMouseOver=View('00FFCC') onClick=Set('00FFCC') height=10 width=10></td>
<td bgcolor=#3300CC onMouseOver=View('3300CC') onClick=Set('3300CC') height=10 width=10></td>
<td bgcolor=#3333CC onMouseOver=View('3333CC') onClick=Set('3333CC') height=10 width=10></td>
<td bgcolor=#3366CC onMouseOver=View('3366CC') onClick=Set('3366CC') height=10 width=10></td>
<td bgcolor=#3399CC onMouseOver=View('3399CC') onClick=Set('3399CC') height=10 width=10></td>
<td bgcolor=#33CCCC onMouseOver=View('33CCCC') onClick=Set('33CCCC') height=10 width=10></td>
<td bgcolor=#33FFCC onMouseOver=View('33FFCC') onClick=Set('33FFCC') height=10 width=10></td>
<td bgcolor=#6600CC onMouseOver=View('6600CC') onClick=Set('6600CC') height=10 width=10></td>
<td bgcolor=#6633CC onMouseOver=View('6633CC') onClick=Set('6633CC') height=10 width=10></td>
<td bgcolor=#6666CC onMouseOver=View('6666CC') onClick=Set('6666CC') height=10 width=10></td>
<td bgcolor=#6699CC onMouseOver=View('6699CC') onClick=Set('6699CC') height=10 width=10></td>
<td bgcolor=#66CCCC onMouseOver=View('66CCCC') onClick=Set('66CCCC') height=10 width=10></td>
<td bgcolor=#66FFCC onMouseOver=View('66FFCC') onClick=Set('66FFCC') height=10 width=10></td>
</tr>
<tr>
<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>
<td bgcolor=#FFFFFF onMouseOver=View('FFFFFF') onClick=Set('FFFFFF') height=10 width=10></td>
<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>
<td bgcolor=#0000FF onMouseOver=View('0000FF') onClick=Set('0000FF') height=10 width=10></td>
<td bgcolor=#0033FF onMouseOver=View('0033FF') onClick=Set('0033FF') height=10 width=10></td>
<td bgcolor=#0066FF onMouseOver=View('0066FF') onClick=Set('0066FF') height=10 width=10></td>
<td bgcolor=#0099FF onMouseOver=View('0099FF') onClick=Set('0099FF') height=10 width=10></td>
<td bgcolor=#00CCFF onMouseOver=View('00CCFF') onClick=Set('00CCFF') height=10 width=10></td>
<td bgcolor=#00FFFF onMouseOver=View('00FFFF') onClick=Set('00FFFF') height=10 width=10></td>
<td bgcolor=#3300FF onMouseOver=View('3300FF') onClick=Set('3300FF') height=10 width=10></td>
<td bgcolor=#3333FF onMouseOver=View('3333FF') onClick=Set('3333FF') height=10 width=10></td>
<td bgcolor=#3366FF onMouseOver=View('3366FF') onClick=Set('3366FF') height=10 width=10></td>
<td bgcolor=#3399FF onMouseOver=View('3399FF') onClick=Set('3399FF') height=10 width=10></td>
<td bgcolor=#33CCFF onMouseOver=View('33CCFF') onClick=Set('33CCFF') height=10 width=10></td>
<td bgcolor=#33FFFF onMouseOver=View('33FFFF') onClick=Set('33FFFF') height=10 width=10></td>
<td bgcolor=#6600FF onMouseOver=View('6600FF') onClick=Set('6600FF') height=10 width=10></td>
<td bgcolor=#6633FF onMouseOver=View('6633FF') onClick=Set('6633FF') height=10 width=10></td>
<td bgcolor=#6666FF onMouseOver=View('6666FF') onClick=Set('6666FF') height=10 width=10></td>
<td bgcolor=#6699FF onMouseOver=View('6699FF') onClick=Set('6699FF') height=10 width=10></td>
<td bgcolor=#66CCFF onMouseOver=View('66CCFF') onClick=Set('66CCFF') height=10 width=10></td>
<td bgcolor=#66FFFF onMouseOver=View('66FFFF') onClick=Set('66FFFF') height=10 width=10></td>
</tr>
<tr>
<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>
<td bgcolor=#FF0000 onMouseOver=View('FF0000') onClick=Set('FF0000') height=10 width=10></td>
<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>
<td bgcolor=#990000 onMouseOver=View('990000') onClick=Set('990000') height=10 width=10></td>
<td bgcolor=#993300 onMouseOver=View('993300') onClick=Set('993300') height=10 width=10></td>
<td bgcolor=#996600 onMouseOver=View('996600') onClick=Set('996600') height=10 width=10></td>
<td bgcolor=#999900 onMouseOver=View('999900') onClick=Set('999900') height=10 width=10></td>
<td bgcolor=#99CC00 onMouseOver=View('99CC00') onClick=Set('99CC00') height=10 width=10></td>
<td bgcolor=#99FF00 onMouseOver=View('99FF00') onClick=Set('99FF00') height=10 width=10></td>
<td bgcolor=#CC0000 onMouseOver=View('CC0000') onClick=Set('CC0000') height=10 width=10></td>
<td bgcolor=#CC3300 onMouseOver=View('CC3300') onClick=Set('CC3300') height=10 width=10></td>
<td bgcolor=#CC6600 onMouseOver=View('CC6600') onClick=Set('CC6600') height=10 width=10></td>
<td bgcolor=#CC9900 onMouseOver=View('CC9900') onClick=Set('CC9900') height=10 width=10></td>
<td bgcolor=#CCCC00 onMouseOver=View('CCCC00') onClick=Set('CCCC00') height=10 width=10></td>
<td bgcolor=#CCFF00 onMouseOver=View('CCFF00') onClick=Set('CCFF00') height=10 width=10></td>
<td bgcolor=#FF0000 onMouseOver=View('FF0000') onClick=Set('FF0000') height=10 width=10></td>
<td bgcolor=#FF3300 onMouseOver=View('FF3300') onClick=Set('FF3300') height=10 width=10></td>
<td bgcolor=#FF6600 onMouseOver=View('FF6600') onClick=Set('FF6600') height=10 width=10></td>
<td bgcolor=#FF9900 onMouseOver=View('FF9900') onClick=Set('FF9900') height=10 width=10></td>
<td bgcolor=#FFCC00 onMouseOver=View('FFCC00') onClick=Set('FFCC00') height=10 width=10></td>
<td bgcolor=#FFFF00 onMouseOver=View('FFFF00') onClick=Set('FFFF00') height=10 width=10></td>
</tr>
<tr>
<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>
<td bgcolor=#00FF00 onMouseOver=View('00FF00') onClick=Set('00FF00') height=10 width=10></td>
<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>
<td bgcolor=#990033 onMouseOver=View('990033') onClick=Set('990033') height=10 width=10></td>
<td bgcolor=#993333 onMouseOver=View('993333') onClick=Set('993333') height=10 width=10></td>
<td bgcolor=#996633 onMouseOver=View('996633') onClick=Set('996633') height=10 width=10></td>
<td bgcolor=#999933 onMouseOver=View('999933') onClick=Set('999933') height=10 width=10></td>
<td bgcolor=#99CC33 onMouseOver=View('99CC33') onClick=Set('99CC33') height=10 width=10></td>
<td bgcolor=#99FF33 onMouseOver=View('99FF33') onClick=Set('99FF33') height=10 width=10></td>
<td bgcolor=#CC0033 onMouseOver=View('CC0033') onClick=Set('CC0033') height=10 width=10></td>
<td bgcolor=#CC3333 onMouseOver=View('CC3333') onClick=Set('CC3333') height=10 width=10></td>
<td bgcolor=#CC6633 onMouseOver=View('CC6633') onClick=Set('CC6633') height=10 width=10></td>
<td bgcolor=#CC9933 onMouseOver=View('CC9933') onClick=Set('CC9933') height=10 width=10></td>
<td bgcolor=#CCCC33 onMouseOver=View('CCCC33') onClick=Set('CCCC33') height=10 width=10></td>
<td bgcolor=#CCFF33 onMouseOver=View('CCFF33') onClick=Set('CCFF33') height=10 width=10></td>
<td bgcolor=#FF0033 onMouseOver=View('FF0033') onClick=Set('FF0033') height=10 width=10></td>
<td bgcolor=#FF3333 onMouseOver=View('FF3333') onClick=Set('FF3333') height=10 width=10></td>
<td bgcolor=#FF6633 onMouseOver=View('FF6633') onClick=Set('FF6633') height=10 width=10></td>
<td bgcolor=#FF9933 onMouseOver=View('FF9933') onClick=Set('FF9933') height=10 width=10></td>
<td bgcolor=#FFCC33 onMouseOver=View('FFCC33') onClick=Set('FFCC33') height=10 width=10></td>
<td bgcolor=#FFFF33 onMouseOver=View('FFFF33') onClick=Set('FFFF33') height=10 width=10></td>
</tr>
<tr>
<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>
<td bgcolor=#0000FF onMouseOver=View('0000FF') onClick=Set('0000FF') height=10 width=10></td>
<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>
<td bgcolor=#990066 onMouseOver=View('990066') onClick=Set('990066') height=10 width=10></td>
<td bgcolor=#993366 onMouseOver=View('993366') onClick=Set('993366') height=10 width=10></td>
<td bgcolor=#996666 onMouseOver=View('996666') onClick=Set('996666') height=10 width=10></td>
<td bgcolor=#999966 onMouseOver=View('999966') onClick=Set('999966') height=10 width=10></td>
<td bgcolor=#99CC66 onMouseOver=View('99CC66') onClick=Set('99CC66') height=10 width=10></td>
<td bgcolor=#99FF66 onMouseOver=View('99FF66') onClick=Set('99FF66') height=10 width=10></td>
<td bgcolor=#CC0066 onMouseOver=View('CC0066') onClick=Set('CC0066') height=10 width=10></td>
<td bgcolor=#CC3366 onMouseOver=View('CC3366') onClick=Set('CC3366') height=10 width=10></td>
<td bgcolor=#CC6666 onMouseOver=View('CC6666') onClick=Set('CC6666') height=10 width=10></td>
<td bgcolor=#CC9966 onMouseOver=View('CC9966') onClick=Set('CC9966') height=10 width=10></td>
<td bgcolor=#CCCC66 onMouseOver=View('CCCC66') onClick=Set('CCCC66') height=10 width=10></td>
<td bgcolor=#CCFF66 onMouseOver=View('CCFF66') onClick=Set('CCFF66') height=10 width=10></td>
<td bgcolor=#FF0066 onMouseOver=View('FF0066') onClick=Set('FF0066') height=10 width=10></td>
<td bgcolor=#FF3366 onMouseOver=View('FF3366') onClick=Set('FF3366') height=10 width=10></td>
<td bgcolor=#FF6666 onMouseOver=View('FF6666') onClick=Set('FF6666') height=10 width=10></td>
<td bgcolor=#FF9966 onMouseOver=View('FF9966') onClick=Set('FF9966') height=10 width=10></td>
<td bgcolor=#FFCC66 onMouseOver=View('FFCC66') onClick=Set('FFCC66') height=10 width=10></td>
<td bgcolor=#FFFF66 onMouseOver=View('FFFF66') onClick=Set('FFFF66') height=10 width=10></td>
</tr>
<tr>
<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>
<td bgcolor=#FFFF00 onMouseOver=View('FFFF00') onClick=Set('FFFF00') height=10 width=10></td>
<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>
<td bgcolor=#990099 onMouseOver=View('990099') onClick=Set('990099') height=10 width=10></td>
<td bgcolor=#993399 onMouseOver=View('993399') onClick=Set('993399') height=10 width=10></td>
<td bgcolor=#996699 onMouseOver=View('996699') onClick=Set('996699') height=10 width=10></td>
<td bgcolor=#999999 onMouseOver=View('999999') onClick=Set('999999') height=10 width=10></td>
<td bgcolor=#99CC99 onMouseOver=View('99CC99') onClick=Set('99CC99') height=10 width=10></td>
<td bgcolor=#99FF99 onMouseOver=View('99FF99') onClick=Set('99FF99') height=10 width=10></td>
<td bgcolor=#CC0099 onMouseOver=View('CC0099') onClick=Set('CC0099') height=10 width=10></td>
<td bgcolor=#CC3399 onMouseOver=View('CC3399') onClick=Set('CC3399') height=10 width=10></td>
<td bgcolor=#CC6699 onMouseOver=View('CC6699') onClick=Set('CC6699') height=10 width=10></td>
<td bgcolor=#CC9999 onMouseOver=View('CC9999') onClick=Set('CC9999') height=10 width=10></td>
<td bgcolor=#CCCC99 onMouseOver=View('CCCC99') onClick=Set('CCCC99') height=10 width=10></td>
<td bgcolor=#CCFF99 onMouseOver=View('CCFF99') onClick=Set('CCFF99') height=10 width=10></td>
<td bgcolor=#FF0099 onMouseOver=View('FF0099') onClick=Set('FF0099') height=10 width=10></td>
<td bgcolor=#FF3399 onMouseOver=View('FF3399') onClick=Set('FF3399') height=10 width=10></td>
<td bgcolor=#FF6699 onMouseOver=View('FF6699') onClick=Set('FF6699') height=10 width=10></td>
<td bgcolor=#FF9999 onMouseOver=View('FF9999') onClick=Set('FF9999') height=10 width=10></td>
<td bgcolor=#FFCC99 onMouseOver=View('FFCC99') onClick=Set('FFCC99') height=10 width=10></td>
<td bgcolor=#FFFF99 onMouseOver=View('FFFF99') onClick=Set('FFFF99') height=10 width=10></td>
</tr>
<tr>
<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>
<td bgcolor=#00FFFF onMouseOver=View('00FFFF') onClick=Set('00FFFF') height=10 width=10></td>
<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>
<td bgcolor=#9900CC onMouseOver=View('9900CC') onClick=Set('9900CC') height=10 width=10></td>
<td bgcolor=#9933CC onMouseOver=View('9933CC') onClick=Set('9933CC') height=10 width=10></td>
<td bgcolor=#9966CC onMouseOver=View('9966CC') onClick=Set('9966CC') height=10 width=10></td>
<td bgcolor=#9999CC onMouseOver=View('9999CC') onClick=Set('9999CC') height=10 width=10></td>
<td bgcolor=#99CCCC onMouseOver=View('99CCCC') onClick=Set('99CCCC') height=10 width=10></td>
<td bgcolor=#99FFCC onMouseOver=View('99FFCC') onClick=Set('99FFCC') height=10 width=10></td>
<td bgcolor=#CC00CC onMouseOver=View('CC00CC') onClick=Set('CC00CC') height=10 width=10></td>
<td bgcolor=#CC33CC onMouseOver=View('CC33CC') onClick=Set('CC33CC') height=10 width=10></td>
<td bgcolor=#CC66CC onMouseOver=View('CC66CC') onClick=Set('CC66CC') height=10 width=10></td>
<td bgcolor=#CC99CC onMouseOver=View('CC99CC') onClick=Set('CC99CC') height=10 width=10></td>
<td bgcolor=#CCCCCC onMouseOver=View('CCCCCC') onClick=Set('CCCCCC') height=10 width=10></td>
<td bgcolor=#CCFFCC onMouseOver=View('CCFFCC') onClick=Set('CCFFCC') height=10 width=10></td>
<td bgcolor=#FF00CC onMouseOver=View('FF00CC') onClick=Set('FF00CC') height=10 width=10></td>
<td bgcolor=#FF33CC onMouseOver=View('FF33CC') onClick=Set('FF33CC') height=10 width=10></td>
<td bgcolor=#FF66CC onMouseOver=View('FF66CC') onClick=Set('FF66CC') height=10 width=10></td>
<td bgcolor=#FF99CC onMouseOver=View('FF99CC') onClick=Set('FF99CC') height=10 width=10></td>
<td bgcolor=#FFCCCC onMouseOver=View('FFCCCC') onClick=Set('FFCCCC') height=10 width=10></td>
<td bgcolor=#FFFFCC onMouseOver=View('FFFFCC') onClick=Set('FFFFCC') height=10 width=10></td>
</tr>
<tr>
<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>
<td bgcolor=#FF00FF onMouseOver=View('FF00FF') onClick=Set('FF00FF') height=10 width=10></td>
<td bgcolor=#000000 onMouseOver=View('000000') onClick=Set('000000') height=10 width=10></td>
<td bgcolor=#9900FF onMouseOver=View('9900FF') onClick=Set('9900FF') height=10 width=10></td>
<td bgcolor=#9933FF onMouseOver=View('9933FF') onClick=Set('9933FF') height=10 width=10></td>
<td bgcolor=#9966FF onMouseOver=View('9966FF') onClick=Set('9966FF') height=10 width=10></td>
<td bgcolor=#9999FF onMouseOver=View('9999FF') onClick=Set('9999FF') height=10 width=10></td>
<td bgcolor=#99CCFF onMouseOver=View('99CCFF') onClick=Set('99CCFF') height=10 width=10></td>
<td bgcolor=#99FFFF onMouseOver=View('99FFFF') onClick=Set('99FFFF') height=10 width=10></td>
<td bgcolor=#CC00FF onMouseOver=View('CC00FF') onClick=Set('CC00FF') height=10 width=10></td>
<td bgcolor=#CC33FF onMouseOver=View('CC33FF') onClick=Set('CC33FF') height=10 width=10></td>
<td bgcolor=#CC66FF onMouseOver=View('CC66FF') onClick=Set('CC66FF') height=10 width=10></td>
<td bgcolor=#CC99FF onMouseOver=View('CC99FF') onClick=Set('CC99FF') height=10 width=10></td>
<td bgcolor=#CCCCFF onMouseOver=View('CCCCFF') onClick=Set('CCCCFF') height=10 width=10></td>
<td bgcolor=#CCFFFF onMouseOver=View('CCFFFF') onClick=Set('CCFFFF') height=10 width=10></td>
<td bgcolor=#FF00FF onMouseOver=View('FF00FF') onClick=Set('FF00FF') height=10 width=10></td>
<td bgcolor=#FF33FF onMouseOver=View('FF33FF') onClick=Set('FF33FF') height=10 width=10></td>
<td bgcolor=#FF66FF onMouseOver=View('FF66FF') onClick=Set('FF66FF') height=10 width=10></td>
<td bgcolor=#FF99FF onMouseOver=View('FF99FF') onClick=Set('FF99FF') height=10 width=10></td>
<td bgcolor=#FFCCFF onMouseOver=View('FFCCFF') onClick=Set('FFCCFF') height=10 width=10></td>
<td bgcolor=#FFFFFF onMouseOver=View('FFFFFF') onClick=Set('FFFFFF') height=10 width=10></td>
</tr>
<tr>
<td bgcolor=#FFFFFF onMouseOver=View('') onClick=Set('') height=10 width=210 colspan=21 align=center>No Color</td>
</tr>
</table>
</form>
</body></html>

View file

@ -0,0 +1,302 @@
<!-- based on insimage.dlg -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD W3 HTML 3.2//EN">
<HTML id=dlgFind STYLE="width: 420px; height: 290px; ">
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="MSThemeCompatible" content="Yes">
<TITLE>
Table Properties
</TITLE>
<style>
html, body, button, div, input, select, fieldset { font-family: MS Shell Dlg; font-size: 8pt; position: absolute; };
</style>
<script>
opener = window.dialogArguments;
var editor_obj = opener.document.all["_" + opener.getGlobalVar('_editor_field') + "_editor"];
var table = opener.getGlobalVar('_editor_table');
</script>
<SCRIPT defer>
function _CloseOnEsc() {
if (event.keyCode == 27) { window.close(); return; }
}
window.onerror = HandleError
function HandleError(message, url, line) {
var std = "An error has occurred in this dialog." + "\n\n"
+ "Error: " + line + "\n" + message;
alert(std);
window.close();
return true;
}
function Init() {
// event handlers
document.body.onkeypress = _CloseOnEsc;
btnOK.onclick = new Function("btnOKClick()");
align.selectedIndex = 0;
for (var i=0; i< align.length; i++) {
if (align[i].value.toLowerCase() == table.align.toLowerCase()) {
align.selectedIndex = i;
}
}
bgColor.innerText = ' ' + table.bgColor.toUpperCase();
bgColor.style.backgroundColor = table.bgColor;
border.value = table.border;
borderColor.innerText = ' ' + table.borderColor.toUpperCase();
borderColor.style.backgroundColor = table.borderColor;
borderColorDark.innerText = ' ' + table.borderColorDark.toUpperCase();
borderColorDark.style.backgroundColor = table.borderColorDark;
borderColorLight.innerText = ' ' + table.borderColorLight.toUpperCase();
borderColorLight.style.backgroundColor = table.borderColorLight;
if (table.height == null){
height.value = '';
heightExt.value = '';
} else {
if (table.height.search(/%/) < 0) {
height.value = table.height;
heightExt.value = '';
} else {
height.value = table.height.split('%')[0];
heightExt.value = '%';
}
}
if (table.width == null){
width.value = '';
widthExt.value = '';
} else {
if (table.width.search(/%/) < 0) {
widthExt.value = '';
width.value = table.width;
} else {
width.value = table.width.split('%')[0];
widthExt.value = '%';
}
}
id.value = table.id;
title.value = table.title;
if (table.background == null) {
background.value = '';
} else {
background.value = table.background;
}
cellPadding.value = table.cellPadding;
cellSpacing.value = table.cellSpacing;
if (table.caption) {
caption.value = table.caption.innerText;
}
rules.selectedIndex = 0;
for (var i=0; i< rules.length; i++) {
if (rules[i].value.toLowerCase() == table.rules.toLowerCase()) {
rules.selectedIndex = i;
}
}
frame.selectedIndex = 0;
for (var i=0; i< frame.length; i++) {
if (frame[i].value.toLowerCase() == table.frame.toLowerCase()) {
frame.selectedIndex = i;
}
}
}
function radioValue(radioobject){
for (var i=0; i < radioobject.length; i++) {
if (direction[i].checked) {
return radioobject[i].value;
}
}
}
function _isValidNumber(txtBox) {
if (txtBox == '') {
return true;
} else {
var val = parseInt(txtBox);
if (isNaN(val) || val < 0 || val > 9999) { return false; }
return true;
}
}
function btnOKClick() {
if (!_isValidNumber(height.value)) {
alert("You must specify a number between 0 and 9999 for height!");
heigth.focus();
return;
}
if (height.value == ''){heightExt.value = '';}
if (!_isValidNumber(width.value)) {
alert("You must specify a number between 0 and 9999 for width!");
width.focus();
return;
}
if (!_isValidNumber(border.value)) {
alert("You must specify a number between 0 and 9999 for border!");
border.focus();
return;
}
if (width.value == ''){widthExt.value = '';}
table.align = align[align.selectedIndex].value;
table.bgColor = bgColor.style.backgroundColor;
table.borderColor = borderColor.style.backgroundColor;
table.borderColorDark = borderColorDark.style.backgroundColor;
table.borderColorLight = borderColorLight.style.backgroundColor;
table.height = height.value + heightExt.value;
table.id = id.value ;
if (title.value == ''){
if (table.getAttribute('title') != null){table.removeAttribute('title');}
} else {table.title = title.value;}
if (width.value == ''){
if (table.getAttribute('width') != null){table.removeAttribute('width');}
} else {table.width = width.value + widthExt.value;}
if (background.value == '' ){
if (table.getAttribute('background') != null){table.removeAttribute('background');}
} else {table.background = background.value;}
if (!_isValidNumber(cellPadding.value)) {
alert("You must specify a number between 0 and 9999 for cellPadding!");
cellPadding.focus();
return;
}
if (cellPadding.value == ''){
if (table.getAttribute('cellPadding') != null){table.removeAttribute('cellPadding');}
} else {table.cellPadding = cellPadding.value;}
if (!_isValidNumber(cellSpacing.value)) {
alert("You must specify a number between 0 and 9999 for cellSpacing!");
cellSpacing.focus();
return;
}
if (cellSpacing.value == ''){
if (table.getAttribute('cellSpacing') != null){table.removeAttribute('cellSpacing');}
} else {table.cellSpacing = cellSpacing.value;}
if (table.caption) {
if (caption.value == '') {
table.deleteCaption();
} else {
table.caption.innerText = caption.value ;
}
} else {
if (caption.value != '') {
table.createCaption();
table.caption.innerText = caption.value;
}
}
table.frame = frame[frame.selectedIndex].value;
table.rules = rules[rules.selectedIndex].value;
if (border.value == '' || border.value == 0){
if (table.getAttribute('border') != null){table.removeAttribute('border');}
} else {table.border = border.value;}
window.close();
return true;
}
function setColors (but) {
but.style.borderStyle = 'inset';
var color=showModalDialog('set_color.html',but.style.backgroundColor,'resizable:no;help:no;status:no;scroll:no;');
if (color == '' || color == null){
but.innerText = '';
but.style.backgroundColor = '';
} else {
but.innerText = ' #' + color.toUpperCase();
but.style.backgroundColor = color;
}
but.style.borderStyle = 'outset';
return;
}
</SCRIPT>
</HEAD>
<BODY id=bdy onload="Init()" style="background: threedface; color: windowtext;" scroll=no>
<DIV id=divHeight style="left: 1em; top: 1em; width: 10em; height: 1.9em; ">
Height:
</DIV>
<INPUT ID=height type=text style="left: 10em; top: 0.8em; width: 3em; height: 1.9em; " tabIndex=10 onfocus="select()">
<select name="heightExt" style="left: 13.2em; top: 0.8em; width: 6em; height: 1.9em; " tabIndex=20>
<option value="">Pixels</option>
<option value="%" selected>Percent</option>
</select>
<DIV id=divWidth style="left: 19.4em; top: 1em; width: 10em; height: 1.9em; ">
Width:
</DIV>
<INPUT ID=width type=text style="left: 22.7em; top: 0.8em; width: 3em; height: 1.9em; " tabIndex=30 onfocus="select()">
<select name="widthExt" style="left: 25.8em; top: 0.8em; width: 6em; height: 1.9em; " tabIndex=40>
<option value="">Pixels</option>
<option value="%" selected>Percent</option>
</select>
<DIV id=divBorder style="left: 32em; top: 1em; width: 10em; height: 1.9em; ">
Border:
</DIV>
<INPUT ID=border type=text style="left: 35.5em; top: 0.8em; width: 1.5em; height: 1.9em; " tabIndex=50 onfocus="select()">
<DIV id=divId style="left: 1em; top: 3em; width: 10em; height: 1.2168em; ">
Id:
</DIV>
<INPUT ID=id type=text style="left: 10em; top: 2.8em; width: 27.04em; height: 1.9em; " tabIndex=60 onfocus="select()">
<DIV id=divCaption style="left: 1em; top: 5em; width: 10em; height: 1.2168em; ">
Caption:
</DIV>
<INPUT ID=caption type=text style="left: 10em; top: 4.8em; width: 27.04em; height: 1.9em; " tabIndex=70 onfocus="select()">
<DIV id=divTitle style="left: 1em; top: 7em; width: 31em; height: 1.2168em; ">
Tooltip:
</DIV>
<INPUT ID=title type=text style="left: 10em; top: 6.8em; width: 27.04em; height: 1.9em; " tabIndex=80 onfocus="select()">
<DIV id=divBackground style="left: 1em; top: 9em; width: 10em; height: 1.2168em; ">
Background Image:
</DIV>
<INPUT ID=background type=text style="left: 10em; top: 8.8em; width: 27.04em; height: 1.9em; " tabIndex=90 onfocus="select()">
<DIV id=divFrame style="left: 1em; top: 11em; width: 10em; height: 1.2168em; ">
Frame:
</DIV>
<select ID=frame style="left: 10em; top:10.8em; width: 27.04em; height: 1.9em; " tabIndex=100 onfocus="select()">
<option value="">Not set</option>
<option value="above">Border on the top side of the border frame is displayed</option>
<option value="below">Border on the bottom side of the table frame is displayed</option>
<option value="border">Borders on all sides of the table frame are displayed</option>
<option value="box">Borders on all sides of the table frame are displayed</option>
<option value="hsides">Borders on the top and bottom sides of the table frame are displayed</option>
<option value="lhs">Border on the left side of the table frame is displayed</option>
<option value="rhs">Border on the right side of the table frame is displayed</option>
<option value="vsides">Borders on the left and right sides of the table frame are displayed</option>
</select>
<DIV id=divRules style="left: 1em; top: 13em; width: 10em; height: 1.2168em; ">
Rules:
</DIV>
<select ID=rules style="left: 10em; top:12.8em; width: 27.04em; height: 1.9em; " tabIndex=110 onfocus="select()">
<option value="">Not set</option>
<option value="all">Borders are displayed on all rows and columns</option>
<option value="cols">Borders are displayed between all table columns</option>
<option value="none">All interior table borders are removed</option>
<option value="rows">Horizontal borders are displayed between all table rows</option>
</select>
<DIV id=divAlign style="left: 1em; top: 15em; width: 10em; height: 1.2168em; ">
Horizontal Align:
</DIV>
<select name="align" style="left: 10em; top: 14.8em; width: 6em; height: 1.9em; " tabIndex=120>
<option value="">Not set</option>
<option value="center">center</option>
<option value="justify">Justify</option>
<option value="left">Left</option>
<option value="right">Right</option>
</select>
<DIV id=divcellPadding style="left: 17em; top: 15em; width: 10em; height: 1.9em; ">
Cell Padding:
</DIV>
<INPUT ID=cellPadding type=text style="left: 23.5em; top: 14.8em; width: 3em; height: 1.9em; " tabIndex=130 onfocus="select()">
<DIV id=divcellSpacing style="left: 27.5em; top: 15em; width: 10em; height: 1.9em; ">
Cell Spacing:
</DIV>
<INPUT ID=cellSpacing type=text style="left: 34em; top: 14.8em; width: 3em; height: 1.9em; " tabIndex=140 onfocus="select()">
<DIV id=divBgColor style="left: 1em; top: 17em; width: 10em; height: 1.2168em; ">
Background Color:
</DIV>
<DIV id=bgColor style="left: 10em; top: 17em; width: 6em; height: 1.2168em;border-style: outset; border-width: thin;" onclick="setColors(this);"></DIV>
<DIV id=divBorderColor style="left: 20em; top: 17em; width: 10em; height: 1.2168em; ">
Border Color:
</DIV>
<DIV id=borderColor style="left: 31em; top: 17em; width: 6em; height: 1.2168em;border-style: outset; border-width: thin;" onclick="setColors(this);"></DIV>
<DIV id=divBorderColorDark style="left: 1em; top: 19em; width: 10em; height: 1.2168em; ">
Border Color Dark:
</DIV>
<DIV id=borderColorDark style="left: 10em; top: 19em; width: 6em; height: 1.2168em;border-style: outset; border-width: thin;" onclick="setColors(this);"></DIV>
<DIV id=divBorderCOlorLight style="left: 20em; top: 19em; width: 10em; height: 1.2168em; ">
Border Color Light:
</DIV>
<DIV id=borderColorLight style="left: 31em; top: 19em; width: 6em; height: 1.2168em;border-style: outset; border-width: thin;" onclick="setColors(this);"></DIV>
<BUTTON ID=btnOK style="left: 10em; top: 21em; width: 8.5em; height: 2.2em; " type=submit tabIndex=150>
OK
</BUTTON>
<BUTTON ID=btnCancel style="left: 19.9em; top: 21em; width: 8.5em; height: 2.2em; " type=reset tabIndex=160 onClick="window.close();">
Cancel
</BUTTON>
</BODY>
</HTML>