Index: /FCKeditor/trunk/_whatsnew.html
===================================================================
--- /FCKeditor/trunk/_whatsnew.html	(revision 1597)
+++ /FCKeditor/trunk/_whatsnew.html	(revision 1598)
@@ -45,4 +45,9 @@
 		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/123">#123</a>] Full support
 			for <strong>document.domain</strong> with automatic domain detection.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1622">#1622</a>] New <strong>
+			inline CSS cache</strong> feature, making it possible to avoid downloading the CSS
+			files for the editing area and skins. For that, it is enough to set the EditorAreaCSS,
+			SkinEditorCSS and SkinDialogCSS to string values in the format "/absolute/path/for/urls/|&lt;minified
+			CSS styles". All internal CSS links are already using this feature. </li>
 		<li>New language file for <strong>Canadian French</strong>.</li>
 	</ul>
Index: /FCKeditor/trunk/editor/_source/classes/fckcontextmenu.js
===================================================================
--- /FCKeditor/trunk/editor/_source/classes/fckcontextmenu.js	(revision 1597)
+++ /FCKeditor/trunk/editor/_source/classes/fckcontextmenu.js	(revision 1598)
@@ -27,5 +27,5 @@
 
 	var oPanel = this._Panel = new FCKPanel( parentWindow ) ;
-	oPanel.AppendStyleSheet( FCKConfig.SkinPath + 'fck_editor.css' ) ;
+	oPanel.AppendStyleSheet( FCKConfig.SkinEditorCSS ) ;
 	oPanel.IsContextMenu = true ;
 
