Index: /FCKeditor/branches/versions/2.6.x/_dev/build_release.bat
===================================================================
--- /FCKeditor/branches/versions/2.6.x/_dev/build_release.bat	(revision 2112)
+++ /FCKeditor/branches/versions/2.6.x/_dev/build_release.bat	(revision 2113)
@@ -26,5 +26,5 @@
 
 :: Update this variable for each new release.
-SET RELEASER_VERSION=2.6.1
+SET RELEASER_VERSION=2.6.2
 
 CLS
Index: /FCKeditor/branches/versions/2.6.x/_whatsnew.html
===================================================================
--- /FCKeditor/branches/versions/2.6.x/_whatsnew.html	(revision 2112)
+++ /FCKeditor/branches/versions/2.6.x/_whatsnew.html	(revision 2113)
@@ -34,111 +34,49 @@
 		FCKeditor ChangeLog - What's New?</h1>
 	<h3>
-		Version 2.6.1</h3>
+		Version 2.6.2</h3>
 	<p>
 		New Features and Improvements:</p>
 	<ul>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2150">#2150</a>] The searching
-			speed of the Find/Replace dialog has been vastly improved.</li>
-		<li>New language file for <strong>Gujarati</strong> (by Nilam Doctor).</li>
-		<li>A new TabIndex property has been added to the JavaScript integration files.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2215">#2215</a>] Following
-			the above new feature, the ReplaceTextarea method will now copy the textarea.tabIndex
-			value if available.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2163">#2163</a>] If the
-			FCKConfig.DocType setting points to a HTML DocType then the output won't generate
-			self-closing tags (it will output &lt;img &gt; instead of &lt;img /&gt;).</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2173">#2173</a>] A throbber
-			will be shown in the Quick Uploads.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2142">#2142</a>] HTML
-			samples will now use sampleposteddata.php in action parameter inside a form.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2043">#2043</a>] The debug
+			script is not any more part of the compressed files. If FCKeditor native debugging
+			features (FCKDebug) are required, the _source folder must be present in your installation.</li>
 	</ul>
 	<p>
 		Fixed Bugs:</p>
 	<ul>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/768">#768</a>] It is no
-			longer possible for an image to have its width and height defined with both HTML
-			attributes and inline CSS styles in IE.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1426">#1426</a>] Fixed
-			the error loading fckstyles.xml in servers which cannot return the correct content
-			type header for .xml files.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2102">#2102</a>] Fixed
-			FCKConfig.DocType which stopped working in FCKeditor 2.6.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2039">#2039</a>] Fixed
-			the locking up issue in the Find/Replace dialog.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2124">#2124</a>] PHP File
-			Browser: fixed issue with resolving paths on Windows servers with PHP 5.2.4/5.2.5.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2059">#2059</a>] Fixed
-			the error in the toolbar name in fckeditor.py.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2065">#2065</a>] Floating
-			dialogs will now block the user from re-selecting the editing area by pressing Tab.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2114">#2114</a>] Added
-			a workaround for an IE6 bug which causes floating dialogs to appear blank after
-			opening it for the first time.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2136">#2136</a>] Fixed
-			JavaScript error in IE when opening the bullet list properties dialog.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1633">#1633</a>] External
-			styles should no longer interfere with the appearance of the editor and floating
-			panels now.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2113">#2113</a>] Fixed
-			unneeded &lt;span class=&quot;Apple-style-span&quot;&gt; created after inserting
-			special characters.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2170">#2170</a>] Fixed
-			Ctrl-Insert hotkey for copying.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2125">#2125</a>] Fixed
-			the issue that FCK.InsertHtml() doesn't insert contents at the caret position when
-			dialogs are opened in IE. </li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1764">#1764</a>] FCKeditor
-			will no longer catch focus in IE on load when StartupFocus is false and the initial
-			content is empty.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2126">#2126</a>] Opening
-			and closing floating dialogs will no longer cause toolbar button states to become
-			frozen.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2159">#2159</a>] Selection
-			are now correctly restored when undoing changes made by the Replace dialog.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2160">#2160</a>] "Match
-			whole word" in the Find and Replace dialog will now find words next to punctuation
-			marks as well.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2162">#2162</a>] If the
-			configuration is set to work including the &lt;head&gt; (FullPage), references to
-			stylesheets added by Firefox extensions won't be added to the output.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2168">#2168</a>] Comments
-			won't generate new paragraphs in the output.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2184">#2184</a>] Fixed
-			several validation errors in the File Browser.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1383">#1383</a>] Fixed
-			an IE issue where pressing backspace may merge a hyperlink on the previous line
-			with the text on the current line.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1691">#1691</a>] Creation
-			of links in Safari failed if there was no selection.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2188">#2188</a>] PreserveSessionOnFileBrowser
-			is now removed as it was made obsolete with 2.6.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/898">#898</a>] The styles
-			for the editing area are applied in the image preview dialog.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2056">#2056</a>] Fixed
-			several validation errors in the dialogs.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2063">#2063</a>] Fixed
-			some problems in asp related to the use of network paths for the location of the
-			uploaded files.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1593">#1593</a>] The "Sample
-			Posted Data" page will now properly wrap the text.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2239">#2239</a>] The PHP
-			code in sampleposteddata.php has been changed from "&lt;?=" to "&lt;? echo".</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2241">#2241</a>] Fixed
-			404 error in floating panels when FCKeditor is installed to a different domain.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2066">#2066</a>] Added
-			a workaround for a Mac Safari 3.1 browser bug which caused the Fit Window button
-			to give a blank screen.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2218">#2218</a>] Improved
-			Gecko based browser detection to accept Epiphany/Gecko as well.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2193">#2193</a>] Fixed
-			the issue where the caret cannot reach the last character of a paragraph in Opera
-			9.50.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2264">#2264</a>] Fixed
-			empty spaces that appear at the top of the editor in Opera 9.50.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2238">#2238</a>] The &lt;object&gt;
-			placeholder was not being properly displayed in the compressed distribution version
-			and nightly builds.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2115">#2115</a>] Fixed
-			JavaScript (permission denied) error in Firefox when file has been uploaded.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2248">#2248</a>] Calling
+			FCK.InsertHtml( 'nbsp;') was inserting a plain space instead of a non breaking space
+			character.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2273">#2273</a>] The dragresizetable
+			plugin now works in Firefox 3 as well.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2254">#2254</a>] Minor
+			fix in FCKSelection for nodeTagName object.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1614">#1614</a>] Unified
+			FCKConfig.FullBasePath with FCKConfig.BasePath.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2127">#2127</a>] Changed
+			floating dialogs to use fixed positioning so that they are no longer affected by
+			scrolling.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2018">#2018</a>] Reversed
+			the fix for <a target="_blank" href="http://dev.fckeditor.net/ticket/183">#183</a>
+			which broke FCKeditorAPI's cleanup logic. A new configuration directive <strong>MsWebBrowserControlCompat</strong>
+			has been added for those who wish to force the #183 fix to be enabled.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2276">#2276</a>] [<a
+			target="_blank" href="http://dev.fckeditor.net/ticket/2279">#2279</a>] On Opera
+			and Firefox 3, the entire page was scrolling on ENTER.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2149">#2149</a>] CSS urls
+			with querystring parameters were not being accepted for CSS values in the configuration
+			file (like EditorAreaCSS).</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2287">#2287</a>] On some
+			specific cases, with Firefox 2, some extra spacing was appearing in the final HTML
+			on posting, if inserting two successive tables.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2287">#2287</a>] Block
+			elements (like tables or horizontal rules) will be inserted correctly now when the
+			cursor is at the start or the end of blocks. No extra paragraphs will be included
+			in this operation.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2149">#2197</a>] The TAB
+			key will now have the default browser behavior if TabSpaces=0. It will move the
+			focus out of the editor (expect on Safari).</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2296">#2296</a>] Fixed
+			permission denied error on clicking on files in the file browser.</li>
 	</ul>
 	<p>
