Index: /CKEditor/trunk/_source/plugins/toolbar/plugin.js
===================================================================
--- /CKEditor/trunk/_source/plugins/toolbar/plugin.js	(revision 3400)
+++ /CKEditor/trunk/_source/plugins/toolbar/plugin.js	(revision 3401)
@@ -46,4 +46,21 @@
 		}
 	};
+
+	var collapserFn = CKEDITOR.tools.addFunction(
+		function( collapser )
+		{
+			var toolbox = collapser.getPrevious();
+
+			if ( toolbox.isVisible() )
+			{
+				toolbox.hide();
+				collapser.addClass( 'cke_toolbox_collapser_min' );
+			}
+			else
+			{
+				toolbox.show();
+				collapser.removeClass( 'cke_toolbox_collapser_min' );
+			}
+		});
 
 	CKEDITOR.plugins.add( 'toolbar',
@@ -106,5 +123,8 @@
 						editor.toolbox = new toolbox();
 
-						var output = [ '<div class="cke_toolbox">' ];
+						var output = [ '<div class="cke_toolbox"' ],
+							expanded =  editor.config.toolbarStartupExpanded;
+
+						output.push( expanded ? '>' : ' style="display:none">' );
 
 						var toolbars = editor.toolbox.toolbars,
@@ -181,4 +201,14 @@
 
 						output.push( '</div>' );
+
+						if ( editor.config.toolbarCanCollapse )
+						{
+							output.push( '<a class="cke_toolbox_collapser' );
+
+							if ( !expanded )
+								output.push( ' cke_toolbox_collapser_min' );
+
+							output.push( '" onclick="CKEDITOR.tools.callFunction(' + collapserFn + ',new CKEDITOR.dom.element(this))"></a>' );
+						}
 
 						event.data.html += output.join( '' );
@@ -265,2 +295,5 @@
  */
 CKEDITOR.config.toolbar = 'Full';
+
+CKEDITOR.config.toolbarCanCollapse = true;
+CKEDITOR.config.toolbarStartupExpanded = true;
Index: /CKEditor/trunk/_source/skins/office2003/toolbar.css
===================================================================
--- /CKEditor/trunk/_source/skins/office2003/toolbar.css	(revision 3400)
+++ /CKEditor/trunk/_source/skins/office2003/toolbar.css	(revision 3401)
@@ -10,4 +10,37 @@
 		display: none;
 	}
+}
+
+.cke_skin_office2003 a.cke_toolbox_collapser, 
+.cke_skin_office2003 a:hover.cke_toolbox_collapser
+{
+	background-image: url(images/arrowtop.gif);
+	background-repeat: no-repeat;
+	background-position: center center;
+	width: 11px;
+	height: 11px;
+	float: right;
+	border: outset 1px;
+	margin: 11px 2px 2px;
+	cursor: pointer;
+}
+
+.cke_skin_office2003 .cke_rtl a.cke_toolbox_collapser, 
+.cke_skin_office2003 .cke_rtl a:hover.cke_toolbox_collapser
+{
+	float: left;
+}
+
+.cke_skin_office2003 a.cke_toolbox_collapser_min, 
+.cke_skin_office2003 a:hover.cke_toolbox_collapser_min
+{
+	background-image: url(images/arrowleft.gif);
+	margin: 2px;
+}
+
+.cke_skin_office2003 .cke_rtl a.cke_toolbox_collapser_min, 
+.cke_skin_office2003 .cke_rtl a:hover.cke_toolbox_collapser_min
+{
+	background-image: url(images/arrowright.gif);
 }
 
Index: /CKEditor/trunk/_source/skins/v2/toolbar.css
===================================================================
--- /CKEditor/trunk/_source/skins/v2/toolbar.css	(revision 3400)
+++ /CKEditor/trunk/_source/skins/v2/toolbar.css	(revision 3401)
@@ -15,4 +15,37 @@
 		display: none;
 	}
+}
+
+.cke_skin_v2 a.cke_toolbox_collapser, 
+.cke_skin_v2 a:hover.cke_toolbox_collapser
+{
+	background-image: url(images/arrowtop.gif);
+	background-repeat: no-repeat;
+	background-position: center center;
+	width: 11px;
+	height: 11px;
+	float: right;
+	border: outset 1px;
+	margin: 11px 2px 2px;
+	cursor: pointer;
+}
+
+.cke_skin_v2 .cke_rtl a.cke_toolbox_collapser, 
+.cke_skin_v2 .cke_rtl a:hover.cke_toolbox_collapser
+{
+	float: left;
+}
+
+.cke_skin_v2 a.cke_toolbox_collapser_min, 
+.cke_skin_v2 a:hover.cke_toolbox_collapser_min
+{
+	background-image: url(images/arrowleft.gif);
+	margin: 2px;
+}
+
+.cke_skin_v2 .cke_rtl a.cke_toolbox_collapser_min, 
+.cke_skin_v2 .cke_rtl a:hover.cke_toolbox_collapser_min
+{
+	background-image: url(images/arrowright.gif);
 }
 