Index: /FCKeditor/trunk/editor/_source/classes/fckmenublockpanel.js
===================================================================
--- /FCKeditor/trunk/editor/_source/classes/fckmenublockpanel.js	(revision 1597)
+++ /FCKeditor/trunk/editor/_source/classes/fckmenublockpanel.js	(revision 1598)
@@ -37,5 +37,5 @@
 {
 	var oPanel = this.Panel = ( this.Parent && this.Parent.Panel ? this.Parent.Panel.CreateChildPanel() : new FCKPanel() ) ;
-	oPanel.AppendStyleSheet( FCKConfig.SkinPath + 'fck_editor.css' ) ;
+	oPanel.AppendStyleSheet( FCKConfig.SkinEditorCSS ) ;
 
 	// Call the "base" implementation.
Index: /FCKeditor/trunk/editor/_source/classes/fckspecialcombo.js
===================================================================
--- /FCKeditor/trunk/editor/_source/classes/fckspecialcombo.js	(revision 1597)
+++ /FCKeditor/trunk/editor/_source/classes/fckspecialcombo.js	(revision 1598)
@@ -38,5 +38,5 @@
 
 	this._Panel = new FCKPanel( parentWindow || window ) ;
-	this._Panel.AppendStyleSheet( FCKConfig.SkinPath + 'fck_editor.css' ) ;
+	this._Panel.AppendStyleSheet( FCKConfig.SkinEditorCSS ) ;
 	this._PanelBox = this._Panel.MainNode.appendChild( this._Panel.Document.createElement( 'DIV' ) ) ;
 	this._PanelBox.className = 'SC_Panel' ;
Index: /FCKeditor/trunk/editor/_source/commandclasses/fcktextcolorcommand.js
===================================================================
--- /FCKeditor/trunk/editor/_source/commandclasses/fcktextcolorcommand.js	(revision 1597)
+++ /FCKeditor/trunk/editor/_source/commandclasses/fcktextcolorcommand.js	(revision 1598)
@@ -40,5 +40,5 @@
 
 	this._Panel = new FCKPanel( oWindow ) ;
-	this._Panel.AppendStyleSheet( FCKConfig.SkinPath + 'fck_editor.css' ) ;
+	this._Panel.AppendStyleSheet( FCKConfig.SkinEditorCSS ) ;
 	this._Panel.MainNode.className = 'FCK_Panel' ;
 	this._CreatePanelBody( this._Panel.Document, this._Panel.MainNode ) ;
Index: /FCKeditor/trunk/editor/_source/internals/fck.js
===================================================================
--- /FCKeditor/trunk/editor/_source/internals/fck.js	(revision 1597)
+++ /FCKeditor/trunk/editor/_source/internals/fck.js	(revision 1598)
@@ -440,7 +440,7 @@
 				sHeadExtra += FCK._GetBehaviorsStyle() ;
 			else if ( FCKConfig.ShowBorders )
-				sHeadExtra += '<link href="' + FCKConfig.FullBasePath + 'css/fck_showtableborders_gecko.css" rel="stylesheet" type="text/css" _fcktemp="true" />' ;
-
-			sHeadExtra += '<link href="' + FCKConfig.FullBasePath + 'css/fck_internal.css" rel="stylesheet" type="text/css" _fcktemp="true" />' ;
+				sHeadExtra += FCKTools.GetStyleHtml( FCK_ShowTableBordersCSS, true ) ;
+
+			sHeadExtra += FCKTools.GetStyleHtml( FCK_InternalCSS, true ) ;
 
 			// Attention: do not change it before testing it well (sample07)!
@@ -971,15 +971,6 @@
 function _FCK_GetEditorAreaStyleTags()
 {
-	var sTags = '' ;
-	var aCSSs = FCKConfig.EditorAreaCSS ;
-	var sStyles = FCKConfig.EditorAreaStyles ;
-
-	for ( var i = 0 ; i < aCSSs.length ; i++ )
-		sTags += '<link href="' + aCSSs[i] + '" rel="stylesheet" type="text/css" />' ;
-
-	if ( sStyles && sStyles.length > 0 )
-		sTags += "<style>" + sStyles + "</style>" ;
-
-	return sTags ;
+	return FCKTools.GetStyleHtml( FCKConfig.EditorAreaCSS ) + 
+		FCKTools.GetStyleHtml( FCKConfig.EditorAreaStyles ) ;
 }
 
Index: /FCKeditor/trunk/editor/_source/internals/fckconfig.js
===================================================================
--- /FCKeditor/trunk/editor/_source/internals/fckconfig.js	(revision 1597)
+++ /FCKeditor/trunk/editor/_source/internals/fckconfig.js	(revision 1598)
@@ -132,15 +132,8 @@
 		oConfig.PluginsPath += '/' ;
 
-	// EditorAreaCSS accepts a single path string, a list of paths separated by
-	// a comma or and array of paths.
-	// In the string cases, transform it in an array.
-	if ( typeof( oConfig.EditorAreaCSS ) == 'string' )
-		oConfig.EditorAreaCSS = oConfig.EditorAreaCSS.split(',') ;
-
+	// If no ToolbarComboPreviewCSS, point it to EditorAreaCSS.
 	var sComboPreviewCSS = oConfig.ToolbarComboPreviewCSS ;
 	if ( !sComboPreviewCSS || sComboPreviewCSS.length == 0 )
 		oConfig.ToolbarComboPreviewCSS = oConfig.EditorAreaCSS ;
-	else if ( typeof( sComboPreviewCSS ) == 'string' )
-		oConfig.ToolbarComboPreviewCSS = [ sComboPreviewCSS ] ;
 }
 
Index: /FCKeditor/trunk/editor/_source/internals/fcktoolbarset.js
===================================================================
--- /FCKeditor/trunk/editor/_source/internals/fcktoolbarset.js	(revision 1597)
+++ /FCKeditor/trunk/editor/_source/internals/fcktoolbarset.js	(revision 1598)
@@ -122,5 +122,5 @@
 			// Load external resources (must be done here, otherwise Firefox will not
 			// have the document DOM ready to be used right away.
-			FCKTools.AppendStyleSheet( eTargetDocument, FCKConfig.SkinPath + 'fck_editor.css' ) ;
+			FCKTools.AppendStyleSheet( eTargetDocument, FCKConfig.SkinEditorCSS ) ;
 
 			oToolbarSet = eToolbarTarget.__FCKToolbarSet = new FCKToolbarSet( eTargetDocument ) ;
