Index: /CKEditor/branches/versions/3.1.x/CHANGES.html
===================================================================
--- /CKEditor/branches/versions/3.1.x/CHANGES.html	(revision 4580)
+++ /CKEditor/branches/versions/3.1.x/CHANGES.html	(revision 4581)
@@ -86,4 +86,10 @@
 		<li><a href="http://dev.fckeditor.net/ticket/3165">#3165</a> : Fixed enter key in empty list item before nested one result in collapsed line.</li>
 		<li><a href="http://dev.fckeditor.net/ticket/4527">#4527</a> : Fixed checkbox generate invalid 'checked' attribute.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/1659">#1659</a> : Fixed unable to click below content to start editing in IE with 'config.docType' setting to standard compliant.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/3933">#3933</a> : Fixed extra &lt;br&gt; left at the end of document when the last element is a table.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/4461">#4461</a> : Fixed toolbar separator line along side combo penetrate toolbar height.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/4596">#4596</a> : Fixed image re-size lock buttons aren't accessible in high-contrast mode.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/4676">#4676</a> : Fixed editing tables using table properties dialog overwrites original style values.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/4714">#4714</a> : Fixed IE6 JavaScript error when editing flash by commit 'Flash' dialog.</li>
 	</ul>
 	<h3>
Index: /CKEditor/branches/versions/3.1.x/_source/lang/de.js
===================================================================
--- /CKEditor/branches/versions/3.1.x/_source/lang/de.js	(revision 4580)
+++ /CKEditor/branches/versions/3.1.x/_source/lang/de.js	(revision 4581)
@@ -610,44 +610,44 @@
 	colors :
 	{
-		'000' : 'Black',
-		'800000' : 'Maroon',
-		'8B4513' : 'Saddle Brown',
-		'2F4F4F' : 'Dark Slate Gray',
-		'008080' : 'Teal',
+		'000' : 'Schwarz',
+		'800000' : 'Kastanienbraun',
+		'8B4513' : 'Braun',
+		'2F4F4F' : 'Dunkles Schiefergrau',
+		'008080' : 'Blaugrün',
 		'000080' : 'Navy',
 		'4B0082' : 'Indigo',
-		'696969' : 'Dim Gray',
-		'B22222' : 'Fire Brick',
-		'A52A2A' : 'Brown',
-		'DAA520' : 'Golden Rod',
-		'006400' : 'Dark Green',
-		'40E0D0' : 'Turquoise',
-		'0000CD' : 'Medium Blue',
-		'800080' : 'Purple',
-		'808080' : 'Gray',
-		'F00' : 'Red',
-		'FF8C00' : 'Dark Orange',
+		'696969' : 'Dunkelgrau',
+		'B22222' : 'Ziegelrot',
+		'A52A2A' : 'Braun',
+		'DAA520' : 'Goldgelb',
+		'006400' : 'Dunkelgrün',
+		'40E0D0' : 'Türkis',
+		'0000CD' : 'Medium Blau',
+		'800080' : 'Lila',
+		'808080' : 'Grau',
+		'F00' : 'Rot',
+		'FF8C00' : 'Dunkelorange',
 		'FFD700' : 'Gold',
-		'008000' : 'Green',
+		'008000' : 'Grün',
 		'0FF' : 'Cyan',
-		'00F' : 'Blue',
-		'EE82EE' : 'Violet',
-		'A9A9A9' : 'Dark Gray',
-		'FFA07A' : 'Light Salmon',
+		'00F' : 'Blau',
+		'EE82EE' : 'Hellviolett',
+		'A9A9A9' : 'Dunkelgrau',
+		'FFA07A' : 'Helles Lachsrosa',
 		'FFA500' : 'Orange',
-		'FFFF00' : 'Yellow',
+		'FFFF00' : 'Gelb',
 		'00FF00' : 'Lime',
-		'AFEEEE' : 'Pale Turquoise',
-		'ADD8E6' : 'Light Blue',
-		'DDA0DD' : 'Plum',
-		'D3D3D3' : 'Light Grey',
-		'FFF0F5' : 'Lavender Blush',
-		'FAEBD7' : 'Antique White',
-		'FFFFE0' : 'Light Yellow',
-		'F0FFF0' : 'Honeydew',
-		'F0FFFF' : 'Azure',
-		'F0F8FF' : 'Alice Blue',
-		'E6E6FA' : 'Lavender',
-		'FFF' : 'White'
+		'AFEEEE' : 'Blaß-Türkis',
+		'ADD8E6' : 'Hellblau',
+		'DDA0DD' : 'Pflaumenblau',
+		'D3D3D3' : 'Hellgrau',
+		'FFF0F5' : 'Lavendel',
+		'FAEBD7' : 'Antik Weiß',
+		'FFFFE0' : 'Hellgelb',
+		'F0FFF0' : 'Honigtau',
+		'F0FFFF' : 'Azurblau',
+		'F0F8FF' : 'Alice Blau',
+		'E6E6FA' : 'Lavendel',
+		'FFF' : 'Weiß'
 	},
 
