Index: /CKEditor/branches/prototype/_source/lang/en.js
===================================================================
--- /CKEditor/branches/prototype/_source/lang/en.js	(revision 2769)
+++ /CKEditor/branches/prototype/_source/lang/en.js	(revision 2770)
@@ -295,4 +295,5 @@
 	dlgImgAlertUrl	: 'Please type the image URL',
 	dlgImgLinkTab	: 'Link',
+	dlgImgTypeNumber	: 'This value is not a number.',
 
 	elementsPath :
Index: /CKEditor/branches/prototype/_source/plugins/image/dialogs/image.js
===================================================================
--- /CKEditor/branches/prototype/_source/plugins/image/dialogs/image.js	(revision 2769)
+++ /CKEditor/branches/prototype/_source/plugins/image/dialogs/image.js	(revision 2770)
@@ -31,7 +31,9 @@
 		onShow : function( )
 		{
+			//TODO: load content
 		},
 		onOk : function( )
 		{
+			//TODO: save settings
 		},
 		
@@ -58,5 +60,4 @@
 							{
 								type : 'html',
-								style : 'padding:0px;margin:0px',
 								html : '<span>' + CKEDITOR.tools.htmlEncode( editor.lang.dlgImgURL ) + '</span>'
 							},
@@ -71,5 +72,4 @@
 										type : 'text',
 										label : '',
