+ function tableColumns( table )\r
+ {\r
+ var cols = 0, maxCols = 0;\r
+ for ( var i = 0, row, rows = table.$.rows.length; i < rows; i++ )\r
+ {\r
+ row = table.$.rows[ i ], cols = 0;\r
+ for ( var j = 0, cell, cells = row.cells.length; j < cells; j++ )\r
+ {\r
+ cell = row.cells[ j ];\r
+ cols += cell.colSpan;\r
+ }\r
+\r
+ cols > maxCols && ( maxCols = cols );\r
+ }\r
+\r
+ return maxCols;\r
+ }\r
+\r
+\r
+ // Whole-positive-integer validator.\r
+ function validatorNum( msg )\r
+ {\r
+ return function()\r
+ {\r
+ var value = this.getValue(),\r
+ pass = !!( CKEDITOR.dialog.validate.integer()( value ) && value > 0 );\r
+\r
+ if ( !pass )\r
+ {\r
+ alert( msg );\r
+ this.select();\r
+ }\r
+\r
+ return pass;\r
+ };\r
+ }\r
+\r