Index: /CKEditor/trunk/CHANGES.html
===================================================================
--- /CKEditor/trunk/CHANGES.html	(revision 6978)
+++ /CKEditor/trunk/CHANGES.html	(revision 6979)
@@ -42,4 +42,5 @@
 		<li><a href="http://dev.ckeditor.com/ticket/6492">#6492</a> : Find/replace dialog now will be populated with editor's selected text.</li>
 		<li><a href="http://dev.ckeditor.com/ticket/7323">#7323</a> : New <a href="http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.dialog.definition.uiElement.html#align">align</a> property on dialog UI element for field alignment.</li>
+		<li><a href="http://dev.ckeditor.com/ticket/6462">#6462</a> : A wider range of CSS length units (like pt and percentage) are now supported in related dialog fields.</li>
 	</ul>
 	<p>
Index: /CKEditor/trunk/_source/core/tools.js
===================================================================
--- /CKEditor/trunk/_source/core/tools.js	(revision 6978)
+++ /CKEditor/trunk/_source/core/tools.js	(revision 6979)
@@ -681,8 +681,7 @@
 		cssLength : (function()
 		{
-			var decimalRegex = /^\d+(?:\.\d+)?$/;
 			return function( length )
 			{
-				return length + ( decimalRegex.test( length ) ? 'px' : '' );
+				return length + ( !length || isNaN( Number( length ) ) ? '' : 'px' );
 			};
 		})(),
Index: /CKEditor/trunk/_source/lang/_translationstatus.txt
===================================================================
--- /CKEditor/trunk/_source/lang/_translationstatus.txt	(revision 6978)
+++ /CKEditor/trunk/_source/lang/_translationstatus.txt	(revision 6979)
@@ -2,37 +2,37 @@
 For licensing, see LICENSE.html or http://ckeditor.com/license
 
-af.js      Found: 519 Missing: 51
-ar.js      Found: 435 Missing: 135
+af.js      Found: 517 Missing: 53
+ar.js      Found: 433 Missing: 137
 bg.js      Found: 268 Missing: 302
 bn.js      Found: 269 Missing: 301
 bs.js      Found: 175 Missing: 395
-ca.js      Found: 519 Missing: 51
-cs.js      Found: 518 Missing: 52
-cy.js      Found: 570 Missing: 0
-da.js      Found: 388 Missing: 182
-de.js      Found: 520 Missing: 50
+ca.js      Found: 517 Missing: 53
+cs.js      Found: 516 Missing: 54
+cy.js      Found: 568 Missing: 2
+da.js      Found: 386 Missing: 184
+de.js      Found: 518 Missing: 52
 el.js      Found: 274 Missing: 296
-en-au.js   Found: 345 Missing: 225
-en-ca.js   Found: 345 Missing: 225
-en-gb.js   Found: 518 Missing: 52
+en-au.js   Found: 343 Missing: 227
+en-ca.js   Found: 343 Missing: 227
+en-gb.js   Found: 516 Missing: 54
 eo.js      Found: 247 Missing: 323
-es.js      Found: 570 Missing: 0
+es.js      Found: 568 Missing: 2
 et.js      Found: 289 Missing: 281
-eu.js      Found: 387 Missing: 183
+eu.js      Found: 385 Missing: 185
 fa.js      Found: 290 Missing: 280
-fi.js      Found: 520 Missing: 50
-fo.js      Found: 519 Missing: 51
+fi.js      Found: 518 Missing: 52
+fo.js      Found: 517 Missing: 53
 fr-ca.js   Found: 289 Missing: 281
-fr.js      Found: 520 Missing: 50
+fr.js      Found: 518 Missing: 52
 gl.js      Found: 271 Missing: 299
 gu.js      Found: 288 Missing: 282
-he.js      Found: 570 Missing: 0
+he.js      Found: 568 Missing: 2
 hi.js      Found: 290 Missing: 280
-hr.js      Found: 388 Missing: 182
-hu.js      Found: 510 Missing: 60
+hr.js      Found: 386 Missing: 184
+hu.js      Found: 508 Missing: 62
 is.js      Found: 295 Missing: 275
-it.js      Found: 388 Missing: 182
-ja.js      Found: 469 Missing: 101
-ka.js      Found: 569 Missing: 1
+it.js      Found: 386 Missing: 184
+ja.js      Found: 467 Missing: 103
+ka.js      Found: 567 Missing: 3
 km.js      Found: 263 Missing: 307
 ko.js      Found: 281 Missing: 289
@@ -41,21 +41,21 @@
 mn.js      Found: 288 Missing: 282
 ms.js      Found: 253 Missing: 317
-nb.js      Found: 519 Missing: 51
-nl.js      Found: 570 Missing: 0
-no.js      Found: 519 Missing: 51
-pl.js      Found: 570 Missing: 0
-pt-br.js   Found: 504 Missing: 66
+nb.js      Found: 517 Missing: 53
+nl.js      Found: 568 Missing: 2
+no.js      Found: 517 Missing: 53
+pl.js      Found: 568 Missing: 2
+pt-br.js   Found: 502 Missing: 68
 pt.js      Found: 270 Missing: 300
 ro.js      Found: 289 Missing: 281
-ru.js      Found: 451 Missing: 119
-sk.js      Found: 334 Missing: 236
-sl.js      Found: 394 Missing: 176
+ru.js      Found: 449 Missing: 121
+sk.js      Found: 332 Missing: 238
+sl.js      Found: 392 Missing: 178
 sr-latn.js Found: 264 Missing: 306
 sr.js      Found: 263 Missing: 307
-sv.js      Found: 519 Missing: 51
+sv.js      Found: 517 Missing: 53
 th.js      Found: 275 Missing: 295
-tr.js      Found: 504 Missing: 66
-uk.js      Found: 511 Missing: 59
-vi.js      Found: 461 Missing: 109
-zh-cn.js   Found: 516 Missing: 54
-zh.js      Found: 388 Missing: 182
+tr.js      Found: 502 Missing: 68
+uk.js      Found: 509 Missing: 61
+vi.js      Found: 459 Missing: 111
+zh-cn.js   Found: 514 Missing: 56
+zh.js      Found: 386 Missing: 184
Index: /CKEditor/trunk/_source/lang/af.js
===================================================================
--- /CKEditor/trunk/_source/lang/af.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/af.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'Hoogte moet \'n getal wees',
 		invalidWidth	: 'Breedte moet \'n getal wees.',
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'Tabelbreedte moet \'n getal wees.',
 		invalidHeight	: 'Tabelhoogte moet \'n getal wees.',
-		invalidCellSpacing	: 'Sel-afstand moet \'n getal wees.',
-		invalidCellPadding	: 'Sel-spasie moet \'n getal wees.',
 
 		cell :
Index: /CKEditor/trunk/_source/lang/ar.js
===================================================================
--- /CKEditor/trunk/_source/lang/ar.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/ar.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'الارتفاع يجب أن يكون عدداً.',
 		invalidWidth	: 'العرض يجب أن يكون عدداً.',
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'عرض الجدول يجب أن يكون عدداً.',
 		invalidHeight	: 'ارتفاع الجدول يجب أن يكون عدداً.',
-		invalidCellSpacing	: 'المسافة بين الخلايا يجب أن تكون عدداً.',
-		invalidCellPadding	: 'المسافة البادئة يجب أن تكون عدداً',
 
 		cell :