-										style : 'width: 280px',
 										validate: function( data ) {
 											return true;
@@ -79,5 +79,4 @@
 										type : 'button',
 										id : 'browse',
-										style : 'width:100%',
 										align : 'center',
 										label : editor.lang.browseServer,
@@ -95,5 +94,4 @@
 						label : editor.lang.dlgImgAlt,
 						accessKey : 'A',
-						style : 'width:385px',
 						validate: function( data ) {
 							return true;
@@ -107,4 +105,5 @@
 							{
 								type : 'vbox',
+								padding : 10,
 								children :
 								[
@@ -116,4 +115,5 @@
 											{
 												type : 'vbox',
+												padding : 1,
 												children :
 												[
@@ -122,16 +122,9 @@
 														id : 'txtWidth',
 														labelLayout : 'horizontal',
-														style : 'width:100%',
 														label : editor.lang.dlgImgWidth,
-														validate: function( data ) {
-															if ( this.getValue() != '' )
-															{
-																if ( isNaN( parseInt( this.getValue(), 10 ) ) )
-																{
-																	this.select();
-																	return false;
-																}
-															}
-															return true;
+														validate: function()
+														{
+															var func = CKEDITOR.dialog.validate.integer( editor.lang.dlgImgTypeNumber );
+															return func.apply( this );
 														}
 													},
@@ -140,16 +133,9 @@
 														id : 'txtHeight',
 														labelLayout : 'horizontal',
-														style : 'width:100%',
 														label : editor.lang.dlgImgHeight,
-														validate: function( data ) {
-															if ( this.getValue() != '' )
-															{
-																if ( isNaN( parseInt( this.getValue(), 10 ) ) )
-																{
-																	this.select();
-																	return false;
-																}
-															}
-															return true;
+														validate: function()
+														{
+															var func = CKEDITOR.dialog.validate.integer( editor.lang.dlgImgTypeNumber );
+															return func.apply( this );
 														}
 													}
@@ -158,5 +144,5 @@
 											{
 												type : 'html',
-												style : 'position:relative; top:-20px;width:35px;height:20px',		//valign = top
+												style : 'position:relative;top:-10px;height:20px',	
 												html : '<div>'+
 													'<div onclick="" title="' + editor.lang.dlgImgLockRatio + '" onmouseout="this.className = (true ? \'BtnLocked\' : \'BtnUnlocked\' );" '+ 'onmouseover="this.className = (true ? \'BtnLocked\' : \'BtnUnlocked\' ) + \' BtnOver\';" class="BtnLocked" id="btnLockSizes"></div>' +
@@ -167,76 +153,62 @@
 									},
 									{
-										type : 'text',
-										id : 'txtBorder',
-										labelLayout : 'horizontal',
-										style : 'width:100%',
-										label : editor.lang.dlgImgBorder,
-										validate: function( data ) {
-											if ( this.getValue() != '' )
-											{
-												if ( isNaN( parseInt( this.getValue(), 10 ) ) )
+										type : 'vbox',
+										padding : 1,
+										children :
+										[
+											{
+												type : 'text',
+												id : 'txtBorder',
+												labelLayout : 'horizontal',
+												label : editor.lang.dlgImgBorder,
+												validate: function( data )
 												{
-													this.select();
-													return false;
+													var func = CKEDITOR.dialog.validate.integer( editor.lang.dlgImgTypeNumber );
+													return func.apply( this );
 												}
+											},
+											{
+												type : 'text',
+												id : 'txtHSpace',
+												labelLayout : 'horizontal',
+												label : editor.lang.dlgImgHSpace,
+												validate: function( data )
+												{
+													var func = CKEDITOR.dialog.validate.integer( editor.lang.dlgImgTypeNumber );
+													return func.apply( this );
+												}
+											},
+											{
+												type : 'text',
+												id : 'txtVSpace',
+												labelLayout : 'horizontal',
+												label : editor.lang.dlgImgVSpace,
+												validate: function() {
+													var func = CKEDITOR.dialog.validate.integer( editor.lang.dlgImgTypeNumber );
+													return func.apply( this );
+
+												}
+											},
+											{
+												id : 'cmbAlign',
+												type : 'select',
+												labelLayout : 'horizontal',
+												widths : [ '35%','65%' ],
+												style : 'width:100%',
+												label : editor.lang.dlgImgAlign,
+												items :
+												[
+													[ editor.lang.dlgGenNotSet , ''],
+													[ editor.lang.dlgImgAlignLeft , 'left'],
+													[ editor.lang.dlgImgAlignAbsBottom , 'absBottom'],
+													[ editor.lang.dlgImgAlignAbsMiddle , 'absMiddle'],
+													[ editor.lang.dlgImgAlignBaseline , 'baseline'],
+													[ editor.lang.dlgImgAlignBottom , 'bottom'],
+													[ editor.lang.dlgImgAlignMiddle , 'middle'],
+													[ editor.lang.dlgImgAlignRight , 'right'],
+													[ editor.lang.dlgImgAlignTextTop , 'textTop'],
+													[ editor.lang.dlgImgAlignTop , 'top']
+												]
 											}
-											return true;
-										}
-									},
-									{
-										type : 'text',
-										id : 'txtHSpace',
-										labelLayout : 'horizontal',
-										style : 'width:100%',
-										label : editor.lang.dlgImgHSpace,
-										validate: function( data ) {
-											if ( this.getValue() != '' )
-											{
-												if ( isNaN( parseInt( this.getValue(), 10 ) ) )
-												{
-													this.select();
-													return false;
-												}
-											}
-											return true;
-										}
-									},
-									{
-										type : 'text',
-										id : 'txtVSpace',
-										labelLayout : 'horizontal',
-										label : editor.lang.dlgImgVSpace,
-										style : 'width:100%',
-										validate: function( data ) {
-											if ( this.getValue() != '' )
-											{
-												if ( isNaN( parseInt( this.getValue(), 10 ) ) )
-												{
-													this.select();
-													return false;
-												}
-											}
-											return true;
-										}
-									},
-									{
-										id : 'cmbAlign',
-										type : 'select',
-										labelLayout : 'horizontal',
-										widths : [ '30%','70%' ],
-										label : editor.lang.dlgImgAlign,
-										style : 'width:100%',
-										items :
-										[
-											[ editor.lang.dlgGenNotSet , ''],
-											[ editor.lang.dlgImgAlignLeft , 'left'],
-											[ editor.lang.dlgImgAlignAbsBottom , 'absBottom'],
-											[ editor.lang.dlgImgAlignAbsMiddle , 'absMiddle'],
-											[ editor.lang.dlgImgAlignBaseline , 'baseline'],
-											[ editor.lang.dlgImgAlignBottom , 'bottom'],
-											[ editor.lang.dlgImgAlignMiddle , 'middle'],
-											[ editor.lang.dlgImgAlignRight , 'right'],
-											[ editor.lang.dlgImgAlignTextTop , 'textTop'],
-											[ editor.lang.dlgImgAlignTop , 'top']
 										]
 									}
@@ -245,5 +217,5 @@
 							{
 								type : 'vbox',
-								height : '180px',
+								height : '250px',
 								children :
 								[
@@ -271,5 +243,5 @@
 						type : 'text',
 						label : editor.lang.dlgImgURL,
-						style : 'width: 385px',
+						style : 'width: 100%',
 						validate: function( data ) {
 							return true;
@@ -286,5 +258,4 @@
 						type : 'select',
 						label : editor.lang.linkTarget,
-						style : 'width : 90px',
 						items :
 						[