Index: /CKEditor/branches/versions/3.1.x/_source/plugins/flash/dialogs/flash.js
===================================================================
--- /CKEditor/branches/versions/3.1.x/_source/plugins/flash/dialogs/flash.js	(revision 4580)
+++ /CKEditor/branches/versions/3.1.x/_source/plugins/flash/dialogs/flash.js	(revision 4581)
@@ -272,5 +272,8 @@
 				newFakeImage.setStyles( extraStyles );
 				if ( this.fakeImage )
+				{
 					newFakeImage.replace( this.fakeImage );
+					editor.getSelection().selectElement( newFakeImage );
+				}
 				else
 					editor.insertElement( newFakeImage );
Index: /CKEditor/branches/versions/3.1.x/_source/plugins/table/dialogs/table.js
===================================================================
--- /CKEditor/branches/versions/3.1.x/_source/plugins/table/dialogs/table.js	(revision 4580)
+++ /CKEditor/branches/versions/3.1.x/_source/plugins/table/dialogs/table.js	(revision 4581)
@@ -175,14 +175,17 @@
 					var styles = [];
 					if ( info.txtHeight )
-						styles.push( 'height:' + info.txtHeight + 'px' );
+						table.setStyle( 'height', CKEDITOR.tools.cssLength( info.txtHeight ) );
+					else
+						table.removeStyle( 'height' );
+
 					if ( info.txtWidth )
 					{
 						var type = info.cmbWidthType || 'pixels';
-						styles.push( 'width:' + info.txtWidth + ( type == 'pixels' ? 'px' : '%' ) );
-					}
-					styles = styles.join( ';' );
-					if ( styles )
-						table.$.style.cssText = styles;
+						table.setStyle( 'width', info.txtWidth + ( type == 'pixels' ? 'px' : '%' ) );
+					}
 					else
+						table.removeStyle( 'width' );
+
+					if( !table.getAttribute( 'style' ) )
 						table.removeAttribute( 'style' );
 				}
Index: /CKEditor/branches/versions/3.1.x/_source/plugins/wysiwygarea/plugin.js
===================================================================
--- /CKEditor/branches/versions/3.1.x/_source/plugins/wysiwygarea/plugin.js	(revision 4580)
+++ /CKEditor/branches/versions/3.1.x/_source/plugins/wysiwygarea/plugin.js	(revision 4581)
@@ -140,4 +140,18 @@
 	}
 