Index: /CKEditor/trunk/_source/lang/bg.js
===================================================================
--- /CKEditor/trunk/_source/lang/bg.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/bg.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'Height must be a number.', // MISSING
 		invalidWidth	: 'Width must be a number.', // MISSING
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'Table width must be a number.', // MISSING
 		invalidHeight	: 'Table height must be a number.', // MISSING
-		invalidCellSpacing	: 'Cell spacing must be a number.', // MISSING
-		invalidCellPadding	: 'Cell padding must be a number.', // MISSING
 
 		cell :
Index: /CKEditor/trunk/_source/lang/bn.js
===================================================================
--- /CKEditor/trunk/_source/lang/bn.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/bn.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'Height must be a number.', // MISSING
 		invalidWidth	: 'Width must be a number.', // MISSING
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'Table width must be a number.', // MISSING
 		invalidHeight	: 'Table height must be a number.', // MISSING
-		invalidCellSpacing	: 'Cell spacing must be a number.', // MISSING
-		invalidCellPadding	: 'Cell padding must be a number.', // MISSING
 
 		cell :
Index: /CKEditor/trunk/_source/lang/bs.js
===================================================================
--- /CKEditor/trunk/_source/lang/bs.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/bs.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'Height must be a number.', // MISSING
 		invalidWidth	: 'Width must be a number.', // MISSING
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'Table width must be a number.', // MISSING
 		invalidHeight	: 'Table height must be a number.', // MISSING
-		invalidCellSpacing	: 'Cell spacing must be a number.', // MISSING
-		invalidCellPadding	: 'Cell padding must be a number.', // MISSING
 
 		cell :
Index: /CKEditor/trunk/_source/lang/ca.js
===================================================================
--- /CKEditor/trunk/_source/lang/ca.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/ca.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'L\'alçada ha de ser un nombre.',
 		invalidWidth	: 'L\'amplada ha de ser un nombre.',
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'L\'amplada de la taula  ha de ser un nombre.',
 		invalidHeight	: 'L\'alçada de la taula  ha de ser un nombre.',
-		invalidCellSpacing	: 'L\'espaiat de cel·la  ha de ser un nombre.',
-		invalidCellPadding	: 'L\'encoixinament de cel·la  ha de ser un nombre.',
 
 		cell :
Index: /CKEditor/trunk/_source/lang/cs.js
===================================================================
--- /CKEditor/trunk/_source/lang/cs.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/cs.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'Zadaná výška musí být číslo.',
 		invalidWidth	: 'Zadaná šířka musí být číslo.',
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'Zadaná šířka tabulky musí být číselná.',
 		invalidHeight	: 'zadaná výška tabulky musí být číselná.',
-		invalidCellSpacing	: 'Zadaná vzdálenost buněk musí být číselná.',
-		invalidCellPadding	: 'Zadané odsazení obsahu v buňce musí být číselné.',
 
 		cell :
Index: /CKEditor/trunk/_source/lang/cy.js
===================================================================
--- /CKEditor/trunk/_source/lang/cy.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/cy.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'Rhaid i\'r Uchder fod yn rhif.',
 		invalidWidth	: 'Rhaid i\'r Lled fod yn rhif.',
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'Mae\'n rhaid i led y tabl fod yn rhif.',
 		invalidHeight	: 'Mae\'n rhaid i uchder y tabl fod yn rhif.',
-		invalidCellSpacing	: 'Mae\'n rhaid i fylchiad y gell fod yn rhif.',
-		invalidCellPadding	: 'Mae\'n rhaid i badiad y gell fod yn rhif.',
 
 		cell :
Index: /CKEditor/trunk/_source/lang/da.js
===================================================================
--- /CKEditor/trunk/_source/lang/da.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/da.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'Højde skal være et tal.',
 		invalidWidth	: 'Bredde skal være et tal.',
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'Tabelbredde skal være et tal.',
 		invalidHeight	: 'Tabelhøjde skal være et tal.',
-		invalidCellSpacing	: 'Celleafstand skal være et tal.',
-		invalidCellPadding	: 'Cellemargen skal være et tal.',
 
 		cell :
Index: /CKEditor/trunk/_source/lang/de.js
===================================================================
--- /CKEditor/trunk/_source/lang/de.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/de.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'Höhe muss eine Zahl sein.',
 		invalidWidth	: 'Breite muss eine Zahl sein.',
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'Die Tabellenbreite muss eine Zahl sein.',
 		invalidHeight	: 'Die Tabellenbreite muß eine Zahl sein.',
-		invalidCellSpacing	: 'Der Zellenabstand außen muß eine Zahl sein.',
-		invalidCellPadding	: 'Der Zellenabstand innen muß eine Zahl sein.',
 
 		cell :
Index: /CKEditor/trunk/_source/lang/el.js
===================================================================
--- /CKEditor/trunk/_source/lang/el.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/el.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'Height must be a number.', // MISSING
 		invalidWidth	: 'Width must be a number.', // MISSING
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'Table width must be a number.', // MISSING
 		invalidHeight	: 'Table height must be a number.', // MISSING
-		invalidCellSpacing	: 'Cell spacing must be a number.', // MISSING
-		invalidCellPadding	: 'Cell padding must be a number.', // MISSING
 
 		cell :
Index: /CKEditor/trunk/_source/lang/en-au.js
===================================================================
--- /CKEditor/trunk/_source/lang/en-au.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/en-au.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'Height must be a number.', // MISSING
 		invalidWidth	: 'Width must be a number.', // MISSING
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'Table width must be a number.',
 		invalidHeight	: 'Table height must be a number.',
-		invalidCellSpacing	: 'Cell spacing must be a number.',
-		invalidCellPadding	: 'Cell padding must be a number.',
 
 		cell :
Index: /CKEditor/trunk/_source/lang/en-ca.js
===================================================================
--- /CKEditor/trunk/_source/lang/en-ca.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/en-ca.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'Height must be a number.', // MISSING
 		invalidWidth	: 'Width must be a number.', // MISSING
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'Table width must be a number.',
 		invalidHeight	: 'Table height must be a number.',
-		invalidCellSpacing	: 'Cell spacing must be a number.',
-		invalidCellPadding	: 'Cell padding must be a number.',
 
 		cell :
Index: /CKEditor/trunk/_source/lang/en-gb.js
===================================================================
--- /CKEditor/trunk/_source/lang/en-gb.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/en-gb.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'Height must be a number.',
 		invalidWidth	: 'Width must be a number.',
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'Table width must be a number.',
 		invalidHeight	: 'Table height must be a number.',
-		invalidCellSpacing	: 'Cell spacing must be a number.',
-		invalidCellPadding	: 'Cell padding must be a number.',
 
 		cell :
Index: /CKEditor/trunk/_source/lang/en.js
===================================================================
--- /CKEditor/trunk/_source/lang/en.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/en.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'Height must be a number.',
 		invalidWidth	: 'Width must be a number.',
+		invalidCssLength	: 'Value must be a valid CSS length unit.',
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value',
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'Table width must be a number.',
 		invalidHeight	: 'Table height must be a number.',
-		invalidCellSpacing	: 'Cell spacing must be a number.',
-		invalidCellPadding	: 'Cell padding must be a number.',
 
 		cell :
Index: /CKEditor/trunk/_source/lang/eo.js
===================================================================
--- /CKEditor/trunk/_source/lang/eo.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/eo.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'Height must be a number.', // MISSING
 		invalidWidth	: 'Width must be a number.', // MISSING
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'Table width must be a number.', // MISSING
 		invalidHeight	: 'Table height must be a number.', // MISSING