Index: /FCKeditor/branches/versions/2.6.x/_whatsnew_history.html
===================================================================
--- /FCKeditor/branches/versions/2.6.x/_whatsnew_history.html	(revision 2112)
+++ /FCKeditor/branches/versions/2.6.x/_whatsnew_history.html	(revision 2113)
@@ -33,4 +33,113 @@
 	<h1>
 		FCKeditor ChangeLog - What's New?</h1>
+	<h3>
+		Version 2.6.1</h3>
+	<p>
+		New Features and Improvements:</p>
+	<ul>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2150">#2150</a>] The searching
+			speed of the Find/Replace dialog has been vastly improved.</li>
+		<li>New language file for <strong>Gujarati</strong> (by Nilam Doctor).</li>
+		<li>A new TabIndex property has been added to the JavaScript integration files.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2215">#2215</a>] Following
+			the above new feature, the ReplaceTextarea method will now copy the textarea.tabIndex
+			value if available.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2163">#2163</a>] If the
+			FCKConfig.DocType setting points to a HTML DocType then the output won't generate
+			self-closing tags (it will output &lt;img &gt; instead of &lt;img /&gt;).</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2173">#2173</a>] A throbber
+			will be shown in the Quick Uploads.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2142">#2142</a>] HTML
+			samples will now use sampleposteddata.php in action parameter inside a form.</li>
+	</ul>
+	<p>
+		Fixed Bugs:</p>
+	<ul>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/768">#768</a>] It is no
+			longer possible for an image to have its width and height defined with both HTML
+			attributes and inline CSS styles in IE.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1426">#1426</a>] Fixed
+			the error loading fckstyles.xml in servers which cannot return the correct content
+			type header for .xml files.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2102">#2102</a>] Fixed
+			FCKConfig.DocType which stopped working in FCKeditor 2.6.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2039">#2039</a>] Fixed
+			the locking up issue in the Find/Replace dialog.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2124">#2124</a>] PHP File
+			Browser: fixed issue with resolving paths on Windows servers with PHP 5.2.4/5.2.5.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2059">#2059</a>] Fixed
+			the error in the toolbar name in fckeditor.py.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2065">#2065</a>] Floating
+			dialogs will now block the user from re-selecting the editing area by pressing Tab.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2114">#2114</a>] Added
+			a workaround for an IE6 bug which causes floating dialogs to appear blank after
+			opening it for the first time.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2136">#2136</a>] Fixed
+			JavaScript error in IE when opening the bullet list properties dialog.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1633">#1633</a>] External
+			styles should no longer interfere with the appearance of the editor and floating
+			panels now.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2113">#2113</a>] Fixed
+			unneeded &lt;span class=&quot;Apple-style-span&quot;&gt; created after inserting
+			special characters.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2170">#2170</a>] Fixed
+			Ctrl-Insert hotkey for copying.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2125">#2125</a>] Fixed
+			the issue that FCK.InsertHtml() doesn't insert contents at the caret position when
+			dialogs are opened in IE. </li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1764">#1764</a>] FCKeditor
+			will no longer catch focus in IE on load when StartupFocus is false and the initial
+			content is empty.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2126">#2126</a>] Opening
+			and closing floating dialogs will no longer cause toolbar button states to become
+			frozen.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2159">#2159</a>] Selection
+			are now correctly restored when undoing changes made by the Replace dialog.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2160">#2160</a>] "Match
+			whole word" in the Find and Replace dialog will now find words next to punctuation
+			marks as well.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2162">#2162</a>] If the
+			configuration is set to work including the &lt;head&gt; (FullPage), references to
+			stylesheets added by Firefox extensions won't be added to the output.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2168">#2168</a>] Comments
+			won't generate new paragraphs in the output.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2184">#2184</a>] Fixed
+			several validation errors in the File Browser.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1383">#1383</a>] Fixed
+			an IE issue where pressing backspace may merge a hyperlink on the previous line
+			with the text on the current line.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1691">#1691</a>] Creation
+			of links in Safari failed if there was no selection.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2188">#2188</a>] PreserveSessionOnFileBrowser
+			is now removed as it was made obsolete with 2.6.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/898">#898</a>] The styles
+			for the editing area are applied in the image preview dialog.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2056">#2056</a>] Fixed
+			several validation errors in the dialogs.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2063">#2063</a>] Fixed
+			some problems in asp related to the use of network paths for the location of the
+			uploaded files.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1593">#1593</a>] The "Sample
+			Posted Data" page will now properly wrap the text.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2239">#2239</a>] The PHP
+			code in sampleposteddata.php has been changed from "&lt;?=" to "&lt;? echo".</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2241">#2241</a>] Fixed
+			404 error in floating panels when FCKeditor is installed to a different domain.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2066">#2066</a>] Added
+			a workaround for a Mac Safari 3.1 browser bug which caused the Fit Window button
+			to give a blank screen.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2218">#2218</a>] Improved
+			Gecko based browser detection to accept Epiphany/Gecko as well.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2193">#2193</a>] Fixed
+			the issue where the caret cannot reach the last character of a paragraph in Opera
+			9.50.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2264">#2264</a>] Fixed
+			empty spaces that appear at the top of the editor in Opera 9.50.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2238">#2238</a>] The &lt;object&gt;
+			placeholder was not being properly displayed in the compressed distribution version
+			and nightly builds.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2115">#2115</a>] Fixed
+			JavaScript (permission denied) error in Firefox when file has been uploaded.</li>
+	</ul>
 	<h3>
 		Version 2.6</h3>
