Index: /FCKeditor/branches/features/floating_dialog/editor/fckdialog.html
===================================================================
--- /FCKeditor/branches/features/floating_dialog/editor/fckdialog.html	(revision 1206)
+++ /FCKeditor/branches/features/floating_dialog/editor/fckdialog.html	(revision 1207)
@@ -358,10 +358,7 @@
 DisableContextMenu( document ) ;
 
-if ( args.Editor.FCKBrowserInfo.IsGecko && !args.Editor.FCKBrowserInfo.IsOpera )
-{
-	window.onresize = function( e )
-	{
-		RefreshContainerSize() ;
-	}
+window.onresize = function( e )
+{
+	RefreshContainerSize() ;
 }
 
Index: /FCKeditor/branches/features/floating_dialog/editor/skins/default/dialog_ie6.htc
===================================================================
--- /FCKeditor/branches/features/floating_dialog/editor/skins/default/dialog_ie6.htc	(revision 1207)
+++ /FCKeditor/branches/features/floating_dialog/editor/skins/default/dialog_ie6.htc	(revision 1207)
@@ -0,0 +1,80 @@
+<script type="text/javascript">
+
+/**
+ * On IE6-, some absolute positioning properties, like "right" and "bottom"
+ * will have no/unexpected effects. We need to manually fix it when resizing
+ * the window.
+ *
+ * We have choosen to use the IE Behavior feature to include this script in the
+ * page, to avoid having to include a script in the dialog HTML page that could
+ * not be needed by other skins, even if probably this HTC will always be
+ * needed.
+ *
+ * The following fixes could be done with the "expression()" property in the
+ * CSS, but it brings severe performance issues, which could even break the
+ * browser.
+ */
+
+;(function()
+{
+	var fixSizes = function()
+	{
+		var fckDlg = window.document.body ;
+		
+		for ( var i = 0 ; i < fckDlg.childNodes.length ; i++ )
+		{
+			var child = fckDlg.childNodes[i] ;
+			switch ( child.className )
+			{
+				case 'contents' :
+					child.style.width = Math.max( 0, fckDlg.offsetWidth - 16 - 16 ) ;	// -left -right
+					child.style.height = Math.max( 0, fckDlg.clientHeight - 20 - 2 ) ;	// -bottom -top
+					break ;
+
+				case 'blocker' :
+				case 'cover' :
+					child.style.width = Math.max( 0, fckDlg.offsetWidth - 16 - 16 + 4 ) ;	// -left -right + 4
+					child.style.height = Math.max( 0, fckDlg.clientHeight - 20 - 2 + 4 ) ;	// -bottom -top + 4
+					break ;
+				
+				case 'tr' :
+					child.style.left = Math.max( 0, fckDlg.clientWidth - 16 ) ;
+					break ;
+
+				case 'tc' :
+					child.style.width = Math.max( 0, fckDlg.clientWidth - 16 - 16 ) ;
+					break ;
+				
+				case 'ml' :
+					child.style.height = Math.max( 0, fckDlg.clientHeight - 16 - 51 ) ;
+					break ;
+				
+				case 'mr' :
+					child.style.left = Math.max( 0, fckDlg.clientWidth - 16 ) ;
+					child.style.height = Math.max( 0, fckDlg.clientHeight - 16 - 51 ) ;
+					break ;
+				
+				case 'bl' :
+					child.style.top = Math.max( 0, fckDlg.clientHeight - 51 ) ;
+					break ;
+				
+				case 'br' :
+					child.style.left = Math.max( 0, fckDlg.clientWidth - 30 ) ;
+					child.style.top = Math.max( 0, fckDlg.clientHeight - 51 ) ;
+					break ;
+				
+				case 'bc' :
+					child.style.width = Math.max( 0, fckDlg.clientWidth - 30 - 30 ) ;
+					child.style.top = Math.max( 0, fckDlg.clientHeight - 51 ) ;
+					break ;
+			}
+		}
+	}
+	
+	fixSizes() ;
+	
+	window.attachEvent( 'onresize', fixSizes ) ;
+
+})() ;
+
+</script>
Index: /FCKeditor/branches/features/floating_dialog/editor/skins/default/fck_dialog.css
===================================================================
--- /FCKeditor/branches/features/floating_dialog/editor/skins/default/fck_dialog.css	(revision 1206)
+++ /FCKeditor/branches/features/floating_dialog/editor/skins/default/fck_dialog.css	(revision 1207)
@@ -142,5 +142,6 @@
 	position: absolute ;
 	right: 0px ;
-	margin-top : 5px ;
+	top: 0px ;
+	margin-top : 8px ;
 	margin-right: 10px ;
 	cursor: pointer ;