-		invalidCellSpacing	: 'Cell spacing must be a number.', // MISSING
-		invalidCellPadding	: 'Cell padding must be a number.', // MISSING
 
 		cell :
Index: /CKEditor/trunk/_source/lang/es.js
===================================================================
--- /CKEditor/trunk/_source/lang/es.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/es.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'Altura debe ser un número.',
 		invalidWidth	: 'Anchura debe ser un número.',
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'La anchura de tabla debe ser un número.',
 		invalidHeight	: 'La altura de tabla debe ser un número.',
-		invalidCellSpacing	: 'El espaciado entre celdas debe ser un número.',
-		invalidCellPadding	: 'El espaciado interior debe ser un número.',
 
 		cell :
Index: /CKEditor/trunk/_source/lang/et.js
===================================================================
--- /CKEditor/trunk/_source/lang/et.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/et.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'Height must be a number.', // MISSING
 		invalidWidth	: 'Width must be a number.', // MISSING
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'Table width must be a number.', // MISSING
 		invalidHeight	: 'Table height must be a number.', // MISSING
-		invalidCellSpacing	: 'Cell spacing must be a number.', // MISSING
-		invalidCellPadding	: 'Cell padding must be a number.', // MISSING
 
 		cell :
Index: /CKEditor/trunk/_source/lang/eu.js
===================================================================
--- /CKEditor/trunk/_source/lang/eu.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/eu.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'Altuera zenbaki bat izan behar da.',
 		invalidWidth	: 'Zabalera zenbaki bat izan behar da.',
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'Taularen zabalera zenbaki bat izan behar da.',
 		invalidHeight	: 'Taularen altuera zenbaki bat izan behar da.',
-		invalidCellSpacing	: 'Gelaxka arteko tartea zenbaki bat izan behar da.',
-		invalidCellPadding	: 'Gelaxken betegarria zenbaki bat izan behar da.',
 
 		cell :
Index: /CKEditor/trunk/_source/lang/fa.js
===================================================================
--- /CKEditor/trunk/_source/lang/fa.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/fa.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'Height must be a number.', // MISSING
 		invalidWidth	: 'Width must be a number.', // MISSING
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'Table width must be a number.', // MISSING
 		invalidHeight	: 'Table height must be a number.', // MISSING
-		invalidCellSpacing	: 'Cell spacing must be a number.', // MISSING
-		invalidCellPadding	: 'Cell padding must be a number.', // MISSING
 
 		cell :
Index: /CKEditor/trunk/_source/lang/fi.js
===================================================================
--- /CKEditor/trunk/_source/lang/fi.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/fi.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'Korkeuden täytyy olla numero.',
 		invalidWidth	: 'Leveyden täytyy olla numero.',
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'Taulun leveyden täytyy olla numero.',
 		invalidHeight	: 'Taulun korkeuden täytyy olla numero.',
-		invalidCellSpacing	: 'Solujen välin täytyy olla numero.',
-		invalidCellPadding	: 'Solujen sisennyksen täytyy olla numero.',
 
 		cell :
Index: /CKEditor/trunk/_source/lang/fo.js
===================================================================
--- /CKEditor/trunk/_source/lang/fo.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/fo.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'Hædd má vera eitt tal.',
 		invalidWidth	: 'Breidd má vera eitt tal.',
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'Tabell-breidd má vera eitt tal.',
 		invalidHeight	: 'Tabell-hædd má vera eitt tal.',
-		invalidCellSpacing	: 'Cell spacing má vera eitt tal.',
-		invalidCellPadding	: 'Cell padding má vera eitt tal.',
 
 		cell :
Index: /CKEditor/trunk/_source/lang/fr-ca.js
===================================================================
--- /CKEditor/trunk/_source/lang/fr-ca.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/fr-ca.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'Height must be a number.', // MISSING
 		invalidWidth	: 'Width must be a number.', // MISSING
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'Table width must be a number.', // MISSING
 		invalidHeight	: 'Table height must be a number.', // MISSING
-		invalidCellSpacing	: 'Cell spacing must be a number.', // MISSING
-		invalidCellPadding	: 'Cell padding must be a number.', // MISSING
 
 		cell :
Index: /CKEditor/trunk/_source/lang/fr.js
===================================================================
--- /CKEditor/trunk/_source/lang/fr.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/fr.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'La hauteur doit être un nombre.',
 		invalidWidth	: 'La largeur doit être un nombre.',
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'La largeur du tableau doit être un nombre.',
 		invalidHeight	: 'La hauteur du tableau doit être un nombre.',
-		invalidCellSpacing	: 'L\'espacement des cellules doit être un nombre.',
-		invalidCellPadding	: 'La marge intérieure des cellules doit être un nombre.',
 
 		cell :
Index: /CKEditor/trunk/_source/lang/gl.js
===================================================================
--- /CKEditor/trunk/_source/lang/gl.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/gl.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'Height must be a number.', // MISSING
 		invalidWidth	: 'Width must be a number.', // MISSING
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'Table width must be a number.', // MISSING
 		invalidHeight	: 'Table height must be a number.', // MISSING
-		invalidCellSpacing	: 'Cell spacing must be a number.', // MISSING
-		invalidCellPadding	: 'Cell padding must be a number.', // MISSING
 
 		cell :
Index: /CKEditor/trunk/_source/lang/gu.js
===================================================================
--- /CKEditor/trunk/_source/lang/gu.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/gu.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'Height must be a number.', // MISSING
 		invalidWidth	: 'Width must be a number.', // MISSING
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'Table width must be a number.', // MISSING
 		invalidHeight	: 'Table height must be a number.', // MISSING
-		invalidCellSpacing	: 'Cell spacing must be a number.', // MISSING
-		invalidCellPadding	: 'Cell padding must be a number.', // MISSING
 
 		cell :
Index: /CKEditor/trunk/_source/lang/he.js
===================================================================
--- /CKEditor/trunk/_source/lang/he.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/he.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'הגובה חייב להיות מספר.',
 		invalidWidth	: 'הרוחב חייב להיות מספר.',
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'שדה רוחב הטבלה חייב להיות מספר.',
 		invalidHeight	: 'שדה גובה הטבלה חייב להיות מספר.',
-		invalidCellSpacing	: 'שדה ריווח התאים חייב להיות מספר.',
-		invalidCellPadding	: 'שדה ריפוד התאים חייב להיות מספר.',
 
 		cell :
Index: /CKEditor/trunk/_source/lang/hi.js
===================================================================
--- /CKEditor/trunk/_source/lang/hi.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/hi.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'Height must be a number.', // MISSING
 		invalidWidth	: 'Width must be a number.', // MISSING
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'Table width must be a number.', // MISSING
 		invalidHeight	: 'Table height must be a number.', // MISSING
-		invalidCellSpacing	: 'Cell spacing must be a number.', // MISSING
-		invalidCellPadding	: 'Cell padding must be a number.', // MISSING
 
 		cell :
Index: /CKEditor/trunk/_source/lang/hr.js
===================================================================
--- /CKEditor/trunk/_source/lang/hr.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/hr.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'Visina mora biti broj.',
 		invalidWidth	: 'Širina mora biti broj.',
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'Širina tablice mora biti broj.',
 		invalidHeight	: 'Visina tablice mora biti broj.',
-		invalidCellSpacing	: 'Prostornost ćelija mora biti broj.',
-		invalidCellPadding	: 'Razmak ćelija mora biti broj.',
 
 		cell :