Index: /FCKeditor/branches/versions/2.6.x/editor/_source/classes/fckdomrange.js
===================================================================
--- /FCKeditor/branches/versions/2.6.x/editor/_source/classes/fckdomrange.js	(revision 2112)
+++ /FCKeditor/branches/versions/2.6.x/editor/_source/classes/fckdomrange.js	(revision 2113)
@@ -869,4 +869,10 @@
 		FCKDomTools.TrimNode( oFixedBlock ) ;
 
+		// If the fixed block is empty (not counting bookmark nodes)
+		// Add a <br /> inside to expand it.
+		if ( FCKDomTools.CheckIsEmptyElement(oFixedBlock, function( element ) { return element.getAttribute('_fck_bookmark') != 'true' ; } )
+				&& FCKBrowserInfo.IsGeckoLike )
+				FCKTools.AppendBogusBr( oFixedBlock ) ;
+
 		// Insert the fixed block into the DOM.
 		this.InsertNode( oFixedBlock ) ;
Index: /FCKeditor/branches/versions/2.6.x/editor/_source/classes/fckenterkey.js
===================================================================
--- /FCKeditor/branches/versions/2.6.x/editor/_source/classes/fckenterkey.js	(revision 2112)
+++ /FCKeditor/branches/versions/2.6.x/editor/_source/classes/fckenterkey.js	(revision 2113)
@@ -44,15 +44,19 @@
 		[ 13		, 'Enter' ],
 		[ SHIFT + 13, 'ShiftEnter' ],
-		[ 9 		, 'Tab' ],
 		[ 8			, 'Backspace' ],
-		[ CTRL + 8		, 'CtrlBackspace' ],
+		[ CTRL + 8	, 'CtrlBackspace' ],
 		[ 46		, 'Delete' ]
 	] ) ;
 
-	if ( tabSpaces > 0 )
-	{
-		this.TabText = '' ;
-		while ( tabSpaces-- > 0 )
+	this.TabText = '' ;
+
+	// Safari by default inserts 4 spaces on TAB, while others make the editor
+	// loose focus. So, we need to handle it here to not include those spaces.
+	if ( tabSpaces > 0 || FCKBrowserInfo.IsSafari )
+	{
+		while ( tabSpaces-- )
 			this.TabText += '\xa0' ;
+
+		oKeystrokeHandler.SetKeystrokes( [ 9, 'Tab' ] );
 	}
 
@@ -532,8 +536,6 @@
 		}
 
-		if ( FCKBrowserInfo.IsSafari )
+		if ( FCKBrowserInfo.IsGeckoLike )
 			FCKDomTools.ScrollIntoView( eNextBlock || eNewBlock, false ) ;
-		else if ( FCKBrowserInfo.IsGeckoLike )
-			( eNextBlock || eNewBlock ).scrollIntoView( false ) ;
 
 		oRange.Select() ;