+	var isNotWhitespace = CKEDITOR.dom.walker.whitespaces( true ),
+		isNotBookmark = CKEDITOR.dom.walker.bookmark( false, true );
+
+	function isNotEmpty( node )
+	{
+		return isNotWhitespace( node ) && isNotBookmark( node );
+	};
+
+	function isNbsp( node )
+	{
+		return node.type == CKEDITOR.NODE_TEXT
+			   && CKEDITOR.tools.trim( node.getText() ).match( /^(?:&nbsp;|\xa0)$/ );
+	}
+
 	/**
 	 *  Auto-fixing block-less content by wrapping paragraph (#3190), prevent
@@ -166,14 +180,9 @@
 					editor.config.enterMode == CKEDITOR.ENTER_DIV ? 'div' : 'p'  );
 
-			// For IE, we'll be removing any bogus br ( introduce by fixing body )
-			// right now to prevent it introducing visual line break.
+			// For IE, we should remove any filler node which was introduced before.
 			if ( CKEDITOR.env.ie )
 			{
-				var brNodeList = fixedBlock.getElementsByTag( 'br' ), brNode;
-				for ( var i = 0 ; i < brNodeList.count() ; i++ )
-				{
-					if( ( brNode = brNodeList.getItem( i ) ) && brNode.hasAttribute( '_cke_bogus' ) )
-						brNode.remove();
-				}
+				var first = fixedBlock.getFirst( isNotEmpty );
+				isNbsp( first ) && first.remove();
 			}
 
@@ -185,7 +194,6 @@
 				count = children.count(),
 				firstChild,
-				whitespaceGuard = CKEDITOR.dom.walker.whitespaces( true ),
-				previousElement = fixedBlock.getPrevious( whitespaceGuard ),
-				nextElement = fixedBlock.getNext( whitespaceGuard ),
+				previousElement = fixedBlock.getPrevious( isNotWhitespace ),
+				nextElement = fixedBlock.getNext( isNotWhitespace ),
 				enterBlock;
 			if ( previousElement && previousElement.getName
@@ -207,14 +215,15 @@
 		}
 
-		// Inserting the padding-br before body if it's preceded by an
-		// unexitable block.
+		// All browsers are incapable to moving cursor out of certain non-exitable
+		// blocks (e.g. table, list, pre) at the end of document, make this happen by
+		// place a bogus node there, which would be later removed by dataprocessor.  
 		var lastNode = body.getLast( CKEDITOR.dom.walker.whitespaces( true ) );
 		if ( lastNode && lastNode.getName && ( lastNode.getName() in nonExitableElementNames ) )
 		{
 			restoreDirty( editor );
-			var paddingBlock = editor.document.createElement(
-					( CKEDITOR.env.ie && enterMode != CKEDITOR.ENTER_BR ) ?
-						'<br _cke_bogus="true" />' : 'br' );
-			body.append( paddingBlock );
+			if( !CKEDITOR.env.ie )
+				body.appendBogus();
+			else
+				body.append( editor.document.createText( '\xa0' ) );
 		}
 	}
@@ -407,4 +416,20 @@
 						}
 
+						// IE standard compliant in editing frame doesn't focus the editor when
+						// clicking outside actual content, manually apply the focus. (#1659)
+						if( CKEDITOR.env.ie
+							&& domDocument.$.compatMode == 'CSS1Compat' )
+						{
+							var htmlElement = domDocument.getDocumentElement();
+							htmlElement.on( 'mousedown', function( evt )
+							{
+								// Setting focus directly on editor doesn't work, we
+								// have to use here a temporary element to 'redirect'
+								// the focus. 
+								if ( evt.data.getTarget().equals( htmlElement ) )
+									ieFocusGrabber.focus();
+							} );
+						}
+
 						var focusTarget = ( CKEDITOR.env.ie || CKEDITOR.env.webkit ) ?
 								domWindow : domDocument;
@@ -634,4 +659,20 @@
 					editor.on( 'selectionChange', onSelectionChangeFixBody, null, null, 1 );
 				});
+
+			// Create an invisible element to grab focus.
+			if( CKEDITOR.env.ie )
+			{
+				var ieFocusGrabber;
+				editor.on( 'uiReady', function()
+				{
+					ieFocusGrabber = editor.container.append( CKEDITOR.dom.element.createFromHtml(
+					'<input tabindex="-1" style="position:absolute; left:-10000">' ) );
+
+					ieFocusGrabber.on( 'focus', function()
+						{
+							editor.focus();
+						} );
+				} );
+			}
 		}
 	});
Index: /CKEditor/branches/versions/3.1.x/_source/skins/kama/dialog.css
===================================================================
--- /CKEditor/branches/versions/3.1.x/_source/skins/kama/dialog.css	(revision 4580)
+++ /CKEditor/branches/versions/3.1.x/_source/skins/kama/dialog.css	(revision 4581)
@@ -728,4 +728,10 @@
 	top: 3px;
 }
+.cke_skin_kama .cke_hc a.cke_btn_locked,
+.cke_skin_kama .cke_hc a.cke_btn_unlocked,
+.cke_skin_kama .cke_hc a.cke_btn_reset
+{
+	border-style: solid;
+}
 
 .cke_skin_kama a.cke_smile img
Index: /CKEditor/branches/versions/3.1.x/_source/skins/office2003/dialog.css
===================================================================
--- /CKEditor/branches/versions/3.1.x/_source/skins/office2003/dialog.css	(revision 4580)
+++ /CKEditor/branches/versions/3.1.x/_source/skins/office2003/dialog.css	(revision 4581)
@@ -642,2 +642,9 @@
 	top: 3px;
 }
+
+.cke_skin_office2003 .cke_hc a.cke_btn_locked,
+.cke_skin_office2003 .cke_hc a.cke_btn_unlocked,
+.cke_skin_office2003 .cke_hc a.cke_btn_reset
+{
+	border-style: solid;
+}
Index: /CKEditor/branches/versions/3.1.x/_source/skins/office2003/toolbar.css
===================================================================
--- /CKEditor/branches/versions/3.1.x/_source/skins/office2003/toolbar.css	(revision 4580)
+++ /CKEditor/branches/versions/3.1.x/_source/skins/office2003/toolbar.css	(revision 4581)
@@ -448,4 +448,9 @@
 }
 
+/* Separator + Combo penetrate toolbar in IE quirks. (#4461) */
+.cke_skin_office2003 .cke_browser_iequirks .cke_separator
+{
+	vertical-align: text-bottom;
+}
 /* Fix cursor shape consistency on toolbar combos (#4031) */
 .cke_skin_office2003 .cke_browser_ie .cke_rcombo,
Index: /CKEditor/branches/versions/3.1.x/_source/skins/v2/dialog.css
===================================================================
--- /CKEditor/branches/versions/3.1.x/_source/skins/v2/dialog.css	(revision 4580)
+++ /CKEditor/branches/versions/3.1.x/_source/skins/v2/dialog.css	(revision 4581)
@@ -639,4 +639,10 @@
 	top: 3px;
 }
+.cke_skin_v2 .cke_hc a.cke_btn_locked,
+.cke_skin_v2 .cke_hc a.cke_btn_unlocked,
+.cke_skin_v2 .cke_hc a.cke_btn_reset
+{
+	border-style: solid;
+}
 
 .cke_skin_v2 a.cke_smile img
Index: /CKEditor/branches/versions/3.1.x/_source/skins/v2/toolbar.css
===================================================================
--- /CKEditor/branches/versions/3.1.x/_source/skins/v2/toolbar.css	(revision 4580)
+++ /CKEditor/branches/versions/3.1.x/_source/skins/v2/toolbar.css	(revision 4581)
@@ -97,5 +97,5 @@
 	float: left;
 	border-left: solid 1px #999;
-	margin: 0 2px;
+	margin: 4px 2px;
 	height: 16px;
 }