Index: /CKEditor/trunk/_source/lang/hu.js
===================================================================
--- /CKEditor/trunk/_source/lang/hu.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/hu.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'A magasság mezőbe csak számokat írhat.',
 		invalidWidth	: 'A szélesség mezőbe csak számokat írhat.',
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'A szélesség mezőbe csak számokat írhat.',
 		invalidHeight	: 'A magasság mezőbe csak számokat írhat.',
-		invalidCellSpacing	: 'A cella térköz mezőbe csak számokat írhat.',
-		invalidCellPadding	: 'A cella belső margó mezőbe csak számokat írhat.',
 
 		cell :
Index: /CKEditor/trunk/_source/lang/is.js
===================================================================
--- /CKEditor/trunk/_source/lang/is.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/is.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'Height must be a number.', // MISSING
 		invalidWidth	: 'Width must be a number.', // MISSING
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'Table width must be a number.', // MISSING
 		invalidHeight	: 'Table height must be a number.', // MISSING
-		invalidCellSpacing	: 'Cell spacing must be a number.', // MISSING
-		invalidCellPadding	: 'Cell padding must be a number.', // MISSING
 
 		cell :
Index: /CKEditor/trunk/_source/lang/it.js
===================================================================
--- /CKEditor/trunk/_source/lang/it.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/it.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'L\'altezza dev\'essere un numero',
 		invalidWidth	: 'La Larghezza dev\'essere un numero',
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'La larghezza della tabella dev\'essere un numero.',
 		invalidHeight	: 'L\'altezza della tabella dev\'essere un numero.',
-		invalidCellSpacing	: 'La spaziatura tra le celle dev\'essere un numero.',
-		invalidCellPadding	: 'Il pagging delle celle dev\'essere un numero',
 
 		cell :
Index: /CKEditor/trunk/_source/lang/ja.js
===================================================================
--- /CKEditor/trunk/_source/lang/ja.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/ja.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: '高さは数値で入力してください。',
 		invalidWidth	: '幅は数値で入力してください。',
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: '幅は数値で入力してください。',
 		invalidHeight	: '高さは数値で入力してください。',
-		invalidCellSpacing	: 'セル内余白は数値で入力してください。',
-		invalidCellPadding	: 'セル内間隔は数値で入力してください。',
 
 		cell :
Index: /CKEditor/trunk/_source/lang/ka.js
===================================================================
--- /CKEditor/trunk/_source/lang/ka.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/ka.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'სიმაღლე რიცხვით უნდა იყოს წარმოდგენილი.',
 		invalidWidth	: 'სიგანე რიცხვით უნდა იყოს წარმოდგენილი.',
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'ცხრილის სიგანე რიცხვით უნდა იყოს წარმოდგენილი.',
 		invalidHeight	: 'ცხრილის სიმაღლე რიცხვით უნდა იყოს წარმოდგენილი.',
-		invalidCellSpacing	: 'უჯრის სივრცე (spacing) რიცხვით უნდა იყოს წარმოდგენილი.',
-		invalidCellPadding	: 'უჯრის კიდე (padding) რიცხვით უნდა იყოს წარმოდგენილი.',
 
 		cell :
Index: /CKEditor/trunk/_source/lang/km.js
===================================================================
--- /CKEditor/trunk/_source/lang/km.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/km.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'Height must be a number.', // MISSING
 		invalidWidth	: 'Width must be a number.', // MISSING
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'Table width must be a number.', // MISSING
 		invalidHeight	: 'Table height must be a number.', // MISSING
-		invalidCellSpacing	: 'Cell spacing must be a number.', // MISSING
-		invalidCellPadding	: 'Cell padding must be a number.', // MISSING
 
 		cell :
Index: /CKEditor/trunk/_source/lang/ko.js
===================================================================
--- /CKEditor/trunk/_source/lang/ko.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/ko.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'Height must be a number.', // MISSING
 		invalidWidth	: 'Width must be a number.', // MISSING
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'Table width must be a number.', // MISSING
 		invalidHeight	: 'Table height must be a number.', // MISSING
-		invalidCellSpacing	: 'Cell spacing must be a number.', // MISSING
-		invalidCellPadding	: 'Cell padding must be a number.', // MISSING
 
 		cell :
Index: /CKEditor/trunk/_source/lang/lt.js
===================================================================
--- /CKEditor/trunk/_source/lang/lt.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/lt.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'Height must be a number.', // MISSING
 		invalidWidth	: 'Width must be a number.', // MISSING
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'Table width must be a number.', // MISSING
 		invalidHeight	: 'Table height must be a number.', // MISSING
-		invalidCellSpacing	: 'Cell spacing must be a number.', // MISSING
-		invalidCellPadding	: 'Cell padding must be a number.', // MISSING
 
 		cell :
Index: /CKEditor/trunk/_source/lang/lv.js
===================================================================
--- /CKEditor/trunk/_source/lang/lv.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/lv.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'Height must be a number.', // MISSING
 		invalidWidth	: 'Width must be a number.', // MISSING
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'Table width must be a number.', // MISSING
 		invalidHeight	: 'Table height must be a number.', // MISSING
-		invalidCellSpacing	: 'Cell spacing must be a number.', // MISSING
-		invalidCellPadding	: 'Cell padding must be a number.', // MISSING
 
 		cell :
Index: /CKEditor/trunk/_source/lang/mn.js
===================================================================
--- /CKEditor/trunk/_source/lang/mn.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/mn.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'Height must be a number.', // MISSING
 		invalidWidth	: 'Width must be a number.', // MISSING
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'Table width must be a number.', // MISSING
 		invalidHeight	: 'Table height must be a number.', // MISSING
-		invalidCellSpacing	: 'Cell spacing must be a number.', // MISSING
-		invalidCellPadding	: 'Cell padding must be a number.', // MISSING
 
 		cell :
Index: /CKEditor/trunk/_source/lang/ms.js
===================================================================
--- /CKEditor/trunk/_source/lang/ms.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/ms.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'Height must be a number.', // MISSING
 		invalidWidth	: 'Width must be a number.', // MISSING
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'Table width must be a number.', // MISSING
 		invalidHeight	: 'Table height must be a number.', // MISSING
-		invalidCellSpacing	: 'Cell spacing must be a number.', // MISSING
-		invalidCellPadding	: 'Cell padding must be a number.', // MISSING
 
 		cell :
Index: /CKEditor/trunk/_source/lang/nb.js
===================================================================
--- /CKEditor/trunk/_source/lang/nb.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/nb.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'Høyde må være et tall.',
 		invalidWidth	: 'Bredde må være et tall.',
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'Tabellbredde må være et tall.',
 		invalidHeight	: 'Tabellhøyde må være et tall.',
-		invalidCellSpacing	: 'Cellemarg må være et tall.',
-		invalidCellPadding	: 'Cellepolstring må være et tall.',
 
 		cell :
Index: /CKEditor/trunk/_source/lang/nl.js
===================================================================
--- /CKEditor/trunk/_source/lang/nl.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/nl.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'De hoogte moet een getal zijn.',
 		invalidWidth	: 'De breedte moet een getal zijn.',
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'De tabel breedte moet een getal zijn.',
 		invalidHeight	: 'De tabel hoogte moet een getal zijn.',
-		invalidCellSpacing	: 'Afstand tussen cellen moet een getal zijn.',
-		invalidCellPadding	: 'Ruimte in de cel moet een getal zijn.',
 
 		cell :