Index: /FCKeditor/branches/versions/2.6.x/editor/_source/classes/fckiecleanup.js
===================================================================
--- /FCKeditor/branches/versions/2.6.x/editor/_source/classes/fckiecleanup.js	(revision 2112)
+++ /FCKeditor/branches/versions/2.6.x/editor/_source/classes/fckiecleanup.js	(revision 2113)
@@ -44,5 +44,5 @@
 function FCKIECleanup_Cleanup()
 {
-	if ( !this._FCKCleanupObj || !window.FCKUnloadFlag )
+	if ( !this._FCKCleanupObj || ( FCKConfig.MsWebBrowserControlCompat && !window.FCKUnloadFlag ) )
 		return ;
 
Index: /FCKeditor/branches/versions/2.6.x/editor/_source/fckeditorapi.js
===================================================================
--- /FCKeditor/branches/versions/2.6.x/editor/_source/fckeditorapi.js	(revision 2112)
+++ /FCKeditor/branches/versions/2.6.x/editor/_source/fckeditorapi.js	(revision 2113)
@@ -165,5 +165,6 @@
 function FCKeditorAPI_Cleanup()
 {
-	if ( ! window.FCKUnloadFlag )
+	if ( window.FCKConfig && FCKConfig.MsWebBrowserControlCompat
+			&& !window.FCKUnloadFlag )
 		return ;
 	delete FCKeditorAPI.Instances[ FCK.Name ] ;
@@ -171,5 +172,6 @@
 function FCKeditorAPI_ConfirmCleanup()
 {
-	window.FCKUnloadFlag = true ;
+	if ( window.FCKConfig && FCKConfig.MsWebBrowserControlCompat )
+		window.FCKUnloadFlag = true ;
 }
 FCKTools.AddEventListener( window, 'unload', FCKeditorAPI_Cleanup ) ;
Index: /FCKeditor/branches/versions/2.6.x/editor/_source/internals/fck.js
===================================================================
--- /FCKeditor/branches/versions/2.6.x/editor/_source/internals/fck.js	(revision 2112)
+++ /FCKeditor/branches/versions/2.6.x/editor/_source/internals/fck.js	(revision 2113)
@@ -674,7 +674,20 @@
 		var range = new FCKDomRange( this.EditorWindow ) ;
 
+		// Move to the selection and delete it.
+		range.MoveToSelection() ;
+		range.DeleteContents() ;
+
 		if ( FCKListsLib.BlockElements[ elementName ] != null )
 		{
-			range.SplitBlock() ;
+			if ( range.StartBlock )
+			{
+				if ( range.CheckStartOfBlock() )
+					range.MoveToPosition( range.StartBlock, 3 ) ;
+				else if ( range.CheckEndOfBlock() )
+					range.MoveToPosition( range.StartBlock, 4 ) ;
+				else
+					range.SplitBlock() ;
+			}
+
 			range.InsertNode( element ) ;
 
@@ -706,7 +719,5 @@
 		else
 		{
-			// Delete the current selection and insert the node.
-			range.MoveToSelection() ;
-			range.DeleteContents() ;
+			// Insert the node.
 			range.InsertNode( element ) ;
 
Index: /FCKeditor/branches/versions/2.6.x/editor/_source/internals/fck_gecko.js
===================================================================
--- /FCKeditor/branches/versions/2.6.x/editor/_source/internals/fck_gecko.js	(revision 2112)
+++ /FCKeditor/branches/versions/2.6.x/editor/_source/internals/fck_gecko.js	(revision 2113)
@@ -350,4 +350,6 @@
 FCK.InsertHtml = function( html )
 {
+	var doc = FCK.EditorDocument ;
+
 	html = FCKConfig.ProtectedSource.Protect( html ) ;
 	html = FCK.ProtectEvents( html ) ;
@@ -358,6 +360,21 @@
 	FCKUndo.SaveUndoStep() ;
 
+	if ( FCKBrowserInfo.IsGecko )
+	{
+		// Using the following trick, &nbsp; present at the beginning and at
+		// the end of the HTML are preserved (#2248).
+		html = '<span id="__fakeFCKRemove1__" style="display:none;">fakeFCKRemove</span>' + html + '<span id="__fakeFCKRemove2__" style="display:none;">fakeFCKRemove</span>' ;
+	}
+
 	// Insert the HTML code.
-	this.EditorDocument.execCommand( 'inserthtml', false, html ) ;
+	doc.execCommand( 'inserthtml', false, html ) ;
+
+	if ( FCKBrowserInfo.IsGecko )
+	{
+		// Remove the fake nodes.
+		FCKDomTools.RemoveNode( doc.getElementById('__fakeFCKRemove1__') ) ;
+		FCKDomTools.RemoveNode( doc.getElementById('__fakeFCKRemove2__') ) ;
+	}
+
 	this.Focus() ;
 
@@ -367,5 +384,5 @@
 	var bookmark = range.CreateBookmark() ;
 
-	FCKDocumentProcessor.Process( FCK.EditorDocument ) ;
+	FCKDocumentProcessor.Process( doc ) ;
 
 	// Restore caret position, ignore any errors in case the document
Index: /FCKeditor/branches/versions/2.6.x/editor/_source/internals/fck_ie.js
===================================================================
--- /FCKeditor/branches/versions/2.6.x/editor/_source/internals/fck_ie.js	(revision 2112)
+++ /FCKeditor/branches/versions/2.6.x/editor/_source/internals/fck_ie.js	(revision 2113)
@@ -30,9 +30,9 @@
 	if ( !FCK._BehaviorsStyle )
 	{
-		var sBasePath = FCKConfig.FullBasePath ;
+		var sBasePath = FCKConfig.BasePath ;
 		var sTableBehavior = '' ;
 		var sStyle ;
 
-		// The behaviors should be pointed using the FullBasePath to avoid security
+		// The behaviors should be pointed using the BasePath to avoid security
 		// errors when using a different BaseHref.
 		sStyle = '<style type="text/css" _fcktemp="true">' ;
Index: /FCKeditor/branches/versions/2.6.x/editor/_source/internals/fckconfig.js
===================================================================
--- /FCKeditor/branches/versions/2.6.x/editor/_source/internals/fckconfig.js	(revision 2112)
+++ /FCKeditor/branches/versions/2.6.x/editor/_source/internals/fckconfig.js	(revision 2113)
@@ -43,11 +43,10 @@
 
 	FCKConfig.BasePath = sFullProtocol + FCKConfig.BasePath.substring( 0, FCKConfig.BasePath.lastIndexOf( '/' ) + 1) ;
-	FCKConfig.FullBasePath = FCKConfig.BasePath ;
 }
 else
-{
-	FCKConfig.BasePath = document.location.pathname.substring( 0, document.location.pathname.lastIndexOf( '/' ) + 1) ;
-	FCKConfig.FullBasePath = document.location.protocol + '//' + document.location.host + FCKConfig.BasePath ;
-}
+	FCKConfig.BasePath = document.location.protocol + '//' + document.location.host +
+		document.location.pathname.substring( 0, document.location.pathname.lastIndexOf( '/' ) + 1) ;
+
+FCKConfig.FullBasePath = FCKConfig.BasePath ;
 
 FCKConfig.EditorPath = FCKConfig.BasePath.replace( /editor\/$/, '' ) ;
Index: /FCKeditor/branches/versions/2.6.x/editor/_source/internals/fckdebug.js
===================================================================
--- /FCKeditor/branches/versions/2.6.x/editor/_source/internals/fckdebug.js	(revision 2112)
+++ /FCKeditor/branches/versions/2.6.x/editor/_source/internals/fckdebug.js	(revision 2113)
@@ -22,35 +22,38 @@
  */
 
-var FCKDebug = new Object() ;
+// Public function defined here must be declared in fckdebug_empty.js.
 
-FCKDebug._GetWindow = function()
+var FCKDebug =
 {
-	if ( !this.DebugWindow || this.DebugWindow.closed )
-		this.DebugWindow = window.open( FCKConfig.BasePath + 'fckdebug.html', 'FCKeditorDebug', 'menubar=no,scrollbars=yes,resizable=yes,location=no,toolbar=no,width=600,height=500', true ) ;
+	Output : function( message, color, noParse )
+	{
+		if ( ! FCKConfig.Debug )
+			return ;
 
-	return this.DebugWindow ;
-}
+		try
+		{
+			this._GetWindow().Output( message, color ) ;
+		}
+		catch ( e ) {}	 // Ignore errors
+	},
 
-FCKDebug.Output = function( message, color, noParse )
-{
-	if ( ! FCKConfig.Debug )
-		return ;
+	OutputObject : function( anyObject, color )
+	{
+		if ( ! FCKConfig.Debug )
+			return ;
 
-	try
+		try
+		{
+			this._GetWindow().OutputObject( anyObject, color ) ;
+		}
+		catch ( e ) {}	 // Ignore errors
+	},
+
+	_GetWindow : function()
 	{
-		this._GetWindow().Output( message, color ) ;
+		if ( !this.DebugWindow || this.DebugWindow.closed )
+			this.DebugWindow = window.open( FCKConfig.BasePath + 'fckdebug.html', 'FCKeditorDebug', 'menubar=no,scrollbars=yes,resizable=yes,location=no,toolbar=no,width=600,height=500', true ) ;
+
+		return this.DebugWindow ;
 	}
-	catch ( e ) {}	 // Ignore errors
-}
-
-FCKDebug.OutputObject = function( anyObject, color )
-{
-	if ( ! FCKConfig.Debug )
-		return ;
-
-	try
-	{
-		this._GetWindow().OutputObject( anyObject, color ) ;
-	}
-	catch ( e ) {}	 // Ignore errors
-}
+} ;
Index: /FCKeditor/branches/versions/2.6.x/editor/_source/internals/fckdebug_empty.js
===================================================================
--- /FCKeditor/branches/versions/2.6.x/editor/_source/internals/fckdebug_empty.js	(revision 2113)
+++ /FCKeditor/branches/versions/2.6.x/editor/_source/internals/fckdebug_empty.js	(revision 2113)
@@ -0,0 +1,31 @@
+/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2008 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Debug window control and operations (empty for the compressed files - #2043).
+ */
+
+var FCKDebug =
+{
+	Output : function()
+	{},
+
+	OutputObject : function()
+	{}
+} ;
Index: /FCKeditor/branches/versions/2.6.x/editor/_source/internals/fckdialog.js
===================================================================
--- /FCKeditor/branches/versions/2.6.x/editor/_source/internals/fckdialog.js	(revision 2112)
+++ /FCKeditor/branches/versions/2.6.x/editor/_source/internals/fckdialog.js	(revision 2113)
@@ -99,5 +99,7 @@
 			// Calculate the dialog position, centering it on the screen.
 			var viewSize = FCKTools.GetViewPaneSize( topWindow ) ;
-			var scrollPosition = FCKTools.GetScrollPosition( topWindow ) ;
+			var scrollPosition = { 'X' : 0, 'Y' : 0 } ;
+			if ( FCKBrowserInfo.IsIE && !FCKBrowserInfo.IsIE7 )
+				FCKTools.GetScrollPosition( topWindow ) ;
 			var iTop  = Math.max( scrollPosition.Y + ( viewSize.Height - height - 20 ) / 2, 0 ) ;
 			var iLeft = Math.max( scrollPosition.X + ( viewSize.Width - width - 20 )  / 2, 0 ) ;
@@ -106,5 +108,5 @@
 			var dialog = topDocument.createElement( 'iframe' ) ;
 			FCKTools.ResetStyles( dialog ) ;
-			dialog.src = FCKConfig.FullBasePath + 'fckdialog.html' ;
+			dialog.src = FCKConfig.BasePath + 'fckdialog.html' ;
 
 			// Dummy URL for testing whether the code in fckdialog.js alone leaks memory.
@@ -115,5 +117,5 @@
 			FCKDomTools.SetElementStyles( dialog,
 					{
-						'position'	: 'absolute',
+						'position'	: ( FCKBrowserInfo.IsIE && !FCKBrowserInfo.IsIE7 ) ? 'absolute' : 'fixed',
 						'top'		: iTop + 'px',
 						'left'		: iLeft + 'px',
Index: /FCKeditor/branches/versions/2.6.x/editor/_source/internals/fckdocumentprocessor.js
===================================================================
--- /FCKeditor/branches/versions/2.6.x/editor/_source/internals/fckdocumentprocessor.js	(revision 2112)
+++ /FCKeditor/branches/versions/2.6.x/editor/_source/internals/fckdocumentprocessor.js	(revision 2113)
@@ -46,5 +46,5 @@
 	var oImg = FCKTools.GetElementDocument( realElement ).createElement( 'IMG' ) ;
 	oImg.className = fakeClass ;
-	oImg.src = FCKConfig.FullBasePath + 'images/spacer.gif' ;
+	oImg.src = FCKConfig.BasePath + 'images/spacer.gif' ;
 	oImg.setAttribute( '_fckfakelement', 'true', 0 ) ;
 	oImg.setAttribute( '_fckrealelement', FCKTempBin.AddElement( realElement ), 0 ) ;
Index: /FCKeditor/branches/versions/2.6.x/editor/_source/internals/fckdomtools.js
===================================================================
--- /FCKeditor/branches/versions/2.6.x/editor/_source/internals/fckdomtools.js	(revision 2112)
+++ /FCKeditor/branches/versions/2.6.x/editor/_source/internals/fckdomtools.js	(revision 2113)
@@ -973,6 +973,7 @@
 
 	/**
-	 * Current implementation for ScrollIntoView (due to #1462). We don't have
-	 * a complete implementation here, just the things that fit our needs.
+	 * Current implementation for ScrollIntoView (due to #1462 and #2279). We
+	 * don't have a complete implementation here, just the things that fit our
+	 * needs.
 	 */
 	ScrollIntoView : function( element, alignTop )
Index: /FCKeditor/branches/versions/2.6.x/editor/_source/internals/fckselection_gecko.js
===================================================================
--- /FCKeditor/branches/versions/2.6.x/editor/_source/internals/fckselection_gecko.js	(revision 2112)
+++ /FCKeditor/branches/versions/2.6.x/editor/_source/internals/fckselection_gecko.js	(revision 2113)
@@ -163,5 +163,5 @@
 	while ( oContainer )
 	{
-		if ( oContainer.nodeType == 1 && oContainer.tagName == nodeTagName ) return true ;
+		if ( oContainer.nodeType == 1 && oContainer.nodeName.IEquals( nodeTagName ) ) return true ;
 		oContainer = oContainer.parentNode ;
 	}
@@ -181,5 +181,5 @@
 	while ( oContainer )
 	{
-		if ( oContainer.nodeName == nodeTagName )
+		if ( oContainer.nodeName.IEquals( nodeTagName ) )
 			return oContainer ;
 
Index: /FCKeditor/branches/versions/2.6.x/editor/_source/internals/fckselection_ie.js
===================================================================
--- /FCKeditor/branches/versions/2.6.x/editor/_source/internals/fckselection_ie.js	(revision 2112)
+++ /FCKeditor/branches/versions/2.6.x/editor/_source/internals/fckselection_ie.js	(revision 2113)
@@ -148,5 +148,5 @@
 	while ( oContainer )
 	{
-		if ( oContainer.tagName == nodeTagName ) return true ;
+		if ( oContainer.nodeName.IEquals( nodeTagName ) ) return true ;
 		oContainer = oContainer.parentNode ;
 	}
Index: /FCKeditor/branches/versions/2.6.x/editor/_source/internals/fcktools.js
===================================================================
--- /FCKeditor/branches/versions/2.6.x/editor/_source/internals/fcktools.js	(revision 2112)
+++ /FCKeditor/branches/versions/2.6.x/editor/_source/internals/fcktools.js	(revision 2113)
@@ -82,5 +82,5 @@
 	{
 		// Test if the passed argument is an URL.
-		if ( /[\\\/\.]\w*$/.test( cssFileOrArrayOrDef ) )
+		if ( /[\\\/\.][^{}]*$/.test( cssFileOrArrayOrDef ) )
 		{
 			// The string may have several URLs separated by comma.
@@ -127,5 +127,5 @@
 		{
 			// Test if the passed argument is an URL.
-			if ( /[\\\/\.]\w*$/.test( cssFileOrArrayOrDef ) )
+			if ( /[\\\/\.][^{}]*$/.test( cssFileOrArrayOrDef ) )
 			{
 				// The string may have several URLs separated by comma.
Index: /FCKeditor/branches/versions/2.6.x/editor/fckeditor.html
===================================================================
--- /FCKeditor/branches/versions/2.6.x/editor/fckeditor.html	(revision 2112)
+++ /FCKeditor/branches/versions/2.6.x/editor/fckeditor.html	(revision 2113)
@@ -104,5 +104,5 @@
 LoadScript( '_source/internals/fckconfig.js' ) ;
 
-LoadScript( '_source/internals/fckdebug.js' ) ;
+LoadScript( '_source/internals/fckdebug_empty.js' ) ;
 LoadScript( '_source/internals/fckdomtools.js' ) ;
 LoadScript( '_source/internals/fcktools.js' ) ;
@@ -238,10 +238,17 @@
 FCKConfig_PreProcess() ;
 
-var FCK_InternalCSS			= FCKConfig.FullBasePath + 'css/fck_internal.css' ;					// @Packager.RemoveLine
-var FCK_ShowTableBordersCSS	= FCKConfig.FullBasePath + 'css/fck_showtableborders_gecko.css' ;	// @Packager.RemoveLine
+// Load the full debug script.
+if ( FCKConfig.Debug )
+	LoadScript( '_source/internals/fckdebug.js' ) ;
+
+	</script>
+	<script type="text/javascript">
+
+var FCK_InternalCSS			= FCKConfig.BasePath + 'css/fck_internal.css' ;					// @Packager.RemoveLine
+var FCK_ShowTableBordersCSS	= FCKConfig.BasePath + 'css/fck_showtableborders_gecko.css' ;	// @Packager.RemoveLine
 /* @Packager.RemoveLine
 // CSS minified by http://iceyboard.no-ip.org/projects/css_compressor (see _dev/css_compression.txt).
-var FCK_InternalCSS			= FCKTools.FixCssUrls( FCKConfig.FullBasePath + 'css/', 'html{min-height:100%}table.FCK__ShowTableBorders,table.FCK__ShowTableBorders td,table.FCK__ShowTableBorders th{border:#d3d3d3 1px solid}form{border:1px dotted #F00;padding:2px}.FCK__Flash{border:#a9a9a9 1px solid;background-position:center center;background-image:url(images/fck_flashlogo.gif);background-repeat:no-repeat;width:80px;height:80px}.FCK__UnknownObject{border:#a9a9a9 1px solid;background-position:center center;background-image:url(images/fck_plugin.gif);background-repeat:no-repeat;width:80px;height:80px}.FCK__Anchor{border:1px dotted #00F;background-position:center center;background-image:url(images/fck_anchor.gif);background-repeat:no-repeat;width:16px;height:15px;vertical-align:middle}.FCK__AnchorC{border:1px dotted #00F;background-position:1px center;background-image:url(images/fck_anchor.gif);background-repeat:no-repeat;padding-left:18px}a[name]{border:1px dotted #00F;background-position:0 center;background-image:url(images/fck_anchor.gif);background-repeat:no-repeat;padding-left:18px}.FCK__PageBreak{background-position:center center;background-image:url(images/fck_pagebreak.gif);background-repeat:no-repeat;clear:both;display:block;float:none;width:100%;border-top:#999 1px dotted;border-bottom:#999 1px dotted;border-right:0;border-left:0;height:5px}.FCK__InputHidden{width:19px;height:18px;background-image:url(images/fck_hiddenfield.gif);background-repeat:no-repeat;vertical-align:text-bottom;background-position:center center}.FCK__ShowBlocks p,.FCK__ShowBlocks div,.FCK__ShowBlocks pre,.FCK__ShowBlocks address,.FCK__ShowBlocks blockquote,.FCK__ShowBlocks h1,.FCK__ShowBlocks h2,.FCK__ShowBlocks h3,.FCK__ShowBlocks h4,.FCK__ShowBlocks h5,.FCK__ShowBlocks h6{background-repeat:no-repeat;border:1px dotted gray;padding-top:8px;padding-left:8px}.FCK__ShowBlocks p{background-image:url(images/block_p.png)}.FCK__ShowBlocks div{background-image:url(images/block_div.png)}.FCK__ShowBlocks pre{background-image:url(images/block_pre.png)}.FCK__ShowBlocks address{background-image:url(images/block_address.png)}.FCK__ShowBlocks blockquote{background-image:url(images/block_blockquote.png)}.FCK__ShowBlocks h1{background-image:url(images/block_h1.png)}.FCK__ShowBlocks h2{background-image:url(images/block_h2.png)}.FCK__ShowBlocks h3{background-image:url(images/block_h3.png)}.FCK__ShowBlocks h4{background-image:url(images/block_h4.png)}.FCK__ShowBlocks h5{background-image:url(images/block_h5.png)}.FCK__ShowBlocks h6{background-image:url(images/block_h6.png)}' ) ;
-var FCK_ShowTableBordersCSS	= FCKTools.FixCssUrls( FCKConfig.FullBasePath + 'css/', 'table:not([border]),table:not([border]) > tr > td,table:not([border]) > tr > th,table:not([border]) > tbody > tr > td,table:not([border]) > tbody > tr > th,table:not([border]) > thead > tr > td,table:not([border]) > thead > tr > th,table:not([border]) > tfoot > tr > td,table:not([border]) > tfoot > tr > th,table[border=\"0\"],table[border=\"0\"] > tr > td,table[border=\"0\"] > tr > th,table[border=\"0\"] > tbody > tr > td,table[border=\"0\"] > tbody > tr > th,table[border=\"0\"] > thead > tr > td,table[border=\"0\"] > thead > tr > th,table[border=\"0\"] > tfoot > tr > td,table[border=\"0\"] > tfoot > tr > th{border:#d3d3d3 1px dotted}' ) ;
+var FCK_InternalCSS			= FCKTools.FixCssUrls( FCKConfig.BasePath + 'css/', 'html{min-height:100%}table.FCK__ShowTableBorders,table.FCK__ShowTableBorders td,table.FCK__ShowTableBorders th{border:#d3d3d3 1px solid}form{border:1px dotted #F00;padding:2px}.FCK__Flash{border:#a9a9a9 1px solid;background-position:center center;background-image:url(images/fck_flashlogo.gif);background-repeat:no-repeat;width:80px;height:80px}.FCK__UnknownObject{border:#a9a9a9 1px solid;background-position:center center;background-image:url(images/fck_plugin.gif);background-repeat:no-repeat;width:80px;height:80px}.FCK__Anchor{border:1px dotted #00F;background-position:center center;background-image:url(images/fck_anchor.gif);background-repeat:no-repeat;width:16px;height:15px;vertical-align:middle}.FCK__AnchorC{border:1px dotted #00F;background-position:1px center;background-image:url(images/fck_anchor.gif);background-repeat:no-repeat;padding-left:18px}a[name]{border:1px dotted #00F;background-position:0 center;background-image:url(images/fck_anchor.gif);background-repeat:no-repeat;padding-left:18px}.FCK__PageBreak{background-position:center center;background-image:url(images/fck_pagebreak.gif);background-repeat:no-repeat;clear:both;display:block;float:none;width:100%;border-top:#999 1px dotted;border-bottom:#999 1px dotted;border-right:0;border-left:0;height:5px}.FCK__InputHidden{width:19px;height:18px;background-image:url(images/fck_hiddenfield.gif);background-repeat:no-repeat;vertical-align:text-bottom;background-position:center center}.FCK__ShowBlocks p,.FCK__ShowBlocks div,.FCK__ShowBlocks pre,.FCK__ShowBlocks address,.FCK__ShowBlocks blockquote,.FCK__ShowBlocks h1,.FCK__ShowBlocks h2,.FCK__ShowBlocks h3,.FCK__ShowBlocks h4,.FCK__ShowBlocks h5,.FCK__ShowBlocks h6{background-repeat:no-repeat;border:1px dotted gray;padding-top:8px;padding-left:8px}.FCK__ShowBlocks p{background-image:url(images/block_p.png)}.FCK__ShowBlocks div{background-image:url(images/block_div.png)}.FCK__ShowBlocks pre{background-image:url(images/block_pre.png)}.FCK__ShowBlocks address{background-image:url(images/block_address.png)}.FCK__ShowBlocks blockquote{background-image:url(images/block_blockquote.png)}.FCK__ShowBlocks h1{background-image:url(images/block_h1.png)}.FCK__ShowBlocks h2{background-image:url(images/block_h2.png)}.FCK__ShowBlocks h3{background-image:url(images/block_h3.png)}.FCK__ShowBlocks h4{background-image:url(images/block_h4.png)}.FCK__ShowBlocks h5{background-image:url(images/block_h5.png)}.FCK__ShowBlocks h6{background-image:url(images/block_h6.png)}' ) ;
+var FCK_ShowTableBordersCSS	= FCKTools.FixCssUrls( FCKConfig.BasePath + 'css/', 'table:not([border]),table:not([border]) > tr > td,table:not([border]) > tr > th,table:not([border]) > tbody > tr > td,table:not([border]) > tbody > tr > th,table:not([border]) > thead > tr > td,table:not([border]) > thead > tr > th,table:not([border]) > tfoot > tr > td,table:not([border]) > tfoot > tr > th,table[border=\"0\"],table[border=\"0\"] > tr > td,table[border=\"0\"] > tr > th,table[border=\"0\"] > tbody > tr > td,table[border=\"0\"] > tbody > tr > th,table[border=\"0\"] > thead > tr > td,table[border=\"0\"] > thead > tr > th,table[border=\"0\"] > tfoot > tr > td,table[border=\"0\"] > tfoot > tr > th{border:#d3d3d3 1px dotted}' ) ;
 @Packager.RemoveLine */
 
Index: /FCKeditor/branches/versions/2.6.x/editor/filemanager/browser/default/browser.html
===================================================================
--- /FCKeditor/branches/versions/2.6.x/editor/filemanager/browser/default/browser.html	(revision 2112)
+++ /FCKeditor/branches/versions/2.6.x/editor/filemanager/browser/default/browser.html	(revision 2113)
@@ -44,7 +44,5 @@
 		}
 		catch( e )
-		{
-			break ;
-		}
+		{}
 
 		// Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...
Index: /FCKeditor/branches/versions/2.6.x/editor/filemanager/browser/default/frmactualfolder.html
===================================================================
--- /FCKeditor/branches/versions/2.6.x/editor/filemanager/browser/default/frmactualfolder.html	(revision 2112)
+++ /FCKeditor/branches/versions/2.6.x/editor/filemanager/browser/default/frmactualfolder.html	(revision 2113)
@@ -42,7 +42,5 @@
 		}
 		catch( e )
-		{
-			break ;
-		}
+		{}
 
 		// Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...
Index: /FCKeditor/branches/versions/2.6.x/editor/filemanager/browser/default/js/common.js
===================================================================
--- /FCKeditor/branches/versions/2.6.x/editor/filemanager/browser/default/js/common.js	(revision 2112)
+++ /FCKeditor/branches/versions/2.6.x/editor/filemanager/browser/default/js/common.js	(revision 2113)
@@ -37,7 +37,5 @@
 		}
 		catch( e )
-		{
-			break ;
-		}
+		{}
 
 		// Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...
Index: /FCKeditor/branches/versions/2.6.x/editor/filemanager/browser/default/js/fckxml.js
===================================================================
--- /FCKeditor/branches/versions/2.6.x/editor/filemanager/browser/default/js/fckxml.js	(revision 2112)
+++ /FCKeditor/branches/versions/2.6.x/editor/filemanager/browser/default/js/fckxml.js	(revision 2113)
@@ -62,5 +62,23 @@
 			if ( oXmlHttp.readyState == 4 )
 			{
-				if ( ( oXmlHttp.status != 200 && oXmlHttp.status != 304 ) || oXmlHttp.responseXML == null || oXmlHttp.responseXML.firstChild == null )
+				var oXml ;
+				try
+				{
+					// this is the same test for an FF2 bug as in fckxml_gecko.js
+					// but we've moved the responseXML assignment into the try{}
+					// so we don't even have to check the return status codes.
+					var test = oXmlHttp.responseXML.firstChild ;
+					oXml = oXmlHttp.responseXML ;
+				}
+				catch ( e )
+				{
+					try
+					{
+						oXml = (new DOMParser()).parseFromString( oXmlHttp.responseText, 'text/xml' ) ;
+					}
+					catch ( e ) {}
+				}
+
+				if ( !oXml || !oXml.firstChild || oXml.firstChild.nodeName == 'parsererror' )
 				{
 					alert( 'The server didn\'t send back a proper XML response. Please contact your system administrator.\n\n' +
@@ -71,5 +89,5 @@
 				}
 
-				oFCKXml.DOMDocument = oXmlHttp.responseXML ;
+				oFCKXml.DOMDocument = oXml ;
 				asyncFunctionPointer( oFCKXml ) ;
 			}
Index: /FCKeditor/branches/versions/2.6.x/editor/js/fckadobeair.js
===================================================================
--- /FCKeditor/branches/versions/2.6.x/editor/js/fckadobeair.js	(revision 2112)
+++ /FCKeditor/branches/versions/2.6.x/editor/js/fckadobeair.js	(revision 2113)
@@ -168,6 +168,6 @@
 		{
 			// Force pointing to the CSS files instead of using the inline CSS cached styles.
-			window.FCK_InternalCSS			= FCKConfig.FullBasePath + 'css/fck_internal.css' ;
-			window.FCK_ShowTableBordersCSS	= FCKConfig.FullBasePath + 'css/fck_showtableborders_gecko.css' ;
+			window.FCK_InternalCSS			= FCKConfig.BasePath + 'css/fck_internal.css' ;
+			window.FCK_ShowTableBordersCSS	= FCKConfig.BasePath + 'css/fck_showtableborders_gecko.css' ;
 
 			_Original_FCK_StartEditor.apply( this, arguments ) ;
Index: /FCKeditor/branches/versions/2.6.x/editor/plugins/dragresizetable/fckplugin.js
===================================================================
--- /FCKeditor/branches/versions/2.6.x/editor/plugins/dragresizetable/fckplugin.js	(revision 2112)
+++ /FCKeditor/branches/versions/2.6.x/editor/plugins/dragresizetable/fckplugin.js	(revision 2113)
@@ -89,6 +89,4 @@
 	"_ResizeBarMouseDownListener" : function( evt )
 	{
-		if ( ! evt )
-			evt = window.event ;
 		if ( FCKDragTableHandler._LeftCell )
 			FCKDragTableHandler._MouseMoveMode = 1 ;
@@ -122,9 +120,12 @@
 		FCKDragTableHandler._MaximumX = maxX + offset.x ;
 		FCKDragTableHandler._LastX = null ;
+
+		if (evt.preventDefault)
+			evt.preventDefault();
+		else
+			evt.returnValue = false;
 	},
 	"_ResizeBarMouseUpListener" : function( evt )
 	{
-		if ( ! evt )
-			evt = window.event ;
 		FCKDragTableHandler._MouseMoveMode = 0 ;
 		FCKDragTableHandler._HideResizeBar() ;
@@ -219,6 +220,4 @@
 	"_ResizeBarMouseMoveListener" : function( evt )
 	{
-		if ( ! evt )
-			evt = window.event ;
 		if ( FCKDragTableHandler._MouseMoveMode == 0 )
 			return FCKDragTableHandler._MouseFindHandler( FCK, evt ) ;
@@ -422,6 +421,4 @@
 			var disabledListener = function( evt )
 			{
-				if ( ! evt )
-					evt = window.event ;
 				if ( evt.preventDefault )
 					evt.preventDefault() ;
Index: /FCKeditor/branches/versions/2.6.x/fckconfig.js
===================================================================
--- /FCKeditor/branches/versions/2.6.x/fckconfig.js	(revision 2112)
+++ /FCKeditor/branches/versions/2.6.x/fckconfig.js	(revision 2113)
@@ -315,2 +315,4 @@
 FCKConfig.BackgroundBlockerColor = '#ffffff' ;
 FCKConfig.BackgroundBlockerOpacity = 0.50 ;
+
+FCKConfig.MsWebBrowserControlCompat = false ;
Index: /FCKeditor/branches/versions/2.6.x/fckpackager.xml
===================================================================
--- /FCKeditor/branches/versions/2.6.x/fckpackager.xml	(revision 2112)
+++ /FCKeditor/branches/versions/2.6.x/fckpackager.xml	(revision 2113)
@@ -78,5 +78,5 @@
 		<File path="editor/_source/internals/fck_ie.js" />
 		<File path="editor/_source/internals/fckconfig.js" />
-		<File path="editor/_source/internals/fckdebug.js" />
+		<File path="editor/_source/internals/fckdebug_empty.js" />
 		<File path="editor/_source/internals/fckdomtools.js" />
 		<File path="editor/_source/internals/fcktools.js" />
@@ -174,5 +174,5 @@
 		<File path="editor/_source/internals/fck_gecko.js" />
 		<File path="editor/_source/internals/fckconfig.js" />
-		<File path="editor/_source/internals/fckdebug.js" />
+		<File path="editor/_source/internals/fckdebug_empty.js" />
 		<File path="editor/_source/internals/fckdomtools.js" />
 		<File path="editor/_source/internals/fcktools.js" />