Index: /FCKeditor/trunk/editor/_source/internals/fcktools.js
===================================================================
--- /FCKeditor/trunk/editor/_source/internals/fcktools.js	(revision 1597)
+++ /FCKeditor/trunk/editor/_source/internals/fcktools.js	(revision 1598)
@@ -32,24 +32,118 @@
 }
 
-// Returns a reference to the appended style sheet or an array with all the appended references
-FCKTools.AppendStyleSheet = function( documentElement, cssFileUrlOrArray )
-{
-	if ( typeof( cssFileUrlOrArray ) == 'string' )
-		return this._AppendStyleSheet( documentElement, cssFileUrlOrArray ) ;
+/**
+ * Fixes relative URL entries defined inside CSS styles by appending a prefix
+ * to them.
+ * @param (String) cssStyles The CSS styles definition possibly containing url()
+ *		paths.
+ * @param (String) urlFixPrefix The prefix to append to relative URLs.
+ */
+FCKTools.FixCssUrls = function( urlFixPrefix, cssStyles )
+{
+	if ( !urlFixPrefix || urlFixPrefix.length == 0 )
+		return cssStyles ;
+
+	return cssStyles.replace( /url\s*\(([\s'"]*)(.*?)([\s"']*)\)/g, function( match, opener, path, closer )
+		{
+			if ( /^\/|^\w?:/.test() )
+				return match ;
+			else
+				return 'url(' + opener + urlFixPrefix + path + closer + ')' ;
+		} ) ;
+}
+
+FCKTools._GetUrlFixedCss = function( cssStyles, urlFixPrefix )
+{
+	var match = cssStyles.match( /^([^|]+)\|([\s\S]*)/ ) ;
+	
+	if ( match )
+		return FCKTools.FixCssUrls( match[1], match[2] ) ;
 	else
-	{
-		var aStyleSheeArray = new Array() ;
-
-		for ( var i = 0 ; i < cssFileUrlOrArray.length ; i++ )
-			aStyleSheeArray.push(this._AppendStyleSheet( documentElement, cssFileUrlOrArray[i] ) ) ;
-
-		return aStyleSheeArray ;
-	}
-}
-
-FCKTools.AppendStyleString = function ( documentElement, cssStyles )
-{
-	this._AppendStyleString( documentElement, cssStyles ) ;
-}
+		return cssStyles ;
+}
+
+/**
+ * Appends a <link css> or <style> element to the document.
+ * @param (Object) documentElement The DOM document object to which append the
+ *		stylesheet.
+ * @param (Variant) cssFileOrDef A String pointing to the CSS file URL or an
+ *		Array with many CSS file URLs or the CSS definitions for the <style>
+ *		element.
+ * @return {Array} An array containing all elements created in the target
+ *		document. It may include <link> or <style> elements, depending on the
+ *		value passed with cssFileOrDef.
+ */
+FCKTools.AppendStyleSheet = function( domDocument, cssFileOrArrayOrDef )
+{
+	if ( !cssFileOrArrayOrDef )
+		return [] ;
+
+	if ( typeof( cssFileOrArrayOrDef ) == 'string' )
+	{
+		// Test if the passed argument is an URL.
+		if ( /[\\\/\.]\w*$/.test( cssFileOrArrayOrDef ) )
+		{
+			// The string may have several URLs separated by comma.
+			return this.AppendStyleSheet( domDocument, cssFileOrArrayOrDef.split(',') ) ;
+		}
+		else
+			return [ this.AppendStyleString( domDocument, FCKTools._GetUrlFixedCss( cssFileOrArrayOrDef ) ) ] ;
+	}
+	else
+	{
+		var styles = [] ;
+		for ( var i = 0 ; i < cssFileOrArrayOrDef.length ; i++ )
+			styles.push( this._AppendStyleSheet( domDocument, cssFileOrArrayOrDef[i] ) ) ;
+		return styles ;
+	}
+}
+
+FCKTools.GetStyleHtml = (function()
+{
+	var getStyle = function( styleDef, markTemp )
+	{
+		if ( styleDef.length == 0 )
+			return '' ;
+
+		var temp = markTemp ? ' _fcktemp="true"' : '' ; 
+		return '<' + 'style type="text/css"' + temp + '>' + styleDef + '<' + '/style>' ;
+	}
+	
+	var getLink = function( cssFileUrl, markTemp )
+	{
+		if ( cssFileUrl.length == 0 )
+			return '' ;
+
+		var temp = markTemp ? ' _fcktemp="true"' : '' ; 
+		return '<' + 'link href="' + cssFileUrl + '" type="text/css" rel="stylesheet" ' + temp + '/>' ;
+	}
+
+	return function( cssFileOrArrayOrDef, markTemp )
+	{
+		if ( !cssFileOrArrayOrDef )
+			return '' ;
+
+		if ( typeof( cssFileOrArrayOrDef ) == 'string' )
+		{
+			// Test if the passed argument is an URL.
+			if ( /[\\\/\.]\w*$/.test( cssFileOrArrayOrDef ) )
+			{
+				// The string may have several URLs separated by comma.
+				return this.GetStyleHtml( cssFileOrArrayOrDef.split(',') ) ;
+			}
+			else
+				return getStyle( this._GetUrlFixedCss( cssFileOrArrayOrDef ), markTemp ) ;
+		}
+		else
+		{
+			var html = '' ;
+
+			for ( var i = 0 ; i < cssFileOrArrayOrDef.length ; i++ )
+				html += getLink( cssFileOrArrayOrDef[i], markTemp ) ;
+
+			return html ;
+		}
+	}
+})() ;
 
 FCKTools.GetElementDocument = function ( element )