Index: /CKEditor/trunk/_source/lang/no.js
===================================================================
--- /CKEditor/trunk/_source/lang/no.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/no.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'Høyde må være et tall.',
 		invalidWidth	: 'Bredde må være et tall.',
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'Tabellbredde må være et tall.',
 		invalidHeight	: 'Tabellhøyde må være et tall.',
-		invalidCellSpacing	: 'Cellemarg må være et tall.',
-		invalidCellPadding	: 'Cellepolstring må være et tall.',
 
 		cell :
Index: /CKEditor/trunk/_source/lang/pl.js
===================================================================
--- /CKEditor/trunk/_source/lang/pl.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/pl.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'Wysokość musi być liczbą.',
 		invalidWidth	: 'Szerokość musi być liczbą.',
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'Szerokość tabeli musi być liczbą.',
 		invalidHeight	: 'Wysokość tabeli musi być liczbą.',
-		invalidCellSpacing	: 'Odstęp komórek musi być liczbą.',
-		invalidCellPadding	: 'Dopełnienie komórek musi być liczbą.',
 
 		cell :
Index: /CKEditor/trunk/_source/lang/pt-br.js
===================================================================
--- /CKEditor/trunk/_source/lang/pt-br.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/pt-br.js	(revision 6979)
@@ -121,4 +121,6 @@
 		invalidHeight	: 'A altura tem que ser um número',
 		invalidWidth	: 'A largura tem que ser um número.',
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -271,6 +273,4 @@
 		invalidWidth	: 'A largura da tabela tem que ser um número.',
 		invalidHeight	: 'A altura da tabela tem que ser um número.',
-		invalidCellSpacing	: 'O espaçamento das células tem que ser um número.',
-		invalidCellPadding	: 'A margem interna das células tem que ser um número.',
 
 		cell :
Index: /CKEditor/trunk/_source/lang/pt.js
===================================================================
--- /CKEditor/trunk/_source/lang/pt.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/pt.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'Height must be a number.', // MISSING
 		invalidWidth	: 'Width must be a number.', // MISSING
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'Table width must be a number.', // MISSING
 		invalidHeight	: 'Table height must be a number.', // MISSING
-		invalidCellSpacing	: 'Cell spacing must be a number.', // MISSING
-		invalidCellPadding	: 'Cell padding must be a number.', // MISSING
 
 		cell :
Index: /CKEditor/trunk/_source/lang/ro.js
===================================================================
--- /CKEditor/trunk/_source/lang/ro.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/ro.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'Height must be a number.', // MISSING
 		invalidWidth	: 'Width must be a number.', // MISSING
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'Table width must be a number.', // MISSING
 		invalidHeight	: 'Table height must be a number.', // MISSING
-		invalidCellSpacing	: 'Cell spacing must be a number.', // MISSING
-		invalidCellPadding	: 'Cell padding must be a number.', // MISSING
 
 		cell :
Index: /CKEditor/trunk/_source/lang/ru.js
===================================================================
--- /CKEditor/trunk/_source/lang/ru.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/ru.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'Высота задается числом.',
 		invalidWidth	: 'Ширина задается числом.',
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'Ширина таблицы должна быть числом.',
 		invalidHeight	: 'Высота таблицы должна быть числом.',
-		invalidCellSpacing	: 'Размер промежутков (cellspacing) между ячейками должны быть числом.',
-		invalidCellPadding	: 'Отступы внутри ячеек (cellpadding) должны быть числом.',
 
 		cell :
Index: /CKEditor/trunk/_source/lang/sk.js
===================================================================
--- /CKEditor/trunk/_source/lang/sk.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/sk.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'Výška musí byť číslo.',
 		invalidWidth	: 'Šírka musí byť číslo.',
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'Širka tabuľky musí byť číslo.',
 		invalidHeight	: 'Výška tabuľky musí byť číslo.',
-		invalidCellSpacing	: 'Medzera mädzi bunkami (spacing) musí byť číslo.',
-		invalidCellPadding	: 'Odsadenie v bunkách (padding) musí byť číslo.',
 
 		cell :
Index: /CKEditor/trunk/_source/lang/sl.js
===================================================================
--- /CKEditor/trunk/_source/lang/sl.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/sl.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'Višina mora biti število.',
 		invalidWidth	: 'Širina mora biti število.',
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'Širina tabele mora biti število.',
 		invalidHeight	: 'Višina tabele mora biti število.',
-		invalidCellSpacing	: 'Razmik med celicami mora biti število.',
-		invalidCellPadding	: 'Zamik celic mora biti število',
 
 		cell :
Index: /CKEditor/trunk/_source/lang/sr-latn.js
===================================================================
--- /CKEditor/trunk/_source/lang/sr-latn.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/sr-latn.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'Height must be a number.', // MISSING
 		invalidWidth	: 'Width must be a number.', // MISSING
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'Table width must be a number.', // MISSING
 		invalidHeight	: 'Table height must be a number.', // MISSING
-		invalidCellSpacing	: 'Cell spacing must be a number.', // MISSING
-		invalidCellPadding	: 'Cell padding must be a number.', // MISSING
 
 		cell :
Index: /CKEditor/trunk/_source/lang/sr.js
===================================================================
--- /CKEditor/trunk/_source/lang/sr.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/sr.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'Height must be a number.', // MISSING
 		invalidWidth	: 'Width must be a number.', // MISSING
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'Table width must be a number.', // MISSING
 		invalidHeight	: 'Table height must be a number.', // MISSING
-		invalidCellSpacing	: 'Cell spacing must be a number.', // MISSING
-		invalidCellPadding	: 'Cell padding must be a number.', // MISSING
 
 		cell :
Index: /CKEditor/trunk/_source/lang/sv.js
===================================================================
--- /CKEditor/trunk/_source/lang/sv.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/sv.js	(revision 6979)
@@ -121,4 +121,6 @@
 		invalidHeight	: 'Höjd måste vara ett nummer.',
 		invalidWidth	: 'Bredd måste vara ett nummer.',
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -271,6 +273,4 @@
 		invalidWidth	: 'Tabell måste vara ett nummer.',
 		invalidHeight	: 'Tabellens höjd måste vara ett nummer.',
-		invalidCellSpacing	: 'Luft i cell måste vara ett nummer.',
-		invalidCellPadding	: 'Luft i cell måste vara ett nummer.',
 
 		cell :
Index: /CKEditor/trunk/_source/lang/th.js
===================================================================
--- /CKEditor/trunk/_source/lang/th.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/th.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'Height must be a number.', // MISSING
 		invalidWidth	: 'Width must be a number.', // MISSING
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'Table width must be a number.', // MISSING
 		invalidHeight	: 'Table height must be a number.', // MISSING
-		invalidCellSpacing	: 'Cell spacing must be a number.', // MISSING
-		invalidCellPadding	: 'Cell padding must be a number.', // MISSING
 
 		cell :
Index: /CKEditor/trunk/_source/lang/tr.js
===================================================================
--- /CKEditor/trunk/_source/lang/tr.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/tr.js	(revision 6979)
@@ -121,4 +121,6 @@
 		invalidHeight	: 'Yükseklik sayı olmalıdır.',
 		invalidWidth	: 'Genişlik bir sayı olmalıdır.',
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -271,6 +273,4 @@
 		invalidWidth	: 'Tablo genişliği sayı olmalıdır.',
 		invalidHeight	: 'Tablo yüksekliği sayı olmalıdır.',
-		invalidCellSpacing	: 'Hücre boşluğu (spacing) sayı olmalıdır.',
-		invalidCellPadding	: 'Hücre aralığı (padding) sayı olmalıdır.',
 
 		cell :
