Index: /FCKeditor/branches/features/floating_dialog/editor/_source/internals/fck.js
===================================================================
--- /FCKeditor/branches/features/floating_dialog/editor/_source/internals/fck.js	(revision 1103)
+++ /FCKeditor/branches/features/floating_dialog/editor/_source/internals/fck.js	(revision 1104)
@@ -748,20 +748,4 @@
 			this.BackgroundBlocker.src = FCKConfig.SkinPath + 'fck_background_blocker.html' ;
 			this.EditorBlocker.src = FCKConfig.SkinPath + 'fck_editor_blocker.html' ;
-			this.BackgroundBlocker.onload = this.BackgroundBlocker.onreadystatechange = function( evt )
-			{
-				if ( !evt )
-					evt = this.ownerDocument.parentWindow.event ;
-				if ( evt.type == 'readystatechange' && this.readyState != 'complete' )
-					return ;
-				FCK.Events.FireEvent( 'OnBackgroundBlockerLoaded', this.contentWindow ) ;
-			}
-			this.EditorBlocker.onload = this.EditorBlocker.onreadystatechange = function( evt )
-			{
-				if ( !evt )
-					evt = this.ownerDocument.parentWindow.event ;
-				if ( evt.type == 'readystatechange' && this.readyState != 'complete' )
-					return ;
-				FCK.Events.FireEvent( 'OnEditorBlockerLoaded', this.contentWindow ) ;
-			}
 
 			this.BackgroundBlocker.frameBorder = 0 ;
@@ -804,7 +788,7 @@
 			FCKDebug.Output( 'height: ' + doc.documentElement.scrollHeight + ':' + doc.documentElement.clientHeight + ':'
 					+ doc.body.scrollHeight ) ;
-			*/
 			FCKDebug.Output( 'frame.x: ' + editorFrameCoords.x + ', frame.y:' + editorFrameCoords.y
 				      + ', ancestor.x: ' + positionedAncestorCoords.x + ', ancestor.y: ' + positionedAncestorCoords.y ) ;
+			*/
 			FCKDomTools.SetElementStyles( this.BackgroundBlocker,
 				{
Index: /FCKeditor/branches/features/floating_dialog/editor/_source/internals/fckdialog.js
===================================================================
--- /FCKeditor/branches/features/floating_dialog/editor/_source/internals/fckdialog.js	(revision 1103)
+++ /FCKeditor/branches/features/floating_dialog/editor/_source/internals/fckdialog.js	(revision 1104)
@@ -137,9 +137,17 @@
 	// Register drag handlers.
 	this.InitDragHandlers( ownerWindow ) ;
-	if ( ! this._RegisteredBlockerHandlers )
-	{
-		FCK.Events.AttachEvent( 'OnBackgroundBlockerLoaded', function( FCK, w ) { FCKDialog.RegisterDragHandlers( w ) ; } ) ;
-		FCK.Events.AttachEvent( 'OnEditorBlockerLoaded', function( FCK, w ) { FCKDialog.RegisterDragHandlers( w ) ; } ) ;
-		this._RegisteredBlockerHandlers = true ;
+	if ( ! FCK.ToolbarSet.CurrentInstance._FCKDialog_RegisteredBlockerHandlers )
+	{
+		FCKTools.AddIFrameOnLoadListener( FCK.ToolbarSet.CurrentInstance.BackgroundBlocker, 
+				function( evt )
+				{
+					FCKDialog.RegisterDragHandlers( this.contentWindow ) ;
+				} ) ;
+		FCKTools.AddIFrameOnLoadListener( FCK.ToolbarSet.CurrentInstance.EditorBlocker,
+				function( evt )
+				{
+					FCKDialog.RegisterDragHandlers( this.contentWindow ) ;
+				} ) ;
+		FCK.ToolbarSet.CurrentInstance._FCKDialog_RegisteredBlockerHandlers = true ;
 	}
 }
Index: /FCKeditor/branches/features/floating_dialog/editor/_source/internals/fcktools.js
===================================================================
--- /FCKeditor/branches/features/floating_dialog/editor/_source/internals/fcktools.js	(revision 1103)
+++ /FCKeditor/branches/features/floating_dialog/editor/_source/internals/fcktools.js	(revision 1104)
@@ -620,2 +620,18 @@
   return function() { obj[methodName].apply(obj, arguments); } ;
 }
+
+FCKTools.AddIFrameOnLoadListener = function( iframe, functionPointer )
+{
+	var agent = function( evt )
+	{
+		if ( ! evt )
+			evt = this.ownerDocument.parentWindow.event ;
+		if ( evt.type == 'readystatechange' && evt.srcElement.readyState != 'complete' )
+			return ;
+		functionPointer.apply( FCKBrowserInfo.IsIE ? evt.srcElement : this, [evt] ) ;
+	}
+	if ( FCKBrowserInfo.IsIE )
+		this.AddEventListener( iframe, 'readystatechange', agent ) ;
+	else
+		this.AddEventListener( iframe, 'load', agent ) ;
+}
Index: /FCKeditor/branches/features/floating_dialog/editor/fckdialog.html
===================================================================
--- /FCKeditor/branches/features/floating_dialog/editor/fckdialog.html	(revision 1103)
+++ /FCKeditor/branches/features/floating_dialog/editor/fckdialog.html	(revision 1104)
@@ -49,4 +49,16 @@
 	RefreshContainerSize() ;
 	LoadInnerDialog() ;
+	var titleElement = document.getElementById( 'TitleArea' ) ;
+	titleElement.onmousedown = oEditor.FCKDialog._DragMouseDownHandler ;
+
+	if ( oEditor.FCKBrowserInfo.IsIE )
+		titleElement.setAttribute( 'unselectable', 'on' ) ;
+	else if ( oEditor.FCKBrowserInfo.IsGecko )
+		titleElement.style.MozUserSelect = 'none' ;
+	else if ( oEditor.FCKBrowserInfo.IsSafari )
+		titleElement.style.KhtmlUserSelect = 'none' ;
+	else
+		titleElement.style.userSelect = 'none' ;
+	oEditor.FCKDialog.RegisterDragHandlers( window ) ;
 }
 
@@ -77,4 +89,5 @@
 	DisableContextMenu( oInnerDoc ) ;
 
+	oEditor.FCKDialog.RegisterDragHandlers( document.getElementById('frmMain').contentWindow ) ;
 	return oEditor ;
 }
Index: /FCKeditor/branches/features/floating_dialog/editor/skins/default/fck_dialog.css
===================================================================
--- /FCKeditor/branches/features/floating_dialog/editor/skins/default/fck_dialog.css	(revision 1103)
+++ /FCKeditor/branches/features/floating_dialog/editor/skins/default/fck_dialog.css	(revision 1104)
@@ -57,4 +57,5 @@
 	background-color: #e3e3c7;
 	padding: 3px 10px 3px 10px;
+	cursor: default;
 }
 