Index: /FCKeditor/trunk/editor/_source/internals/fcktools_gecko.js
===================================================================
--- /FCKeditor/trunk/editor/_source/internals/fcktools_gecko.js	(revision 1597)
+++ /FCKeditor/trunk/editor/_source/internals/fcktools_gecko.js	(revision 1598)
@@ -50,6 +50,9 @@
 
 // Appends a CSS style string to a document.
-FCKTools._AppendStyleString = function( documentElement, cssStyles )
-{
+FCKTools.AppendStyleString = function( documentElement, cssStyles )
+{
+	if ( !cssStyles )
+		return ;
+
 	var e = documentElement.createElement( "STYLE" ) ;
 	e.appendChild( documentElement.createTextNode( cssStyles ) ) ;
Index: /FCKeditor/trunk/editor/_source/internals/fcktools_ie.js
===================================================================
--- /FCKeditor/trunk/editor/_source/internals/fcktools_ie.js	(revision 1597)
+++ /FCKeditor/trunk/editor/_source/internals/fcktools_ie.js	(revision 1598)
@@ -34,6 +34,9 @@
 
 // Appends a CSS style string to a document.
-FCKTools._AppendStyleString = function( documentElement, cssStyles )
-{
+FCKTools.AppendStyleString = function( documentElement, cssStyles )
+{
+	if ( !cssStyles )
+		return ;
+
 	var s = documentElement.createStyleSheet( "" ) ;
 	s.cssText = cssStyles ;
Index: /FCKeditor/trunk/editor/css/fck_internal.css
===================================================================
--- /FCKeditor/trunk/editor/css/fck_internal.css	(revision 1597)
+++ /FCKeditor/trunk/editor/css/fck_internal.css	(revision 1598)
@@ -20,4 +20,11 @@
  *
  * This CSS Style Sheet defines rules used by the editor for its internal use.
+ */
+
+/* #########
+ *  WARNING
+ * #########
+ * When changing this file, the minified version of it must be updated in the
+ * fckeditor.html file (see FCK_InternalCSS).
  */
 
Index: /FCKeditor/trunk/editor/css/fck_showtableborders_gecko.css
===================================================================
--- /FCKeditor/trunk/editor/css/fck_showtableborders_gecko.css	(revision 1597)
+++ /FCKeditor/trunk/editor/css/fck_showtableborders_gecko.css	(revision 1598)
@@ -22,4 +22,11 @@
  */
 
+/* #########
+ *  WARNING
+ * #########
+ * When changing this file, the minified version of it must be updated in the
+ * fckeditor.html file (see FCK_ShowTableBordersCSS).
+ */
+
 /* For tables with the "border" attribute set to "0" */
 table[border="0"],
Index: /FCKeditor/trunk/editor/dialog/common/fck_dialog_common.css
===================================================================
--- /FCKeditor/trunk/editor/dialog/common/fck_dialog_common.css	(revision 1597)
+++ /FCKeditor/trunk/editor/dialog/common/fck_dialog_common.css	(revision 1598)
@@ -21,4 +21,11 @@
  * This is the CSS file used for interface details in some dialog
  * windows.
+ */
+
+/* #########
+ *  WARNING
+ * #########
+ * When changing this file, the minified version of it must be updated in the
+ * fck_dialog_common.js file (see GetCommonDialogCss).
  */
 
Index: /FCKeditor/trunk/editor/dialog/common/fck_dialog_common.js
===================================================================
--- /FCKeditor/trunk/editor/dialog/common/fck_dialog_common.js	(revision 1597)
+++ /FCKeditor/trunk/editor/dialog/common/fck_dialog_common.js	(revision 1598)
@@ -54,4 +54,14 @@
 	}
 })() ;
+
+// Attention: FCKConfig must be available in the page.
+function GetCommonDialogCss( prefix )
+{
+	return ( prefix || '' ) + 'common/fck_dialog_common.css' ;	// @Packager.RemoveLine
+	/* @Packager.RemoveLine
+	// CSS minified by http://iceyboard.no-ip.org/projects/css_compressor
+	return FCKConfig.BasePath + 'dialog/common/' + '|.ImagePreviewArea{border:#000 1px solid;overflow:auto;width:100%;height:170px;background-color:#fff}.FlashPreviewArea{border:#000 1px solid;padding:5px;overflow:auto;width:100%;height:170px;background-color:#fff}.BtnReset{float:left;background-position:center center;background-image:url(images/reset.gif);width:16px;height:16px;background-repeat:no-repeat;border:1px none;font-size:1px}.BtnLocked,.BtnUnlocked{float:left;background-position:center center;background-image:url(images/locked.gif);width:16px;height:16px;background-repeat:no-repeat;border:none 1px;font-size:1px}.BtnUnlocked{background-image:url(images/unlocked.gif)}.BtnOver{border:outset 1px;cursor:hand}' ;
+	@Packager.RemoveLine */
+}
 
 // Gets a element by its Id. Used for shorter coding.
Index: /FCKeditor/trunk/editor/dialog/fck_flash.html
===================================================================
--- /FCKeditor/trunk/editor/dialog/fck_flash.html	(revision 1597)
+++ /FCKeditor/trunk/editor/dialog/fck_flash.html	(revision 1598)
@@ -29,5 +29,9 @@
 		<script src="common/fck_dialog_common.js" type="text/javascript"></script>
 		<script src="fck_flash/fck_flash.js" type="text/javascript"></script>
-		<link href="common/fck_dialog_common.css" type="text/css" rel="stylesheet">
+		<script type="text/javascript">
+
+document.write( FCKTools.GetStyleHtml( GetCommonDialogCss() ) ) ;
+
+		</script>
 	</head>
 	<body scroll="no" style="OVERFLOW: hidden">
Index: /FCKeditor/trunk/editor/dialog/fck_flash/fck_flash.js
===================================================================
--- /FCKeditor/trunk/editor/dialog/fck_flash/fck_flash.js	(revision 1597)
+++ /FCKeditor/trunk/editor/dialog/fck_flash/fck_flash.js	(revision 1598)
@@ -27,4 +27,5 @@
 var FCKLang		= oEditor.FCKLang ;
 var FCKConfig	= oEditor.FCKConfig ;
+var FCKTools	= oEditor.FCKTools ;
 
 //#### Dialog Tabs
Index: /FCKeditor/trunk/editor/dialog/fck_flash/fck_flash_preview.html
===================================================================
--- /FCKeditor/trunk/editor/dialog/fck_flash/fck_flash_preview.html	(revision 1597)
+++ /FCKeditor/trunk/editor/dialog/fck_flash/fck_flash_preview.html	(revision 1598)
@@ -27,10 +27,13 @@
 		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 		<meta name="robots" content="noindex, nofollow">
-		<link href="../common/fck_dialog_common.css" rel="stylesheet" type="text/css" />
 		<script src="../common/fck_dialog_common.js" type="text/javascript"></script>
 		<script language="javascript">
 
+var FCKTools	= window.parent.FCKTools ;
+var FCKConfig	= window.parent.FCKConfig ;
+
 // Sets the Skin CSS
-document.write( '<link href="' + window.parent.FCKConfig.SkinPath + 'fck_dialog.css" type="text/css" rel="stylesheet">' ) ;
+document.write( FCKTools.GetStyleHtml( FCKConfig.SkinDialogCSS ) ) ;
+document.write( FCKTools.GetStyleHtml( GetCommonDialogCss( '../' ) ) ) ;
 
 if ( window.parent.FCKConfig.BaseHref.length > 0 )
Index: /FCKeditor/trunk/editor/dialog/fck_image.html
===================================================================
--- /FCKeditor/trunk/editor/dialog/fck_image.html	(revision 1597)
+++ /FCKeditor/trunk/editor/dialog/fck_image.html	(revision 1598)
@@ -29,5 +29,9 @@
 	<script src="common/fck_dialog_common.js" type="text/javascript"></script>
 	<script src="fck_image/fck_image.js" type="text/javascript"></script>
-	<link href="common/fck_dialog_common.css" rel="stylesheet" type="text/css" />
+		<script type="text/javascript">
+
+document.write( FCKTools.GetStyleHtml( GetCommonDialogCss() ) ) ;
+
+		</script>
 </head>
 <body scroll="no" style="overflow: hidden">
Index: /FCKeditor/trunk/editor/dialog/fck_image/fck_image.js
===================================================================
--- /FCKeditor/trunk/editor/dialog/fck_image/fck_image.js	(revision 1597)
+++ /FCKeditor/trunk/editor/dialog/fck_image/fck_image.js	(revision 1598)
@@ -28,4 +28,5 @@
 var FCKConfig	= oEditor.FCKConfig ;
 var FCKDebug	= oEditor.FCKDebug ;
+var FCKTools	= oEditor.FCKTools ;
 
 var bImageButton = ( document.location.search.length > 0 && document.location.search.substr(1) == 'ImageButton' ) ;
Index: /FCKeditor/trunk/editor/dialog/fck_image/fck_image_preview.html
===================================================================
--- /FCKeditor/trunk/editor/dialog/fck_image/fck_image_preview.html	(revision 1597)
+++ /FCKeditor/trunk/editor/dialog/fck_image/fck_image_preview.html	(revision 1598)
@@ -29,10 +29,13 @@
 	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 	<meta name="robots" content="noindex, nofollow" />
-	<link href="../common/fck_dialog_common.css" rel="stylesheet" type="text/css" />
 	<script src="../common/fck_dialog_common.js" type="text/javascript"></script>
 	<script type="text/javascript">
 
+var FCKTools	= window.parent.FCKTools ;
+var FCKConfig	= window.parent.FCKConfig ;
+
 // Sets the Skin CSS
-document.write( '<link href="' + window.parent.FCKConfig.SkinPath + 'fck_dialog.css" type="text/css" rel="stylesheet">' ) ;
+document.write( FCKTools.GetStyleHtml( FCKConfig.SkinDialogCSS ) ) ;
+document.write( FCKTools.GetStyleHtml( GetCommonDialogCss( '../' ) ) ) ;
 
 if ( window.parent.FCKConfig.BaseHref.length > 0 )
Index: /FCKeditor/trunk/editor/dialog/fck_source.html
===================================================================
--- /FCKeditor/trunk/editor/dialog/fck_source.html	(revision 1597)
+++ /FCKeditor/trunk/editor/dialog/fck_source.html	(revision 1598)
@@ -27,5 +27,5 @@
 		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 		<meta name="robots" content="noindex, nofollow">
-		<link href="common/fck_dialog_common.css" rel="stylesheet" type="text/css" />
+		<script src="common/fck_dialog_common.js" type="text/javascript"></script>
 		<script language="javascript">
 
@@ -33,4 +33,7 @@
 var FCK			= oEditor.FCK ;
 var FCKConfig	= oEditor.FCKConfig ;
+var FCKTools	= oEditor.FCKTools ;
+
+document.write( FCKTools.GetStyleHtml( GetCommonDialogCss() ) ) ;
 
 window.onload = function()
Index: /FCKeditor/trunk/editor/fckdialog.html
===================================================================
--- /FCKeditor/trunk/editor/fckdialog.html	(revision 1597)
+++ /FCKeditor/trunk/editor/fckdialog.html	(revision 1598)
@@ -83,5 +83,5 @@
 
 // Sets the Skin CSS
-document.write( '<link href="' + FCKConfig.SkinPath + 'fck_dialog.css" type="text/css" rel="stylesheet">' ) ;
+document.write( FCKTools.GetStyleHtml( FCKConfig.SkinDialogCSS ) ) ;
 
 // Sets the language direction.
@@ -644,5 +644,5 @@
 
 		// Sets the Skin CSS.
-		innerDoc.write( '<link href="' + FCKConfig.SkinPath + 'fck_dialog.css" type="text/css" rel="stylesheet">' ) ;
+		innerDoc.write( FCKTools.GetStyleHtml( FCKConfig.SkinDialogCSS ) ) ;
 
 		setOnKeyDown( innerDoc ) ;
Index: /FCKeditor/trunk/editor/fckeditor.html
===================================================================
--- /FCKeditor/trunk/editor/fckeditor.html	(revision 1597)
+++ /FCKeditor/trunk/editor/fckeditor.html	(revision 1598)
@@ -80,9 +80,4 @@
 {
 	document.write( '<scr' + 'ipt type="text/javascript" src="' + url + '"><\/scr' + 'ipt>' ) ;
-}
-
-function LoadCss( url )
-{
-	document.write( '<link href="' + url + '" type="text/css" rel="stylesheet" />' ) ;
 }
 
@@ -243,4 +238,12 @@
 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
+/* @Packager.RemoveLine
+// CSS minified by http://iceyboard.no-ip.org/projects/css_compressor
+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__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}' ) ;
+@Packager.RemoveLine */
+
 // Popup the debug window if debug mode is set to true. It guarantees that the
 // first debug message will not be lost.
@@ -249,5 +252,5 @@
 
 // Load the active skin CSS.
-LoadCss( FCKConfig.SkinPath + 'fck_editor.css' ) ;
+document.write( FCKTools.GetStyleHtml( FCKConfig.SkinEditorCSS ) ) ;
 
 // Load the language file.
Index: /FCKeditor/trunk/fckconfig.js
===================================================================
--- /FCKeditor/trunk/fckconfig.js	(revision 1597)
+++ /FCKeditor/trunk/fckconfig.js	(revision 1598)
@@ -44,4 +44,7 @@
 
 FCKConfig.SkinPath = FCKConfig.BasePath + 'skins/default/' ;
+FCKConfig.SkinEditorCSS = FCKConfig.SkinPath + 'fck_editor.css' ;
+FCKConfig.SkinDialogCSS = FCKConfig.SkinPath + 'fck_dialog.css' ;
+
 FCKConfig.PreloadImages = [ FCKConfig.SkinPath + 'images/toolbar.start.gif', FCKConfig.SkinPath + 'images/toolbar.buttonarrow.gif' ] ;
 