Index: /CKEditor/trunk/_source/lang/uk.js
===================================================================
--- /CKEditor/trunk/_source/lang/uk.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/uk.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'Висота повинна бути цілим числом.',
 		invalidWidth	: 'Ширина повинна бути цілим числом.',
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'Ширина таблиці повинна бути цілим числом.',
 		invalidHeight	: 'Висота таблиці повинна бути цілим числом.',
-		invalidCellSpacing	: 'Проміжок між комірками повинен бути цілим числом.',
-		invalidCellPadding	: 'Внутр. відступ комірки повинен бути цілим числом.',
 
 		cell :
Index: /CKEditor/trunk/_source/lang/vi.js
===================================================================
--- /CKEditor/trunk/_source/lang/vi.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/vi.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: 'Chiều cao phải là số nguyên.',
 		invalidWidth	: 'Chiều rộng phải là số nguyên.',
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: 'Chiều rộng của bảng phải là một số nguyên.',
 		invalidHeight	: 'Chiều cao của bảng phải là một số nguyên.',
-		invalidCellSpacing	: 'Khoảng cách giữa các ô phải là một số nguyên.',
-		invalidCellPadding	: 'Khoảng đệm giữa ô và nội dung phải là một số nguyên.',
 
 		cell :
Index: /CKEditor/trunk/_source/lang/zh-cn.js
===================================================================
--- /CKEditor/trunk/_source/lang/zh-cn.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/zh-cn.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: '高度必须为数字格式',
 		invalidWidth	: '宽度必须为数字格式',
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: '表格宽度必须为数字格式',
 		invalidHeight	: '表格高度必须为数字格式',
-		invalidCellSpacing	: '单元格间距必须为数字格式',
-		invalidCellPadding	: '单元格填充必须为数字格式',
 
 		cell :
Index: /CKEditor/trunk/_source/lang/zh.js
===================================================================
--- /CKEditor/trunk/_source/lang/zh.js	(revision 6978)
+++ /CKEditor/trunk/_source/lang/zh.js	(revision 6979)
@@ -122,4 +122,6 @@
 		invalidHeight	: '高度必須為數字格式',
 		invalidWidth	: '寬度必須為數字格式',
+		invalidCssLength	: 'Value must be a valid CSS length unit.', // MISSING
+		invalidHtmlLength	: 'Value must be either a number in unit of pixel, or a percentage value', // MISSING
 
 		// Put the voice-only part of the label in the span.
@@ -272,6 +274,4 @@
 		invalidWidth	: '表格寬度必須為數字格式',
 		invalidHeight	: '表格高度必須為數字格式',
-		invalidCellSpacing	: '儲存格間距必須為數字格式',
-		invalidCellPadding	: '儲存格內距必須為數字格式',
 
 		cell :
Index: /CKEditor/trunk/_source/plugins/dialog/plugin.js
===================================================================
--- /CKEditor/trunk/_source/plugins/dialog/plugin.js	(revision 6978)
+++ /CKEditor/trunk/_source/plugins/dialog/plugin.js	(revision 6979)
@@ -2321,4 +2321,21 @@
 					this.isChanged = elementDefinition.isChanged;
 
+				// Overload 'get(set)Value' on definition.
+				if ( typeof( elementDefinition.setValue ) == 'function' )
+				{
+						this.setValue = CKEDITOR.tools.override( this.setValue, function( org )
+						{
+								return function( val ){ org.call( this, elementDefinition.setValue.call( this, val ) ); };
+						} );
+				}
+
+				if ( typeof( elementDefinition.getValue ) == 'function' )
+				{
+						this.getValue = CKEDITOR.tools.override( this.getValue, function( org )
+						{
+								return function(){ return  elementDefinition.getValue.call( this, org.call( this ) ); };
+						} );
+				}
+
 				// Add events.
 				CKEDITOR.event.implementOn( this );
@@ -2912,5 +2929,7 @@
 		var notEmptyRegex = /^([a]|[^a])+$/,
 			integerRegex = /^\d*$/,
-			numberRegex = /^\d*(?:\.\d+)?$/;
+			numberRegex = /^\d*(?:\.\d+)?$/,
+			htmlLengthRegex = /^([+-]?((\d*(\.\d+))|(\d*))(px|\%)?)?$/,
+			cssLengthRegex = /^([+-]?((\d*(\.\d+))|(\d*))(px|em|ex|in|cm|mm|pt|pc|\%)?)?$/i;
 
 		CKEDITOR.VALIDATE_OR = 1;
@@ -2921,4 +2940,5 @@
 			functions : function()
 			{
+				var args = arguments;
 				return function()
 				{
@@ -2929,5 +2949,5 @@
 					 * validators.
 					 */
-					var value = this && this.getValue ? this.getValue() : arguments[0];
+					var value = this && this.getValue ? this.getValue() : args[ 0 ];
 
 					var msg = undefined,
@@ -2935,20 +2955,20 @@
 						functions = [], i;
 
-					for ( i = 0 ; i < arguments.length ; i++ )
+					for ( i = 0 ; i < args.length ; i++ )
 					{
-						if ( typeof( arguments[i] ) == 'function' )
-							functions.push( arguments[i] );
+						if ( typeof( args[i] ) == 'function' )
+							functions.push( args[i] );
 						else
 							break;
 					}
 
-					if ( i < arguments.length && typeof( arguments[i] ) == 'string' )
+					if ( i < args.length && typeof( args[i] ) == 'string' )
 					{
-						msg = arguments[i];
+						msg = args[i];
 						i++;
 					}
 
-					if ( i < arguments.length && typeof( arguments[i]) == 'number' )
-						relation = arguments[i];
+					if ( i < args.length && typeof( args[i]) == 'number' )
+						relation = args[i];
 
 					var passed = ( relation == CKEDITOR.VALIDATE_AND ? true : false );
@@ -2965,6 +2985,12 @@
 						if ( msg !== undefined )
 							alert( msg );
-						if ( this && ( this.select || this.focus ) )
-							( this.select || this.focus )();
+						if ( this.select || this.focus  )
+						{
+							if ( this.select )
+								this.select();
+							else
+								this.focus();
+						}
+
 						return false;
 					}
@@ -3015,4 +3041,14 @@
 			},
 
