Index: /CKEditor/branches/prototype/_source/plugins/dialog/plugin.js
===================================================================
--- /CKEditor/branches/prototype/_source/plugins/dialog/plugin.js	(revision 2469)
+++ /CKEditor/branches/prototype/_source/plugins/dialog/plugin.js	(revision 2470)
@@ -380,5 +380,5 @@
 										type : 'checkbox',
 										label: 'Enable that',
-										checked : false
+										checked : true 
 									},
 
Index: /CKEditor/branches/prototype/_source/plugins/dialogui/plugin.js
===================================================================
--- /CKEditor/branches/prototype/_source/plugins/dialogui/plugin.js	(revision 2469)
+++ /CKEditor/branches/prototype/_source/plugins/dialogui/plugin.js	(revision 2470)
@@ -170,5 +170,5 @@
 							value : item[1]
 						};
-					if ( elementDefinition.default == item.value )
+					if ( elementDefinition.default == item[1] )
 						inputAttributes.checked = 'checked';
 					children.push( new CKEDITOR.ui.dialog.uiElement( dialog, inputDefinition, inputHtml, 'input', null, inputAttributes ) );
@@ -180,4 +180,15 @@
 
 			CKEDITOR.ui.dialog.labeledElement.call(this, dialog, elementDefinition, htmlList, innerHTML );
+		},
+
+		button : function( dialog, elementDefinition, htmlList )
+		{
+			if ( arguments.length < 3)
+				return;
+
+			if ( !this._ )
+				this._ = {};
+
+			CKEDITOR.ui.dialog.uiElement.call(this, dialog, elementDefinition, htmlList, 'input' );
 		}
 	});
@@ -190,5 +201,5 @@
 				return CKEDITOR.document.getById( this._.inputId );
 			}
-		}, true);
+		}, true );
 CKEDITOR.ui.dialog.checkbox.prototype = CKEDITOR.tools.extend( new CKEDITOR.ui.dialog.uiElement,
 		{
@@ -207,5 +218,27 @@
 				return this.getElement().$.checked;
 			}
-		}, true);
+		}, true );
+
+CKEDITOR.ui.dialog.radio.prototype = CKEDITOR.tools.extend( new CKEDITOR.ui.dialog.uiElement,
+		{
+			setValue : function( value )
+			{
+				var children = this._.children,
+					item;
+				for ( var i = 0 ; ( i < children.length ) && ( item = children[i] ) ; i++ )
+					item.$.checked = ( item.getValue() == value );
+			},
+
+			getValue : function()
+			{
+				var children = this._.children;
+				for ( var i = 0 ; i < children.length ; i++ )
+				{
+					if ( children[i].$.checked )
+						return children[i].getValue();
+				}
+				return null;
+			}
+		}, true );
 
 CKEDITOR.dialog.addUIElement( 'text',
@@ -215,5 +248,5 @@
 				return new CKEDITOR.ui.dialog.textInput( dialog, elementDefinition, output );
 			}
-		}, true);
+		});
 
 CKEDITOR.dialog.addUIElement( 'password',
@@ -223,5 +256,5 @@
 				return new CKEDITOR.ui.dialog.textInput( dialog, elementDefinition, output );
 			}
-		}, true);
+		});
 
 CKEDITOR.dialog.addUIElement( 'checkbox',
@@ -231,5 +264,5 @@
 				return new CKEDITOR.ui.dialog.checkbox( dialog, elementDefinition, output );
 			}
-		}, true);
+		});
 
 CKEDITOR.dialog.addUIElement( 'radio',