+			'cssLength' : function( msg )
+			{
+				return this.functions( function( val ){ return cssLengthRegex.test( CKEDITOR.tools.trim( val ) ); }, msg );
+			},
+
+			'htmlLength' : function( msg )
+			{
+				return this.functions( function( val ){ return htmlLengthRegex.test( CKEDITOR.tools.trim( val ) ); }, msg );
+			},
+
 			equals : function( value, msg )
 			{
Index: /CKEditor/trunk/_source/plugins/dialogadvtab/plugin.js
===================================================================
--- /CKEditor/trunk/_source/plugins/dialogadvtab/plugin.js	(revision 6978)
+++ /CKEditor/trunk/_source/plugins/dialogadvtab/plugin.js	(revision 6979)
@@ -137,5 +137,5 @@
 						getStyle : function( name, defaultValue )
 						{
-							var match = this.getValue().match( new RegExp( name + '\\s*:\s*([^;]*)', 'i') );
+							var match = this.getValue().match( new RegExp( name + '\\s*:\\s*([^;]*)', 'i') );
 							return match ? match[ 1 ] : defaultValue;
 						},
Index: /CKEditor/trunk/_source/plugins/fakeobjects/plugin.js
===================================================================
--- /CKEditor/trunk/_source/plugins/fakeobjects/plugin.js	(revision 6978)
+++ /CKEditor/trunk/_source/plugins/fakeobjects/plugin.js	(revision 6979)
@@ -26,9 +26,9 @@
 					{
 						// Get the width from the style.
-						var match = /(?:^|\s)width\s*:\s*(\d+)/i.exec( style ),
+						var match = /(?:^|\s)width\s*:\s*(.*?)(:?;|$)/i.exec( style ),
 							width = match && match[1];
 
 						// Get the height from the style.
-						match = /(?:^|\s)height\s*:\s*(\d+)/i.exec( style );
+						match = /(?:^|\s)height\s*:\s*(.*?)(:?;|$)/i.exec( style );
 						var height = match && match[1];
 
Index: /CKEditor/trunk/_source/plugins/flash/dialogs/flash.js
===================================================================
--- /CKEditor/trunk/_source/plugins/flash/dialogs/flash.js	(revision 6978)
+++ /CKEditor/trunk/_source/plugins/flash/dialogs/flash.js	(revision 6979)
@@ -49,4 +49,6 @@
 	for ( i = 0 ; i < names.length ; i++ )
 		attributesMap[ names[i] ][0]['default'] = attributesMap[ names[i] ][1]['default'] = true;
+
+	var defaultToPixel = CKEDITOR.tools.cssLength;
 
 	function loadValue( objectNode, embedNode, paramMap )
@@ -368,20 +370,15 @@
 									style : 'width:95px',
 									label : editor.lang.common.width,
-									validate : CKEDITOR.dialog.validate.integer( editor.lang.common.invalidWidth ),
+									validate : CKEDITOR.dialog.validate.htmlLength( editor.lang.common.invalidHtmlLength ),
 									setup : function( objectNode, embedNode, paramMap, fakeImage )
 									{
 										loadValue.apply( this, arguments );
-										if ( fakeImage )
-										{
-											var fakeImageWidth = parseInt( fakeImage.$.style.width, 10 );
-											if ( !isNaN( fakeImageWidth ) )
-												this.setValue( fakeImageWidth );
-										}
+										fakeImage && this.setValue( fakeImage.getStyle( 'width' ) );
 									},
 									commit : function( objectNode, embedNode, paramMap, extraStyles )
 									{
 										commitValue.apply( this, arguments );
-										if ( this.getValue() )
-											extraStyles.width = this.getValue() + 'px';
+										var val = this.getValue();
+										val && ( extraStyles.width = defaultToPixel( val ) );
 									}
 								},
@@ -391,20 +388,15 @@
 									style : 'width:95px',
 									label : editor.lang.common.height,
-									validate : CKEDITOR.dialog.validate.integer( editor.lang.common.invalidHeight ),
+									validate : CKEDITOR.dialog.validate.htmlLength( editor.lang.common.invalidHtmlLength ),
 									setup : function( objectNode, embedNode, paramMap, fakeImage )
 									{
 										loadValue.apply( this, arguments );
-										if ( fakeImage )
-										{
-											var fakeImageHeight = parseInt( fakeImage.$.style.height, 10 );
-											if ( !isNaN( fakeImageHeight ) )
-												this.setValue( fakeImageHeight );
-										}
+										fakeImage && this.setValue( fakeImage.getStyle( 'height' ) );
 									},
 									commit : function( objectNode, embedNode, paramMap, extraStyles )
 									{
 										commitValue.apply( this, arguments );
-										if ( this.getValue() )
-											extraStyles.height = this.getValue() + 'px';
+										var val = this.getValue();
+										val && ( extraStyles.height = defaultToPixel( val ) );
 									}
 								},
Index: /CKEditor/trunk/_source/plugins/iframe/dialogs/iframe.js
===================================================================
--- /CKEditor/trunk/_source/plugins/iframe/dialogs/iframe.js	(revision 6978)
+++ /CKEditor/trunk/_source/plugins/iframe/dialogs/iframe.js	(revision 6979)
@@ -13,4 +13,6 @@
 		frameborder : { 'true' : '1', 'false' : '0' }
 	};
+
+	var defaultToPixel = CKEDITOR.tools.cssLength;
 
 	function loadValue( iframeNode )
@@ -57,5 +59,5 @@
 					{
 						// Synchronize width value.
-						var width = parseInt( this.getStyle( 'width', '' ) || '', 10 ),
+						var width = this.getStyle( 'width', '' ),
 							txtWidth = dialog.getContentElement( 'info', 'width' );
 
@@ -63,5 +65,5 @@
 
 						// Synchronize height value.
-						var height = parseInt( this.getStyle( 'height', '' ) || '', 10 ),
+						var height = this.getStyle( 'height', '' ),
 							txtHeight = dialog.getContentElement( 'info', 'height' );
 
@@ -151,20 +153,16 @@
 									labelLayout : 'vertical',
 									label : commonLang.width,
-									validate : CKEDITOR.dialog.validate.integer( commonLang.invalidWidth ),
+									validate : CKEDITOR.dialog.validate.cssLength( editor.lang.common.invalidCssLength ),
+									getValue : defaultToPixel,
 									setup : function( iframeNode, fakeImage )
 									{
 										loadValue.apply( this, arguments );
-										if ( fakeImage )
-										{
-											var fakeImageWidth = parseInt( fakeImage.$.style.width, 10 );
-											if ( !isNaN( fakeImageWidth ) )
-												this.setValue( fakeImageWidth );
-										}
+										fakeImage && this.setValue( fakeImage.getStyle( 'width' ) );
 									},
 									commit : function( iframeNode, extraStyles )
 									{
 										commitValue.apply( this, arguments );
-										if ( this.getValue() )
-											extraStyles.width = this.getValue() + 'px';
+										var val = this.getValue();
+										val && ( extraStyles.width = val );
 									},
 									onChange : function()
@@ -172,5 +170,5 @@
 										var styles = this.getDialog().getContentElement( 'advanced', 'advStyles' ),
 											value = this.getValue();
-										styles && styles.updateStyle( 'width', value &&  ( value + 'px' ) );
+										styles && styles.updateStyle( 'width', value );
 									}
 								},
@@ -181,20 +179,16 @@
 									labelLayout : 'vertical',
 									label : commonLang.height,
-									validate : CKEDITOR.dialog.validate.integer( commonLang.invalidHeight ),
+									validate : CKEDITOR.dialog.validate.cssLength( editor.lang.common.invalidCssLength ),
+									getValue : defaultToPixel,
 									setup : function( iframeNode, fakeImage )
 									{
 										loadValue.apply( this, arguments );
-										if ( fakeImage )
-										{
-											var fakeImageHeight = parseInt( fakeImage.$.style.height, 10 );
-											if ( !isNaN( fakeImageHeight ) )
-												this.setValue( fakeImageHeight );
-										}
+										fakeImage && this.setValue( fakeImage.getStyle( 'height' ) );
 									},
 									commit : function( iframeNode, extraStyles )
 									{
 										commitValue.apply( this, arguments );
-										if ( this.getValue() )
-											extraStyles.height = this.getValue() + 'px';
+										var val = this.getValue();
+										val && ( extraStyles.height = val );
 									},
 									onChange : function()
@@ -202,5 +196,5 @@
 										var styles = this.getDialog().getContentElement( 'advanced', 'advStyles' ),
 											value = this.getValue();
-										styles && styles.updateStyle( 'height', value &&  ( value + 'px' ) );
+										styles && styles.updateStyle( 'height', value );
 									}
 								},
Index: /CKEditor/trunk/_source/plugins/table/dialogs/table.js
===================================================================
--- /CKEditor/trunk/_source/plugins/table/dialogs/table.js	(revision 6978)
+++ /CKEditor/trunk/_source/plugins/table/dialogs/table.js	(revision 6979)
@@ -6,6 +6,5 @@
 (function()
 {
-	var widthPattern = /^(\d+(?:\.\d+)?)(px|%)$/,
-		heightPattern = /^(\d+(?:\.\d+)?)px$/;
+	var defaultToPixel = CKEDITOR.tools.cssLength;
 
 	var commitValue = function( data )
@@ -43,16 +42,7 @@
 							// Synchronize width value.
 							var width = this.getStyle( 'width', '' ),
-								txtWidth = dialog.getContentElement( 'info', 'txtWidth' ),
-								cmbWidthType = dialog.getContentElement( 'info', 'cmbWidthType' ),
-								isPx = 1;
-
-							if ( width )
-							{
-								isPx = ( width.length < 3 || width.substr( width.length - 1 ) != '%' );
-								width = parseInt( width, 10 );
-							}
+								txtWidth = dialog.getContentElement( 'info', 'txtWidth' );
 
 							txtWidth && txtWidth.setValue( width, true );
-							cmbWidthType && cmbWidthType.setValue( isPx ? 'pixels' : 'percents', true );
 
 							// Synchronize height value.
@@ -60,5 +50,4 @@
 								txtHeight = dialog.getContentElement( 'info', 'txtHeight' );
 
-							height && ( height = parseInt( height, 10 ) );
 							txtHeight && txtHeight.setValue( height, true );
 						});
@@ -225,17 +214,6 @@
 
 					// Set the width and height.
-					var styles = [];
-					if ( info.txtHeight )
-						table.setStyle( 'height', CKEDITOR.tools.cssLength( info.txtHeight ) );
-					else
-						table.removeStyle( 'height' );
-
-					if ( info.txtWidth )
-					{
-						var type = info.cmbWidthType || 'pixels';
-						table.setStyle( 'width', info.txtWidth + ( type == 'pixels' ? 'px' : '%' ) );
-					}
-					else
-						table.removeStyle( 'width' );
+					info.txtHeight ? table.setStyle( 'height', info.txtHeight ) : table.removeStyle( 'height' );
+					info.txtWidth ? table.setStyle( 'width', info.txtWidth ) : table.removeStyle( 'width' );
 
 					if ( !table.getAttribute( 'style' ) )
@@ -424,62 +402,15 @@
 													label : editor.lang.common.width,
 													'default' : 500,
-													validate : CKEDITOR.dialog.validate['number']( editor.lang.table.invalidWidth ),
-
-													// Extra labelling of width unit type.
-													onLoad : function()
-													{
-														var widthType = this.getDialog().getContentElement( 'info', 'cmbWidthType' ),
-															labelElement = widthType.getElement(),
-															inputElement = this.getInputElement(),
-															ariaLabelledByAttr = inputElement.getAttribute( 'aria-labelledby' );
-
-														inputElement.setAttribute( 'aria-labelledby', [ ariaLabelledByAttr, labelElement.$.id ].join( ' ' ) );
-													},
-
+													getValue : defaultToPixel,
+													validate : CKEDITOR.dialog.validate.cssLength( editor.lang.common.invalidCssLength ),
 													onChange : function()
 													{
 														var styles = this.getDialog().getContentElement( 'advanced', 'advStyles' );
-
-														if ( styles )
-														{
-															var value = this.getValue();
-
-															if ( value )
-																value += this.getDialog().getContentElement( 'info', 'cmbWidthType' ).getValue() == 'percents' ? '%' : 'px';
-
-															styles.updateStyle( 'width', value );
-														}
+														styles && styles.updateStyle( 'width', this.getValue() );
 													},
-
 													setup : function( selectedTable )
 													{
-														var widthMatch = widthPattern.exec( selectedTable.$.style.width );
-														if ( widthMatch )
-															this.setValue( widthMatch[1] );
-														else
-															this.setValue( '' );
-													},
-													commit : commitValue
-												},
-												{
-													id : 'cmbWidthType',
-													type : 'select',
-													label : editor.lang.table.widthUnit,
-													labelStyle: 'visibility:hidden',
-													'default' : 'pixels',
-													items :
-													[
-														[ editor.lang.table.widthPx , 'pixels'],
-														[ editor.lang.table.widthPc , 'percents']
-													],
-													setup : function( selectedTable )
-													{
-														var widthMatch = widthPattern.exec( selectedTable.$.style.width );
-														if ( widthMatch )
-															this.setValue( widthMatch[2] == 'px' ? 'pixels' : 'percents' );
-													},
-													onChange : function()
-													{
-														this.getDialog().getContentElement( 'info', 'txtWidth' ).onChange();
+														var val = selectedTable.getStyle( 'width' );
+														val && this.setValue( val );
 													},
 													commit : commitValue
@@ -498,40 +429,18 @@
 													label : editor.lang.common.height,
 													'default' : '',
-													validate : CKEDITOR.dialog.validate['number']( editor.lang.table.invalidHeight ),
-
-													// Extra labelling of height unit type.
-													onLoad : function()
-													{
-														var heightType = this.getDialog().getContentElement( 'info', 'htmlHeightType' ),
-															labelElement = heightType.getElement(),
-															inputElement = this.getInputElement(),
-															ariaLabelledByAttr = inputElement.getAttribute( 'aria-labelledby' );
-
-														inputElement.setAttribute( 'aria-labelledby', [ ariaLabelledByAttr, labelElement.$.id ].join( ' ' ) );
-													},
-
+													getValue : defaultToPixel,
+													validate : CKEDITOR.dialog.validate.cssLength( editor.lang.common.invalidCssLength ),
 													onChange : function()
 													{
 														var styles = this.getDialog().getContentElement( 'advanced', 'advStyles' );
-
-														if ( styles )
-														{
-															var value = this.getValue();
-															styles.updateStyle( 'height', value && ( value + 'px' ) );
-														}
+														styles && styles.updateStyle( 'height', this.getValue() );
 													},
 
 													setup : function( selectedTable )
 													{
-														var heightMatch = heightPattern.exec( selectedTable.$.style.height );
-														if ( heightMatch )
-															this.setValue( heightMatch[1] );
+														var val = selectedTable.getStyle( 'width' );
+														val && this.setValue( val );
 													},
 													commit : commitValue
-												},
-												{
-													id : 'htmlHeightType',
-													type : 'html',
-													html : '<div><br />' + editor.lang.table.widthPx + '</div>'
 												}
 											]
@@ -547,5 +456,5 @@
 											label : editor.lang.table.cellSpace,
 											'default' : 1,
-											validate : CKEDITOR.dialog.validate['number']( editor.lang.table.invalidCellSpacing ),
+											validate : CKEDITOR.dialog.validate.htmlLength( editor.lang.common.invalidHtmlLength ),
 											setup : function( selectedTable )
 											{
@@ -566,5 +475,5 @@
 											label : editor.lang.table.cellPad,
 											'default' : 1,
-											validate : CKEDITOR.dialog.validate['number']( editor.lang.table.invalidCellPadding ),
+											validate : CKEDITOR.dialog.validate.htmlLength( editor.lang.common.invalidHtmlLength ),
 											setup : function( selectedTable )
 											{
