changeset 114:00a0fa898ed5

upgraded FCKeditor to current CVS (after 2.1 release of it) imported from: moin--main--1.5--patch-116
author Thomas Waldmann <tw@waldmann-edv.de>
date Mon, 17 Oct 2005 20:45:54 +0000
parents 7785febd9530
children 4369c2fc023a
files docs/CHANGES wiki/htdocs/applets/FCKeditor/CVS/Entries wiki/htdocs/applets/FCKeditor/README wiki/htdocs/applets/FCKeditor/_samples/CVS/Entries wiki/htdocs/applets/FCKeditor/_samples/_plugins/CVS/Entries wiki/htdocs/applets/FCKeditor/_samples/_plugins/CVS/Entries.Log wiki/htdocs/applets/FCKeditor/_samples/_plugins/findreplace/CVS/Entries wiki/htdocs/applets/FCKeditor/_samples/_plugins/findreplace/lang/CVS/Entries wiki/htdocs/applets/FCKeditor/_samples/_plugins/findreplace/lang/fr.js wiki/htdocs/applets/FCKeditor/_samples/_plugins/samples/CVS/Entries wiki/htdocs/applets/FCKeditor/_samples/afp/CVS/Entries wiki/htdocs/applets/FCKeditor/_samples/asp/CVS/Entries wiki/htdocs/applets/FCKeditor/_samples/cfm/CVS/Entries wiki/htdocs/applets/FCKeditor/_samples/cfm/sample01.cfm wiki/htdocs/applets/FCKeditor/_samples/html/CVS/Entries wiki/htdocs/applets/FCKeditor/_samples/html/sample06.config.js wiki/htdocs/applets/FCKeditor/_samples/lasso/CVS/Entries wiki/htdocs/applets/FCKeditor/_samples/perl/CVS/Entries wiki/htdocs/applets/FCKeditor/_samples/php/CVS/Entries wiki/htdocs/applets/FCKeditor/_testcases/005.html wiki/htdocs/applets/FCKeditor/_testcases/006.html wiki/htdocs/applets/FCKeditor/_testcases/CVS/Entries wiki/htdocs/applets/FCKeditor/_whatsnew.html wiki/htdocs/applets/FCKeditor/editor/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/_source/classes/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/_source/classes/fckpanel_gecko.js wiki/htdocs/applets/FCKeditor/editor/_source/classes/fckplugin.js wiki/htdocs/applets/FCKeditor/editor/_source/classes/fckspecialcombo.js wiki/htdocs/applets/FCKeditor/editor/_source/classes/fcktoolbar.js wiki/htdocs/applets/FCKeditor/editor/_source/classes/fcktoolbarstylecombo.js wiki/htdocs/applets/FCKeditor/editor/_source/classes/fckxml_ie.js wiki/htdocs/applets/FCKeditor/editor/_source/commandclasses/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/_source/commandclasses/fck_othercommands.js wiki/htdocs/applets/FCKeditor/editor/_source/commandclasses/fckstylecommand.js wiki/htdocs/applets/FCKeditor/editor/_source/commandclasses/fcktextcolorcommand.js wiki/htdocs/applets/FCKeditor/editor/_source/globals/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/_source/globals/fck_constants.js wiki/htdocs/applets/FCKeditor/editor/_source/internals/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/_source/internals/fck.js wiki/htdocs/applets/FCKeditor/editor/_source/internals/fck_1.js wiki/htdocs/applets/FCKeditor/editor/_source/internals/fck_1_gecko.js wiki/htdocs/applets/FCKeditor/editor/_source/internals/fck_1_ie.js wiki/htdocs/applets/FCKeditor/editor/_source/internals/fck_2.js wiki/htdocs/applets/FCKeditor/editor/_source/internals/fck_2_gecko.js wiki/htdocs/applets/FCKeditor/editor/_source/internals/fck_last.js wiki/htdocs/applets/FCKeditor/editor/_source/internals/fck_onload.js wiki/htdocs/applets/FCKeditor/editor/_source/internals/fckcommands.js wiki/htdocs/applets/FCKeditor/editor/_source/internals/fckconfig.js wiki/htdocs/applets/FCKeditor/editor/_source/internals/fckcontextmenu.js wiki/htdocs/applets/FCKeditor/editor/_source/internals/fckdialog_gecko.js wiki/htdocs/applets/FCKeditor/editor/_source/internals/fcklanguagemanager.js wiki/htdocs/applets/FCKeditor/editor/_source/internals/fckregexlib.js wiki/htdocs/applets/FCKeditor/editor/_source/internals/fckselection_gecko.js wiki/htdocs/applets/FCKeditor/editor/_source/internals/fckselection_ie.js wiki/htdocs/applets/FCKeditor/editor/_source/internals/fcktablehandler.js wiki/htdocs/applets/FCKeditor/editor/_source/internals/fcktoolbaritems.js wiki/htdocs/applets/FCKeditor/editor/_source/internals/fcktoolbarset.js wiki/htdocs/applets/FCKeditor/editor/_source/internals/fcktools.js wiki/htdocs/applets/FCKeditor/editor/_source/internals/fcktools_gecko.js wiki/htdocs/applets/FCKeditor/editor/_source/internals/fcktools_ie.js wiki/htdocs/applets/FCKeditor/editor/_source/internals/fckundo_ie.js wiki/htdocs/applets/FCKeditor/editor/_source/internals/fckurlparams.js wiki/htdocs/applets/FCKeditor/editor/_source/internals/fckxhtml.js wiki/htdocs/applets/FCKeditor/editor/_source/internals/fckxhtml_gecko.js wiki/htdocs/applets/FCKeditor/editor/_source/internals/fckxhtmlentities.js wiki/htdocs/applets/FCKeditor/editor/css/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/css/behaviors/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/css/images/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/dialog/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/dialog/common/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/dialog/common/images/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/dialog/fck_about.html wiki/htdocs/applets/FCKeditor/editor/dialog/fck_about/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/dialog/fck_about/lgpl.html wiki/htdocs/applets/FCKeditor/editor/dialog/fck_docprops.html wiki/htdocs/applets/FCKeditor/editor/dialog/fck_docprops/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/dialog/fck_flash.html wiki/htdocs/applets/FCKeditor/editor/dialog/fck_flash/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/dialog/fck_flash/fck_flash.js wiki/htdocs/applets/FCKeditor/editor/dialog/fck_image.html wiki/htdocs/applets/FCKeditor/editor/dialog/fck_image/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/dialog/fck_image/fck_image.js wiki/htdocs/applets/FCKeditor/editor/dialog/fck_link.html wiki/htdocs/applets/FCKeditor/editor/dialog/fck_link/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/dialog/fck_link/fck_link.js wiki/htdocs/applets/FCKeditor/editor/dialog/fck_select/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/dialog/fck_smiley.html wiki/htdocs/applets/FCKeditor/editor/dialog/fck_specialchar.html wiki/htdocs/applets/FCKeditor/editor/dialog/fck_spellerpages/spellerpages/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/dialog/fck_table.html wiki/htdocs/applets/FCKeditor/editor/dialog/fck_template.html wiki/htdocs/applets/FCKeditor/editor/dialog/fck_template/images/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/dialog/fck_universalkey/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/dialog/fck_universalkey/multihexa.js wiki/htdocs/applets/FCKeditor/editor/fckdebug.html wiki/htdocs/applets/FCKeditor/editor/fckdialog.html wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/connectors/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/connectors/asp/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/connectors/asp/commands.asp wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/connectors/asp/connector.asp wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/connectors/aspx/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/connectors/cfm/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/connectors/cfm/config.cfm wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/connectors/cfm/connector.cfm wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/connectors/lasso/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/connectors/perl/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/connectors/php/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/connectors/php/commands.php wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/connectors/php/config.php wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/connectors/php/connector.php wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/connectors/test.html wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/32/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/js/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/mcpuk/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/mcpuk/connectors/php/Auth/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/mcpuk/connectors/php/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/helpers/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/mcpuk/connectors/php/Docs/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/mcpuk/connectors/php/dtd/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/mcpuk/connectors/php/images/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/mcpuk/images/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/mcpuk/images/icons/32/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/mcpuk/images/icons/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/mcpuk/images/toolbar/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/mcpuk/js/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/filemanager/upload/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/filemanager/upload/asp/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/filemanager/upload/aspx/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/filemanager/upload/lasso/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/filemanager/upload/php/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/filemanager/upload/test.html wiki/htdocs/applets/FCKeditor/editor/images/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/images/smiley/fun/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/images/smiley/msn/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/js/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/js/fck_startup.js wiki/htdocs/applets/FCKeditor/editor/js/fckeditorcode_gecko_1.js wiki/htdocs/applets/FCKeditor/editor/js/fckeditorcode_gecko_2.js wiki/htdocs/applets/FCKeditor/editor/js/fckeditorcode_ie_1.js wiki/htdocs/applets/FCKeditor/editor/js/fckeditorcode_ie_2.js wiki/htdocs/applets/FCKeditor/editor/lang/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/lang/_translationstatus.txt wiki/htdocs/applets/FCKeditor/editor/lang/ar.js wiki/htdocs/applets/FCKeditor/editor/lang/bg.js wiki/htdocs/applets/FCKeditor/editor/lang/bs.js wiki/htdocs/applets/FCKeditor/editor/lang/ca.js wiki/htdocs/applets/FCKeditor/editor/lang/cs.js wiki/htdocs/applets/FCKeditor/editor/lang/da.js wiki/htdocs/applets/FCKeditor/editor/lang/de.js wiki/htdocs/applets/FCKeditor/editor/lang/el.js wiki/htdocs/applets/FCKeditor/editor/lang/en-au.js wiki/htdocs/applets/FCKeditor/editor/lang/en-uk.js wiki/htdocs/applets/FCKeditor/editor/lang/en.js wiki/htdocs/applets/FCKeditor/editor/lang/eo.js wiki/htdocs/applets/FCKeditor/editor/lang/es.js wiki/htdocs/applets/FCKeditor/editor/lang/et.js wiki/htdocs/applets/FCKeditor/editor/lang/eu.js wiki/htdocs/applets/FCKeditor/editor/lang/fa.js wiki/htdocs/applets/FCKeditor/editor/lang/fi.js wiki/htdocs/applets/FCKeditor/editor/lang/fo.js wiki/htdocs/applets/FCKeditor/editor/lang/fr.js wiki/htdocs/applets/FCKeditor/editor/lang/gl.js wiki/htdocs/applets/FCKeditor/editor/lang/he.js wiki/htdocs/applets/FCKeditor/editor/lang/hr.js wiki/htdocs/applets/FCKeditor/editor/lang/hu.js wiki/htdocs/applets/FCKeditor/editor/lang/it.js wiki/htdocs/applets/FCKeditor/editor/lang/ja.js wiki/htdocs/applets/FCKeditor/editor/lang/ko.js wiki/htdocs/applets/FCKeditor/editor/lang/lt.js wiki/htdocs/applets/FCKeditor/editor/lang/mn.js wiki/htdocs/applets/FCKeditor/editor/lang/ms.js wiki/htdocs/applets/FCKeditor/editor/lang/nl.js wiki/htdocs/applets/FCKeditor/editor/lang/no.js wiki/htdocs/applets/FCKeditor/editor/lang/pl.js wiki/htdocs/applets/FCKeditor/editor/lang/pt-br.js wiki/htdocs/applets/FCKeditor/editor/lang/pt.js wiki/htdocs/applets/FCKeditor/editor/lang/ro.js wiki/htdocs/applets/FCKeditor/editor/lang/ru.js wiki/htdocs/applets/FCKeditor/editor/lang/sk.js wiki/htdocs/applets/FCKeditor/editor/lang/sl.js wiki/htdocs/applets/FCKeditor/editor/lang/sr-latn.js wiki/htdocs/applets/FCKeditor/editor/lang/sr.js wiki/htdocs/applets/FCKeditor/editor/lang/sv.js wiki/htdocs/applets/FCKeditor/editor/lang/th.js wiki/htdocs/applets/FCKeditor/editor/lang/tr.js wiki/htdocs/applets/FCKeditor/editor/lang/uk.js wiki/htdocs/applets/FCKeditor/editor/lang/vi.js wiki/htdocs/applets/FCKeditor/editor/lang/zh-cn.js wiki/htdocs/applets/FCKeditor/editor/lang/zh.js wiki/htdocs/applets/FCKeditor/editor/plugins/placeholder/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/plugins/placeholder/fck_placeholder.html wiki/htdocs/applets/FCKeditor/editor/plugins/placeholder/lang/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/plugins/simplecommands/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/plugins/tablecommands/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/skins/default/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/skins/default/images/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/skins/default/toolbar/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/skins/office2003/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/skins/office2003/images/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/skins/office2003/toolbar/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/skins/silver/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/skins/silver/images/CVS/Entries wiki/htdocs/applets/FCKeditor/editor/skins/silver/toolbar/CVS/Entries wiki/htdocs/applets/FCKeditor/fckconfig.js wiki/htdocs/applets/FCKeditor/fckeditor.asp wiki/htdocs/applets/FCKeditor/fckeditor.cfm wiki/htdocs/applets/FCKeditor/fckeditor.js wiki/htdocs/applets/FCKeditor/fckeditor.php wiki/htdocs/applets/FCKeditor/htaccess.txt
diffstat 214 files changed, 3900 insertions(+), 1962 deletions(-) [+]
line wrap: on
line diff
--- a/docs/CHANGES	Sun Oct 16 16:01:50 2005 +0000
+++ b/docs/CHANGES	Mon Oct 17 20:45:54 2005 +0000
@@ -33,7 +33,7 @@
         using SMTP.
  
     * Wiki Editor changes / new WYSIWYG editor
-     * fully imported the javascript based LGPLed FCKeditor 2.0 (many thanks
+     * fully imported the javascript based LGPLed FCKeditor (many thanks
       to Fred CK for his great work). See http://fckeditor.net/ for details.
      * config for FCKeditor is at wiki/htdocs/applets/moinfckeditor.js
      * added cfg.interwiki_preferred (default = []) to set a list of wikis to
--- a/wiki/htdocs/applets/FCKeditor/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,17 +1,18 @@
-/_documentation.html/1.1/Wed Aug 31 19:04:44 2005//
-/fckeditor.afp/1.1/Wed Aug 31 19:00:27 2005//
-/fckeditor.asp/1.1/Wed Aug 31 19:00:27 2005//
-/fckeditor.cfc/1.1/Wed Aug 31 19:00:27 2005//
-/fckeditor.cfm/1.1/Wed Aug 31 19:00:27 2005//
-/fckeditor.js/1.1/Wed Aug 31 19:00:27 2005//
-/fckeditor.lasso/1.1/Wed Aug 31 19:00:27 2005//
-/fckeditor.php/1.1/Wed Aug 31 19:00:27 2005//
-/fckeditor.pl/1.1/Wed Aug 31 19:00:27 2005//
-/fckstyles.xml/1.1/Wed Aug 31 19:00:27 2005//
-/fcktemplates.xml/1.1/Wed Aug 31 19:00:27 2005//
-/license.txt/1.1/Wed Aug 31 19:00:27 2005//
 D/_samples////
 D/_testcases////
 D/editor////
-/_whatsnew.html/1.2/Wed Sep 21 19:24:47 2005//
-/fckconfig.js/1.2/Wed Sep 21 19:24:47 2005//
+/_documentation.html/1.1/Thu Sep 22 16:22:10 2005//
+/_whatsnew.html/1.4/Mon Oct 17 19:52:50 2005//
+/fckconfig.js/1.4/Mon Oct 17 19:52:50 2005//
+/fckeditor.afp/1.1/Thu Sep 22 16:22:10 2005//
+/fckeditor.asp/1.2/Mon Oct 17 19:52:50 2005//
+/fckeditor.cfc/1.1/Thu Sep 22 16:22:10 2005//
+/fckeditor.cfm/1.2/Mon Oct 17 19:52:50 2005//
+/fckeditor.js/1.2/Mon Oct 17 19:52:50 2005//
+/fckeditor.lasso/1.1/Thu Sep 22 16:22:10 2005//
+/fckeditor.php/1.2/Mon Oct 17 19:52:51 2005//
+/fckeditor.pl/1.1/Thu Sep 22 16:22:10 2005//
+/fckstyles.xml/1.1/Thu Sep 22 16:22:10 2005//
+/fcktemplates.xml/1.1/Thu Sep 22 16:22:10 2005//
+/htaccess.txt/1.1/Sat Sep 24 21:14:03 2005//
+/license.txt/1.1/Thu Sep 22 16:22:10 2005//
--- a/wiki/htdocs/applets/FCKeditor/README	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/README	Mon Oct 17 20:45:54 2005 +0000
@@ -1,3 +1,4 @@
+2005-10-17 Updated from CVS (2.1+ release)
 2005-09-08 Updated to track FCKeditor SF CVS
 2005-07-20 Updated to FCKeditor 2.0 release
 2005-07-16 Updated to FCKeditor 2.0PR
--- a/wiki/htdocs/applets/FCKeditor/_samples/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/_samples/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,6 +1,3 @@
-/default.html/1.1/Wed Aug 31 19:08:36 2005//
-/sample.css/1.1/Wed Aug 31 19:08:36 2005//
-/sampleslist.html/1.1/Wed Aug 31 19:08:36 2005//
 D/_plugins////
 D/afp////
 D/asp////
@@ -9,3 +6,6 @@
 D/lasso////
 D/perl////
 D/php////
+/default.html/1.1/Thu Sep 22 16:22:10 2005//
+/sample.css/1.1/Thu Sep 22 16:22:10 2005//
+/sampleslist.html/1.1/Thu Sep 22 16:22:10 2005//
--- a/wiki/htdocs/applets/FCKeditor/_samples/_plugins/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/_samples/_plugins/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,1 +1,2 @@
 D/findreplace////
+D/samples////
--- a/wiki/htdocs/applets/FCKeditor/_samples/_plugins/CVS/Entries.Log	Sun Oct 16 16:01:50 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-A D/samples////
--- a/wiki/htdocs/applets/FCKeditor/_samples/_plugins/findreplace/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/_samples/_plugins/findreplace/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,6 +1,6 @@
-/fckplugin.js/1.1/Wed Aug 31 19:08:35 2005//
-/find.gif/1.1/Wed Aug 31 19:08:35 2005/-kb/
-/find.html/1.1/Wed Aug 31 19:08:35 2005//
-/replace.gif/1.1/Wed Aug 31 19:08:35 2005/-kb/
-/replace.html/1.1/Wed Aug 31 19:08:35 2005//
 D/lang////
+/fckplugin.js/1.1/Thu Sep 22 16:22:10 2005//
+/find.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/find.html/1.1/Thu Sep 22 16:22:10 2005//
+/replace.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/replace.html/1.1/Thu Sep 22 16:22:10 2005//
--- a/wiki/htdocs/applets/FCKeditor/_samples/_plugins/findreplace/lang/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/_samples/_plugins/findreplace/lang/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,3 +1,4 @@
-/en.js/1.1/Wed Aug 31 19:08:35 2005//
-/it.js/1.1/Wed Aug 31 19:08:35 2005//
+/en.js/1.1/Thu Sep 22 16:22:10 2005//
+/fr.js/1.1/Sat Sep 24 21:14:04 2005//
+/it.js/1.1/Thu Sep 22 16:22:10 2005//
 D
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wiki/htdocs/applets/FCKeditor/_samples/_plugins/findreplace/lang/fr.js	Mon Oct 17 20:45:54 2005 +0000
@@ -0,0 +1,29 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fr.js
+ * 	French language file for the sample plugin.
+ * 
+ * File Authors:
+ * 		Benjamin Cartereau (b.cartereau@infass.com)
+ */
+
+FCKLang['DlgMyReplaceTitle']		= 'Plugin - Remplacer' ;
+FCKLang['DlgMyReplaceFindLbl']		= 'Chercher:' ;
+FCKLang['DlgMyReplaceReplaceLbl']	= 'Remplacer par:' ;
+FCKLang['DlgMyReplaceCaseChk']		= 'Respecter la casse' ;
+FCKLang['DlgMyReplaceReplaceBtn']	= 'Remplacer' ;
+FCKLang['DlgMyReplaceReplAllBtn']	= 'Remplacer Tout' ;
+FCKLang['DlgMyReplaceWordChk']		= 'Mot entier' ;
+
+FCKLang['DlgMyFindTitle']			= 'Plugin - Chercher' ;
+FCKLang['DlgMyFindFindBtn']			= 'Chercher' ;
\ No newline at end of file
--- a/wiki/htdocs/applets/FCKeditor/_samples/_plugins/samples/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/_samples/_plugins/samples/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,2 +1,2 @@
-/fckplugin.js/1.1/Wed Sep 14 15:26:47 2005//
+/fckplugin.js/1.1/Thu Sep 22 16:22:10 2005//
 D
--- a/wiki/htdocs/applets/FCKeditor/_samples/afp/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/_samples/afp/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,5 +1,5 @@
-/fck.afpa/1.1/Wed Aug 31 19:08:35 2005//
-/fck.afpa.code/1.1/Wed Aug 31 19:08:35 2005//
-/sample01.afp/1.1/Wed Aug 31 19:08:35 2005//
-/sampleposteddata.afp/1.1/Wed Aug 31 19:08:35 2005//
+/fck.afpa/1.1/Thu Sep 22 16:22:10 2005//
+/fck.afpa.code/1.1/Thu Sep 22 16:22:10 2005//
+/sample01.afp/1.1/Thu Sep 22 16:22:10 2005//
+/sampleposteddata.afp/1.1/Thu Sep 22 16:22:10 2005//
 D
--- a/wiki/htdocs/applets/FCKeditor/_samples/asp/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/_samples/asp/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,6 +1,6 @@
-/sample01.asp/1.1/Wed Aug 31 19:08:35 2005//
-/sample02.asp/1.1/Wed Aug 31 19:08:35 2005//
-/sample03.asp/1.1/Wed Aug 31 19:08:35 2005//
-/sample04.asp/1.1/Wed Aug 31 19:08:35 2005//
-/sampleposteddata.asp/1.1/Wed Aug 31 19:08:35 2005//
+/sample01.asp/1.1/Thu Sep 22 16:22:10 2005//
+/sample02.asp/1.1/Thu Sep 22 16:22:10 2005//
+/sample03.asp/1.1/Thu Sep 22 16:22:10 2005//
+/sample04.asp/1.1/Thu Sep 22 16:22:10 2005//
+/sampleposteddata.asp/1.1/Thu Sep 22 16:22:10 2005//
 D
--- a/wiki/htdocs/applets/FCKeditor/_samples/cfm/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/_samples/cfm/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,3 +1,3 @@
-/sample01.cfm/1.1/Wed Aug 31 19:08:35 2005//
-/sample02_mx.cfm/1.1/Wed Aug 31 19:08:35 2005//
+/sample01.cfm/1.2/Mon Oct 17 19:52:51 2005//
+/sample02_mx.cfm/1.1/Thu Sep 22 16:22:10 2005//
 D
--- a/wiki/htdocs/applets/FCKeditor/_samples/cfm/sample01.cfm	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/_samples/cfm/sample01.cfm	Mon Oct 17 20:45:54 2005 +0000
@@ -4,24 +4,9 @@
 	Sample page for ColdFusion.
 </FileDescription>
 <Author name="Hendrik Kramer" email="hk@lwd.de" />
+<Author name="Mark Woods" email="mark@thickpaddy.com" />
 --->
 
-<!--- ::
-	  * You must set the url path to the base directory for your media files (images, flash, files)
-	  * The best position for this variable is in your Application.cfm file
-	  * 
-	  * Possible variable scopes are:
-	  * <cfset APPLICATION.userFilesPath = "/UserFiles/">
-	  * OR:
-	  * <cfset SERVER.userFilesPath = "/UserFiles/">
-	  *
-	  * Note #1: Do _not_ set the physical directory on your server, only a path relative to your current webroot
-	  * Note #2: Directories will be automatically created
-	  :: --->
-<cflock scope="Application" type="exclusive" timeout="5">
-	<cfset APPLICATION.userFilesPath = "/UserFiles/">
-</cflock>
-
 <cfoutput>
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 <html>
@@ -42,11 +27,6 @@
 <form method="POST" action="#cgi.script_name#">
 </cfoutput>
 
-<cfif listFirst( server.coldFusion.productVersion ) LT 6>
-	<cfoutput><br><em style="color: red;">This sample work only with a ColdFusion MX server and higher, because it uses some advantages of this version.</em></cfoutput>
-	<cfabort>
-</cfif>
-
 <cfmodule 
 	template="../../fckeditor.cfm"
 	basePath="/fckeditor/"
--- a/wiki/htdocs/applets/FCKeditor/_samples/html/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/_samples/html/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,14 +1,14 @@
-/sample02.html/1.1/Wed Aug 31 19:08:36 2005//
-/sample03.html/1.1/Wed Aug 31 19:08:36 2005//
-/sample04.html/1.1/Wed Aug 31 19:08:36 2005//
-/sample05.html/1.1/Wed Aug 31 19:08:36 2005//
-/sample06.html/1.1/Wed Aug 31 19:08:36 2005//
-/sample07.html/1.1/Wed Aug 31 19:08:36 2005//
-/sample08.html/1.1/Wed Aug 31 19:08:36 2005//
-/sample09.html/1.1/Wed Aug 31 19:08:36 2005//
-/sample10.html/1.1/Wed Aug 31 19:08:36 2005//
-/sampleposteddata.asp/1.1/Wed Aug 31 19:08:36 2005//
-/sampleposteddata.html/1.1/Wed Aug 31 19:08:36 2005//
-/sample01.html/1.2/Wed Sep 21 19:24:47 2005//
-/sample06.config.js/1.2/Wed Sep 21 19:24:48 2005//
+/sample01.html/1.2/Thu Sep 22 16:22:10 2005//
+/sample02.html/1.1/Thu Sep 22 16:22:10 2005//
+/sample03.html/1.1/Thu Sep 22 16:22:10 2005//
+/sample04.html/1.1/Thu Sep 22 16:22:10 2005//
+/sample05.html/1.1/Thu Sep 22 16:22:10 2005//
+/sample06.config.js/1.3/Mon Oct 17 19:52:51 2005//
+/sample06.html/1.1/Thu Sep 22 16:22:10 2005//
+/sample07.html/1.1/Thu Sep 22 16:22:10 2005//
+/sample08.html/1.1/Thu Sep 22 16:22:10 2005//
+/sample09.html/1.1/Thu Sep 22 16:22:10 2005//
+/sample10.html/1.1/Thu Sep 22 16:22:10 2005//
+/sampleposteddata.asp/1.1/Thu Sep 22 16:22:10 2005//
+/sampleposteddata.html/1.1/Thu Sep 22 16:22:10 2005//
 D
--- a/wiki/htdocs/applets/FCKeditor/_samples/html/sample06.config.js	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/_samples/html/sample06.config.js	Mon Oct 17 20:45:54 2005 +0000
@@ -35,8 +35,8 @@
 //		FCKConfig.Plugins.Add( pluginName, availableLanguages )
 //			pluginName: The plugin name. The plugin directory must match this name.
 //			availableLanguages: a list of available language files for the plugin (separated by a comma).
-FCKConfig.Plugins.Add( 'findreplace', 'en,it' ) ;
-FCKConfig.Plugins.Add( 'samples', 'en,it' ) ;
+FCKConfig.Plugins.Add( 'findreplace', 'en,it,fr' ) ;
+FCKConfig.Plugins.Add( 'samples' ) ;
 
 // If you want to use plugins found on other directories, just use the third parameter.
 var sOtherPluginPath = FCKConfig.BasePath.substr(0, FCKConfig.BasePath.length - 7) + 'editor/plugins/' ;
--- a/wiki/htdocs/applets/FCKeditor/_samples/lasso/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/_samples/lasso/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,6 +1,6 @@
-/sample01.lasso/1.1/Wed Aug 31 19:08:36 2005//
-/sample02.lasso/1.1/Wed Aug 31 19:08:36 2005//
-/sample03.lasso/1.1/Wed Aug 31 19:08:36 2005//
-/sample04.lasso/1.1/Wed Aug 31 19:08:36 2005//
-/sampleposteddata.lasso/1.1/Wed Aug 31 19:08:36 2005//
+/sample01.lasso/1.1/Thu Sep 22 16:22:10 2005//
+/sample02.lasso/1.1/Thu Sep 22 16:22:10 2005//
+/sample03.lasso/1.1/Thu Sep 22 16:22:10 2005//
+/sample04.lasso/1.1/Thu Sep 22 16:22:10 2005//
+/sampleposteddata.lasso/1.1/Thu Sep 22 16:22:10 2005//
 D
--- a/wiki/htdocs/applets/FCKeditor/_samples/perl/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/_samples/perl/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,6 +1,6 @@
-/sample01.cgi/1.1/Wed Aug 31 19:08:36 2005//
-/sample02.cgi/1.1/Wed Aug 31 19:08:36 2005//
-/sample03.cgi/1.1/Wed Aug 31 19:08:36 2005//
-/sample04.cgi/1.1/Wed Aug 31 19:08:36 2005//
-/sampleposteddata.cgi/1.1/Wed Aug 31 19:08:36 2005//
+/sample01.cgi/1.1/Thu Sep 22 16:22:10 2005//
+/sample02.cgi/1.1/Thu Sep 22 16:22:10 2005//
+/sample03.cgi/1.1/Thu Sep 22 16:22:10 2005//
+/sample04.cgi/1.1/Thu Sep 22 16:22:10 2005//
+/sampleposteddata.cgi/1.1/Thu Sep 22 16:22:10 2005//
 D
--- a/wiki/htdocs/applets/FCKeditor/_samples/php/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/_samples/php/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,6 +1,6 @@
-/sample01.php/1.1/Wed Aug 31 19:08:36 2005//
-/sample02.php/1.1/Wed Aug 31 19:08:36 2005//
-/sample03.php/1.1/Wed Aug 31 19:08:36 2005//
-/sample04.php/1.1/Wed Aug 31 19:08:36 2005//
-/sampleposteddata.php/1.1/Wed Aug 31 19:08:36 2005//
+/sample01.php/1.1/Thu Sep 22 16:22:10 2005//
+/sample02.php/1.1/Thu Sep 22 16:22:10 2005//
+/sample03.php/1.1/Thu Sep 22 16:22:10 2005//
+/sample04.php/1.1/Thu Sep 22 16:22:10 2005//
+/sampleposteddata.php/1.1/Thu Sep 22 16:22:10 2005//
 D
--- a/wiki/htdocs/applets/FCKeditor/_testcases/005.html	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/_testcases/005.html	Mon Oct 17 20:45:54 2005 +0000
@@ -41,7 +41,7 @@
 			<LI>
 			Create a table with border =
 			   0&nbsp;and an anchor. 
-  <LI>Create an image and points it to /images/Logos.gif
+  <LI>Create an image and points it to /images/logotop.gif
   <LI>Hit submit button and check the posted data.</LI></OL>
 		<P>
 			<hr>
--- a/wiki/htdocs/applets/FCKeditor/_testcases/006.html	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/_testcases/006.html	Mon Oct 17 20:45:54 2005 +0000
@@ -42,7 +42,11 @@
 			<LI>
 			Create a table with border = 0 and an anchor.
 			<LI>
-			Create an image and points it to /images/Logos.gif
+			Create an image and points it to /images/logotop.gif
+			<LI>
+			Paste the following CSS tag in the source: &lt;link href="/css/main.css" type="text/css" rel="stylesheet" /&gt;
+			<LI>
+			Check the WYSIWYG mode.
 			<LI>
 				Hit submit button and check the posted data.</LI></OL>
 		<P>
--- a/wiki/htdocs/applets/FCKeditor/_testcases/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/_testcases/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,12 +1,12 @@
-/001.html/1.1/Wed Aug 31 19:08:36 2005//
-/002.html/1.1/Wed Aug 31 19:08:36 2005//
-/003.html/1.1/Wed Aug 31 19:08:36 2005//
-/005.html/1.1/Wed Aug 31 19:08:36 2005//
-/006.html/1.1/Wed Aug 31 19:08:36 2005//
-/007.html/1.1/Wed Aug 31 19:08:36 2005//
-/008.html/1.1/Wed Aug 31 19:08:36 2005//
-/009.html/1.1/Wed Aug 31 19:08:36 2005//
-/sampleposteddata.asp/1.1/Wed Aug 31 19:08:36 2005//
-/testcases.css/1.1/Wed Aug 31 19:08:36 2005//
-/004.html/1.2/Wed Sep 21 19:24:48 2005//
+/001.html/1.1/Thu Sep 22 16:22:10 2005//
+/002.html/1.1/Thu Sep 22 16:22:10 2005//
+/003.html/1.1/Thu Sep 22 16:22:10 2005//
+/004.html/1.2/Thu Sep 22 16:22:10 2005//
+/005.html/1.2/Mon Oct 17 19:52:51 2005//
+/006.html/1.2/Mon Oct 17 19:52:51 2005//
+/007.html/1.1/Thu Sep 22 16:22:10 2005//
+/008.html/1.1/Thu Sep 22 16:22:10 2005//
+/009.html/1.1/Thu Sep 22 16:22:10 2005//
+/sampleposteddata.asp/1.1/Thu Sep 22 16:22:10 2005//
+/testcases.css/1.1/Thu Sep 22 16:22:10 2005//
 D
--- a/wiki/htdocs/applets/FCKeditor/_whatsnew.html	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/_whatsnew.html	Mon Oct 17 20:45:54 2005 +0000
@@ -24,11 +24,10 @@
 		<UL>
   <LI>[<A 
   href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1200328&amp;group_id=75348&amp;atid=543653" 
-  target="_blank">SF BUG-1200328</A>] The editor now offers a way to "protect" 
-  part of the source to remain untouch while editing or changing 
-  views.&nbsp;Just use the "FCKConfig.ProtectedSource" object to configure it 
-  and customize to your needs. It is based on regular expressions. See 
-  fckconfig.js for some samples. </LI>
+  target="_blank">SF BUG-1200328</A>] The editor now offers a way to "protect" part of the source 
+  to remain untouched while editing or changing views.&nbsp;Just use the 
+  "FCKConfig.ProtectedSource" object to configure it and customize to your 
+  needs. It is based on regular expressions. See fckconfig.js for some samples. 
   <LI>
 				The editor now offers native support for <STRONG>Lasso</STRONG>. Thanks and 
 			welcome&nbsp;to our new developer Jason Huck.
@@ -47,8 +46,20 @@
 					<LI>
 						<STRONG>Vietnamese</STRONG> (by Phan Binh Giang)</LI></UL>
 			<LI>
-			The PHP connector for the default File Browser now sorts the folders and files 
-			names.
+			A new configurable&nbsp;ColdFusion connector is 
+  available. Thanks to Mark Woods. Many enhancements has been introduced with 
+it.
+  <LI>
+			The PHP connector for the default File Browser now 
+  sorts the folders and files names. 
+  <LI>[<A 
+  href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1289372&amp;group_id=75348&amp;atid=543653" 
+  target="_blank">SF BUG-1289372</A>] [<A 
+  href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1282758&amp;group_id=75348&amp;atid=543653" 
+  target="_blank">SF BUG-1282758</A>] In the PHP connector it is now possible to 
+  set the absolute (server) path to the User Files directory, avoiding 
+			problems with Virtual Directories, Symbolic Links or Aliases. Take a look at the config.php 
+			file.
 			<LI>
 			The ASP.Net uploader (for Quick Uploads) has been 
   added to the package. 
@@ -59,20 +70,62 @@
   Lineberry.&nbsp;See sample06.html and the "simplecommands" plugin&nbsp;to fully understand it.
 			<LI>
 			A new test case has been added that shows how to set the editor background 
-			dinamically without using a CSS.
+			dynamically without using a CSS.
 			<LI>
 				[<A 
   href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1155906&amp;group_id=75348&amp;atid=543653" 
   target="_blank">SF BUG-1155906</A>] [<A 
   href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1110116&amp;group_id=75348&amp;atid=543653" 
-  target="_blank">SF BUG-1110116</A>] The 
-  "AutoDetectPasteFromWord" configuration options is back (IE only feature).
+  target="_blank">SF BUG-1110116</A>] [<A 
+  href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1216332&amp;group_id=75348&amp;atid=543653" 
+  target="_blank">SF BUG-1216332</A>] The 
+  "AutoDetectPasteFromWord" configuration option is back (IE only feature).
   <LI>The&nbsp;new "OnAfterLinkedFieldUpdate" event has 
   been introduced. If is fired when the editor updates its hidden associated 
   field.
-  <LI>Attention: The color of the right border of the toolbar (left on RTL 
-  interfaces) has been moved from code to the CSS (TB_SideBorder class). Update 
-  your custom skins.</LI></UL>
+  <LI>Attention: The color of the right border of the 
+  toolbar (left on RTL interfaces) has been moved from code to the CSS 
+  (TB_SideBorder class). Update your custom skins.
+  <LI>A&nbsp;sample "htaccess.txt" file has been added to 
+  the editor's package to show how to configure some Linux sites that could 
+  present problems on Firefox with "Illegal characters" errors. Respectively the 
+  "" chars.
+  <LI>With the JavaScript, ASP and PHP integration files, 
+  you can set the QueryString value "fcksource=true" to load the editor using 
+  the source files (located in the _source directory) instead of the compressed 
+  ones. Thanks to Kae Verens for the suggestion.
+  <LI>[<A 
+  href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1246623&amp;group_id=75348&amp;atid=543656" 
+  target="_blank">SF Feature-1246623</A>] The new configuration option "ForceStrongEm" has been 
+  introduced so you can force the editor to convert all &lt;B&gt; and &lt;I&gt; 
+  tags to &lt;STRONG&gt; and &lt;EM&gt; respectively.
+  <LI>A nice contribution has been done by Goss Interactive 
+  Ltd: 
+  <UL>
+    <LI>[<A 
+    href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1246949&amp;group_id=75348&amp;atid=543653" 
+    target="_blank">SF BUG-1246949</A>] Implemented ENTER key and BACKSPACE key handlers for Gecko so that P 
+    tags (or an appropriate block element) get inserted instead of BR tags when 
+    not in the UseBROnCarriageReturn config mode. <BR>The ENTER key handling has 
+    been written to function much the same as the ENTER key handling on IE : as 
+    soon as the ENTER key is pressed, existing content will be wrapped with a 
+    suitable block element (P tag) as appropriate and a new block element (P 
+    tag) will be started. <BR>The ENTER key handler also caters for pressing 
+    ENTER within empty list items - ENTER in an empty item at the top of a list 
+    will remove that list item and start a new P tag above the list; ENTER in an 
+    empty item at the bottom of a list will remove that list item and start a 
+    new P tag below the list; ENTER in an empty item in the middle of a list 
+    will remove that list item, split the list into two, and start a new P tag 
+    between the two lists.
+    <LI>Any tables that are found to be incorrectly nested within a block 
+    element (P tag) will be moved out of the block element when loaded into the 
+    editor. This is required for the new ENTER/BACKSPACE key handlers and it 
+    also avoids non-compliant HTML.&nbsp;
+    <LI>The InsertOrderedList and InsertUnorderedList commands have been 
+    overridden on Gecko to ensure that block elements (P tags) are placed around 
+    a list item's content when it is moved out of the list due to clicking on 
+    the editor's list toolbar buttons (when not in the UseBROnCarriageReturn 
+    config mode). </LI></UL></LI></UL>
 		<P>Fixed Bugs:</P>
 <UL>
 			<LI>
@@ -91,28 +144,60 @@
   href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1256178&amp;group_id=75348&amp;atid=543653" 
   target="_blank">SF BUG-1256178</A>] [<A 
   href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1274841&amp;group_id=75348&amp;atid=543653" 
-  target="_blank">SF BUG-1274841</A>] Due to a bug on Firefox, some keys stopped working on startup 
+  target="_blank">SF BUG-1274841</A>] [<A 
+  href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1303949&amp;group_id=75348&amp;atid=543653" 
+  target="_blank">SF BUG-1303949</A>] Due to a bug on Firefox, some keys stopped working on startup 
   over Firefox. It has been fixed.
   <LI>[<A 
   href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1251373&amp;group_id=75348&amp;atid=543653" 
-  target="_blank">SF BUG-1251373</A>  ] The above fix also has&nbsp;corrected 
-  some strange behaviors on Firefox.
+  target="_blank">SF BUG-1251373</A> ] The above fix also has&nbsp;corrected some strange behaviors 
+  on Firefox. 
+  <LI>[<A 
+  href="https://sourceforge.net/tracker/?group_id=75348&amp;atid=543653&amp;func=detail&amp;aid=1144258" 
+  target="_blank">SF BUG-1144258</A>] [<A 
+  href="https://sourceforge.net/tracker/?group_id=75348&amp;atid=543653&amp;func=detail&amp;aid=1092081" 
+  target="_blank">SF BUG-1092081</A>] The File Browsers now run on the&nbsp;same server session 
+  used in the page where the editor is placed in (IE issue). Thanks to Simone 
+  Chiaretta. 
+  <LI>[<A 
+  href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1305619&amp;group_id=75348&amp;atid=543653" 
+  target="_blank">SF BUG-1305619</A>          ] No more repeated 
+  login  dialogs when running the editor with 
+  Windows Integrated Security with IIS.
   <LI>
 				[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1245304&amp;group_id=75348&amp;atid=543655"
 					target="_blank">SF Patch-1245304</A>] The Test Case 004 is now working correctly. It has been 
   changed to set the editor hidden at startup.
-  <LI>Due to Gecko bugs, two erros were thrown when loading the editor in a 
+  <LI>[<A 
+  href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1290610&amp;group_id=75348&amp;atid=543653" 
+  target="_blank">SF BUG-1290610</A>    ] Over HTTPS, there were some warnings when 
+  loading the Images, Flash and Link dialogs. Fixed.
+  <LI>Due to Gecko bugs, two errors were thrown when loading the editor in a 
   hidden div. Workarounds have been introduced. In any case, the testcase 004 
   hack is needed when showing the editor (as in a tabbed 
 			interface).
 			<LI>
-			An invalid path in the dialogs CSS file has been corrected.
+			An invalid path in the dialogs CSS file has been 
+  corrected. 
+  <LI>On IE, the Undo/Redo can now be controlled using the 
+  Ctrl+Z and Ctrl+Y shortcut keys.
+  <LI>[<A 
+  href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1295538&amp;group_id=75348&amp;atid=543653" 
+  target="_blank">SF BUG-1295538</A>     ] A few Undo/Redo fixes 
+  for IE have been done. 
+  <LI>[<A 
+  href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1247070&amp;group_id=75348&amp;atid=543653" 
+  target="_blank">SF BUG-1247070</A>] On Gecko, it is now possible to use the shortcut keys for Bold (CTRL+B), Italic (CTRL+I) and Underline (CTRL+U), like in IE.
 			<LI>
 			[<A 
   href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1274303&amp;group_id=75348&amp;atid=543653" 
-  target="_blank">SF BUG-1274303</A>] 
-			The "Insert Column" command is now working correctly on TH cells. It also 
-			copies any attribute applied to the source cells.
+  target="_blank">SF BUG-1274303</A>] The "Insert Column" command is now working correctly on TH 
+  cells. It also copies any attribute applied to the source cells. 
+  <LI>[<A 
+  href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1287070&amp;group_id=75348&amp;atid=543655" 
+  target="_blank">SF Patch-1287070</A> 
+			  ] In the Universal Keyboard, the Arabic keystrokes translator is now 
+			working with Firefox. Thanks again to Abdul-Aziz Al-Oraij.
 			<LI>      
             The editor 
   now handles AJAX requests with HTTP status 304.
@@ -125,7 +210,7 @@
   <LI>[<A 
   href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1155774&amp;group_id=75348&amp;atid=543653" 
   target="_blank">SF BUG-1155774</A>] A spelling error in the 
-  Bulletted List Properties dialog has been corrected.
+  Bulleted List Properties dialog has been corrected.
   <LI>[<A 
   href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1272018&amp;group_id=75348&amp;atid=543653" 
   target="_blank">SF BUG-1272018</A>] The ampersand character can now be added 
@@ -138,8 +223,52 @@
   href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1241504&amp;group_id=75348&amp;atid=543653" 
   target="_blank">SF BUG-1241504</A>] The editor now looks 
   also for the ID of the hidden linked field.
-  <LI>The caption property on tables is now working on Gecko. Thanks to Helen 
-  Somers (Goss Interactive Ltd).</LI></UL>
+  <LI>The caption property on tables is now working on 
+  Gecko. Thanks to Helen Somers (Goss Interactive Ltd).
+  <LI>[<A 
+  href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1297431&amp;group_id=75348&amp;atid=543653" 
+  target="_blank">SF BUG-1297431</A>] With IE, the editor now works locally when 
+  its files are placed in a directory path that contains spaces.
+  <LI>[<A 
+  href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1279551&amp;group_id=75348&amp;atid=543653" 
+  target="_blank">SF BUG-1279551</A>] [<A 
+  href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1242105&amp;group_id=75348&amp;atid=543653" 
+  target="_blank">SF BUG-1242105</A>] On IE, some features are dependant of ActiveX components 
+  (secure... distributed&nbsp;with IE itself). Some security setting could avoid 
+  the usage of those components and the editor would stop working. Now a message 
+  is shown, indicating the use the minimum necessary settings need&nbsp;by the 
+  editor to run.
+  <LI>[<A 
+  href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1298880&amp;group_id=75348&amp;atid=543653" 
+  target="_blank">SF BUG-1298880</A>] Firefox can't handle the STRONG and EM tags. Those 
+  tags are now converted to B and I so it works accordingly.
+  <LI>[<A 
+  href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1271723&amp;group_id=75348&amp;atid=543653" 
+  target="_blank">SF BUG-1271723</A>] On IE, it is now possible to select the text and work correctly in the 
+  contents of absolute positioned/dimensioned divs.
+  <LI>On IE, there is no need to click twice in the editor 
+  to&nbsp;activate the cursor in the editing area.
+  <LI>[<A 
+  href="https://sourceforge.net/tracker/?func=detail&amp;atid=543653&amp;aid=1221621&amp;group_id=75348" 
+  target="_blank">SF BUG-1221621</A>] Many "warnings" in the Firefox console are not thrown 
+anymore.
+  <LI>[<A 
+  href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1295526&amp;group_id=75348&amp;atid=543653" 
+  target="_blank">SF BUG-1295526</A>] While&nbsp;editing on "FullPage" mode the basehref is now 
+  active for CSS "link" tags.
+  <LI>[<A 
+  href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1222584&amp;group_id=75348&amp;atid=543655" 
+  target="_blank">SF Patch-1222584</A>] A small fix to the PHP connector has been 
+  applied.
+  <LI>[<A 
+  href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1281313&amp;group_id=75348&amp;atid=543655" 
+  target="_blank">SF Patch-1281313</A>] A few small changes to avoid problems with Plone. Thanks to 
+  Jean-mat.
+  <LI>[<A 
+  href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1275911&amp;group_id=75348&amp;atid=543653" 
+  target="_blank">SF BUG-1275911</A>] A check for double dots sequences on 
+  directory names on creation has been introduced to the PHP and ASP 
+  connectors.</LI></UL>
 		<H3>Version 2.0</H3>
 		<P>New Features and Improvements:</P>
 		<UL>
--- a/wiki/htdocs/applets/FCKeditor/editor/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,6 +1,3 @@
-/fckblank.html/1.1/Wed Aug 31 19:08:37 2005//
-/fckdebug.html/1.1/Wed Aug 31 19:08:37 2005//
-/fckdialog.html/1.1/Wed Aug 31 19:08:37 2005//
 D/_source////
 D/css////
 D/dialog////
@@ -10,5 +7,8 @@
 D/lang////
 D/plugins////
 D/skins////
-/fckeditor.html/1.2/Wed Sep 21 19:24:48 2005//
-/fckeditor.original.html/1.2/Wed Sep 21 19:24:48 2005//
+/fckblank.html/1.1/Thu Sep 22 16:22:10 2005//
+/fckdebug.html/1.2/Mon Oct 17 19:52:51 2005//
+/fckdialog.html/1.3/Mon Oct 17 19:52:51 2005//
+/fckeditor.html/1.2/Thu Sep 22 16:22:10 2005//
+/fckeditor.original.html/1.2/Thu Sep 22 16:22:10 2005//
--- a/wiki/htdocs/applets/FCKeditor/editor/_source/classes/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/_source/classes/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,25 +1,25 @@
-/fckcontextmenugroup.js/1.1/Wed Aug 31 19:08:36 2005//
-/fckcontextmenuitem.js/1.1/Wed Aug 31 19:08:36 2005//
-/fckcontextmenuseparator.js/1.1/Wed Aug 31 19:08:36 2005//
-/fckevents.js/1.1/Wed Aug 31 19:08:36 2005//
-/fckpanel_gecko.js/1.1/Wed Aug 31 19:08:36 2005//
-/fckpanel_ie.js/1.1/Wed Aug 31 19:08:36 2005//
-/fckplugin.js/1.1/Wed Aug 31 19:08:36 2005//
-/fckspecialcombo.js/1.1/Wed Aug 31 19:08:36 2005//
-/fckstyledef.js/1.1/Wed Aug 31 19:08:36 2005//
-/fckstyledef_gecko.js/1.1/Wed Aug 31 19:08:36 2005//
-/fckstyledef_ie.js/1.1/Wed Aug 31 19:08:36 2005//
-/fckstylesloader.js/1.1/Wed Aug 31 19:08:36 2005//
-/fcktoolbar.js/1.1/Wed Aug 31 19:08:36 2005//
-/fcktoolbarbreak_gecko.js/1.1/Wed Aug 31 19:08:36 2005//
-/fcktoolbarbreak_ie.js/1.1/Wed Aug 31 19:08:36 2005//
-/fcktoolbarbutton.js/1.1/Wed Aug 31 19:08:36 2005//
-/fcktoolbarfontformatcombo.js/1.1/Wed Aug 31 19:08:36 2005//
-/fcktoolbarfontscombo.js/1.1/Wed Aug 31 19:08:36 2005//
-/fcktoolbarfontsizecombo.js/1.1/Wed Aug 31 19:08:36 2005//
-/fcktoolbarpanelbutton.js/1.1/Wed Aug 31 19:08:36 2005//
-/fcktoolbarspecialcombo.js/1.1/Wed Aug 31 19:08:36 2005//
-/fcktoolbarstylecombo.js/1.1/Wed Aug 31 19:08:36 2005//
-/fckxml_gecko.js/1.1/Wed Aug 31 19:08:36 2005//
-/fckxml_ie.js/1.1/Wed Aug 31 19:08:36 2005//
+/fckcontextmenugroup.js/1.1/Thu Sep 22 16:22:10 2005//
+/fckcontextmenuitem.js/1.1/Thu Sep 22 16:22:10 2005//
+/fckcontextmenuseparator.js/1.1/Thu Sep 22 16:22:10 2005//
+/fckevents.js/1.1/Thu Sep 22 16:22:10 2005//
+/fckpanel_gecko.js/1.2/Mon Oct 17 19:52:51 2005//
+/fckpanel_ie.js/1.1/Thu Sep 22 16:22:10 2005//
+/fckplugin.js/1.2/Mon Oct 17 19:52:51 2005//
+/fckspecialcombo.js/1.3/Mon Oct 17 19:52:51 2005//
+/fckstyledef.js/1.1/Thu Sep 22 16:22:10 2005//
+/fckstyledef_gecko.js/1.1/Thu Sep 22 16:22:10 2005//
+/fckstyledef_ie.js/1.1/Thu Sep 22 16:22:10 2005//
+/fckstylesloader.js/1.1/Thu Sep 22 16:22:10 2005//
+/fcktoolbar.js/1.2/Mon Oct 17 19:52:51 2005//
+/fcktoolbarbreak_gecko.js/1.1/Thu Sep 22 16:22:10 2005//
+/fcktoolbarbreak_ie.js/1.1/Thu Sep 22 16:22:10 2005//
+/fcktoolbarbutton.js/1.1/Thu Sep 22 16:22:10 2005//
+/fcktoolbarfontformatcombo.js/1.1/Thu Sep 22 16:22:10 2005//
+/fcktoolbarfontscombo.js/1.1/Thu Sep 22 16:22:10 2005//
+/fcktoolbarfontsizecombo.js/1.1/Thu Sep 22 16:22:10 2005//
+/fcktoolbarpanelbutton.js/1.1/Thu Sep 22 16:22:10 2005//
+/fcktoolbarspecialcombo.js/1.1/Thu Sep 22 16:22:10 2005//
+/fcktoolbarstylecombo.js/1.2/Mon Oct 17 19:52:51 2005//
+/fckxml_gecko.js/1.1/Thu Sep 22 16:22:10 2005//
+/fckxml_ie.js/1.2/Mon Oct 17 19:52:51 2005//
 D
--- a/wiki/htdocs/applets/FCKeditor/editor/_source/classes/fckpanel_gecko.js	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/_source/classes/fckpanel_gecko.js	Mon Oct 17 20:45:54 2005 +0000
@@ -47,7 +47,7 @@
 
 FCKPanel.prototype.Create = function()
 {
-	this._IFrame = this.Window.document.body.appendChild( this.Window.document.createElement('iframe') ) ;
+	this._IFrame = this.Window.document.createElement('iframe') ; 
 	this._IFrame.src = 'about:blank' ;
     this._IFrame.frameBorder		= '0';
     this._IFrame.scrolling			= 'no' ;
@@ -61,6 +61,8 @@
 	this._IFrame.IsFCKPanel	= true ;
 	this._IFrame.Panel		= this ;
 
+	this.Window.document.body.appendChild( this._IFrame ) ;
+	
 	this.Document = this._IFrame.contentWindow.document ;
 
 	// Initialize the IFRAME document body.
--- a/wiki/htdocs/applets/FCKeditor/editor/_source/classes/fckplugin.js	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/_source/classes/fckplugin.js	Mon Oct 17 20:45:54 2005 +0000
@@ -38,12 +38,14 @@
 	// Load the language file, if defined.
 	if ( this.AvailableLangs.length > 0 )
 	{
+		var sLang ;
+		
 		// Check if the plugin has the language file for the active language.
 		if ( this.AvailableLangs.indexOf( FCKLanguageManager.ActiveLanguage.Code ) >= 0 )
-			var sLang = FCKLanguageManager.ActiveLanguage.Code ;
+			sLang = FCKLanguageManager.ActiveLanguage.Code ;
 		else
 			// Load the default language file (first one) if the current one is not available.
-			var sLang = this.AvailableLangs[0] ;
+			sLang = this.AvailableLangs[0] ;
 		
 		// Add the main plugin script.
 		FCKScriptLoader.AddScript( this.Path + 'lang/' + sLang + '.js' ) ;		
--- a/wiki/htdocs/applets/FCKeditor/editor/_source/classes/fckspecialcombo.js	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/_source/classes/fckspecialcombo.js	Mon Oct 17 20:45:54 2005 +0000
@@ -173,12 +173,13 @@
 	else
 	{
 		oField.className = 'TB_Button_Off' ;
-		oField.innerHTML = /*('<span className="SC_FieldCaption">' + this.Caption + */'<table cellpadding="0" cellspacing="0" style="TABLE-LAYOUT: fixed;" unselectable="on"><tbody><tr><td class="SC_FieldButton" style="border-left: none;" unselectable="on">&nbsp;</td></tr></tbody></table>' ;
+		//oField.innerHTML = '<span className="SC_FieldCaption">' + this.Caption + '<table cellpadding="0" cellspacing="0" style="TABLE-LAYOUT: fixed;" unselectable="on"><tbody><tr><td class="SC_FieldButton" style="border-left: none;" unselectable="on">&nbsp;</td></tr></tbody></table>' ;
+		oField.innerHTML = '<table cellpadding="0" cellspacing="0" style="TABLE-LAYOUT: fixed;" unselectable="on"><tbody><tr><td class="SC_FieldButton" style="border-left: none;" unselectable="on">&nbsp;</td></tr></tbody></table>' ;
 		
 		// Gets the correct CSS class to use for the specified style (param).
 		oField.innerHTML ='<table title="' + this.Tooltip + '" class="' + sClass + '" cellspacing="0" cellpadding="0" border="0" unselectable="on">' +
 				'<tr>' +
-					/*'<td class="TB_Icon" unselectable="on"><img src="' + FCKConfig.SkinPath + 'toolbar/' + this.Command.Name.toLowerCase() + '.gif" width="21" height="21" unselectable="on"></td>' +*/
+					//'<td class="TB_Icon" unselectable="on"><img src="' + FCKConfig.SkinPath + 'toolbar/' + this.Command.Name.toLowerCase() + '.gif" width="21" height="21" unselectable="on"></td>' +
 					'<td class="TB_Text" unselectable="on">' + this.Caption + '</td>' +
 					'<td class="TB_ButtonArrow" unselectable="on"><img src="' + FCKConfig.SkinPath + 'images/toolbar.buttonarrow.gif" width="5" height="3"></td>' +
 				'</tr>' +
@@ -186,7 +187,7 @@
 	}
 
 
-	/* Events Handlers */
+	// Events Handlers
 
 	oField.SpecialCombo = this ;
 	
@@ -242,20 +243,22 @@
 
 	if ( this.SpecialCombo.Enabled )
 	{
+		var oPanel = this.SpecialCombo._Panel ;
+		
 		if ( typeof( this.SpecialCombo.OnBeforeClick ) == 'function' )
 			this.SpecialCombo.OnBeforeClick( this.SpecialCombo ) ;
 
 		if ( this.SpecialCombo._ItemsHolderEl.offsetHeight > this.SpecialCombo.PanelMaxHeight )
-			this.SpecialCombo._Panel.PanelDiv.style.height = this.SpecialCombo.PanelMaxHeight + 'px' ;
+			oPanel.PanelDiv.style.height = this.SpecialCombo.PanelMaxHeight + 'px' ;
 		else
-			this.SpecialCombo._Panel.PanelDiv.style.height = this.SpecialCombo._ItemsHolderEl.offsetHeight + 'px' ;
+			oPanel.PanelDiv.style.height = this.SpecialCombo._ItemsHolderEl.offsetHeight + 'px' ;
 			
-		this.SpecialCombo._Panel.PanelDiv.style.width = this.SpecialCombo.PanelWidth + 'px' ;
+		oPanel.PanelDiv.style.width = this.SpecialCombo.PanelWidth + 'px' ;
 		
 		if ( FCKBrowserInfo.IsGecko )
-			this.SpecialCombo._Panel.PanelDiv.style.overflow = '-moz-scrollbars-vertical' ;
+			oPanel.PanelDiv.style.overflow = '-moz-scrollbars-vertical' ;
 
-		this.SpecialCombo._Panel.Show( 0, this.offsetHeight, this, null, this.SpecialCombo.PanelMaxHeight, true ) ;
+		oPanel.Show( 0, this.offsetHeight, this, null, this.SpecialCombo.PanelMaxHeight, true ) ;
 	}
 
 	return false ;
--- a/wiki/htdocs/applets/FCKeditor/editor/_source/classes/fcktoolbar.js	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/_source/classes/fcktoolbar.js	Mon Oct 17 20:45:54 2005 +0000
@@ -22,25 +22,23 @@
 {
 	this.Items = new Array() ;
 	
-	this.DOMTable = document.createElement( 'table' ) ;
-	this.DOMTable.className = 'TB_Toolbar' ;
-	with ( this.DOMTable )
-	{
-		// Sets the toolbar direction. IE uses "styleFloat" and Gecko uses "cssFloat".
-		style.styleFloat = style.cssFloat = FCKLang.Dir == 'rtl' ? 'right' : 'left' ;
-		
-		cellPadding = 0 ;
-		cellSpacing = 0 ;
-		border = 0 ;
-	}
+	var e = this.DOMTable = document.createElement( 'table' ) ;
+	e.className = 'TB_Toolbar' ;
 
-	this.DOMRow = this.DOMTable.insertRow(-1) ;
+	// Sets the toolbar direction. IE uses "styleFloat" and Gecko uses "cssFloat".
+	e.style.styleFloat = e.style.cssFloat = FCKLang.Dir == 'rtl' ? 'right' : 'left' ;
+
+	e.cellPadding = 0 ;
+	e.cellSpacing = 0 ;
+	e.border = 0 ;
+
+	this.DOMRow = e.insertRow(-1) ;
 
 	var oCell = this.DOMRow.insertCell(-1) ;
 	oCell.className = 'TB_Start' ;
 	oCell.innerHTML = '<img src="' + FCKConfig.SkinPath + 'images/toolbar.start.gif" width="7" height="21" style="VISIBILITY: hidden" onload="this.style.visibility = \'\';" unselectable="on">' ;
 
-	FCKToolbarSet.DOMElement.appendChild( this.DOMTable ) ;
+	FCKToolbarSet.DOMElement.appendChild( e ) ;
 }
 
 FCKToolbar.prototype.AddItem = function( toolbarItem )
--- a/wiki/htdocs/applets/FCKeditor/editor/_source/classes/fcktoolbarstylecombo.js	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/_source/classes/fcktoolbarstylecombo.js	Mon Oct 17 20:45:54 2005 +0000
@@ -46,10 +46,13 @@
 	for ( var s in this.Command.Styles )
 	{
 		var oStyle = this.Command.Styles[s] ;
+		var oItem ;
+		
 		if ( oStyle.IsObjectElement )
-			var oItem = targetSpecialCombo.AddItem( s, s ) ;
+			oItem = targetSpecialCombo.AddItem( s, s ) ;
 		else
-			var oItem = targetSpecialCombo.AddItem( s, oStyle.GetOpenerTag() + s + oStyle.GetCloserTag() ) ;
+			oItem = targetSpecialCombo.AddItem( s, oStyle.GetOpenerTag() + s + oStyle.GetCloserTag() ) ;
+			
 		oItem.Style = oStyle ;
 	}
 }
--- a/wiki/htdocs/applets/FCKeditor/editor/_source/classes/fckxml_ie.js	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/_source/classes/fckxml_ie.js	Mon Oct 17 20:45:54 2005 +0000
@@ -23,12 +23,22 @@
 if ( !( FCKXml = NS.FCKXml ) )
 {
 	FCKXml = NS.FCKXml = function()
-	{}
+	{
+		this.Error = false ;
+	}
 
 	FCKXml.prototype.LoadUrl = function( urlToCall )
 	{
+		this.Error = false ;
+
 		var oXmlHttp = FCKTools.CreateXmlObject( 'XmlHttp' ) ;
 
+		if ( !oXmlHttp )
+		{
+			this.Error = true ;
+			return ;
+		}
+
 		oXmlHttp.open( "GET", urlToCall, false ) ;
 		
 		oXmlHttp.send( null ) ;
@@ -43,11 +53,17 @@
 			this.DOMDocument.loadXML( oXmlHttp.responseText ) ;
 		}
 		else
+		{
+			this.Error = true ;
 			alert( 'Error loading "' + urlToCall + '"' ) ;
+		}
 	}
 
 	FCKXml.prototype.SelectNodes = function( xpath, contextNode )
 	{
+		if ( this.Error )
+			return new Array() ;
+
 		if ( contextNode )
 			return contextNode.selectNodes( xpath ) ;
 		else
@@ -56,6 +72,9 @@
 
 	FCKXml.prototype.SelectSingleNode = function( xpath, contextNode ) 
 	{
+		if ( this.Error )
+			return ;
+			
 		if ( contextNode )
 			return contextNode.selectSingleNode( xpath ) ;
 		else
--- a/wiki/htdocs/applets/FCKeditor/editor/_source/commandclasses/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/_source/commandclasses/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,10 +1,10 @@
-/fcknamedcommand.js/1.1/Wed Aug 31 19:08:36 2005//
-/fckpasteplaintextcommand.js/1.1/Wed Aug 31 19:08:36 2005//
-/fckpastewordcommand.js/1.1/Wed Aug 31 19:08:36 2005//
-/fckspellcheckcommand_gecko.js/1.1/Wed Aug 31 19:08:36 2005//
-/fckspellcheckcommand_ie.js/1.1/Wed Aug 31 19:08:36 2005//
-/fckstylecommand.js/1.1/Wed Aug 31 19:08:36 2005//
-/fcktablecommand.js/1.1/Wed Aug 31 19:08:36 2005//
-/fcktextcolorcommand.js/1.1/Wed Aug 31 19:08:36 2005//
-/fck_othercommands.js/1.2/Wed Sep 21 19:24:48 2005//
+/fck_othercommands.js/1.3/Mon Oct 17 19:52:51 2005//
+/fcknamedcommand.js/1.1/Thu Sep 22 16:22:10 2005//
+/fckpasteplaintextcommand.js/1.1/Thu Sep 22 16:22:10 2005//
+/fckpastewordcommand.js/1.1/Thu Sep 22 16:22:10 2005//
+/fckspellcheckcommand_gecko.js/1.1/Thu Sep 22 16:22:10 2005//
+/fckspellcheckcommand_ie.js/1.1/Thu Sep 22 16:22:10 2005//
+/fckstylecommand.js/1.2/Mon Oct 17 19:52:51 2005//
+/fcktablecommand.js/1.1/Thu Sep 22 16:22:10 2005//
+/fcktextcolorcommand.js/1.2/Mon Oct 17 19:52:51 2005//
 D
--- a/wiki/htdocs/applets/FCKeditor/editor/_source/commandclasses/fck_othercommands.js	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/_source/commandclasses/fck_othercommands.js	Mon Oct 17 20:45:54 2005 +0000
@@ -177,8 +177,9 @@
 {
 	FCKUndo.SaveUndoStep() ;
 	FCK.SetHTML( '' ) ;
+	FCKUndo.Typing = true ;
 //	FCK.SetHTML( FCKBrowserInfo.IsGecko ? '&nbsp;' : '' ) ;
-//	FCK.SetHTML( FCKBrowserInfo.IsGecko ? '<br _moz_editor_bogus_node="TRUE">' : '' ) ;
+//	FCK.SetHTML( FCKBrowserInfo.IsGecko ? GECKO_BOGUS : '' ) ;
 }
 
 FCKNewPageCommand.prototype.GetState = function()
@@ -226,7 +227,7 @@
 FCKUndoCommand.prototype.GetState = function()
 {
 	if ( FCKBrowserInfo.IsIE )
-		return ( FCKUndo.Typing || FCKUndo.CurrentIndex > 0 ? FCK_TRISTATE_OFF : FCK_TRISTATE_DISABLED ) ;
+		return ( FCKUndo.CheckUndoState() ? FCK_TRISTATE_OFF : FCK_TRISTATE_DISABLED ) ;
 	else
 		return FCK.GetNamedCommandState( 'Undo' ) ;
 }
@@ -248,7 +249,7 @@
 FCKRedoCommand.prototype.GetState = function()
 {
 	if ( FCKBrowserInfo.IsIE )
-		return ( !FCKUndo.Typing && FCKUndo.CurrentIndex < ( FCKUndo.SavedData.length - 1 ) ? FCK_TRISTATE_OFF : FCK_TRISTATE_DISABLED ) ;
+		return ( FCKUndo.CheckRedoState() ? FCK_TRISTATE_OFF : FCK_TRISTATE_DISABLED ) ;
 	else
 		return FCK.GetNamedCommandState( 'Redo' ) ;
 }
\ No newline at end of file
--- a/wiki/htdocs/applets/FCKeditor/editor/_source/commandclasses/fckstylecommand.js	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/_source/commandclasses/fckstylecommand.js	Mon Oct 17 20:45:54 2005 +0000
@@ -46,13 +46,11 @@
 	if ( FCKSelection.GetType() == 'Control' )
 	{
 		var e = FCKSelection.GetSelectedElement() ;
-			if ( e )
-				return this.StylesLoader.StyleGroups[ e.tagName ] ? FCK_TRISTATE_OFF : FCK_TRISTATE_DISABLED ;
-			else
-				FCK_TRISTATE_OFF ;
+		if ( e )
+			return this.StylesLoader.StyleGroups[ e.tagName ] ? FCK_TRISTATE_OFF : FCK_TRISTATE_DISABLED ;
 	}
-	else
-		return FCK_TRISTATE_OFF ;
+
+	return FCK_TRISTATE_OFF ;
 }
 
 FCKStyleCommand.prototype.GetActiveStyles = function()
--- a/wiki/htdocs/applets/FCKeditor/editor/_source/commandclasses/fcktextcolorcommand.js	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/_source/commandclasses/fcktextcolorcommand.js	Mon Oct 17 20:45:54 2005 +0000
@@ -156,7 +156,7 @@
 		
 		for ( var i = 0 ; i < 8 && iCounter < aColors.length ; i++, iCounter++ )
 		{
-			var oDiv = oRow.insertCell(-1).appendChild( CreateSelectionDiv() ) ;
+			oDiv = oRow.insertCell(-1).appendChild( CreateSelectionDiv() ) ;
 			oDiv.Color = aColors[iCounter] ;
 			oDiv.innerHTML = '<div class="ColorBoxBorder"><div class="ColorBox" style="background-color: #' + aColors[iCounter] + '"></div></div>' ;
 
@@ -166,10 +166,10 @@
 	}
 
 	// Create the Row and the Cell for the "More Colors..." button.
-	var oCell = oTable.insertRow(-1).insertCell(-1) ;
+	oCell = oTable.insertRow(-1).insertCell(-1) ;
 	oCell.colSpan = 8 ;
 
-	var oDiv = oCell.appendChild( CreateSelectionDiv() ) ;
+	oDiv = oCell.appendChild( CreateSelectionDiv() ) ;
 	oDiv.innerHTML = '<table width="100%" cellpadding="0" cellspacing="0" border="0"><tr><td nowrap align="center">' + FCKLang.ColorMoreColors + '</td></tr></table>' ;
 
 	oDiv.Command = this ;
--- a/wiki/htdocs/applets/FCKeditor/editor/_source/globals/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/_source/globals/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,3 +1,3 @@
-/fck_constants.js/1.1/Wed Aug 31 19:08:36 2005//
-/fckeditorapi.js/1.1/Wed Aug 31 19:08:36 2005//
+/fck_constants.js/1.2/Mon Oct 17 19:52:51 2005//
+/fckeditorapi.js/1.1/Thu Sep 22 16:22:10 2005//
 D
--- a/wiki/htdocs/applets/FCKeditor/editor/_source/globals/fck_constants.js	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/_source/globals/fck_constants.js	Mon Oct 17 20:45:54 2005 +0000
@@ -19,23 +19,23 @@
  */
 
 // Editor Instance Status.
-FCK_STATUS_NOTLOADED	= window.parent.FCK_STATUS_NOTLOADED	= 0 ;
-FCK_STATUS_ACTIVE		= window.parent.FCK_STATUS_ACTIVE		= 1 ;
-FCK_STATUS_COMPLETE		= window.parent.FCK_STATUS_COMPLETE		= 2 ;
+var FCK_STATUS_NOTLOADED	= window.parent.FCK_STATUS_NOTLOADED	= 0 ;
+var FCK_STATUS_ACTIVE		= window.parent.FCK_STATUS_ACTIVE		= 1 ;
+var FCK_STATUS_COMPLETE		= window.parent.FCK_STATUS_COMPLETE		= 2 ;
 
 // Tristate Operations.
-FCK_TRISTATE_OFF		= window.parent.FCK_TRISTATE_OFF		= 0 ;
-FCK_TRISTATE_ON			= window.parent.FCK_TRISTATE_ON			= 1 ;
-FCK_TRISTATE_DISABLED	= window.parent.FCK_TRISTATE_DISABLED	= -1 ;
+var FCK_TRISTATE_OFF		= window.parent.FCK_TRISTATE_OFF		= 0 ;
+var FCK_TRISTATE_ON			= window.parent.FCK_TRISTATE_ON			= 1 ;
+var FCK_TRISTATE_DISABLED	= window.parent.FCK_TRISTATE_DISABLED	= -1 ;
 
 // For unknown values.
-FCK_UNKNOWN				= window.parent.FCK_UNKNOWN				= -1000 ;
+var FCK_UNKNOWN				= window.parent.FCK_UNKNOWN				= -1000 ;
 
 // Toolbar Items Style.
-FCK_TOOLBARITEM_ONLYICON	= window.parent.FCK_TOOLBARITEM_ONLYTEXT	= 0 ;
-FCK_TOOLBARITEM_ONLYTEXT	= window.parent.FCK_TOOLBARITEM_ONLYTEXT	= 1 ;
-FCK_TOOLBARITEM_ICONTEXT	= window.parent.FCK_TOOLBARITEM_ONLYTEXT	= 2 ;
+var FCK_TOOLBARITEM_ONLYICON	= window.parent.FCK_TOOLBARITEM_ONLYTEXT	= 0 ;
+var FCK_TOOLBARITEM_ONLYTEXT	= window.parent.FCK_TOOLBARITEM_ONLYTEXT	= 1 ;
+var FCK_TOOLBARITEM_ICONTEXT	= window.parent.FCK_TOOLBARITEM_ONLYTEXT	= 2 ;
 
 // Edit Mode
-FCK_EDITMODE_WYSIWYG	= window.parent.FCK_EDITMODE_WYSIWYG	= 0 ;
-FCK_EDITMODE_SOURCE		= window.parent.FCK_EDITMODE_SOURCE		= 1 ;
\ No newline at end of file
+var FCK_EDITMODE_WYSIWYG	= window.parent.FCK_EDITMODE_WYSIWYG	= 0 ;
+var FCK_EDITMODE_SOURCE		= window.parent.FCK_EDITMODE_SOURCE		= 1 ;
\ No newline at end of file
--- a/wiki/htdocs/applets/FCKeditor/editor/_source/internals/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/_source/internals/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,45 +1,45 @@
-/fck.js/1.1/Wed Aug 31 19:08:36 2005//
-/fck_2_gecko.js/1.1/Wed Aug 31 19:08:36 2005//
-/fck_2_ie.js/1.1/Wed Aug 31 19:08:36 2005//
-/fck_last.js/1.1/Wed Aug 31 19:08:36 2005//
-/fck_onload.js/1.1/Wed Aug 31 19:08:36 2005//
-/fckbrowserinfo.js/1.1/Wed Aug 31 19:08:36 2005//
-/fckcodeformatter.js/1.1/Wed Aug 31 19:08:36 2005//
-/fckcommands.js/1.1/Wed Aug 31 19:08:36 2005//
-/fckcontextmenu.js/1.1/Wed Aug 31 19:08:36 2005//
-/fckcontextmenu_gecko.js/1.1/Wed Aug 31 19:08:36 2005//
-/fckcontextmenu_ie.js/1.1/Wed Aug 31 19:08:36 2005//
-/fckcoreextensions.js/1.1/Wed Aug 31 19:08:36 2005//
-/fckdebug.js/1.1/Wed Aug 31 19:08:36 2005//
-/fckdialog.js/1.1/Wed Aug 31 19:08:36 2005//
-/fckdialog_ie.js/1.1/Wed Aug 31 19:08:36 2005//
-/fcklanguagemanager.js/1.1/Wed Aug 31 19:08:36 2005//
-/fcknamespace.js/1.1/Wed Aug 31 19:08:36 2005//
-/fckplugins.js/1.1/Wed Aug 31 19:08:36 2005//
-/fckregexlib.js/1.1/Wed Aug 31 19:08:36 2005//
-/fckscriptloader.js/1.1/Wed Aug 31 19:08:36 2005//
-/fckselection.js/1.1/Wed Aug 31 19:08:36 2005//
-/fckselection_gecko.js/1.1/Wed Aug 31 19:08:36 2005//
-/fcktablehandler.js/1.1/Wed Aug 31 19:08:36 2005//
-/fcktablehandler_gecko.js/1.1/Wed Aug 31 19:08:36 2005//
-/fcktablehandler_ie.js/1.1/Wed Aug 31 19:08:36 2005//
-/fcktoolbaritems.js/1.1/Wed Aug 31 19:08:36 2005//
-/fcktoolbarset.js/1.1/Wed Aug 31 19:08:36 2005//
-/fcktools.js/1.1/Wed Aug 31 19:08:36 2005//
-/fcktools_gecko.js/1.1/Wed Aug 31 19:08:36 2005//
-/fcktools_ie.js/1.1/Wed Aug 31 19:08:36 2005//
-/fckundo_gecko.js/1.1/Wed Aug 31 19:08:36 2005//
-/fckundo_ie.js/1.1/Wed Aug 31 19:08:36 2005//
-/fckurlparams.js/1.1/Wed Aug 31 19:08:36 2005//
-/fckxhtml.js/1.1/Wed Aug 31 19:08:36 2005//
-/fckxhtml_gecko.js/1.1/Wed Aug 31 19:08:36 2005//
-/fckxhtml_ie.js/1.1/Wed Aug 31 19:08:36 2005//
-/fckxhtmlentities.js/1.1/Wed Aug 31 19:08:36 2005//
-/fck_1.js/1.2/Wed Sep 21 19:24:48 2005//
-/fck_1_gecko.js/1.2/Wed Sep 21 19:24:48 2005//
-/fck_1_ie.js/1.2/Wed Sep 21 19:24:48 2005//
-/fck_2.js/1.2/Wed Sep 21 19:24:48 2005//
-/fckconfig.js/1.2/Wed Sep 21 19:24:49 2005//
-/fckdialog_gecko.js/1.2/Wed Sep 21 19:24:49 2005//
-/fckselection_ie.js/1.2/Wed Sep 21 19:24:49 2005//
+/fck.js/1.2/Mon Oct 17 19:52:51 2005//
+/fck_1.js/1.3/Mon Oct 17 19:52:51 2005//
+/fck_1_gecko.js/1.4/Mon Oct 17 19:52:51 2005//
+/fck_1_ie.js/1.4/Mon Oct 17 19:52:51 2005//
+/fck_2.js/1.4/Mon Oct 17 19:52:51 2005//
+/fck_2_gecko.js/1.2/Mon Oct 17 19:52:51 2005//
+/fck_2_ie.js/1.1/Thu Sep 22 16:22:10 2005//
+/fck_last.js/1.2/Mon Oct 17 19:52:51 2005//
+/fck_onload.js/1.2/Mon Oct 17 19:52:51 2005//
+/fckbrowserinfo.js/1.1/Thu Sep 22 16:22:10 2005//
+/fckcodeformatter.js/1.1/Thu Sep 22 16:22:10 2005//
+/fckcommands.js/1.2/Mon Oct 17 19:52:51 2005//
+/fckconfig.js/1.3/Mon Oct 17 19:52:51 2005//
+/fckcontextmenu.js/1.3/Mon Oct 17 19:52:51 2005//
+/fckcontextmenu_gecko.js/1.1/Thu Sep 22 16:22:10 2005//
+/fckcontextmenu_ie.js/1.1/Thu Sep 22 16:22:10 2005//
+/fckcoreextensions.js/1.1/Thu Sep 22 16:22:10 2005//
+/fckdebug.js/1.1/Thu Sep 22 16:22:10 2005//
+/fckdialog.js/1.1/Thu Sep 22 16:22:10 2005//
+/fckdialog_gecko.js/1.3/Mon Oct 17 19:52:51 2005//
+/fckdialog_ie.js/1.1/Thu Sep 22 16:22:10 2005//
+/fcklanguagemanager.js/1.2/Mon Oct 17 19:52:51 2005//
+/fcknamespace.js/1.1/Thu Sep 22 16:22:10 2005//
+/fckplugins.js/1.1/Thu Sep 22 16:22:10 2005//
+/fckregexlib.js/1.3/Mon Oct 17 19:52:51 2005//
+/fckscriptloader.js/1.1/Thu Sep 22 16:22:10 2005//
+/fckselection.js/1.1/Thu Sep 22 16:22:10 2005//
+/fckselection_gecko.js/1.2/Mon Oct 17 19:52:51 2005//
+/fckselection_ie.js/1.3/Mon Oct 17 19:52:51 2005//
+/fcktablehandler.js/1.2/Mon Oct 17 19:52:51 2005//
+/fcktablehandler_gecko.js/1.1/Thu Sep 22 16:22:10 2005//
+/fcktablehandler_ie.js/1.1/Thu Sep 22 16:22:10 2005//
+/fcktoolbaritems.js/1.3/Mon Oct 17 19:52:51 2005//
+/fcktoolbarset.js/1.2/Mon Oct 17 19:52:51 2005//
+/fcktools.js/1.2/Mon Oct 17 19:52:51 2005//
+/fcktools_gecko.js/1.2/Mon Oct 17 19:52:51 2005//
+/fcktools_ie.js/1.2/Mon Oct 17 19:52:52 2005//
+/fckundo_gecko.js/1.1/Thu Sep 22 16:22:10 2005//
+/fckundo_ie.js/1.2/Mon Oct 17 19:52:52 2005//
+/fckurlparams.js/1.2/Mon Oct 17 19:52:52 2005//
+/fckxhtml.js/1.2/Mon Oct 17 19:52:52 2005//
+/fckxhtml_gecko.js/1.2/Mon Oct 17 19:52:52 2005//
+/fckxhtml_ie.js/1.1/Thu Sep 22 16:22:10 2005//
+/fckxhtmlentities.js/1.2/Mon Oct 17 19:52:52 2005//
 D
--- a/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fck.js	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fck.js	Mon Oct 17 20:45:54 2005 +0000
@@ -34,7 +34,7 @@
 var aElements = window.parent.document.getElementsByName( FCK.Name ) ;
 aElements[ aElements.length ] = window.parent.document.getElementById( FCK.Name ) ;
 var i = 0;
-while ( FCK.LinkedField = aElements[i++] )
+while ( ( FCK.LinkedField = aElements[i++] ) )
 {
 	if ( FCK.LinkedField.tagName == 'INPUT' || FCK.LinkedField.tagName == 'TEXTAREA' )
 		break ;
--- a/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fck_1.js	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fck_1.js	Mon Oct 17 20:45:54 2005 +0000
@@ -162,14 +162,16 @@
 //	if ( FCKBrowserInfo.IsIE )
 //		FCK.CheckRelativeLinks() ;
 
+	var sXHTML ;
+	
 	if ( FCKConfig.FullPage )
-		var sXHTML = FCKXHtml.GetXHTML( this.EditorDocument.getElementsByTagName( 'html' )[0], true, format ) ;
+		sXHTML = FCKXHtml.GetXHTML( this.EditorDocument.getElementsByTagName( 'html' )[0], true, format ) ;
 	else
 	{
 		if ( FCKConfig.IgnoreEmptyParagraphValue && this.EditorDocument.body.innerHTML == '<P>&nbsp;</P>' )
-			var sXHTML = '' ;
+			sXHTML = '' ;
 		else
-			var sXHTML = FCKXHtml.GetXHTML( this.EditorDocument.body, false, format ) ;
+			sXHTML = FCKXHtml.GetXHTML( this.EditorDocument.body, false, format ) ;
 	}
 
 	if ( bSource )
@@ -224,7 +226,7 @@
 FCK.OnAfterSetHTML = function()
 {
 	var oProcessor, i = 0 ;
-	while( oProcessor = FCKDocumentProcessors[i++] )
+	while( ( oProcessor = FCKDocumentProcessors[i++] ) )
 		oProcessor.ProcessDocument( FCK.EditorDocument ) ;
 
 	this.Events.FireEvent( 'OnAfterSetHTML' ) ;
@@ -325,4 +327,59 @@
 	}
 	
 	return e ;
-}
\ No newline at end of file
+}
+// START iCM MODIFICATIONS
+var FCKTablesProcessor = new Object() ;
+FCKTablesProcessor.ProcessDocument = function( document )
+{
+	FCKTablesProcessor.CheckTablesNesting( document ) ;
+}
+
+// Ensure that tables are not incorrectly nested within P, H1, H2, etc tags
+FCKTablesProcessor.CheckTablesNesting = function( document )
+{
+	var aTables = document.getElementsByTagName( "TABLE" ) ;
+	var oParentNode ;
+	
+	for ( var i=0; i<aTables.length; i++ )
+	{
+		FCKTablesProcessor.CheckTableNesting( aTables[i] ) ;
+	}
+}
+
+// Corrects nesting of the supplied table as necessary.
+// Also called by fck_table.html to check that a newly inserted table is correctly nested.
+FCKTablesProcessor.CheckTableNesting = function( oTableNode )
+{
+	var oParentBlockNode = FCKTools.GetParentBlockNode( oTableNode.parentNode ) ;
+	
+	if ( oParentBlockNode && !FCKRegexLib.TableBlockElements.test( oParentBlockNode.nodeName ) )
+	{
+		// Create a new tag which holds the content of the child nodes located before the table
+		var oNode1 = FCK.EditorDocument.createElement( oParentBlockNode.tagName ) ;
+		var oFragment1 = FCKTools.GetDocumentFragment( oParentBlockNode, oParentBlockNode.firstChild, oTableNode, true, false, true ) ;
+		oNode1.appendChild( oFragment1 ) ;
+		FCKTools.SetElementAttributes( oNode1, oParentBlockNode.attributes ) ; 	// Transfer across any class attributes, etc
+	
+		// Create a new tag which holds the content of the child nodes located after the table
+		var oNode2 = FCK.EditorDocument.createElement( oParentBlockNode.tagName );
+		var oFragment2 = FCKTools.GetDocumentFragment( oParentBlockNode, oTableNode, oParentBlockNode.lastChild, false, true, true ) ;
+		oNode2.appendChild( oFragment2 ) ;
+		FCKTools.SetElementAttributes( oNode2, oParentBlockNode.attributes ) ; 	// Transfer across any class attributes, etc
+		
+		// Create a document fragment that contains the two new elements with the table element inbetween
+		var oNewNode = FCK.EditorDocument.createDocumentFragment() ;
+		if ( !FCKTools.NodeIsEmpty( oNode1 ) )
+			oNewNode.appendChild( oNode1 ) ;
+		oNewNode.appendChild( oTableNode ) ;
+		if ( !FCKTools.NodeIsEmpty( oNode2 ) )
+			oNewNode.appendChild( oNode2 ) ; 
+		
+		// Replace the existing parent node with the nodes in the fragment
+		oParentBlockNode.parentNode.replaceChild( oNewNode, oParentBlockNode ) ;
+	}
+}		
+
+FCKDocumentProcessors.addItem( FCKTablesProcessor ) ;
+
+// END iCM MODIFICATIONS
\ No newline at end of file
--- a/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fck_1_gecko.js	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fck_1_gecko.js	Mon Oct 17 20:45:54 2005 +0000
@@ -41,16 +41,52 @@
 	// Handle pasting operations.
 	var oOnKeyDown = function( e )
 	{
+		// FCKDebug.Output( 'Which Key: ' +  e.which ) ;
+
+		// START iCM Modifications
+		// Need to amend carriage return key handling so inserts block element tags rather than BR all the time
+		if ( e.which == 13 && !e.shiftKey && !e.ctrlKey && !e.altKey && !FCKConfig.UseBROnCarriageReturn && !FCK.Events.FireEvent( "OnEnter" ) )
+		{
+			e.preventDefault() ;
+			e.stopPropagation() ;
+		}
+		// Amend backspace handling so correctly removes empty block elements i.e. those block elements containing nothing or
+		// just the bogus BR node
+		if ( e.which == 8 && !e.shiftKey && !e.ctrlKey && !e.altKey && !FCKConfig.UserBROnCarriageReturn && !FCK.Events.FireEvent( "OnBackSpace" ) )
+		{
+			e.preventDefault() ;
+			e.stopPropagation() ;
+		}
+		// END iCM Modifications
+
 		if ( e.ctrlKey && !e.shiftKey && !e.altKey )
 		{
-			// Char 86/118 = V/v
-			if ( e.which == 86 || e.which == 118 )
+			var bPrevent = false ;
+			
+			switch ( e.which ) 
 			{
-				if ( FCK.Status != FCK_STATUS_COMPLETE || !FCK.Events.FireEvent( "OnPaste" ) )
-				{
-					e.preventDefault() ;
-					e.stopPropagation() ;
-				}
+				case 66 :	// B
+				case 98 :	// b
+					FCK.ExecuteNamedCommand( 'bold' ) ; bPrevent = true ;
+					break;
+				case 105 :	// i
+				case 73 :	// I
+					FCK.ExecuteNamedCommand( 'italic' ) ; bPrevent = true ;
+					break;
+				case 117 :	// u
+				case 85 :	// U
+					FCK.ExecuteNamedCommand( 'underline' ) ; bPrevent = true ;
+					break;
+				case 86 :	// V
+				case 118 :	// v
+					bPrevent = ( FCK.Status != FCK_STATUS_COMPLETE || !FCK.Events.FireEvent( "OnPaste" ) ) ;
+					break ;
+			}
+	
+			if ( bPrevent ) 
+			{
+				e.preventDefault() ;
+				e.stopPropagation() ;
 			}
 		}
 	}
@@ -129,6 +165,13 @@
 
 FCK.SetHTML = function( html, forceWYSIWYG )
 {
+	// Firefox can't handle correctly the editing of the STRONG and EM tags. 
+	// We must replace them with B and I.
+	html = html.replace( FCKRegexLib.StrongOpener, '<b$1' ) ;
+	html = html.replace( FCKRegexLib.StrongCloser, '<\/b>' ) ;
+	html = html.replace( FCKRegexLib.EmOpener, '<i$1' ) ;
+	html = html.replace( FCKRegexLib.EmCloser, '<\/i>' ) ;
+
 	if ( forceWYSIWYG || FCK.EditMode == FCK_EDITMODE_WYSIWYG )
 	{
 		html = FCKConfig.ProtectedSource.Protect( html ) ;
@@ -143,7 +186,7 @@
 		{
 			// Add the <BASE> tag to the input HTML.
 			if ( FCK.TempBaseTag.length > 0 && !FCKRegexLib.HasBaseTag.test( html ) )
-				html = html.replace( FCKRegexLib.HeadCloser, FCK.TempBaseTag + '</head>' ) ;
+				html = html.replace( FCKRegexLib.HeadOpener, '$&' + FCK.TempBaseTag ) ;
 
 			html = html.replace( FCKRegexLib.HeadCloser, '<link href="' + FCKConfig.BasePath + 'css/fck_internal.css' + '" rel="stylesheet" type="text/css" _fcktemp="true" /></head>' ) ;
 
@@ -198,9 +241,8 @@
 				var sHtml =
 					'<title></title>' +
 					'<link href="' + FCKConfig.EditorAreaCSS + '" rel="stylesheet" type="text/css" />' +
-					'<link href="' + FCKConfig.BasePath + 'css/fck_internal.css' + '" rel="stylesheet" type="text/css" _fcktemp="true" />' ;
-
-				sHtml += FCK.TempBaseTag ;
+					'<link href="' + FCKConfig.BasePath + 'css/fck_internal.css' + '" rel="stylesheet" type="text/css" _fcktemp="true" />' +
+					FCK.TempBaseTag ;
 
 				this.EditorDocument.getElementsByTagName("HEAD")[0].innerHTML = sHtml ;
 
@@ -213,9 +255,9 @@
 //			FCK.EditorDocument.designMode = 'off' ;
 
 			if ( html.length == 0 )
-				FCK.EditorDocument.body.innerHTML = '<br _moz_editor_bogus_node="TRUE">' ;
+				FCK.EditorDocument.body.innerHTML = GECKO_BOGUS ;
 			else if ( FCKRegexLib.EmptyParagraph.test( html ) )
-				FCK.EditorDocument.body.innerHTML = html.replace( FCKRegexLib.TagBody, '><br _moz_editor_bogus_node="TRUE"><' ) ;
+				FCK.EditorDocument.body.innerHTML = html.replace( FCKRegexLib.TagBody, '>' + GECKO_BOGUS + '<' ) ;
 			else
 				FCK.EditorDocument.body.innerHTML = html ;
 			
--- a/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fck_1_ie.js	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fck_1_ie.js	Mon Oct 17 20:45:54 2005 +0000
@@ -44,12 +44,14 @@
 
 FCK._BehaviorsStyle += '</style>' ;
 
-function Doc_OnMouseDown()
+function Doc_OnMouseUp()
 {
-	FCK.Focus() ;
-
-	FCK.EditorWindow.event.cancelBubble	= true ;
-	FCK.EditorWindow.event.returnValue	= false ;
+	if ( FCK.EditorWindow.event.srcElement.tagName == 'HTML' )
+	{
+		FCK.Focus() ;
+		FCK.EditorWindow.event.cancelBubble	= true ;
+		FCK.EditorWindow.event.returnValue	= false ;
+	}
 }
 
 function Doc_OnPaste()
@@ -72,34 +74,59 @@
 {
 	var e = FCK.EditorWindow.event ;
 
-	if ( e.keyCode == 13 && FCKConfig.UseBROnCarriageReturn )	// ENTER
-	{
-		if ( (e.ctrlKey || e.altKey || e.shiftKey) )
-			return true ;
-		else
-		{
-			// We must ignore it if we are inside a List.
-			if ( FCK.EditorDocument.queryCommandState( 'InsertOrderedList' ) || FCK.EditorDocument.queryCommandState( 'InsertUnorderedList' ) )
-				return true ;
-
-			// Insert the <BR> (The &nbsp; must be also inserted to make it work)
-			FCK.InsertHtml("<br>&nbsp;") ;
+//	FCKDebug.Output( 'KeyCode: ' + e.keyCode ) ;
 
-			// Remove the &nbsp;
-			var oRange = FCK.EditorDocument.selection.createRange() ;
-			oRange.moveStart('character',-1) ;
-			oRange.select() ;
-			FCK.EditorDocument.selection.clear() ;
+	switch ( e.keyCode )
+	{
+		case 13 :	// ENTER
+			if ( FCKConfig.UseBROnCarriageReturn && !(e.ctrlKey || e.altKey || e.shiftKey) )
+			{
+				Doc_OnKeyDownUndo() ;
+				
+				// We must ignore it if we are inside a List.
+				if ( FCK.EditorDocument.queryCommandState( 'InsertOrderedList' ) || FCK.EditorDocument.queryCommandState( 'InsertUnorderedList' ) )
+					return true ;
 
-			return false ;
-		}
-	}
-	else if ( e.keyCode == 9 && FCKConfig.TabSpaces > 0 && !(e.ctrlKey || e.altKey || e.shiftKey) )	// TAB
-	{
-		FCK.InsertHtml( window.FCKTabHTML ) ;
-		return false ;
+				// Insert the <BR> (The &nbsp; must be also inserted to make it work)
+				FCK.InsertHtml( '<br>&nbsp;' ) ;
+
+				// Remove the &nbsp;
+				var oRange = FCK.EditorDocument.selection.createRange() ;
+				oRange.moveStart( 'character', -1 ) ;
+				oRange.select() ;
+				FCK.EditorDocument.selection.clear() ;
+
+				return false ;
+			}
+			break ;
+			
+		case 9 :	// TAB
+			if ( FCKConfig.TabSpaces > 0 && !(e.ctrlKey || e.altKey || e.shiftKey) )
+			{
+				Doc_OnKeyDownUndo() ;
+				
+				FCK.InsertHtml( window.FCKTabHTML ) ;
+				return false ;
+			}
+			break ;
+		case 90 :	// Z
+			if ( e.ctrlKey && !(e.altKey || e.shiftKey) )
+			{
+				FCKUndo.Undo() ;
+				return false ;
+			}
+			break ;
+		case 89 :	// Y
+			if ( e.ctrlKey && !(e.altKey || e.shiftKey) )
+			{
+				FCKUndo.Redo() ;
+				return false ;
+			}
+			break ;
 	}
 	
+	if ( !( e.keyCode >=16 && e.keyCode <= 18 ) )
+		Doc_OnKeyDownUndo() ;
 	return true ;
 }
 
@@ -136,8 +163,7 @@
 {
 	// Set the focus to the editable area when clicking in the document area.
 	// TODO: The cursor must be positioned at the end.
-	this.EditorDocument.attachEvent( 'onmousedown', Doc_OnMouseDown ) ;
-	this.EditorDocument.attachEvent( 'onmouseup', Doc_OnMouseDown ) ;
+	this.EditorDocument.attachEvent( 'onmouseup', Doc_OnMouseUp ) ;
 
 	// Intercept pasting operations
 	this.EditorDocument.body.attachEvent( 'onpaste', Doc_OnPaste ) ;
@@ -145,21 +171,14 @@
 	// Disable Right-Click and shows the context menu.
 	this.EditorDocument.attachEvent('oncontextmenu', Doc_OnContextMenu ) ;
 
-	// Check if key strokes must be monitored.
-	if ( FCKConfig.UseBROnCarriageReturn || FCKConfig.TabSpaces > 0 )
+	// Build the "TAB" key replacement (if necessary).
+	if ( FCKConfig.TabSpaces > 0 )
 	{
-		// Build the "TAB" key replacement.
-		if ( FCKConfig.TabSpaces > 0 )
-		{
-			window.FCKTabHTML = '' ;
-			for ( i = 0 ; i < FCKConfig.TabSpaces ; i++ )
-				window.FCKTabHTML += "&nbsp;" ;
-		}
-
-		this.EditorDocument.attachEvent("onkeydown", Doc_OnKeyDown ) ;
+		window.FCKTabHTML = '' ;
+		for ( i = 0 ; i < FCKConfig.TabSpaces ; i++ )
+			window.FCKTabHTML += "&nbsp;" ;
 	}
-
-	this.EditorDocument.attachEvent("onkeydown", Doc_OnKeyDownUndo ) ;
+	this.EditorDocument.attachEvent("onkeydown", Doc_OnKeyDown ) ;
 
 	this.EditorDocument.attachEvent("ondblclick", Doc_OnDblClick ) ;
 
@@ -205,7 +224,7 @@
 			if ( FCK.TempBaseTag.length > 0 && !FCKRegexLib.HasBaseTag.test( html ) )
 				sHtml += FCK.TempBaseTag ;
 
-			sHtml = html.replace( FCKRegexLib.HeadCloser, sHtml + '</head>' ) ;
+			sHtml = html.replace( FCKRegexLib.HeadOpener, '$&' + sHtml ) ;
 		}
 		else
 		{
--- a/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fck_2.js	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fck_2.js	Mon Oct 17 20:45:54 2005 +0000
@@ -34,6 +34,8 @@
 		FCK.EditorDocument.execCommand( commandName, false, commandParameter ) ; 
 		FCK.Events.FireEvent( 'OnSelectionChange' ) ;
 	}
+	
+	FCKUndo.SaveUndoStep() ;
 }
 
 FCK.GetNamedCommandState = function( commandName )
@@ -124,7 +126,7 @@
 	if ( FCKConfig.FullPage )
 	{
 		if ( FCK.TempBaseTag.length > 0 )
-			sHTML = FCK.GetXHTML().replace( FCKRegexLib.HeadCloser, FCK.TempBaseTag + '</head>' ) ;
+			sHTML = FCK.GetXHTML().replace( FCKRegexLib.HeadOpener, '$&' + FCK.TempBaseTag ) ;
 		else
 			sHTML = FCK.GetXHTML() ;
 	}
@@ -196,4 +198,5 @@
 			return aEls[i] ;
 		}
 	}
+	return null ;
 }
--- a/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fck_2_gecko.js	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fck_2_gecko.js	Mon Oct 17 20:45:54 2005 +0000
@@ -35,10 +35,16 @@
 // Named commands to be handled by this browsers specific implementation.
 FCK.RedirectNamedCommands = 
 {
+	// START iCM MODIFICATIONS
+	// Include list functions so we can ensure content is wrapped
+	// with P tags if not using BRs on carriage return, etc
 	Print	: true,
 	Paste	: true,
 	Cut		: true,
-	Copy	: true 
+	Copy	: true,
+	InsertOrderedList	: true,
+	InsertUnorderedList	: true
+	// END iCM MODIFICATIONS
 }
 
 // ExecuteNamedCommand overload for Gecko.
@@ -61,6 +67,32 @@
 			try			{ FCK._BaseExecuteNamedCommand( 'Copy' ) ; }
 			catch (e)	{ alert( FCKLang.PasteErrorCopy ) ; }
 			break ;
+			
+		// START iCM MODIFICATIONS
+		case 'InsertOrderedList'   :
+		case 'InsertUnorderedList' :
+		
+			if ( !FCKConfig.UseBROnCarriageReturn && FCK.EditorDocument.queryCommandState( commandName ) )
+			{
+				// We're in a list item which is in the same type of list as the toolbar button clicked
+				// Therefore, move the selected list item out of the list as is done on an ENTER key within
+				// an empty list item.
+				var oSel = FCK.EditorWindow.getSelection() ;
+				var oSelNode = oSel.focusNode ;
+				var oLINode = FCKTools.GetElementAscensor( oSelNode, "LI" ) ;
+				FCK.ToggleListItem( oLINode, oSelNode ) ;
+			}
+			else
+			{
+				// Let the default handler do its stuff
+				FCK.Focus() ;
+				FCK.EditorDocument.execCommand( commandName, false, commandParameter ) ; 
+			}
+			
+			FCK.Events.FireEvent( 'OnSelectionChange' ) ;
+			break ;
+		// END iCM MODIFICATIONS
+			
 		default :
 			FCK.ExecuteNamedCommand( commandName, commandParameter ) ;
 	}
@@ -202,3 +234,232 @@
 		}
 	}
 }
+
+// START iCM Modifications
+
+// Ensure that behaviour of the ENTER key or the list toolbar button works correctly for a list item.
+// ENTER in empty list item at top of list should result in the empty list item being
+// removed and selection being moved out of the list into a P tag above it.
+// ENTER in empty list item at bottom of list should result in the empty list item being
+// removed and selection being moved out of the list into a P tag below it.
+// ENTER in empty list item in middle of the list should result in the list being split
+// into two and the selection being moved into a P tag between the two resulting lists.
+// Clicking the list toolbar button in a list item at top of list should result in the list item's contents being
+// moved out of the list into a P tag above it.
+// Clicking the list toolbar button in a list item at the bottom of list should result in the list item's contents being
+// moved out of the list into a P tag below it.
+// Clicking the list toolbar button in a list item in the middle of the list should result in the list being split
+// into two and the list item's contents being moved into a P tag between the two resulting lists.
+FCK.ToggleListItem = function( oLINode, oSelNode )
+{
+	var oListNode = FCKTools.GetElementAscensor( oLINode, "UL,OL" ) ;
+	var oRange = FCK.EditorDocument.createRange() ;	
+
+	// Create a new block element
+	var oBlockNode = FCK.EditorDocument.createElement( "P" ) ;
+	oBlockNode.innerHTML = oLINode.innerHTML ; // Transfer any list item contents
+	if ( FCKTools.NodeIsEmpty( oBlockNode ) )
+		oBlockNode.innerHTML = GECKO_BOGUS ; 			// Ensure it has some content, required for Gecko
+	if ( oLINode.className && oLINode.className != '' )
+		oBlockNode.className = oLINode.className ; 	// Transfer across any class attribute
+	
+	var oCursorNode = oBlockNode ;
+
+	// Then, perform list processing and locate the point at which the new P tag is to be inserted
+	if ( oListNode.childNodes[0] == oLINode )
+	{
+		// First LI was empty so want to leave list and insert P above it
+		oListNode.removeChild( oLINode );
+		// Need to insert a new P tag (or other suitable block element) just before the list
+		oRange.setStartBefore( oListNode ) ;
+		oRange.setEndBefore( oListNode ) ;
+	}
+	else if ( oListNode.childNodes[oListNode.childNodes.length-1] == oLINode )
+	{
+		// Last LI was empty so want to leave list and insert new block element in the parent
+		oListNode.removeChild( oLINode );
+		// Need to insert a new P tag (or other suitable block element) just after the list
+		oRange.setEndAfter( oListNode ) ;
+		oRange.setStartAfter( oListNode ) ;
+	}
+	else
+	{
+		// A middle LI was empty so want to break list into two and insert the new block/text node in between them
+		oListNode = FCKTools.SplitNode( oListNode, oSelNode, 0 ) ;				
+		oListNode.removeChild( oListNode.childNodes[0] ) ;
+		oRange.setStartBefore( oListNode ) ;
+		oRange.setEndBefore( oListNode ) ;
+	}
+
+	// Insert new block/text node
+	oRange.insertNode( oBlockNode ) ;
+	
+	// Ensure that we don't leave empty UL/OL tags behind
+	if ( oListNode.childNodes.length == 0 ) 
+		oListNode.parentNode.removeChild( oListNode ) ;
+	
+	// Reset cursor position to start of the new P tag's contents ready for typing
+	FCK.Selection.SetCursorPosition( oCursorNode ) ;
+}
+
+FCK.ListItemEnter = function( oLINode, oSelNode, nSelOffset )
+{
+	// Ensure that behaviour of ENTER key within an empty list element works correctly.
+	// ENTER in empty list item at top of list should result in the empty list item being
+	// removed and selection being moved out of the list into a P tag above it.
+	// ENTER in empty list item at bottom of list should result in the empty list item being
+	// removed and selection being moved out of the list into a P tag below it.
+	// ENTER in empty list item in middle of the list should result in the list being split
+	// into two and the selection being moved into a P tag between the two resulting lists.
+	if ( FCKTools.NodeIsEmpty( oLINode ) )
+	{
+		FCK.ToggleListItem( oLINode, oSelNode ) ;
+		return false ; // Job done, perform no default handling
+	}
+	
+	return true ; // If non-empty list item, let default handler do its stuff
+}
+
+FCK.ListItemBackSpace = function( oSelNode, nSelOffset )
+{
+	// Ensure that behaviour of BACKSPACE key within an empty list element works correctly.
+	// BACKSPACE in empty list item at top of list should result in the empty list item being
+	// removed and selection being moved out of the list into a P tag above it.
+	// Allow the default handler to do its stuff for backspace in other list elements.
+	var oListNode = oSelNode.parentNode ;
+	
+	if ( FCKTools.NodeIsEmpty( oSelNode ) && ( oListNode.childNodes[0] == oSelNode ) )
+	{
+		var oRange = FCK.EditorDocument.createRange() ;	
+	
+		// Create a new P element
+		var oBlockNode = FCK.EditorDocument.createElement( "P" ) ;
+		if ( FCKTools.NodeIsEmpty( oBlockNode ) ) 
+			oBlockNode.innerHTML = GECKO_BOGUS ; 			// Ensure it has some content, required for Gecko
+	
+		// First LI was empty so want to leave list and insert P above it
+		oListNode.removeChild( oSelNode );
+		oRange.setStartBefore( oListNode ) ;
+		oRange.setEndBefore( oListNode ) ;
+
+		// Insert new P tag
+		oRange.insertNode( oBlockNode ) ;
+		
+		// Ensure that we don't leave empty UL/OL tags behind
+		if ( oListNode.childNodes.length == 0 ) 
+			oListNode.parentNode.removeChild( oListNode ) ;
+		
+		// Reset cursor position to start of the new P tag's contents ready for typing
+		FCK.Selection.SetCursorPosition( oBlockNode ) ;
+		
+		return false ; // Job done, perform no default handling
+	}
+	
+	return true ; // Let default handler do its stuff if not backspacing in an empty first LI
+}
+
+FCK.Enter = function()
+{
+	// Remove any selected content before we begin so we end up with a single selection point
+	FCK.Selection.Delete() ;
+	
+	// Determine the current cursor (selection) point, the node it's within and the offset
+	// position of the cursor within that node
+	var oSel = FCK.EditorWindow.getSelection() ;
+	var nSelOffset = oSel.focusOffset;
+	var oSelNode = oSel.focusNode ;
+
+	// Guard against a null focus node.
+	if ( !oSelNode )
+		return false ;
+	
+	var oLINode = FCKTools.GetElementAscensor( oSelNode, "LI" ) ;
+	
+	if ( oLINode ) // An LI element is selected
+	{
+		// Handle list items separately as need to handle termination of the list, etc
+		return FCK.ListItemEnter( oLINode, oSelNode, nSelOffset ) ;
+	}
+	else if ( oSelNode.nodeType == 3 ) // A TEXT node is selected
+	{
+		// Split it at the selection point and ensure both halves have a suitable enclosing block element
+		var oParentBlockNode = FCKTools.GetParentBlockNode( oSelNode ) ;
+		var oBlockNode2 = FCKTools.SplitNode( oParentBlockNode ? oParentBlockNode : FCK.EditorDocument.body, oSelNode, nSelOffset ) ;
+			
+		FCK.Selection.SetCursorPosition( oBlockNode2 );		
+		
+		return false ;
+	} 
+	else // An ELEMENT node is selected
+	{
+		// Cater for ENTER being pressed after very last element in the editor e.g. pressing ENTER after table element at very end of the editor's content
+		if ( nSelOffset >= oSelNode.childNodes.length )	
+		{
+			var oBlockNode = FCK.EditorDocument.createElement( "P" ) ;
+			if ( FCKTools.NodeIsEmpty( oBlockNode ) )
+				oBlockNode.innerHTML = GECKO_BOGUS ;		// Ensure it has some content, required for Gecko			
+			oSelNode.appendChild( oBlockNode ) ;
+			FCK.Selection.SetCursorPosition( oBlockNode ) ;
+			return false ;
+		}
+		
+		var oBlockNode2 = FCKTools.SplitNode( oSelNode, oSelNode.childNodes[nSelOffset] ) ;
+			
+		FCK.Selection.SetCursorPosition( oBlockNode2 );		
+		
+		return false ;
+	}
+	
+	return true ;
+}
+
+FCK.BackSpace = function()
+{
+	var oSel = FCK.EditorWindow.getSelection() ;
+	var oSelNode = oSel.focusNode ;
+	var nSelOffset = oSel.focusOffset;
+	var oParentNode = null ;
+
+	// Guard against a null focus node.
+	if ( !oSelNode )
+		return false ;
+	
+	if ( oSelNode.nodeName.toUpperCase() == "LI" ) // An LI element is selected
+	{
+		// Handle list items separately as need to handle termination of the list, etc
+		return FCK.ListItemBackSpace( oSelNode, nSelOffset ) ;
+	}
+	else	
+	{
+		// If we are anything other than a TEXT node, move to the child indicated by the selection offset
+		if ( oSelNode.nodeType != 3 )
+		{
+			oSelNode = oSelNode.childNodes[nSelOffset] ;
+			nSelOffset = 0 ;
+		}
+		
+		// If we are the first child and the previous sibling of the parent is an empty block element (containing nothing or just the filler element)
+		// want the backspace to completely remove the empty block element
+		if ( !oSelNode.previousSibling && nSelOffset <= 0 )
+		{
+			oParentNode = oSelNode.parentNode ;
+			
+			if ( oParentNode && oParentNode.previousSibling && FCKRegexLib.BlockElements.test( oParentNode.previousSibling.nodeName ) )
+			{
+				if ( FCKTools.NodeIsEmpty( oParentNode.previousSibling ) )
+				{
+					var oRange = FCK.EditorDocument.createRange() ;
+					oRange.selectNode ( oParentNode.previousSibling );
+					oRange.deleteContents() ;
+					
+					// Don't do any default processing
+					return false ; 
+				}
+			}
+		}
+	}	
+	return true ; // Let default processing do its stuff
+}
+
+// END iCM Modifications
+
--- a/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fck_last.js	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fck_last.js	Mon Oct 17 20:45:54 2005 +0000
@@ -24,8 +24,18 @@
 	window.document.dir = FCKLang.Dir ;
 	
 // Activate pasting operations.
-if ( FCKConfig.ForcePasteAsPlainText || FCKConfig.AutoDetectPasteFromWord )
-	FCK.Events.AttachEvent( 'OnPaste', FCK.Paste ) ;
+if ( FCKConfig.ForcePasteAsPlainText )
+	FCK.Events.AttachEvent( "OnPaste", FCK.Paste ) ;
+
+// START iCM Modifications
+// Override default ENTER key handler for Gecko/Mozilla so 
+// it acts more like IE browsers.
+if ( FCKBrowserInfo.IsGecko && !FCKConfig.UseBROnCarriageReturn )
+{
+	FCK.Events.AttachEvent( "OnEnter", FCK.Enter ) ;
+	FCK.Events.AttachEvent( "OnBackSpace", FCK.BackSpace ) ;
+}
+// END iCM Modifications
 
 // Load Plugins.
 if ( FCKPlugins.ItemsCount > 0 )
--- a/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fck_onload.js	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fck_onload.js	Mon Oct 17 20:45:54 2005 +0000
@@ -64,10 +64,10 @@
 		var d, e ;
 
 		var j = 0 ;
-		while ( d = aCleanupDocs[j++] )
+		while ( ( d = aCleanupDocs[j++] ) )
 		{
 			var i = 0 ;
-			while ( e = d.getElementsByTagName("DIV").item(i++) )
+			while ( ( e = d.getElementsByTagName("DIV").item(i++) ) )
 			{
 				if ( e.FCKToolbarButton )
 					e.FCKToolbarButton = null ;
@@ -80,7 +80,7 @@
 			}
 
 			i = 0 ;
-			while ( e = d.getElementsByTagName("TR").item(i++) )
+			while ( ( e = d.getElementsByTagName("TR").item(i++) ) )
 			{
 				if ( e.FCKContextMenuItem )
 					e.FCKContextMenuItem = null ;
@@ -178,22 +178,19 @@
 	// @Packager.Compactor.Remove.Start
 	var sSuffix = FCKBrowserInfo.IsIE ? 'ie' : 'gecko' ;
 
-	with ( FCKScriptLoader )
-	{
-		AddScript( '_source/internals/fckdebug.js' ) ;
-		AddScript( '_source/internals/fcktools.js' ) ;
-		AddScript( '_source/internals/fcktools_' + sSuffix + '.js' ) ;
-		AddScript( '_source/internals/fckregexlib.js' ) ;
-		AddScript( '_source/internals/fcklanguagemanager.js' ) ;
-		AddScript( '_source/classes/fckevents.js' ) ;
-		AddScript( '_source/internals/fckxhtmlentities.js' ) ;
-		AddScript( '_source/internals/fckxhtml.js' ) ;
-		AddScript( '_source/internals/fckxhtml_' + sSuffix + '.js' ) ;
-		AddScript( '_source/internals/fckcodeformatter.js' ) ;
-		AddScript( '_source/internals/fckundo_' + sSuffix + '.js' ) ;
-		AddScript( '_source/internals/fck_1.js' ) ;
-		AddScript( '_source/internals/fck_1_' + sSuffix + '.js' ) ;
-	}
+	FCKScriptLoader.AddScript( '_source/internals/fckdebug.js' ) ;
+	FCKScriptLoader.AddScript( '_source/internals/fcktools.js' ) ;
+	FCKScriptLoader.AddScript( '_source/internals/fcktools_' + sSuffix + '.js' ) ;
+	FCKScriptLoader.AddScript( '_source/internals/fckregexlib.js' ) ;
+	FCKScriptLoader.AddScript( '_source/internals/fcklanguagemanager.js' ) ;
+	FCKScriptLoader.AddScript( '_source/classes/fckevents.js' ) ;
+	FCKScriptLoader.AddScript( '_source/internals/fckxhtmlentities.js' ) ;
+	FCKScriptLoader.AddScript( '_source/internals/fckxhtml.js' ) ;
+	FCKScriptLoader.AddScript( '_source/internals/fckxhtml_' + sSuffix + '.js' ) ;
+	FCKScriptLoader.AddScript( '_source/internals/fckcodeformatter.js' ) ;
+	FCKScriptLoader.AddScript( '_source/internals/fckundo_' + sSuffix + '.js' ) ;
+	FCKScriptLoader.AddScript( '_source/internals/fck_1.js' ) ;
+	FCKScriptLoader.AddScript( '_source/internals/fck_1_' + sSuffix + '.js' ) ;
 	// @Packager.Compactor.Remove.End
 
 	/* @Packager.Compactor.RemoveLine
--- a/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fckcommands.js	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fckcommands.js	Mon Oct 17 20:45:54 2005 +0000
@@ -105,7 +105,7 @@
 			else
 			{
 				alert( FCKLang.UnknownCommand.replace( /%1/g, commandName ) ) ;
-				return ;
+				return null ;
 			}
 	}
 	
--- a/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fckconfig.js	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fckconfig.js	Mon Oct 17 20:45:54 2005 +0000
@@ -135,13 +135,16 @@
 
 FCKConfig.ProtectedSource.Revert = function( html, clearBin )
 {
-	function _Replace( m, index )
+	function _Replace( m, opener, index )
 	{
-		if ( clearBin )
-			return FCKTempBin.RemoveElement( index ) ;
-		else
-			return FCKTempBin.Elements[ index ] ;
+		var protectedValue = clearBin ? FCKTempBin.RemoveElement( index ) : FCKTempBin.Elements[ index ] ;
+		// There could be protected source inside another one.
+		return FCKConfig.ProtectedSource.Revert( protectedValue, clearBin ) ;
 	}
-	
-	return html.replace( /<!--\{PS..(\d+)\}-->/g, _Replace ) ;
-}
\ No newline at end of file
+
+	return html.replace( /(<|&lt;)!--\{PS..(\d+)\}--(>|&gt;)/g, _Replace ) ;
+}
+
+// First of any other protection, we must protect all comments to avoid 
+// loosing them (of course, IE related).
+FCKConfig.ProtectedSource.Add( /<!--[\s\S]*?-->/g ) ;
\ No newline at end of file
--- a/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fckcontextmenu.js	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fckcontextmenu.js	Mon Oct 17 20:45:54 2005 +0000
@@ -62,45 +62,39 @@
 		case 'Generic' :
 			// Generic items that are always available.
 			oGroup = new FCKContextMenuGroup() ;
-			with ( oGroup )
-			{
-				Add( new FCKContextMenuItem( this, 'Cut'	, FCKLang.Cut	, true ) ) ;
-				Add( new FCKContextMenuItem( this, 'Copy'	, FCKLang.Copy	, true ) ) ;
-				Add( new FCKContextMenuItem( this, 'Paste'	, FCKLang.Paste	, true ) ) ;
-			}
+
+			oGroup.Add( new FCKContextMenuItem( this, 'Cut'		, FCKLang.Cut	, true ) ) ;
+			oGroup.Add( new FCKContextMenuItem( this, 'Copy'	, FCKLang.Copy	, true ) ) ;
+			oGroup.Add( new FCKContextMenuItem( this, 'Paste'	, FCKLang.Paste	, true ) ) ;
 
 			break ;
 
 		case 'Link' :
 			oGroup = new FCKContextMenuGroup() ;
-			with ( oGroup )
-			{
-				Add( new FCKContextMenuSeparator() ) ;
-				Add( new FCKContextMenuItem( this, 'Link'	, FCKLang.EditLink	, true ) ) ;
-				Add( new FCKContextMenuItem( this, 'Unlink'	, FCKLang.RemoveLink, true ) ) ;
-			}
+
+			oGroup.Add( new FCKContextMenuSeparator() ) ;
+			oGroup.Add( new FCKContextMenuItem( this, 'Link'	, FCKLang.EditLink	, true ) ) ;
+			oGroup.Add( new FCKContextMenuItem( this, 'Unlink'	, FCKLang.RemoveLink, true ) ) ;
 
 			break ;
 
 		case 'TableCell' :
 			oGroup = new FCKContextMenuGroup() ;
-			with ( oGroup )
-			{
-				Add( new FCKContextMenuSeparator() ) ;
-				Add( new FCKContextMenuItem( this, 'TableInsertRow'		, FCKLang.InsertRow, true ) ) ;
-				Add( new FCKContextMenuItem( this, 'TableDeleteRows'	, FCKLang.DeleteRows, true ) ) ;
-				Add( new FCKContextMenuSeparator() ) ;
-				Add( new FCKContextMenuItem( this, 'TableInsertColumn'	, FCKLang.InsertColumn, true ) ) ;
-				Add( new FCKContextMenuItem( this, 'TableDeleteColumns'	, FCKLang.DeleteColumns, true ) ) ;
-				Add( new FCKContextMenuSeparator() ) ;
-				Add( new FCKContextMenuItem( this, 'TableInsertCell'	, FCKLang.InsertCell, true ) ) ;
-				Add( new FCKContextMenuItem( this, 'TableDeleteCells'	, FCKLang.DeleteCells, true ) ) ;
-				Add( new FCKContextMenuItem( this, 'TableMergeCells'	, FCKLang.MergeCells, true ) ) ;
-				Add( new FCKContextMenuItem( this, 'TableSplitCell'		, FCKLang.SplitCell, true ) ) ;
-				Add( new FCKContextMenuSeparator() ) ;
-				Add( new FCKContextMenuItem( this, 'TableCellProp'		, FCKLang.CellProperties, true ) ) ;
-				Add( new FCKContextMenuItem( this, 'TableProp'			, FCKLang.TableProperties, true ) ) ;
-			}
+
+			oGroup.Add( new FCKContextMenuSeparator() ) ;
+			oGroup.Add( new FCKContextMenuItem( this, 'TableInsertRow'		, FCKLang.InsertRow, true ) ) ;
+			oGroup.Add( new FCKContextMenuItem( this, 'TableDeleteRows'		, FCKLang.DeleteRows, true ) ) ;
+			oGroup.Add( new FCKContextMenuSeparator() ) ;
+			oGroup.Add( new FCKContextMenuItem( this, 'TableInsertColumn'	, FCKLang.InsertColumn, true ) ) ;
+			oGroup.Add( new FCKContextMenuItem( this, 'TableDeleteColumns'	, FCKLang.DeleteColumns, true ) ) ;
+			oGroup.Add( new FCKContextMenuSeparator() ) ;
+			oGroup.Add( new FCKContextMenuItem( this, 'TableInsertCell'		, FCKLang.InsertCell, true ) ) ;
+			oGroup.Add( new FCKContextMenuItem( this, 'TableDeleteCells'	, FCKLang.DeleteCells, true ) ) ;
+			oGroup.Add( new FCKContextMenuItem( this, 'TableMergeCells'		, FCKLang.MergeCells, true ) ) ;
+			oGroup.Add( new FCKContextMenuItem( this, 'TableSplitCell'		, FCKLang.SplitCell, true ) ) ;
+			oGroup.Add( new FCKContextMenuSeparator() ) ;
+			oGroup.Add( new FCKContextMenuItem( this, 'TableCellProp'		, FCKLang.CellProperties, true ) ) ;
+			oGroup.Add( new FCKContextMenuItem( this, 'TableProp'			, FCKLang.TableProperties, true ) ) ;
 
 			break ;
 
@@ -160,15 +154,14 @@
 	var sTagName ;
 
 	if ( oTag )
-	{
 		sTagName = oTag.tagName ;
-	}
 
 	// Set items visibility.
 
 //	var bIsAnchor = ( sTagName == 'A' && oTag.name.length > 0 && oTag.href.length == 0 ) ;
 
-	if ( this.Groups['Link'] )			this.Groups['Link'].SetVisible( /*!bIsAnchor &&*/ FCK.GetNamedCommandState( 'Unlink' ) != FCK_TRISTATE_DISABLED ) ;
+//	if ( this.Groups['Link'] )			this.Groups['Link'].SetVisible( !bIsAnchor && FCK.GetNamedCommandState( 'Unlink' ) != FCK_TRISTATE_DISABLED ) ;
+	if ( this.Groups['Link'] )			this.Groups['Link'].SetVisible( FCK.GetNamedCommandState( 'Unlink' ) != FCK_TRISTATE_DISABLED ) ;
 
 	if ( this.Groups['TableCell'] )		this.Groups['TableCell'].SetVisible( sTagName != 'TABLE' && FCKSelection.HasAncestorNode('TABLE') ) ;
 	if ( this.Groups['Table'] )			this.Groups['Table'].SetVisible( sTagName == 'TABLE' ) ;
--- a/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fckdialog_gecko.js	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fckdialog_gecko.js	Mon Oct 17 20:45:54 2005 +0000
@@ -67,13 +67,10 @@
 	// It is strange, but we have to check the FCKDialog existence to avoid a 
 	// random error: "FCKDialog is not defined".
 	if ( typeof( FCKDialog ) != "object" )
-		return ;
+		return false ;
 	
 	if ( FCKDialog.Window && !FCKDialog.Window.closed )
-	{
 		FCKDialog.Window.focus() ;
-		return false ;
-	}
 	else
 	{
 		// Try/Catch must be used to avoit an error when using a frameset 
@@ -90,4 +87,5 @@
 		catch (e)
 		{}
 	}
+	return false ;
 }
--- a/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fcklanguagemanager.js	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fcklanguagemanager.js	Mon Oct 17 20:45:54 2005 +0000
@@ -57,17 +57,17 @@
 
 FCKLanguageManager.TranslateElements = function( targetDocument, tag, propertyToSet )
 {
-	var aInputs = targetDocument.getElementsByTagName(tag) ;
+	var e = targetDocument.getElementsByTagName(tag) ;
 
-	for ( var i = 0 ; i < aInputs.length ; i++ )
+	for ( var i = 0 ; i < e.length ; i++ )
 	{
-		var sKey = aInputs[i].getAttribute( 'fckLang' ) ;
+		var sKey = e[i].getAttribute( 'fckLang' ) ;
 		
 		if ( sKey )
 		{
 			var s = FCKLang[ sKey ] ;
 			if ( s ) 
-				eval( 'aInputs[i].' + propertyToSet + ' = s' ) ;
+				eval( 'e[i].' + propertyToSet + ' = s' ) ;
 		}
 	}
 }
--- a/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fckregexlib.js	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fckregexlib.js	Mon Oct 17 20:45:54 2005 +0000
@@ -25,8 +25,11 @@
 // Used by the Styles combo to identify styles that can't be applied to text.
 FCKRegexLib.ObjectElements	= /^(?:IMG|TABLE|TR|TD|INPUT|SELECT|TEXTAREA|HR|OBJECT)$/i ;
 
+// START iCM MODIFICATIONS
+// Added TABLE and CAPTION to the block elements for ENTER key handling
 // Block Elements.
-FCKRegexLib.BlockElements	= /^(?:P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TD)$/i ;
+FCKRegexLib.BlockElements	= /^(?:P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TD|TABLE|CAPTION)$/i ;
+// END iCM MODIFICATIONS
 
 // Elements marked as empty "Empty" in the XHTML DTD.
 FCKRegexLib.EmptyElements	= /^(?:BASE|META|LINK|HR|BR|PARAM|IMG|AREA|INPUT)$/i ;
@@ -44,6 +47,7 @@
 
 FCKRegexLib.HasBaseTag		= /<base /i ;
 
+FCKRegexLib.HeadOpener		= /<head\s?[^>]*>/i ;
 FCKRegexLib.HeadCloser		= /<\/head\s*>/i ;
 
 FCKRegexLib.TableBorderClass = /\s*FCK__ShowTableBorders\s*/ ;
@@ -59,4 +63,23 @@
 
 FCKRegexLib.EmptyParagraph = /^<(p|div)>\s*<\/\1>$/i ;
 
-FCKRegexLib.TagBody = /></ ;
\ No newline at end of file
+FCKRegexLib.TagBody = /></ ;
+
+// START iCM MODIFICATIONS
+// HTML table cell elements
+FCKRegexLib.TableCellElements	= /^(?:TD|TH)$/i ;
+// Block elements that can themselves contain block elements - used within the FCKTools.SplitNode
+// function. I know BODY isn't really a block element but means can do the check in one hit.
+FCKRegexLib.SpecialBlockElements	= /^(?:BODY|TH|TD|CAPTION)$/i ;
+// Block elements that can validly contain a nested table. Ditto above for the BODY entry.
+FCKRegexLib.TableBlockElements	= /^(?:BODY|DIV|LI|TD|TH)$/i ;
+// List elements
+FCKRegexLib.ListElements	= /^(?:OL|UL)$/i ;
+// Used to remove empty tags after the split process used on ENTER key press
+FCKRegexLib.EmptyElement = /<(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|SPAN|A)[^\>]*>\s*<\/\1>/gi ;
+// END iCM MODIFICATIONS
+
+FCKRegexLib.StrongOpener = /<STRONG([ \>])/gi ;
+FCKRegexLib.StrongCloser = /<\/STRONG>/gi ;
+FCKRegexLib.EmOpener = /<EM([ \>])/gi ;
+FCKRegexLib.EmCloser = /<\/EM>/gi ;
\ No newline at end of file
--- a/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fckselection_gecko.js	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fckselection_gecko.js	Mon Oct 17 20:45:54 2005 +0000
@@ -101,7 +101,7 @@
 
 	while ( oContainer )
 	{
-		if ( oContainer.tagName == nodeTagName ) return true ;
+		if ( oContainer.nodeType == 1 && oContainer.tagName == nodeTagName ) return true ;
 		oContainer = oContainer.parentNode ;
 	}
 
@@ -119,9 +119,11 @@
 
 	while ( oContainer )
 	{
-		if ( oContainer.tagName == nodeTagName ) return oContainer ;
+		if ( oContainer.tagName == nodeTagName ) 
+			return oContainer ;
 		oContainer = oContainer.parentNode ;
 	}
+	return null ;
 }
 
 FCKSelection.Delete = function()
@@ -136,4 +138,27 @@
 	}
 
 	return oSel ;
-}
\ No newline at end of file
+}
+// START iCM MODIFICATIONS
+
+// Move the cursor position (the selection point) to a specific offset within a specific node
+// If no offset specified, the start of the node is assumed
+FCKSelection.SetCursorPosition = function ( oNode, nOffset )
+{
+	if ( typeof nOffset == "undefined" ) nOffset = 0 ;
+
+	var oSel = FCK.EditorWindow.getSelection() ;
+	var oRange = FCK.EditorDocument.createRange() ;
+	
+	oRange.setStart( oNode, nOffset ) ;
+	oRange.collapse( true ) ;
+	
+	oSel.removeAllRanges() ;
+	oSel.addRange( oRange );
+	
+	if ( oNode.scrollIntoView )
+		oNode.scrollIntoView( false );	
+}
+
+// END iCM MODIFICATIONS
+
--- a/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fckselection_ie.js	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fckselection_ie.js	Mon Oct 17 20:45:54 2005 +0000
@@ -131,4 +131,20 @@
 	}
 
 	return oSel ;
-}
\ No newline at end of file
+}
+// START iCM Modifications
+
+// Move the cursor position (the selection point) to a specific offset within a specific node
+// If no offset specified, the start of the node is assumed
+FCKSelection.SetCursorPosition = function ( oNode, nOffset )
+{
+	if ( typeof nOffset == "undefined" ) nOffset = 0 ;
+
+	FCK.Selection.SelectNode( oNode ) ; // Doesn't handle offsets currently but offset always zero at mo
+	FCK.Selection.Collapse( true ) ;
+	
+	oNode.scrollIntoView( false );	
+}
+
+// END iCM Modifications
+
--- a/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fcktablehandler.js	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fcktablehandler.js	Mon Oct 17 20:45:54 2005 +0000
@@ -97,7 +97,7 @@
 		oCell = oRow.cells[iIndex-1].cloneNode(false) ;
 		
 		if ( FCKBrowserInfo.IsGecko )
-			oCell.innerHTML = FCKBrowserInfo.IsGecko ? '<br _moz_editor_bogus_node="TRUE">' : '' ;
+			oCell.innerHTML = FCKBrowserInfo.IsGecko ? GECKO_BOGUS : '' ;
 		
 		// Get the cell that is placed in the new cell place.
 		var oBaseCell = oRow.cells[iIndex] ;
@@ -152,7 +152,7 @@
 	// Create the new cell element to be added.
 	var oNewCell = FCK.EditorDocument.createElement("TD");
 	if ( FCKBrowserInfo.IsGecko )
-		oNewCell.innerHTML = '<br _moz_editor_bogus_node="TRUE">' ;
+		oNewCell.innerHTML = GECKO_BOGUS ;
 //	oNewCell.innerHTML = "&nbsp;" ;
 
 	// If it is the last cell in the row.
@@ -262,7 +262,7 @@
 FCKTableHandler._GetCellIndexSpan = function( tableMap, rowIndex, cell )
 {
 	if ( tableMap.length < rowIndex + 1 )
-		return ;
+		return null ;
 	
 	var oRow = tableMap[ rowIndex ] ;
 	
@@ -271,6 +271,8 @@
 		if ( oRow[c] == cell )
 			return c ;
 	}
+	
+	return null ;
 }
 
 // Get the cells available in a collumn of a TableMap.
@@ -348,7 +350,7 @@
 	for ( var i = 0 ; i < aCells.length ; i++ ) 
 	{
 		if ( FCKBrowserInfo.IsGecko )
-			aCells[i].innerHTML = '<br _moz_editor_bogus_node="TRUE">' ;
+			aCells[i].innerHTML = GECKO_BOGUS ;
 		else
 			aCells[i].innerHTML = '' ;
 	}
--- a/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fcktoolbaritems.js	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fcktoolbaritems.js	Mon Oct 17 20:45:54 2005 +0000
@@ -107,7 +107,7 @@
 
 		default:
 			alert( FCKLang.UnknownToolbarItem.replace( /%1/g, itemName ) ) ;
-			return ;
+			return null ;
 	}
 
 	FCKToolbarItems.LoadedItems[ itemName ] = oItem ;
--- a/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fcktoolbarset.js	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fcktoolbarset.js	Mon Oct 17 20:45:54 2005 +0000
@@ -94,7 +94,7 @@
 		}
 		else
 		{
-			var oToolbar = new FCKToolbar() ;
+			oToolbar = new FCKToolbar() ;
 			
 			for ( var j = 0 ; j < oToolbarItems.length ; j++ ) 
 			{
--- a/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fcktools.js	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fcktools.js	Mon Oct 17 20:45:54 2005 +0000
@@ -172,18 +172,25 @@
 	return c ;
 }
 
-FCKTools.GetElementAscensor = function( element, ascensorTagName )
+// START iCM MODIFICATIONS
+// Amended to accept a list of one or more ascensor tag names
+// Amended to check the element itself before working back up through the parent hierarchy
+FCKTools.GetElementAscensor = function( element, ascensorTagNames )
 {
-	var e = element.parentNode ;
+//	var e = element.parentNode ;
+	var e = element ;
+	var lstTags = "," + ascensorTagNames.toUpperCase() + "," ;
 
 	while ( e )
 	{
-		if ( e.nodeName == ascensorTagName )
+		if ( lstTags.indexOf( "," + e.nodeName.toUpperCase() + "," ) != -1 )
 			return e ;
 
 		e = e.parentNode ;
 	}
+	return null ;
 }
+// END iCM MODIFICATIONS
 
 FCKTools.Pause = function( miliseconds )
 {
@@ -205,4 +212,74 @@
 FCKTools.ConvertHtmlSizeToStyle = function( size )
 {
 	return size.endsWith( '%' ) ? size : ( size + 'px' ) ;
-}
\ No newline at end of file
+}
+// START iCM MODIFICATIONS
+// Transfers the supplied attributes to the supplied node
+FCKTools.SetElementAttributes = function( oElement, oAttributes ) 
+{
+	for ( var i = 0; i < oAttributes.length; i++ ) 
+	{
+		if ( oAttributes[i].specified ) // Needed for IE which always returns all attributes whether set or not
+			oElement.setAttribute( oAttributes[i].nodeName, oAttributes[i].nodeValue, 0 ) ;
+	}
+}
+
+// Get immediate block node (P, H1, for example) for the supplied node - the supplied node may itself be a block node in which
+// case it will be returned. If no block node found, returns null.
+FCKTools.GetParentBlockNode = function( oNode )
+{
+	if ( oNode.nodeName.toUpperCase() == "BODY" )
+		return null ;
+	else if ( oNode.nodeType == 1 && FCKRegexLib.BlockElements.test(oNode.tagName) )
+		return oNode ;
+	else
+		return FCKTools.GetParentBlockNode( oNode.parentNode ) ;
+}
+
+// Run through any children of the supplied node. If there are none, or they only comprise 
+// empty text nodes and BR nodes, then the node is effectively empty.
+// Sometimes (on Gecko) a seemingly empty node is coming back with several children that are solely
+// empty text nodes and BRs e.g. the first item in an OL list, for example, when 
+// UseBROnCarriageReturn is set to false. 
+// Seems to be due to the use of the <br _moz_editor_bogus_node="TRUE"> (GECKO_BOGUS) as fillers both
+// in fck_gecko_1.js when html is empty and in ENTER key handler ? If normal BR tags are
+// used instead this doesn't seem to happen....
+FCKTools.NodeIsEmpty = function( oNode )
+{
+	var oSibling = oNode.childNodes[0] ;
+	while ( oSibling )
+	{
+		if ( ( oSibling.nodeType != 1 && oSibling.nodeType != 3 ) || ( oSibling.nodeType == 1 && oSibling.nodeName.toUpperCase() != "BR" ) || ( oSibling.nodeType == 3 && oSibling.nodeValue && oSibling.nodeValue.trim() != '' ) )
+			return false ;
+		
+		oSibling = oSibling.nextSibling ;
+	}
+
+	return true ;
+}
+
+// Returns a document fragment that contains a copy of the specified range of nodes
+FCKTools.GetDocumentFragment = function( oParentNode, oFromNode, oToNode, bIncludeFromNode, bIncludeToNode, bClone )
+{	
+	if ( typeof bIncludeFromNode == "undefined" )  bIncludeFromNode = true ;
+	if ( typeof bIncludeToNode == "undefined" )  bIncludeToNode = true ;
+	if ( typeof bClone == "undefined" )  bClone = true ;
+
+	var oFragment = FCK.EditorDocument.createDocumentFragment() ;
+	
+	var oNode = oFromNode ;
+	while ( oNode && oNode != oToNode )
+	{
+		if ( oNode != oFromNode || bIncludeFromNode )
+			oFragment.appendChild( bClone ? oNode.cloneNode( true ) : oNode ) ;
+			
+		oNode = oNode.nextSibling ;
+	}
+
+	if ( oNode && (oFromNode != oToNode && bIncludeToNode) )
+		oFragment.appendChild( bClone ? oNode.cloneNode( true ) : oNode ) ; // Include To Node
+
+	return oFragment ;
+}
+
+// END iCM MODIFICATIONS
--- a/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fcktools_gecko.js	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fcktools_gecko.js	Mon Oct 17 20:45:54 2005 +0000
@@ -17,6 +17,9 @@
  * 		Frederico Caldeira Knabben (fredck@fckeditor.net)
  */
 
+// Constant for the Gecko Bogus Node.
+var GECKO_BOGUS = '<br _moz_editor_bogus_node="TRUE">' ;
+
 // Appends a CSS file to a document.
 FCKTools.AppendStyleSheet = function( documentElement, cssFileUrl )
 {
@@ -85,4 +88,167 @@
 		case 'DOMDocument' :
 			return document.implementation.createDocument( '', '', null ) ;
 	}
-}
\ No newline at end of file
+	return null ;
+}
+// START iCM Modifications
+
+// Starting at the specified node, find the first inline node of the sequence
+// For example, assume we have the following elements : <p>Some text <span>some more text</span> and <a href="href">some link</a> yet some more text</p>
+// If the "some link" text node is the one specified, then the "Some text" text node will be the first inline node returned.
+FCKTools.GetFirstInlineNode = function( oNode )
+{
+	if ( FCKRegexLib.BlockElements.test( oNode.nodeName ) )
+		return oNode ;
+	else if ( oNode.previousSibling && !FCKRegexLib.BlockElements.test( oNode.previousSibling.nodeName ) )
+		return FCKTools.GetFirstInlineNode( oNode.previousSibling ) ;
+	else if ( oNode.parentNode && !FCKRegexLib.BlockElements.test( oNode.parentNode.nodeName ) && oNode.parentNode.nodeName.toUpperCase() != "BODY" )
+		return FCKTools.GetFirstInlineNode( oNode.parentNode ) ;
+	else 
+		return oNode ;
+}
+
+// Starting at the specified node, find the last inline node of the sequence
+// For example, assume we have the following elements : <p>Some text <span>some more text</span> and <a href="href">some link</a> yet some more text</p>
+// If the "some link" text node is the one specified, then the " yet some more text" text node will be the last inline node returned.
+FCKTools.GetLastInlineNode = function( oNode )
+{
+	if ( FCKRegexLib.BlockElements.test( oNode.nodeName ) )
+		return oNode ;
+	else if ( oNode.nextSibling && !FCKRegexLib.BlockElements.test( oNode.nextSibling.nodeName ) )
+		return FCKTools.GetLastInlineNode( oNode.nextSibling ) ;
+	else if ( oNode.parentNode && !FCKRegexLib.BlockElements.test( oNode.parentNode.nodeName ) && oNode.parentNode.nodeName.toUpperCase() != "BODY" )
+		return FCKTools.GetLastInlineNode( oNode.parentNode ) ;
+	else
+		return oNode ;
+}
+
+
+// Split the supplied parent at the specified child and (optionally) offset.
+// Ensure that enclosing block elements are created where missing but that existing 
+// block elements (table for example) don't get incorrectly nested. 
+FCKTools.SplitNode = function( oParentBlockNode, oChildNode, nOffset )
+{
+	if ( typeof nOffset == "undefined" ) nOffset = 0 ;
+
+	var oFragment = FCK.EditorDocument.createDocumentFragment() ;
+	var oRange = FCK.EditorDocument.createRange() ;
+
+	if ( FCKRegexLib.ListElements.test( oParentBlockNode.nodeName ) )
+	{
+		// Treat OL/UL parents differently as want to split at the specified
+		// child LI node to create to OL/UL lists.
+		oStartNode = oParentBlockNode.firstChild ;
+		oEndNode = oParentBlockNode.lastChild ;
+	}
+	else
+	{
+		// Locate the inline nodes adjacent to the specified child node so that these can
+		// be kept together.
+		oStartNode = FCKTools.GetFirstInlineNode( oChildNode ) ;
+		oEndNode = FCKTools.GetLastInlineNode( oChildNode ) ;
+	}
+
+	// Create a new tag which holds the content of the affected node(s) located before (but not including) the child node and offset
+	if ( FCKRegexLib.BlockElements.test( oStartNode.nodeName ) && !FCKRegexLib.ListElements.test( oParentBlockNode.nodeName ) )
+	{
+		// First element of the bunch is already a block element so we don't want to wrap it with a new block element.
+		// Just use this first node provided it is not the same as the last node (to prevent duplication), otherwise
+		// create a new empty P element.
+		if ( oStartNode != oEndNode )
+		{
+			oBlockNode1 = oStartNode.cloneNode( true ) ;
+		}
+		else
+		{
+			oBlockNode1 = FCK.EditorDocument.createElement( "P" ) ;
+			oBlockNode1.innerHTML = GECKO_BOGUS ;
+			
+			if ( !FCKRegexLib.SpecialBlockElements.test( oParentBlockNode.nodeName ) )
+				FCKTools.SetElementAttributes( oBlockNode1, oParentBlockNode.attributes ) ;  // Transfer across any class attributes, etc
+		}
+	}
+	else
+	{
+		// First element of the bunch is not a block element (or it is a LI element which is a special case).
+		// So ensure all of the inline nodes before the selection are wrapped with a suitable block element.
+		var oBlockNode1 = FCK.EditorDocument.createElement( FCKRegexLib.SpecialBlockElements.test( oParentBlockNode.nodeName ) ? "P" : oParentBlockNode.tagName ) ;
+		oRange.setStartBefore( oStartNode ) ;
+		if ( nOffset == 0 )
+			oRange.setEndBefore( oChildNode ) ;
+		else
+			oRange.setEnd( oChildNode, nOffset ) ;
+		oBlockNode1.appendChild( oRange.cloneContents() ) ;
+		oBlockNode1.innerHTML = oBlockNode1.innerHTML.replace(/[\x00-\x1F]/g, "") ; // Prevent any control characters returned within the innerHTML from causing problems
+		if ( FCKTools.NodeIsEmpty( oBlockNode1 ) )
+			oBlockNode1.innerHTML = GECKO_BOGUS ;		// Ensure it has some content, required for Gecko
+		else
+			oBlockNode1.innerHTML = oBlockNode1.innerHTML.replace( FCKRegexLib.EmptyElement, "" ) ; // Strip out any empty tags that may have been generated by the split
+		if ( !FCKRegexLib.SpecialBlockElements.test( oParentBlockNode.nodeName ) )
+			FCKTools.SetElementAttributes( oBlockNode1, oParentBlockNode.attributes ) ; 	// Transfer across any class attributes, etc
+	}
+
+	// Create a new tag which holds the content of the affected node(s) located after (and including) the child node
+	if ( FCKRegexLib.BlockElements.test( oEndNode.nodeName ) && !FCKRegexLib.ListElements.test( oParentBlockNode.nodeName ) )
+	{
+		// Last element of the bunch is already a block element so we don't want to wrap it with a new block element.
+		oBlockNode2 = oEndNode.cloneNode( true ) ;
+	}
+	else
+	{
+		// Last element of the bunch is not a block element (or it is a LI element which is a special case).
+		// So ensure all of the inline nodes after and including the child/offset are wrapped with a suitable block element.
+		var oBlockNode2 = FCK.EditorDocument.createElement( FCKRegexLib.SpecialBlockElements.test( oParentBlockNode.nodeName ) ? "P" : oParentBlockNode.tagName );
+		oRange.setEndAfter( oEndNode );
+		if ( nOffset == 0 )
+			oRange.setStartBefore( oChildNode ) ;
+		else
+			oRange.setStart( oChildNode, nOffset );
+		oBlockNode2.appendChild( oRange.cloneContents() ) ;
+		oBlockNode2.innerHTML = oBlockNode2.innerHTML.replace(/[\x00-\x1F]/g, "") ;  // Prevent any control characters returned within the innerHTML from causing problems
+		if ( FCKTools.NodeIsEmpty( oBlockNode2 ) ) 
+			oBlockNode2.innerHTML = GECKO_BOGUS ; 			// Ensure it has some content, required for Gecko
+		else
+			oBlockNode2.innerHTML = oBlockNode2.innerHTML.replace( FCKRegexLib.EmptyElement, "" ) ; // Strip out any empty tags that may have been generated by the split
+		if ( !FCKRegexLib.SpecialBlockElements.test( oParentBlockNode.nodeName ) )
+			FCKTools.SetElementAttributes( oBlockNode2, oParentBlockNode.attributes ) ; 	// Transfer across any class attributes, etc
+	}
+	
+	// Insert the resulting nodes into a document fragment
+	oFragment.appendChild( oBlockNode1 );
+	oFragment.appendChild( oBlockNode2 );
+	
+	// Replace the affected nodes with the new nodes (fragment)
+	FCKTools.ReplaceNodes( oParentBlockNode, oStartNode, oEndNode, oFragment ) ;	
+	
+	// Return the second node so it can be used for setting cursor position, etc
+	return oBlockNode2 ;
+}
+
+// Function that replaces the specified range of nodes (inclusive) within the supplied parent
+// with the nodes stored in the supplied document fragment.
+FCKTools.ReplaceNodes = function( oParentBlockNode, oStartNode, oEndNode, oFragment )
+{
+	var oRange = FCK.EditorDocument.createRange() ;
+	
+	// Delete the affected node(s)
+	if ( !FCKRegexLib.SpecialBlockElements.test( oParentBlockNode.nodeName ) && (oParentBlockNode.firstChild == oStartNode) && (oParentBlockNode.lastChild == oEndNode) )
+	{
+		// Entire parent block node is to be replaced so insert the two new block elements before it 
+		// and then remove the old node
+		oRange.selectNode ( oParentBlockNode );
+	}
+	else
+	{
+		// Only part of the parent block node is to be replaced so insert the two new block elements
+		// before the first inline node of the affected content and then remove the old nodes
+		oRange.setEndAfter( oEndNode ) ;
+		oRange.setStartBefore( oStartNode ) ;
+	}
+	
+	// Insert the replacement nodes
+	oRange.deleteContents() ;
+	oRange.insertNode( oFragment ) ;
+}
+
+// END iCM Modifications
+
--- a/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fcktools_ie.js	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fcktools_ie.js	Mon Oct 17 20:45:54 2005 +0000
@@ -65,6 +65,13 @@
 	for ( var i = 0 ; i < 2 ; i++ )
 	{
 		try { return new ActiveXObject( aObjs[i] ) ; }
-		catch (e) {}
+		catch (e) 
+		{}
+	}
+	
+	if ( FCKLang.NoActiveX )
+	{
+		alert( FCKLang.NoActiveX ) ;
+		FCKLang.NoActiveX = null ;
 	}
 }
\ No newline at end of file
--- a/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fckundo_ie.js	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fckundo_ie.js	Mon Oct 17 20:45:54 2005 +0000
@@ -35,9 +35,19 @@
 	FCK.Events.FireEvent( "OnSelectionChange" ) ;
 }
 
+FCKUndo.CheckUndoState = function()
+{
+	return ( FCKUndo.Typing || FCKUndo.CurrentIndex > 0 ) ;
+}
+
+FCKUndo.CheckRedoState = function()
+{
+	return ( !FCKUndo.Typing && FCKUndo.CurrentIndex < ( FCKUndo.SavedData.length - 1 ) ) ;
+}
+
 FCKUndo.Undo = function()
 {
-	if ( FCKUndo.CurrentIndex >= 0 )
+	if ( FCKUndo.CheckUndoState() )
 	{
 		// If it is the first step.
 		if ( FCKUndo.CurrentIndex == ( FCKUndo.SavedData.length - 1 ) )
@@ -55,7 +65,7 @@
 
 FCKUndo.Redo = function()
 {
-	if ( FCKUndo.CurrentIndex < ( FCKUndo.SavedData.length - 1 ) )
+	if ( FCKUndo.CheckRedoState() )
 	{
 		// Go a step forward.
 		FCKUndo._ApplyUndoLevel( ++FCKUndo.CurrentIndex ) ;
@@ -67,6 +77,9 @@
 FCKUndo._ApplyUndoLevel = function(level)
 {
 	var oData = FCKUndo.SavedData[ level ] ;
+	
+	if ( !oData )
+		return ;
 
 	// Update the editor contents with that step data.
 	FCK.EditorDocument.body.innerHTML = oData[0] ;
--- a/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fckurlparams.js	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fckurlparams.js	Mon Oct 17 20:45:54 2005 +0000
@@ -22,7 +22,7 @@
 var FCKURLParams = new Object() ;
 
 var aParams = document.location.search.substr(1).split('&') ;
-for ( i = 0 ; i < aParams.length ; i++ )
+for ( var i = 0 ; i < aParams.length ; i++ )
 {
 	var aParam = aParams[i].split('=') ;
 	var sParamName  = aParam[0] ;
--- a/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fckxhtml.js	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fckxhtml.js	Mon Oct 17 20:45:54 2005 +0000
@@ -148,7 +148,7 @@
 
 			// The already processed nodes must be marked to avoid then to be duplicated (bad formatted HTML).
 			// So here, the "mark" is checked... if the element is Ok, then mark it.
-			if ( htmlNode._fckxhtmljob == FCKXHtml.CurrentJobNum )
+			if ( htmlNode._fckxhtmljob && htmlNode._fckxhtmljob == FCKXHtml.CurrentJobNum )
 				return false ;
 			else
 				htmlNode._fckxhtmljob = FCKXHtml.CurrentJobNum ;
@@ -158,8 +158,8 @@
 //			if ( sNodeName.length == 0 || sNodeName.substr(0,1) == '/' )
 //				break ;
 
-			var oNode = this.XML.createElement( sNodeName ) ;
-
+			var oNode = this._CreateNode( sNodeName ) ;
+			
 			// Add all attributes.
 			FCKXHtml._AppendAttributes( xmlNode, htmlNode, oNode, sNodeName ) ;
 
@@ -197,6 +197,30 @@
 	return true ;
 }
 
+if ( FCKConfig.ForceStrongEm )
+{
+	FCKXHtml._CreateNode = function( nodeName )
+	{
+		switch ( nodeName )
+		{
+			case 'b' :
+				nodeName = 'strong' ;
+				break ;
+			case 'i' :
+				nodeName = 'em' ;
+				break ;
+		}
+		return this.XML.createElement( nodeName ) ;
+	}
+}
+else
+{
+	FCKXHtml._CreateNode = function( nodeName )
+	{
+		return this.XML.createElement( nodeName ) ;
+	}
+}
+
 // Append an item to the SpecialBlocks array and returns the tag to be used.
 FCKXHtml._AppendSpecialItem = function( item )
 {
--- a/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fckxhtml_gecko.js	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fckxhtml_gecko.js	Mon Oct 17 20:45:54 2005 +0000
@@ -52,6 +52,7 @@
 		if ( oAttribute.specified )
 		{
 			var sAttName = oAttribute.nodeName.toLowerCase() ;
+			var sAttValue ;
 
 			// The "_fckxhtmljob" attribute is used to mark the already processed elements.
 			if ( sAttName == '_fckxhtmljob' )
@@ -62,12 +63,12 @@
 			// There are one cases (on Gecko) when the oAttribute.nodeValue must be used:
 			//		- for the "class" attribute
 			else if ( sAttName == 'class' )
-				var sAttValue = oAttribute.nodeValue ;
+				sAttValue = oAttribute.nodeValue ;
 			// XHTML doens't support attribute minimization like "CHECKED". It must be trasformed to cheched="checked".
 			else if ( oAttribute.nodeValue === true )
 				sAttValue = sAttName ;
 			else
-				var sAttValue = htmlNode.getAttribute( sAttName, 2 ) ;	// We must use getAttribute to get it exactly as it is defined.
+				sAttValue = htmlNode.getAttribute( sAttName, 2 ) ;	// We must use getAttribute to get it exactly as it is defined.
 
 			if ( FCKConfig.ForceSimpleAmpersand && sAttValue.replace )
 				sAttValue = sAttValue.replace( /&/g, '___FCKAmp___' ) ;
--- a/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fckxhtmlentities.js	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/_source/internals/fckxhtmlentities.js	Mon Oct 17 20:45:54 2005 +0000
@@ -19,7 +19,7 @@
 
 if ( FCKConfig.ProcessHTMLEntities )
 {
-	FCKXHtmlEntities = new Object();
+	var FCKXHtmlEntities = new Object() ;
 
 	FCKXHtmlEntities.Entities = {
 		// Latin-1 Entities
--- a/wiki/htdocs/applets/FCKeditor/editor/css/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/css/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,5 +1,5 @@
-/fck_editorarea.css/1.1/Wed Aug 31 19:08:37 2005//
-/fck_internal.css/1.1/Wed Aug 31 19:08:37 2005//
-/fck_showtableborders_gecko.css/1.1/Wed Aug 31 19:08:37 2005//
 D/behaviors////
 D/images////
+/fck_editorarea.css/1.1/Thu Sep 22 16:22:10 2005//
+/fck_internal.css/1.1/Thu Sep 22 16:22:10 2005//
+/fck_showtableborders_gecko.css/1.1/Thu Sep 22 16:22:10 2005//
--- a/wiki/htdocs/applets/FCKeditor/editor/css/behaviors/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/css/behaviors/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,5 +1,5 @@
-/disablehandles.htc/1.1/Wed Aug 31 19:08:36 2005//
-/hiddenfield.gif/1.1/Wed Aug 31 19:08:36 2005/-kb/
-/hiddenfield.htc/1.1/Wed Aug 31 19:08:36 2005//
-/showtableborders.htc/1.1/Wed Aug 31 19:08:36 2005//
+/disablehandles.htc/1.1/Thu Sep 22 16:22:10 2005//
+/hiddenfield.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/hiddenfield.htc/1.1/Thu Sep 22 16:22:10 2005//
+/showtableborders.htc/1.1/Thu Sep 22 16:22:10 2005//
 D
--- a/wiki/htdocs/applets/FCKeditor/editor/css/images/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/css/images/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,3 +1,3 @@
-/fck_anchor.gif/1.1/Wed Aug 31 19:08:37 2005/-kb/
-/fck_flashlogo.gif/1.1/Wed Aug 31 19:08:37 2005/-kb/
+/fck_anchor.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/fck_flashlogo.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
 D
--- a/wiki/htdocs/applets/FCKeditor/editor/dialog/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/dialog/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,28 +1,3 @@
-/fck_about.html/1.1/Wed Aug 31 19:08:37 2005//
-/fck_anchor.html/1.1/Wed Aug 31 19:08:37 2005//
-/fck_button.html/1.1/Wed Aug 31 19:08:37 2005//
-/fck_checkbox.html/1.1/Wed Aug 31 19:08:37 2005//
-/fck_colorselector.html/1.1/Wed Aug 31 19:08:37 2005//
-/fck_find.html/1.1/Wed Aug 31 19:08:37 2005//
-/fck_flash.html/1.1/Wed Aug 31 19:08:37 2005//
-/fck_form.html/1.1/Wed Aug 31 19:08:37 2005//
-/fck_hiddenfield.html/1.1/Wed Aug 31 19:08:37 2005//
-/fck_image.html/1.1/Wed Aug 31 19:08:37 2005//
-/fck_link.html/1.1/Wed Aug 31 19:08:37 2005//
-/fck_listprop.html/1.1/Wed Aug 31 19:08:37 2005//
-/fck_paste.html/1.1/Wed Aug 31 19:08:37 2005//
-/fck_radiobutton.html/1.1/Wed Aug 31 19:08:37 2005//
-/fck_replace.html/1.1/Wed Aug 31 19:08:37 2005//
-/fck_select.html/1.1/Wed Aug 31 19:08:37 2005//
-/fck_smiley.html/1.1/Wed Aug 31 19:08:37 2005//
-/fck_source.html/1.1/Wed Aug 31 19:08:37 2005//
-/fck_specialchar.html/1.1/Wed Aug 31 19:08:37 2005//
-/fck_spellerpages.html/1.1/Wed Aug 31 19:08:37 2005//
-/fck_tablecell.html/1.1/Wed Aug 31 19:08:37 2005//
-/fck_template.html/1.1/Wed Aug 31 19:08:37 2005//
-/fck_textarea.html/1.1/Wed Aug 31 19:08:37 2005//
-/fck_textfield.html/1.1/Wed Aug 31 19:08:37 2005//
-/fck_universalkey.html/1.1/Wed Aug 31 19:08:37 2005//
 D/common////
 D/fck_about////
 D/fck_docprops////
@@ -33,5 +8,30 @@
 D/fck_spellerpages////
 D/fck_template////
 D/fck_universalkey////
-/fck_docprops.html/1.2/Wed Sep 21 19:24:49 2005//
-/fck_table.html/1.2/Wed Sep 21 19:24:49 2005//
+/fck_about.html/1.2/Mon Oct 17 19:52:52 2005//
+/fck_anchor.html/1.1/Thu Sep 22 16:22:10 2005//
+/fck_button.html/1.1/Thu Sep 22 16:22:10 2005//
+/fck_checkbox.html/1.1/Thu Sep 22 16:22:10 2005//
+/fck_colorselector.html/1.1/Thu Sep 22 16:22:10 2005//
+/fck_docprops.html/1.3/Mon Oct 17 19:52:52 2005//
+/fck_find.html/1.1/Thu Sep 22 16:22:10 2005//
+/fck_flash.html/1.2/Mon Oct 17 19:52:52 2005//
+/fck_form.html/1.1/Thu Sep 22 16:22:10 2005//
+/fck_hiddenfield.html/1.1/Thu Sep 22 16:22:10 2005//
+/fck_image.html/1.2/Mon Oct 17 19:52:52 2005//
+/fck_link.html/1.2/Mon Oct 17 19:52:52 2005//
+/fck_listprop.html/1.1/Thu Sep 22 16:22:10 2005//
+/fck_paste.html/1.1/Thu Sep 22 16:22:10 2005//
+/fck_radiobutton.html/1.1/Thu Sep 22 16:22:10 2005//
+/fck_replace.html/1.1/Thu Sep 22 16:22:10 2005//
+/fck_select.html/1.1/Thu Sep 22 16:22:10 2005//
+/fck_smiley.html/1.2/Mon Oct 17 19:52:52 2005//
+/fck_source.html/1.1/Thu Sep 22 16:22:10 2005//
+/fck_specialchar.html/1.2/Mon Oct 17 19:52:52 2005//
+/fck_spellerpages.html/1.1/Thu Sep 22 16:22:10 2005//
+/fck_table.html/1.3/Mon Oct 17 19:52:52 2005//
+/fck_tablecell.html/1.1/Thu Sep 22 16:22:10 2005//
+/fck_template.html/1.2/Mon Oct 17 19:52:52 2005//
+/fck_textarea.html/1.1/Thu Sep 22 16:22:10 2005//
+/fck_textfield.html/1.1/Thu Sep 22 16:22:10 2005//
+/fck_universalkey.html/1.1/Thu Sep 22 16:22:10 2005//
--- a/wiki/htdocs/applets/FCKeditor/editor/dialog/common/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/dialog/common/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,5 +1,5 @@
-/fck_dialog_common.css/1.1/Wed Aug 31 19:08:37 2005//
-/fck_dialog_common.js/1.1/Wed Aug 31 19:08:37 2005//
-/fcknumericfield.htc/1.1/Wed Aug 31 19:08:37 2005//
-/moz-bindings.xml/1.1/Wed Aug 31 19:08:37 2005//
 D/images////
+/fck_dialog_common.css/1.1/Thu Sep 22 16:22:10 2005//
+/fck_dialog_common.js/1.1/Thu Sep 22 16:22:10 2005//
+/fcknumericfield.htc/1.1/Thu Sep 22 16:22:10 2005//
+/moz-bindings.xml/1.1/Thu Sep 22 16:22:10 2005//
--- a/wiki/htdocs/applets/FCKeditor/editor/dialog/common/images/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/dialog/common/images/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,4 +1,4 @@
-/locked.gif/1.1/Wed Aug 31 19:08:37 2005/-kb/
-/reset.gif/1.1/Wed Aug 31 19:08:37 2005/-kb/
-/unlocked.gif/1.1/Wed Aug 31 19:08:37 2005/-kb/
+/locked.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/reset.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/unlocked.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
 D
--- a/wiki/htdocs/applets/FCKeditor/editor/dialog/fck_about.html	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/dialog/fck_about.html	Mon Oct 17 20:45:54 2005 +0000
@@ -28,12 +28,14 @@
 var FCKLang	= oEditor.FCKLang ;
 
 window.parent.AddTab( 'About', FCKLang.DlgAboutAboutTab ) ;
+window.parent.AddTab( 'License', 'License' ) ;
 window.parent.AddTab( 'BrowserInfo', FCKLang.DlgAboutBrowserInfoTab ) ;
 
 // Function called when a dialog tag is selected.
 function OnDialogTabChange( tabCode )
 {
 	ShowE('divAbout', ( tabCode == 'About' ) ) ;
+	ShowE('divLicense', ( tabCode == 'License' ) ) ;
 	ShowE('divInfo'	, ( tabCode == 'BrowserInfo' ) ) ;
 }
 
@@ -70,30 +72,46 @@
 								<td align="center" style="BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid">
 									<span fckLang="DlgAboutVersion">version</span>
 									<br>
-									<b>2.1 PR</b></td>
+									<b>2.1</b></td>
 							</tr>
 						</table>
 					</td>
 				</tr>
 				<tr height="100%">
 					<td align="center">
+						&nbsp;<br>
+						<span style="FONT-SIZE: 14px" dir="ltr">Support <b>Open Source</b> software.<br>
+							<b><a href="http://www.fckeditor.net/donate/?about" target="_blank" title="Click to go to the donation page">
+									What about a donation today?</a></b> </span>
+						<br><br><br>
+						<span fckLang="DlgAboutInfo">For further information go to</span> <a href="http://www.fckeditor.net/" target="_blank">
+							http://www.fckeditor.net/</a>.
+						<br>
 						Copyright &copy; 2003-2005 <a href="#" onclick="SendEMail();">Frederico Caldeira 
 							Knabben</a>
-						<br>
-						<br>
+					</td>
+				</tr>
+				<tr>
+					<td align="center">
+						<img alt="" src="fck_about/logo_fredck.gif" width="87" height="36">
+					</td>
+				</tr>
+			</table>
+		</div>
+		<div id="divLicense" style="DISPLAY: none">
+			<table height="100%" width="100%">
+				<tr>
+					<td>
 						<span fckLang="DlgAboutLicense">Licensed under the terms of the GNU Lesser General 
 							Public License</span>
 						<br>
 						<a href="http://www.opensource.org/licenses/lgpl-license.php" target="_blank">http://www.opensource.org/licenses/lgpl-license.php</a>
 						<br>
-						<br>
-						<span fckLang="DlgAboutInfo">For further information go to</span> <a href="http://www.fckeditor.net/" target="_blank">
-							http://www.fckeditor.net/</a>.
 					</td>
 				</tr>
 				<tr>
-					<td align="center">
-						<img alt="" src="fck_about/logo_fredck.gif" width="87" height="36">
+					<td height="100%">
+						<iframe height="100%" width="100%" src="fck_about/lgpl.html"></iframe>
 					</td>
 				</tr>
 			</table>
@@ -104,9 +122,9 @@
 					<td>
 						<script language="javascript">
 <!--
-document.write( '<b>User Agent</b><br>' + window.navigator.userAgent + '<br><br>' ) ;
-document.write( '<b>Browser</b><br>' + window.navigator.appName + ' ' + window.navigator.appVersion + '<br><br>' ) ;
-document.write( '<b>Platform</b><br>' + window.navigator.platform + '<br><br>' ) ;
+document.write( '<b>User Agent<\/b><br>' + window.navigator.userAgent + '<br><br>' ) ;
+document.write( '<b>Browser<\/b><br>' + window.navigator.appName + ' ' + window.navigator.appVersion + '<br><br>' ) ;
+document.write( '<b>Platform<\/b><br>' + window.navigator.platform + '<br><br>' ) ;
 
 var sUserLang = '?' ;
 
@@ -115,7 +133,7 @@
 else if ( window.navigator.userLanguage )
 	sUserLang = window.navigator.userLanguage.toLowerCase() ;
 
-document.write( '<b>User Language</b><br>' + sUserLang ) ;
+document.write( '<b>User Language<\/b><br>' + sUserLang ) ;
 //-->
 						</script>
 					</td>
--- a/wiki/htdocs/applets/FCKeditor/editor/dialog/fck_about/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/dialog/fck_about/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,3 +1,4 @@
-/logo_fckeditor.gif/1.1/Wed Aug 31 19:08:37 2005/-kb/
-/logo_fredck.gif/1.1/Wed Aug 31 19:08:37 2005/-kb/
+/lgpl.html/1.1/Fri Oct  7 00:17:51 2005//
+/logo_fckeditor.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/logo_fredck.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
 D
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/dialog/fck_about/lgpl.html	Mon Oct 17 20:45:54 2005 +0000
@@ -0,0 +1,434 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title>GNU Lesser General Public License</title>
+		<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
+		<STYLE>
+			BODY { FONT-SIZE: 12px }
+		</STYLE>
+	</head>
+	<body>
+		<H3>GNU Lesser General Public License</H3>
+		<TT>
+			<P>Version 2.1, February 1999</P>
+			<BLOCKQUOTE>
+				<P>Copyright (C) 1991, 1999 Free Software Foundation, Inc. 59 Temple Place, Suite 
+					330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute 
+					verbatim copies of this license document, but changing it is not allowed.</P>
+				<P>[This is the first released version of the Lesser GPL. It also counts as the 
+					successor of the GNU Library Public License, version 2, hence the version 
+					number 2.1.]</P>
+			</BLOCKQUOTE>
+			<H4>Preamble</H4>
+			<P>The licenses for most software are designed to take away your freedom to share 
+				and change it. By contrast, the GNU General Public Licenses are intended to 
+				guarantee your freedom to share and change free software--to make sure the 
+				software is free for all its users.
+			</P>
+			<P>This license, the Lesser General Public License, applies to some specially 
+				designated software packages--typically libraries--of the Free Software 
+				Foundation and other authors who decide to use it. You can use it too, but we 
+				suggest you first think carefully about whether this license or the ordinary 
+				General Public License is the better strategy to use in any particular case, 
+				based on the explanations below.
+			</P>
+			<P>When we speak of free software, we are referring to freedom of use, not price. 
+				Our General Public Licenses are designed to make sure that you have the freedom 
+				to distribute copies of free software (and charge for this service if you 
+				wish); that you receive source code or can get it if you want it; that you can 
+				change the software and use pieces of it in new free programs; and that you are 
+				informed that you can do these things.</P>
+			<P>To protect your rights, we need to make restrictions that forbid distributors to 
+				deny you these rights or to ask you to surrender these rights. These 
+				restrictions translate to certain responsibilities for you if you distribute 
+				copies of the library or if you modify it.
+			</P>
+			<P>For example, if you distribute copies of the library, whether gratis or for a 
+				fee, you must give the recipients all the rights that we gave you. You must 
+				make sure that they, too, receive or can get the source code. If you link other 
+				code with the library, you must provide complete object files to the 
+				recipients, so that they can relink them with the library after making changes 
+				to the library and recompiling it. And you must show them these terms so they 
+				know their rights.
+			</P>
+			<P>We protect your rights with a two-step method: (1) we copyright the library, and 
+				(2) we offer you this license, which gives you legal permission to copy, 
+				distribute and/or modify the library.
+			</P>
+			<P>To protect each distributor, we want to make it very clear that there is no 
+				warranty for the free library. Also, if the library is modified by someone else 
+				and passed on, the recipients should know that what they have is not the 
+				original version, so that the original author's reputation will not be affected 
+				by problems that might be introduced by others.
+			</P>
+			<P>Finally, software patents pose a constant threat to the existence of any free 
+				program. We wish to make sure that a company cannot effectively restrict the 
+				users of a free program by obtaining a restrictive license from a patent 
+				holder. Therefore, we insist that any patent license obtained for a version of 
+				the library must be consistent with the full freedom of use specified in this 
+				license.
+			</P>
+			<P>Most GNU software, including some libraries, is covered by the ordinary GNU 
+				General Public License. This license, the GNU Lesser General Public License, 
+				applies to certain designated libraries, and is quite different from the 
+				ordinary General Public License. We use this license for certain libraries in 
+				order to permit linking those libraries into non-free programs.
+			</P>
+			<P>When a program is linked with a library, whether statically or using a shared 
+				library, the combination of the two is legally speaking a combined work, a 
+				derivative of the original library. The ordinary General Public License 
+				therefore permits such linking only if the entire combination fits its criteria 
+				of freedom. The Lesser General Public License permits more lax criteria for 
+				linking other code with the library.
+			</P>
+			<P>We call this license the "Lesser" General Public License because it does Less to 
+				protect the user's freedom than the ordinary General Public License. It also 
+				provides other free software developers Less of an advantage over competing 
+				non-free programs. These disadvantages are the reason we use the ordinary 
+				General Public License for many libraries. However, the Lesser license provides 
+				advantages in certain special circumstances.
+			</P>
+			<P>For example, on rare occasions, there may be a special need to encourage the 
+				widest possible use of a certain library, so that it becomes a de-facto 
+				standard. To achieve this, non-free programs must be allowed to use the 
+				library. A more frequent case is that a free library does the same job as 
+				widely used non-free libraries. In this case, there is little to gain by 
+				limiting the free library to free software only, so we use the Lesser General 
+				Public License.
+			</P>
+			<P>In other cases, permission to use a particular library in non-free programs 
+				enables a greater number of people to use a large body of free software. For 
+				example, permission to use the GNU C Library in non-free programs enables many 
+				more people to use the whole GNU operating system, as well as its variant, the 
+				GNU/Linux operating system.
+			</P>
+			<P>Although the Lesser General Public License is Less protective of the users' 
+				freedom, it does ensure that the user of a program that is linked with the 
+				Library has the freedom and the wherewithal to run that program using a 
+				modified version of the Library.
+			</P>
+			<P>The precise terms and conditions for copying, distribution and modification 
+				follow. Pay close attention to the difference between a "work based on the 
+				library" and a "work that uses the library". The former contains code derived 
+				from the library, whereas the latter must be combined with the library in order 
+				to run.
+			</P>
+			<H4>TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION</H4>
+			<P><STRONG>0.</STRONG> This License Agreement applies to any software library or 
+				other program which contains a notice placed by the copyright holder or other 
+				authorized party saying it may be distributed under the terms of this Lesser 
+				General Public License (also called "this License"). Each licensee is addressed 
+				as "you".</P>
+			<P>A "library" means a collection of software functions and/or data prepared so as 
+				to be conveniently linked with application programs (which use some of those 
+				functions and data) to form executables.
+			</P>
+			<P>The "Library", below, refers to any such software library or work which has been 
+				distributed under these terms. A "work based on the Library" means either the 
+				Library or any derivative work under copyright law: that is to say, a work 
+				containing the Library or a portion of it, either verbatim or with 
+				modifications and/or translated straightforwardly into another language. 
+				(Hereinafter, translation is included without limitation in the term 
+				"modification".)
+			</P>
+			<P>"Source code" for a work means the preferred form of the work for making 
+				modifications to it. For a library, complete source code means all the source 
+				code for all modules it contains, plus any associated interface definition 
+				files, plus the scripts used to control compilation and installation of the 
+				library.</P>
+			<P>Activities other than copying, distribution and modification are not covered by 
+				this License; they are outside its scope. The act of running a program using 
+				the Library is not restricted, and output from such a program is covered only 
+				if its contents constitute a work based on the Library (independent of the use 
+				of the Library in a tool for writing it). Whether that is true depends on what 
+				the Library does and what the program that uses the Library does.
+			</P>
+			<P><STRONG>1.</STRONG> You may copy and distribute verbatim copies of the Library's 
+				complete source code as you receive it, in any medium, provided that you 
+				conspicuously and appropriately publish on each copy an appropriate copyright 
+				notice and disclaimer of warranty; keep intact all the notices that refer to 
+				this License and to the absence of any warranty; and distribute a copy of this 
+				License along with the Library.
+			</P>
+			<P>You may charge a fee for the physical act of transferring a copy, and you may at 
+				your option offer warranty protection in exchange for a fee.
+			</P>
+			<P><STRONG>2.</STRONG> You may modify your copy or copies of the Library or any 
+				portion of it, thus forming a work based on the Library, and copy and 
+				distribute such modifications or work under the terms of Section 1 above, 
+				provided that you also meet all of these conditions:
+			</P>
+			<BLOCKQUOTE>
+				<P>a) The modified work must itself be a software library.
+				</P>
+				<P>b) You must cause the files modified to carry prominent notices stating that you 
+					changed the files and the date of any change.</P>
+				<P>c) You must cause the whole of the work to be licensed at no charge to all third 
+					parties under the terms of this License.
+				</P>
+				<P>d) If a facility in the modified Library refers to a function or a table of data 
+					to be supplied by an application program that uses the facility, other than as 
+					an argument passed when the facility is invoked, then you must make a good 
+					faith effort to ensure that, in the event an application does not supply such 
+					function or table, the facility still operates, and performs whatever part of 
+					its purpose remains meaningful.
+				</P>
+				<P>(For example, a function in a library to compute square roots has a purpose that 
+					is entirely well-defined independent of the application. Therefore, Subsection 
+					2d requires that any application-supplied function or table used by this 
+					function must be optional: if the application does not supply it, the square 
+					root function must still compute square roots.)
+				</P>
+				<P>These requirements apply to the modified work as a whole. If identifiable 
+					sections of that work are not derived from the Library, and can be reasonably 
+					considered independent and separate works in themselves, then this License, and 
+					its terms, do not apply to those sections when you distribute them as separate 
+					works. But when you distribute the same sections as part of a whole which is a 
+					work based on the Library, the distribution of the whole must be on the terms 
+					of this License, whose permissions for other licensees extend to the entire 
+					whole, and thus to each and every part regardless of who wrote it.
+				</P>
+				<P>Thus, it is not the intent of this section to claim rights or contest your 
+					rights to work written entirely by you; rather, the intent is to exercise the 
+					right to control the distribution of derivative or collective works based on 
+					the Library.
+				</P>
+				<P>In addition, mere aggregation of another work not based on the Library with the 
+					Library (or with a work based on the Library) on a volume of a storage or 
+					distribution medium does not bring the other work under the scope of this 
+					License.
+				</P>
+			</BLOCKQUOTE>
+			<P><STRONG>3.</STRONG> You may opt to apply the terms of the ordinary GNU General 
+				Public License instead of this License to a given copy of the Library. To do 
+				this, you must alter all the notices that refer to this License, so that they 
+				refer to the ordinary GNU General Public License, version 2, instead of to this 
+				License. (If a newer version than version 2 of the ordinary GNU General Public 
+				License has appeared, then you can specify that version instead if you wish.) 
+				Do not make any other change in these notices.
+			</P>
+			<P>Once this change is made in a given copy, it is irreversible for that copy, so 
+				the ordinary GNU General Public License applies to all subsequent copies and 
+				derivative works made from that copy.
+			</P>
+			<P>This option is useful when you wish to copy part of the code of the Library into 
+				a program that is not a library.
+			</P>
+			<P><STRONG>4.</STRONG> You may copy and distribute the Library (or a portion or 
+				derivative of it, under Section 2) in object code or executable form under the 
+				terms of Sections 1 and 2 above provided that you accompany it with the 
+				complete corresponding machine-readable source code, which must be distributed 
+				under the terms of Sections 1 and 2 above on a medium customarily used for 
+				software interchange.
+			</P>
+			<P>If distribution of object code is made by offering access to copy from a 
+				designated place, then offering equivalent access to copy the source code from 
+				the same place satisfies the requirement to distribute the source code, even 
+				though third parties are not compelled to copy the source along with the object 
+				code.</P>
+			<P><STRONG>5.</STRONG> A program that contains no derivative of any portion of the 
+				Library, but is designed to work with the Library by being compiled or linked 
+				with it, is called a "work that uses the Library". Such a work, in isolation, 
+				is not a derivative work of the Library, and therefore falls outside the scope 
+				of this License.
+			</P>
+			<P>However, linking a "work that uses the Library" with the Library creates an 
+				executable that is a derivative of the Library (because it contains portions of 
+				the Library), rather than a "work that uses the library". The executable is 
+				therefore covered by this License. Section 6 states terms for distribution of 
+				such executables.
+			</P>
+			<P>When a "work that uses the Library" uses material from a header file that is 
+				part of the Library, the object code for the work may be a derivative work of 
+				the Library even though the source code is not. Whether this is true is 
+				especially significant if the work can be linked without the Library, or if the 
+				work is itself a library. The threshold for this to be true is not precisely 
+				defined by law.
+			</P>
+			<P>If such an object file uses only numerical parameters, data structure layouts 
+				and accessors, and small macros and small inline functions (ten lines or less 
+				in length), then the use of the object file is unrestricted, regardless of 
+				whether it is legally a derivative work. (Executables containing this object 
+				code plus portions of the Library will still fall under Section 6.)
+			</P>
+			<P>Otherwise, if the work is a derivative of the Library, you may distribute the 
+				object code for the work under the terms of Section 6. Any executables 
+				containing that work also fall under Section 6, whether or not they are linked 
+				directly with the Library itself.
+			</P>
+			<P><STRONG>6.</STRONG> As an exception to the Sections above, you may also combine 
+				or link a "work that uses the Library" with the Library to produce a work 
+				containing portions of the Library, and distribute that work under terms of 
+				your choice, provided that the terms permit modification of the work for the 
+				customer's own use and reverse engineering for debugging such modifications.
+			</P>
+			<P>You must give prominent notice with each copy of the work that the Library is 
+				used in it and that the Library and its use are covered by this License. You 
+				must supply a copy of this License. If the work during execution displays 
+				copyright notices, you must include the copyright notice for the Library among 
+				them, as well as a reference directing the user to the copy of this License. 
+				Also, you must do one of these things:
+			</P>
+			<BLOCKQUOTE>
+				<P>a) Accompany the work with the complete corresponding machine-readable source 
+					code for the Library including whatever changes were used in the work (which 
+					must be distributed under Sections 1 and 2 above); and, if the work is an 
+					executable linked with the Library, with the complete machine-readable "work 
+					that uses the Library", as object code and/or source code, so that the user can 
+					modify the Library and then relink to produce a modified executable containing 
+					the modified Library. (It is understood that the user who changes the contents 
+					of definitions files in the Library will not necessarily be able to recompile 
+					the application to use the modified definitions.)
+				</P>
+				<P>b) Use a suitable shared library mechanism for linking with the Library. A 
+					suitable mechanism is one that (1) uses at run time a copy of the library 
+					already present on the user's computer system, rather than copying library 
+					functions into the executable, and (2) will operate properly with a modified 
+					version of the library, if the user installs one, as long as the modified 
+					version is interface-compatible with the version that the work was made with.
+				</P>
+				<P>c) Accompany the work with a written offer, valid for at least three years, to 
+					give the same user the materials specified in Subsection 6a, above, for a 
+					charge no more than the cost of performing this distribution.
+				</P>
+				<P>d) If distribution of the work is made by offering access to copy from a 
+					designated place, offer equivalent access to copy the above specified materials 
+					from the same place.
+				</P>
+				<P>e) Verify that the user has already received a copy of these materials or that 
+					you have already sent this user a copy.</P>
+			</BLOCKQUOTE>
+			<P>For an executable, the required form of the "work that uses the Library" must 
+				include any data and utility programs needed for reproducing the executable 
+				from it. However, as a special exception, the materials to be distributed need 
+				not include anything that is normally distributed (in either source or binary 
+				form) with the major components (compiler, kernel, and so on) of the operating 
+				system on which the executable runs, unless that component itself accompanies 
+				the executable.
+			</P>
+			<P>It may happen that this requirement contradicts the license restrictions of 
+				other proprietary libraries that do not normally accompany the operating 
+				system. Such a contradiction means you cannot use both them and the Library 
+				together in an executable that you distribute.
+			</P>
+			<P><STRONG>7.</STRONG> You may place library facilities that are a work based on 
+				the Library side-by-side in a single library together with other library 
+				facilities not covered by this License, and distribute such a combined library, 
+				provided that the separate distribution of the work based on the Library and of 
+				the other library facilities is otherwise permitted, and provided that you do 
+				these two things:
+			</P>
+			<BLOCKQUOTE>
+				<P>a) Accompany the combined library with a copy of the same work based on the 
+					Library, uncombined with any other library facilities. This must be distributed 
+					under the terms of the Sections above.
+				</P>
+				<P>b) Give prominent notice with the combined library of the fact that part of it 
+					is a work based on the Library, and explaining where to find the accompanying 
+					uncombined form of the same work.</P>
+			</BLOCKQUOTE>
+			<P><STRONG>8.</STRONG> You may not copy, modify, sublicense, link with, or 
+				distribute the Library except as expressly provided under this License. Any 
+				attempt otherwise to copy, modify, sublicense, link with, or distribute the 
+				Library is void, and will automatically terminate your rights under this 
+				License. However, parties who have received copies, or rights, from you under 
+				this License will not have their licenses terminated so long as such parties 
+				remain in full compliance.
+			</P>
+			<P><STRONG>9.</STRONG> You are not required to accept this License, since you have 
+				not signed it. However, nothing else grants you permission to modify or 
+				distribute the Library or its derivative works. These actions are prohibited by 
+				law if you do not accept this License. Therefore, by modifying or distributing 
+				the Library (or any work based on the Library), you indicate your acceptance of 
+				this License to do so, and all its terms and conditions for copying, 
+				distributing or modifying the Library or works based on it.
+			</P>
+			<P><STRONG>10.</STRONG> Each time you redistribute the Library (or any work based 
+				on the Library), the recipient automatically receives a license from the 
+				original licensor to copy, distribute, link with or modify the Library subject 
+				to these terms and conditions. You may not impose any further restrictions on 
+				the recipients' exercise of the rights granted herein. You are not responsible 
+				for enforcing compliance by third parties with this License.
+			</P>
+			<P><STRONG>11.</STRONG> If, as a consequence of a court judgment or allegation of 
+				patent infringement or for any other reason (not limited to patent issues), 
+				conditions are imposed on you (whether by court order, agreement or otherwise) 
+				that contradict the conditions of this License, they do not excuse you from the 
+				conditions of this License. If you cannot distribute so as to satisfy 
+				simultaneously your obligations under this License and any other pertinent 
+				obligations, then as a consequence you may not distribute the Library at all. 
+				For example, if a patent license would not permit royalty-free redistribution 
+				of the Library by all those who receive copies directly or indirectly through 
+				you, then the only way you could satisfy both it and this License would be to 
+				refrain entirely from distribution of the Library.
+			</P>
+			<P>If any portion of this section is held invalid or unenforceable under any 
+				particular circumstance, the balance of the section is intended to apply, and 
+				the section as a whole is intended to apply in other circumstances.
+			</P>
+			<P>It is not the purpose of this section to induce you to infringe any patents or 
+				other property right claims or to contest validity of any such claims; this 
+				section has the sole purpose of protecting the integrity of the free software 
+				distribution system which is implemented by public license practices. Many 
+				people have made generous contributions to the wide range of software 
+				distributed through that system in reliance on consistent application of that 
+				system; it is up to the author/donor to decide if he or she is willing to 
+				distribute software through any other system and a licensee cannot impose that 
+				choice.
+			</P>
+			<P>This section is intended to make thoroughly clear what is believed to be a 
+				consequence of the rest of this License.
+			</P>
+			<P><STRONG>12.</STRONG> If the distribution and/or use of the Library is restricted 
+				in certain countries either by patents or by copyrighted interfaces, the 
+				original copyright holder who places the Library under this License may add an 
+				explicit geographical distribution limitation excluding those countries, so 
+				that distribution is permitted only in or among countries not thus excluded. In 
+				such case, this License incorporates the limitation as if written in the body 
+				of this License.
+			</P>
+			<P><STRONG>13.</STRONG> The Free Software Foundation may publish revised and/or new 
+				versions of the Lesser General Public License from time to time. Such new 
+				versions will be similar in spirit to the present version, but may differ in 
+				detail to address new problems or concerns.</P>
+			<P>Each version is given a distinguishing version number. If the Library specifies 
+				a version number of this License which applies to it and "any later version", 
+				you have the option of following the terms and conditions either of that 
+				version or of any later version published by the Free Software Foundation. If 
+				the Library does not specify a license version number, you may choose any 
+				version ever published by the Free Software Foundation.
+			</P>
+			<P><STRONG>14.</STRONG> If you wish to incorporate parts of the Library into other 
+				free programs whose distribution conditions are incompatible with these, write 
+				to the author to ask for permission. For software which is copyrighted by the 
+				Free Software Foundation, write to the Free Software Foundation; we sometimes 
+				make exceptions for this. Our decision will be guided by the two goals of 
+				preserving the free status of all derivatives of our free software and of 
+				promoting the sharing and reuse of software generally.
+			</P>
+			<P>NO WARRANTY
+			</P>
+			<P><STRONG>15. </STRONG>BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO 
+				WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT 
+				WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES 
+				PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR 
+				IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
+				MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE 
+				QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE 
+				DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR 
+				CORRECTION.
+			</P>
+			<P><STRONG>16.</STRONG> IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO 
+				IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR 
+				REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, 
+				INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT 
+				OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS 
+				OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD 
+				PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN 
+				IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH 
+				DAMAGES.
+			</P>
+			<H4><STRONG>END OF TERMS AND CONDITIONS</STRONG></H4>
+		</TT>
+	</body>
+</html>
--- a/wiki/htdocs/applets/FCKeditor/editor/dialog/fck_docprops.html	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/dialog/fck_docprops.html	Mon Oct 17 20:45:54 2005 +0000
@@ -381,7 +381,17 @@
 	sOptions += ",left=" + iLeft ;
 	sOptions += ",top=" + iTop ;
 
-	var oWindow = window.open( FCKConfig.ImageBrowserURL, "FCKBrowseWindow", sOptions ) ;
+	if ( oEditor.FCKBrowserInfo.IsIE )
+	{
+		// The following change has been made otherwise IE will open the file 
+		// browser on a different server session (on some cases):
+		// http://support.microsoft.com/default.aspx?scid=kb;en-us;831678
+		// by Simone Chiaretta.
+		var oWindow = oEditor.window.open( FCKConfig.ImageBrowserURL, "FCKBrowseWindow", sOptions ) ;
+		oWindow.opener = window ;
+    }
+    else
+		window.open( FCKConfig.ImageBrowserURL, "FCKBrowseWindow", sOptions ) ;
 }
 
 function SetUrl( url )
--- a/wiki/htdocs/applets/FCKeditor/editor/dialog/fck_docprops/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/dialog/fck_docprops/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,2 +1,2 @@
-/fck_document_preview.html/1.1/Wed Aug 31 19:08:37 2005//
+/fck_document_preview.html/1.1/Thu Sep 22 16:22:10 2005//
 D
--- a/wiki/htdocs/applets/FCKeditor/editor/dialog/fck_flash.html	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/dialog/fck_flash.html	Mon Oct 17 20:45:54 2005 +0000
@@ -88,7 +88,7 @@
 				<input id="txtUploadFile" style="WIDTH: 100%" type="file" size="40" name="NewFile" /><br />
 				<br />
 				<input id="btnUpload" type="submit" value="Send it to the Server" fckLang="DlgLnkBtnUpload" />
-				<iframe name="UploadWindow" style="DISPLAY: none"></iframe> 
+				<iframe name="UploadWindow" style="DISPLAY: none" src="../fckblank.html"></iframe> 
 			</form>
 		</div>
 		<div id="divAdvanced" style="DISPLAY: none">
--- a/wiki/htdocs/applets/FCKeditor/editor/dialog/fck_flash/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/dialog/fck_flash/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,2 +1,2 @@
-/fck_flash.js/1.2/Wed Sep 21 19:24:49 2005//
+/fck_flash.js/1.3/Mon Oct 17 19:52:52 2005//
 D
--- a/wiki/htdocs/applets/FCKeditor/editor/dialog/fck_flash/fck_flash.js	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/dialog/fck_flash/fck_flash.js	Mon Oct 17 20:45:54 2005 +0000
@@ -207,7 +207,17 @@
 	sOptions += ",left=" + iLeft ;
 	sOptions += ",top=" + iTop ;
 
-	var oWindow = window.open( url, "FCKBrowseWindow", sOptions ) ;
+	if ( oEditor.FCKBrowserInfo.IsIE )
+	{
+		// The following change has been made otherwise IE will open the file 
+		// browser on a different server session (on some cases):
+		// http://support.microsoft.com/default.aspx?scid=kb;en-us;831678
+		// by Simone Chiaretta.
+		var oWindow = oEditor.window.open( url, "FCKBrowseWindow", sOptions ) ;
+		oWindow.opener = window ;
+    }
+    else
+		window.open( url, "FCKBrowseWindow", sOptions ) ;
 }
 
 function SetUrl( url )
--- a/wiki/htdocs/applets/FCKeditor/editor/dialog/fck_image.html	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/dialog/fck_image.html	Mon Oct 17 20:45:54 2005 +0000
@@ -156,7 +156,7 @@
 				<input id="txtUploadFile" style="WIDTH: 100%" type="file" size="40" name="NewFile" /><br />
 				<br />
 				<input id="btnUpload" type="submit" value="Send it to the Server" fckLang="DlgLnkBtnUpload" />
-				<iframe name="UploadWindow" style="DISPLAY: none"></iframe> 
+				<iframe name="UploadWindow" style="DISPLAY: none" src="../fckblank.html"></iframe> 
 			</form>
 		</div>
 		<div id="divLink" style="DISPLAY: none">
--- a/wiki/htdocs/applets/FCKeditor/editor/dialog/fck_image/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/dialog/fck_image/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,2 +1,2 @@
-/fck_image.js/1.2/Wed Sep 21 19:24:49 2005//
+/fck_image.js/1.3/Mon Oct 17 19:52:52 2005//
 D
--- a/wiki/htdocs/applets/FCKeditor/editor/dialog/fck_image/fck_image.js	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/dialog/fck_image/fck_image.js	Mon Oct 17 20:45:54 2005 +0000
@@ -348,7 +348,17 @@
 	sOptions += ",left=" + iLeft ;
 	sOptions += ",top=" + iTop ;
 
-	var oWindow = window.open( url, "FCKBrowseWindow", sOptions ) ;
+	if ( oEditor.FCKBrowserInfo.IsIE )
+	{
+		// The following change has been made otherwise IE will open the file 
+		// browser on a different server session (on some cases):
+		// http://support.microsoft.com/default.aspx?scid=kb;en-us;831678
+		// by Simone Chiaretta.
+		var oWindow = oEditor.window.open( url, "FCKBrowseWindow", sOptions ) ;
+		oWindow.opener = window ;
+    }
+    else
+		window.open( url, "FCKBrowseWindow", sOptions ) ;
 }
 
 var sActualBrowser ;
--- a/wiki/htdocs/applets/FCKeditor/editor/dialog/fck_link.html	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/dialog/fck_link.html	Mon Oct 17 20:45:54 2005 +0000
@@ -104,7 +104,7 @@
 				<input id="txtUploadFile" style="WIDTH: 100%" type="file" size="40" name="NewFile" /><br />
 				<br />
 				<input id="btnUpload" type="submit" value="Send it to the Server" fckLang="DlgLnkBtnUpload" />
-				<iframe name="UploadWindow" style="DISPLAY: none"></iframe> 
+				<iframe name="UploadWindow" style="DISPLAY: none" src="../fckblank.html"></iframe> 
 			</form>
 		</div>
 		<div id="divTarget" style="DISPLAY: none">
--- a/wiki/htdocs/applets/FCKeditor/editor/dialog/fck_link/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/dialog/fck_link/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,2 +1,2 @@
-/fck_link.js/1.2/Wed Sep 21 19:24:50 2005//
+/fck_link.js/1.4/Mon Oct 17 19:52:52 2005//
 D
--- a/wiki/htdocs/applets/FCKeditor/editor/dialog/fck_link/fck_link.js	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/dialog/fck_link/fck_link.js	Mon Oct 17 20:45:54 2005 +0000
@@ -55,7 +55,8 @@
 oRegex.UrlOnChangeProtocol.compile( '^(http|https|ftp|news)://(?=.)', 'gi' ) ;
 
 oRegex.UrlOnChangeTestOther = new RegExp('') ;
-oRegex.UrlOnChangeTestOther.compile( '^(javascript:|#|/)', 'gi' ) ;
+//oRegex.UrlOnChangeTestOther.compile( '^(javascript:|#|/)', 'gi' ) ;
+oRegex.UrlOnChangeTestOther.compile( '^((javascript:)|[#/\.])', 'gi' ) ; 
 
 oRegex.ReserveTarget = new RegExp('') ;
 oRegex.ReserveTarget.compile( '^_(blank|self|top|parent)$', 'i' ) ;
@@ -526,8 +527,17 @@
 	sOptions += ",left=" + iLeft ;
 	sOptions += ",top=" + iTop ;
 
-	// Open the browser window.
-	var oWindow = window.open( FCKConfig.LinkBrowserURL, "FCKBrowseWindow", sOptions ) ;
+	if ( oEditor.FCKBrowserInfo.IsIE )
+	{
+		// The following change has been made otherwise IE will open the file 
+		// browser on a different server session (on some cases):
+		// http://support.microsoft.com/default.aspx?scid=kb;en-us;831678
+		// by Simone Chiaretta.
+		var oWindow = oEditor.window.open( FCKConfig.LinkBrowserURL, "FCKBrowseWindow", sOptions ) ;
+		oWindow.opener = window ;
+    }
+    else
+		window.open( FCKConfig.LinkBrowserURL, "FCKBrowseWindow", sOptions ) ;
 }
 
 function SetUrl( url )
--- a/wiki/htdocs/applets/FCKeditor/editor/dialog/fck_select/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/dialog/fck_select/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,2 +1,2 @@
-/fck_select.js/1.1/Wed Aug 31 19:08:37 2005//
+/fck_select.js/1.1/Thu Sep 22 16:22:10 2005//
 D
--- a/wiki/htdocs/applets/FCKeditor/editor/dialog/fck_smiley.html	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/dialog/fck_smiley.html	Mon Oct 17 20:45:54 2005 +0000
@@ -78,10 +78,10 @@
 		}
 		else
 			document.write("<TD width='1%' class='DarkBackground'>&nbsp;") ;
-		document.write("</TD>") ;
+		document.write("<\/TD>") ;
 		i++ ;
 	}
-	document.write("</TR>") ;
+	document.write("<\/TR>") ;
 }
 //-->
 			</script>
--- a/wiki/htdocs/applets/FCKeditor/editor/dialog/fck_specialchar.html	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/dialog/fck_specialchar.html	Mon Oct 17 20:45:54 2005 +0000
@@ -84,10 +84,10 @@
 		}
 		else
 			document.write("<TD class='DarkBackground'>&nbsp;") ;
-		document.write("</TD>") ;
+		document.write("<\/TD>") ;
 		i++ ;
 	}
-	document.write("</TR>") ;
+	document.write("<\/TR>") ;
 }
 						</script>
 					</table>
--- a/wiki/htdocs/applets/FCKeditor/editor/dialog/fck_spellerpages/spellerpages/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/dialog/fck_spellerpages/spellerpages/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,8 +1,8 @@
-/blank.html/1.1/Wed Aug 31 19:08:37 2005//
-/controlWindow.js/1.1/Wed Aug 31 19:08:37 2005//
-/controls.html/1.1/Wed Aug 31 19:08:37 2005//
-/spellChecker.js/1.1/Wed Aug 31 19:08:37 2005//
-/spellchecker.html/1.1/Wed Aug 31 19:08:37 2005//
-/spellerStyle.css/1.1/Wed Aug 31 19:08:37 2005//
-/wordWindow.js/1.1/Wed Aug 31 19:08:37 2005//
 D/server-scripts////
+/blank.html/1.1/Thu Sep 22 16:22:10 2005//
+/controlWindow.js/1.1/Thu Sep 22 16:22:10 2005//
+/controls.html/1.1/Thu Sep 22 16:22:10 2005//
+/spellChecker.js/1.1/Thu Sep 22 16:22:10 2005//
+/spellchecker.html/1.1/Thu Sep 22 16:22:10 2005//
+/spellerStyle.css/1.1/Thu Sep 22 16:22:10 2005//
+/wordWindow.js/1.1/Thu Sep 22 16:22:10 2005//
--- a/wiki/htdocs/applets/FCKeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,4 +1,4 @@
-/spellchecker.cfm/1.1/Wed Aug 31 19:08:37 2005//
-/spellchecker.php/1.1/Wed Aug 31 19:08:37 2005//
-/spellchecker.pl/1.1/Wed Aug 31 19:08:37 2005//
+/spellchecker.cfm/1.1/Thu Sep 22 16:22:10 2005//
+/spellchecker.php/1.1/Thu Sep 22 16:22:10 2005//
+/spellchecker.pl/1.1/Thu Sep 22 16:22:10 2005//
 D
--- a/wiki/htdocs/applets/FCKeditor/editor/dialog/fck_table.html	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/dialog/fck_table.html	Mon Oct 17 20:45:54 2005 +0000
@@ -140,7 +140,17 @@
 		}
 		
 		oEditor.FCKUndo.SaveUndoStep() ;
-		oEditor.FCK.InsertElement( table ) ;
+		
+		// START iCM MODIFICATIONS	
+		// Amended to ensure that newly inserted tables are not incorrectly nested in P tags, etc
+		// We insert the table first and then rectify any nestings afterwards so we can re-use the
+		// FCKTablesProcessor function that corrects tables on SetHTML()
+		table = oEditor.FCK.InsertElementAndGetIt( table ) ;
+		if ( !oEditor.FCKConfig.UseBROnCarriageReturn )
+		{
+			oEditor.FCKTablesProcessor.CheckTableNesting( table ) ;
+		}
+		// END iCM MODIFICATIONS	
 	}
 	
 	return true ;
--- a/wiki/htdocs/applets/FCKeditor/editor/dialog/fck_template.html	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/dialog/fck_template.html	Mon Oct 17 20:45:54 2005 +0000
@@ -141,14 +141,14 @@
 			var sInner = '<table><tr>' ;
 
 			if ( oTemplate.Image )
-				sInner += '<td valign="top"><img src="' + oTemplate.Image + '"></td>' ;
+				sInner += '<td valign="top"><img src="' + oTemplate.Image + '"><\/td>' ;
 
-			sInner += '<td valign="top"><div class="TplTitle">' + oTemplate.Title + '</div>' ;
+			sInner += '<td valign="top"><div class="TplTitle">' + oTemplate.Title + '<\/div>' ;
 
 			if ( oTemplate.Description )
-				sInner += '<div>' + oTemplate.Description + '</div>' ;
+				sInner += '<div>' + oTemplate.Description + '<\/div>' ;
 
-			sInner += '</td></tr></table>' ;
+			sInner += '<\/td><\/tr><\/table>' ;
 
 			oItemDiv.innerHTML = sInner ;
 			
--- a/wiki/htdocs/applets/FCKeditor/editor/dialog/fck_template/images/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/dialog/fck_template/images/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,4 +1,4 @@
-/template1.gif/1.1/Wed Aug 31 19:08:37 2005/-kb/
-/template2.gif/1.1/Wed Aug 31 19:08:37 2005/-kb/
-/template3.gif/1.1/Wed Aug 31 19:08:37 2005/-kb/
+/template1.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/template2.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/template3.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
 D
--- a/wiki/htdocs/applets/FCKeditor/editor/dialog/fck_universalkey/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/dialog/fck_universalkey/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,8 +1,8 @@
-/00.gif/1.1/Wed Aug 31 19:08:37 2005/-kb/
-/data.js/1.1/Wed Aug 31 19:08:37 2005//
-/diacritic.js/1.1/Wed Aug 31 19:08:37 2005//
-/dialogue.js/1.1/Wed Aug 31 19:08:37 2005//
-/fck_universalkey.css/1.1/Wed Aug 31 19:08:37 2005//
-/keyboard_layout.gif/1.1/Wed Aug 31 19:08:37 2005/-kb/
-/multihexa.js/1.1/Wed Aug 31 19:08:37 2005//
+/00.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/data.js/1.1/Thu Sep 22 16:22:10 2005//
+/diacritic.js/1.1/Thu Sep 22 16:22:10 2005//
+/dialogue.js/1.1/Thu Sep 22 16:22:10 2005//
+/fck_universalkey.css/1.1/Thu Sep 22 16:22:10 2005//
+/keyboard_layout.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/multihexa.js/1.2/Mon Oct 17 19:52:52 2005//
 D
--- a/wiki/htdocs/applets/FCKeditor/editor/dialog/fck_universalkey/multihexa.js	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/dialog/fck_universalkey/multihexa.js	Mon Oct 17 20:45:54 2005 +0000
@@ -225,23 +225,29 @@
 		document.cookie=escape("langue")+"="+escape(inval)+"; "+"expires="+exp.toGMTString()
 	}
 }
+
 // Arabic Keystroke Translator
-function arkey(a) {
-		if ((document.layers)|(navigator.userAgent.indexOf("MSIE 4")>-1)|(langue!="Arabic")) return true;
-		keyCode=event.keyCode;
-		entry=true;
-		cont=event.srcElement ;
+function arkey(e) {
+	if ((document.layers)|(navigator.userAgent.indexOf("MSIE 4")>-1)|(langue!="Arabic")) return true;
+
+	if (!e) var e = window.event;
+	if (e.keyCode) keyCode = e.keyCode;
+	else if (e.which) keyCode = e.which;
+	var character = String.fromCharCode(keyCode);
+
+		entry = true;
+		cont=e.srcElement || e.currentTarget || e.target;
 		if (keyCode>64 && keyCode<91) {
 			entry=false;
 			source='ش لاؤ ي ث ب ل ا ه ت ن م ة ى خ ح ض ق س ف ع ر ص ء غ ئ ';
 			shsource='ِ لآ} ] ُ [ لأأ ÷ ـ ، /   آ × ؛ َ ٌ ٍ لإ  { ً ْ إ ~'; 
 
-			if (event.shiftKey) cont.value += shsource.substr((keyCode-64)*2-2,2);
+			if (e.shiftKey) cont.value += shsource.substr((keyCode-64)*2-2,2);
 			else
 				cont.value += source.substr((keyCode-64)*2-2,2);
 			if (cont.value.substr(cont.value.length-1,1)==' ') cont.value=cont.value.substr(0,cont.value.length-1);
 		}
-		if (event.shiftKey) {
+		if (e.shiftKey) {
 			if (keyCode==186) {cont.value += ':';entry=false;}
 			if (keyCode==188) {cont.value += ',';entry=false;}
 			if (keyCode==190) {cont.value += '.';entry=false;}
@@ -250,7 +256,7 @@
 			if (keyCode==219) {cont.value += '<';entry=false;}
 			if (keyCode==221) {cont.value += '>';entry=false;}
 		} else {
-			if (keyCode==186) {cont.value += 'ك';entry=false;}
+			if (keyCode==186||keyCode==59) {cont.value += 'ك';entry=false;}
 			if (keyCode==188) {cont.value += 'و';entry=false;}
 			if (keyCode==190) {cont.value += 'ز';entry=false;}
 			if (keyCode==191) {cont.value += 'ظ';entry=false;}
@@ -259,10 +265,45 @@
 			if (keyCode==221) {cont.value += 'د';entry=false;}
 			if (keyCode==222) {cont.value += 'ط';entry=false;}
 		}
-
+	return entry;
+}
+function hold_it(e){
+	if ((document.layers)|(navigator.userAgent.indexOf("MSIE 4")>-1)|(langue!="Arabic")) return true;
 
-		return entry;
+	var keyCode;
+	if (!e) var e = window.event;
+	if (e.keyCode) keyCode = e.keyCode;
+	else if (e.which) keyCode = e.which;
+	var character = String.fromCharCode(keyCode);
+	switch(keyCode){
+		case 186:
+		case 188:
+		case 190:
+		case 191:
+		case 192:
+		case 219:
+		case 221:
+		case 222:
+		case 116:
+		case 59:
+		case 47:
+		case 46:
+		case 44:
+		case 39:
+			return false;
+		case 92:
+			return true;
 	}
+		if (keyCode<63) return true;
+		return false;
+	}
+
 var obj = document.getElementById( 'uni_area' );
-if ( obj )
-	obj.onkeydown = arkey
\ No newline at end of file
+if ( obj && langue=="Arabic"){
+	with (navigator) {
+		if (appName=="Netscape")
+			obj.onkeypress = hold_it;
+	}
+	obj.onkeydown = arkey;
+}
+// Arabic Keystroke Translator End
\ No newline at end of file
--- a/wiki/htdocs/applets/FCKeditor/editor/fckdebug.html	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/fckdebug.html	Mon Oct 17 20:45:54 2005 +0000
@@ -34,7 +34,7 @@
 {
 	oWindow = window.frames[ 'eOutput' ]
 	oWindow.document.open() ;
-	oWindow.document.write( '<div id="divMsg"></div>' ) ;
+	oWindow.document.write( '<div id="divMsg"><\/div>' ) ;
 	oWindow.document.close() ;
 	oDiv	= oWindow.document.getElementById('divMsg') ;
 }
@@ -42,7 +42,7 @@
 function Output( message, color )
 {
 	if ( color )
-		message = '<font color="' + color + '">' + message + '</font>' ;
+		message = '<font color="' + color + '">' + message + '<\/font>' ;
 		
 	window.FCKMessages[ window.FCKMessages.length ] = message ;
 	StartTimer() ;
@@ -74,7 +74,7 @@
 			( d.getMilliseconds() + 1000 + '' ).substr( 1,3 ) ;
 
 		var oMsgDiv = oWindow.document.createElement( 'div' ) ;
-		oMsgDiv.innerHTML = sTime + ': <b>' + sMessage + '</b>' ;
+		oMsgDiv.innerHTML = sTime + ': <b>' + sMessage + '<\/b>' ;
 		oDiv.appendChild( oMsgDiv ) ;
 		oMsgDiv.scrollIntoView() ;
 	}
--- a/wiki/htdocs/applets/FCKeditor/editor/fckdialog.html	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/fckdialog.html	Mon Oct 17 20:45:54 2005 +0000
@@ -35,7 +35,7 @@
 window.document.dir = window.dialogArguments.Editor.FCKLang.Dir ;
 
 var sTitle = window.dialogArguments.Title ;
-document.write( '<title>' + sTitle + '</title>' ) ;
+document.write( '<title>' + sTitle + '<\/title>' ) ;
 
 function LoadInnerDialog()
 {
@@ -83,12 +83,13 @@
 	{
 		var oInnerDoc = document.getElementById('frmMain').contentWindow.document ;
 
+		var iFrameHeight ;
 		if ( document.all )
-			var iFrameHeight	= oInnerDoc.body.offsetHeight ;
+			iFrameHeight = oInnerDoc.body.offsetHeight ;
 		else
-			var iFrameHeight	= document.getElementById('frmMain').contentWindow.innerHeight ;
+			iFrameHeight = document.getElementById('frmMain').contentWindow.innerHeight ;
 
-		var iInnerHeight	= oInnerDoc.body.scrollHeight ;
+		var iInnerHeight = oInnerDoc.body.scrollHeight ;
 
 		var iDiff = iInnerHeight - iFrameHeight ;
 
@@ -140,7 +141,7 @@
 	if ( startHidden )
 		oDiv.style.display = 'none' ;
 
-	var eTabsRow = document.getElementById( 'TabsRow' ) ;
+	eTabsRow = document.getElementById( 'TabsRow' ) ;
 
 	oCell.appendChild( oDiv ) ;
 
@@ -196,7 +197,7 @@
 {
 	targetDocument.onkeydown = function ( e )
 	{
-		var e = e || event || this.parentWindow.event ;
+		e = e || event || this.parentWindow.event ;
 		switch ( e.keyCode )
 		{
 			case 13 :		// ENTER
@@ -209,6 +210,7 @@
 				return false ;
 				break ;
 		}
+		return true ;
 	}
 }
 SetOnKeyDown( document ) ;
--- a/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,11 +1,11 @@
-/browser.css/1.1/Wed Aug 31 19:08:37 2005//
-/browser.html/1.1/Wed Aug 31 19:08:37 2005//
-/frmactualfolder.html/1.1/Wed Aug 31 19:08:37 2005//
-/frmcreatefolder.html/1.1/Wed Aug 31 19:08:37 2005//
-/frmfolders.html/1.1/Wed Aug 31 19:08:37 2005//
-/frmresourceslist.html/1.1/Wed Aug 31 19:08:37 2005//
-/frmresourcetype.html/1.1/Wed Aug 31 19:08:37 2005//
-/frmupload.html/1.1/Wed Aug 31 19:08:37 2005//
 D/connectors////
 D/images////
 D/js////
+/browser.css/1.1/Thu Sep 22 16:22:10 2005//
+/browser.html/1.1/Thu Sep 22 16:22:10 2005//
+/frmactualfolder.html/1.1/Thu Sep 22 16:22:10 2005//
+/frmcreatefolder.html/1.1/Thu Sep 22 16:22:10 2005//
+/frmfolders.html/1.1/Thu Sep 22 16:22:10 2005//
+/frmresourceslist.html/1.1/Thu Sep 22 16:22:10 2005//
+/frmresourcetype.html/1.1/Thu Sep 22 16:22:10 2005//
+/frmupload.html/1.1/Thu Sep 22 16:22:10 2005//
--- a/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/connectors/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/connectors/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,7 +1,7 @@
-/test.html/1.1/Wed Aug 31 19:08:38 2005//
 D/asp////
 D/aspx////
 D/cfm////
 D/lasso////
 D/perl////
 D/php////
+/test.html/1.2/Mon Oct 17 19:52:52 2005//
--- a/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/connectors/asp/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/connectors/asp/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,8 +1,8 @@
-/basexml.asp/1.1/Wed Aug 31 19:08:37 2005//
-/class_upload.asp/1.1/Wed Aug 31 19:08:37 2005//
-/commands.asp/1.1/Wed Aug 31 19:08:37 2005//
-/config.asp/1.1/Wed Aug 31 19:08:37 2005//
-/connector.asp/1.1/Wed Aug 31 19:08:37 2005//
-/io.asp/1.1/Wed Aug 31 19:08:37 2005//
-/util.asp/1.1/Wed Aug 31 19:08:37 2005//
+/basexml.asp/1.1/Thu Sep 22 16:22:10 2005//
+/class_upload.asp/1.1/Thu Sep 22 16:22:10 2005//
+/commands.asp/1.2/Mon Oct 17 19:52:52 2005//
+/config.asp/1.1/Thu Sep 22 16:22:10 2005//
+/connector.asp/1.2/Mon Oct 17 19:52:52 2005//
+/io.asp/1.1/Thu Sep 22 16:22:10 2005//
+/util.asp/1.1/Thu Sep 22 16:22:10 2005//
 D
--- a/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/connectors/asp/commands.asp	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/connectors/asp/commands.asp	Mon Oct 17 20:45:54 2005 +0000
@@ -83,7 +83,7 @@
 	Dim sNewFolderName
 	sNewFolderName = Request.QueryString( "NewFolderName" )
 
-	If ( sNewFolderName = "" ) Then
+	If ( sNewFolderName = "" OR InStr( 1, sNewFolderName, ".." ) > 0  ) Then
 		sErrorNumber = "102"
 	Else
 		' Map the virtual path to the local server path of the current folder.
--- a/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/connectors/asp/connector.asp	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/connectors/asp/connector.asp	Mon Oct 17 20:45:54 2005 +0000
@@ -58,16 +58,19 @@
 Sub DoResponse()
 	Dim sCommand, sResourceType, sCurrentFolder
 	
-	' Get the main request informaiton.
+	' Get the main request information.
 	sCommand = Request.QueryString("Command")
 	If ( sCommand = "" ) Then Exit Sub
 
 	sResourceType = Request.QueryString("Type")
 	If ( sResourceType = "" ) Then Exit Sub
-
+	
 	sCurrentFolder = Request.QueryString("CurrentFolder")
 	If ( sCurrentFolder = "" ) Then Exit Sub
 
+	' Check if it is an allower resource type.
+	if ( Not IsAllowedType( sResourceType ) ) Then Exit Sub
+
 	' Check the current folder syntax (must begin and start with a slash).
 	If ( Right( sCurrentFolder, 1 ) <> "/" ) Then sCurrentFolder = sCurrentFolder & "/"
 	If ( Left( sCurrentFolder, 1 ) <> "/" ) Then sCurrentFolder = "/" & sCurrentFolder
@@ -101,4 +104,16 @@
 
 	Response.End
 End Sub
+
+Function IsAllowedType( resourceType )
+	Dim oRE
+	Set oRE	= New RegExp
+	oRE.IgnoreCase	= True
+	oRE.Global		= True
+	oRE.Pattern		= "^(File|Image|Flash|Media)$"
+	
+	IsAllowedType = oRE.Test( resourceType )
+	
+	Set oRE	= Nothing
+End Function
 %>
\ No newline at end of file
--- a/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/connectors/aspx/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/connectors/aspx/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,2 +1,2 @@
-/connector.aspx/1.1/Wed Aug 31 19:08:37 2005//
+/connector.aspx/1.1/Thu Sep 22 16:22:10 2005//
 D
--- a/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/connectors/cfm/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/connectors/cfm/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,2 +1,3 @@
-/connector.cfm/1.1/Wed Aug 31 19:08:37 2005//
+/config.cfm/1.1/Fri Oct  7 00:17:51 2005//
+/connector.cfm/1.2/Mon Oct 17 19:52:52 2005//
 D
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/connectors/cfm/config.cfm	Mon Oct 17 20:45:54 2005 +0000
@@ -0,0 +1,80 @@
+<cfsetting enablecfoutputonly="Yes">
+
+<cfscript>
+	config = structNew();
+	
+	// SECURITY: You must explicitly enable this "connector". (Set enabled to "true")
+	config.enabled = false;
+	
+	config.userFilesPath = "/UserFiles/";
+	
+	config.serverPath = ""; // use this to force the server path if FCKeditor is not running directly off the root of the application or the FCKeditor directory in the URL is a virtual directory or a symbolic link / junction
+	
+	config.allowedExtensions = structNew();
+	config.deniedExtensions = structNew();
+	
+	// config.allowedExtensions["File"] = "doc,rtf,pdf,ppt,pps,xls,csv,vnd,zip";
+	config.allowedExtensions["File"] = "";
+	config.deniedExtensions["File"] = "php,asp,aspx,ascx,jsp,cfm,cfc,pl,bat,exe,com,dll,vbs,js,reg";
+	
+	config.allowedExtensions["Image"] = "png,gif,jpg,jpeg,bmp";
+	config.deniedExtensions["Image"] = "";
+	
+	config.allowedExtensions["Flash"] = "swf,fla";
+	config.deniedExtensions["Flash"] = "";
+	
+	config.allowedExtensions["Media"] = "swf,fla,jpg,gif,jpeg,png,avi,mpg,mpeg,mp3,mp4,m4a,wma,wmv,wav,mid,midi,rmi,rm,ram,rmvb,mov,qt";
+	config.deniedExtensions["Media"] = "";
+</cfscript>
+
+<!--- code to maintain backwards compatibility with previous version of cfm connector --->
+<cfif isDefined("application.userFilesPath")>
+
+	<cflock scope="application" type="readonly" timeout="5">
+	<cfset config.userFilesPath = application.userFilesPath>
+	</cflock>
+
+<cfelseif isDefined("server.userFilesPath")>
+	
+	<cflock scope="server" type="readonly" timeout="5">
+	<cfset config.userFilesPath = server.userFilesPath>
+	</cflock>
+	
+</cfif>
+
+<!--- look for config struct in request, application and server scopes --->
+<cfif isDefined("request.FCKeditor") and isStruct(request.FCKeditor)>
+
+	<cfset variables.FCKeditor = request.FCKeditor>
+
+<cfelseif isDefined("application.FCKeditor") and isStruct(application.FCKeditor)>
+
+	<cflock scope="application" type="readonly" timeout="5">
+	<cfset variables.FCKeditor = duplicate(application.FCKeditor)>
+	</cflock>
+
+<cfelseif isDefined("server.FCKeditor") and isStruct(server.FCKeditor)>
+
+	<cflock scope="server" type="readonly" timeout="5">
+	<cfset variables.FCKeditor = duplicate(server.FCKeditor)>
+	</cflock>
+
+</cfif>
+
+<cfif isDefined("FCKeditor")>
+
+	<!--- copy key values from external to local config (i.e. override default config as required) --->
+	<cfscript>
+		function structCopyKeys(stFrom, stTo) {
+			for ( key in stFrom ) {
+				if ( isStruct(stFrom[key]) ) {
+					structCopyKeys(stFrom[key],stTo[key]);
+				} else {
+					stTo[key] = stFrom[key];
+				}
+			}
+		}
+		structCopyKeys(FCKeditor, config);
+	</cfscript>
+
+</cfif>
--- a/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/connectors/cfm/connector.cfm	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/connectors/cfm/connector.cfm	Mon Oct 17 20:45:54 2005 +0000
@@ -1,287 +1,349 @@
-<cfsetting enablecfoutputonly="true" showdebugoutput="false">
+<cfsetting enablecfoutputonly="yes" showdebugoutput="no">
 <!--- @Packager.Header
 <FileDescription>
-	This is the File Browser Connector for ColdFusion.
-	
-	Notice: 
-	FCKeditor needs an UTF-8 encoded XML packet. 
-	Only CFMX can encode in UTF-8. If this browser doesn't work in CF 4.0/4.5/5,
-	please send me a notice. We then can use an more object oriented approach (CFC)
-	to clean up this code :)
-	
-	Please declare the base path (e.g. /UserFiles/) as an Application or Server variable
-	Directory structure (with optional subdirectories built by the user). 
-	The "Type" subdirectory is automatically submitted by FCKeditor:
-	/UserFiles/Image/
-	/UserFiles/Flash/
-	/UserFiles/File/
-	/UserFiles/Media/
+	File Browser connector for ColdFusion.
+	(based on the original CF connector by Hendrik Kramer - hk@lwd.de)
 
+	Note: 
+	FCKeditor requires that the connector responds with UTF-8 encoded XML.
+	As ColdFusion 5 does not fully support UTF-8 encoding, we force ASCII 
+	file and folder names in this connector to allow CF5 send a UTF-8 
+	encoded response - code points under 127 in UTF-8 are stored using a 
+	single byte, using the same encoding as ASCII, which is damn handy. 
+	This is all grand for the English speakers, like meself, but I dunno 
+	how others are gonna take to it. Well, the previous version of this 
+	connector already did this with file names and nobody seemed to mind, 
+	so fingers-crossed nobody will mind their folder names being munged too.
+	  
 </FileDescription>
-<Author name="Hendrik Kramer" email="hk@lwd.de" />
+<Author name="Mark Woods" email="mark@thickpaddy.com" />
 --->
-<cfparam name="URL.Command" type="string">
-<cfparam name="URL.Type" type="string">
-<cfparam name="URL.CurrentFolder" type="string">
 
-<!--- ::
-	* Get base url path to the userfiles directory (may be set in Application.cfm or anywhere else)
-	:: --->
-<cfif isDefined('APPLICATION.userFilesPath')>
-	<cflock scope="Application" type="readonly" timeout="3">
-		<cfset sUserFilesURL = APPLICATION.userFilesPath>
-	</cflock>
-<cfelseif isDefined('SERVER.userFilesPath')>
-	<cflock scope="SERVER" type="readonly" timeout="3">
-		<cfset sUserFilesURL = SERVER.userFilesPath>
-	</cflock>
-<cfelse>
-	<!--- :: then use default :: --->
-	<cfset sUserFilesURL = "/UserFiles/">
+<cfparam name="url.command">
+<cfparam name="url.type"> 
+<cfparam name="url.currentFolder">
+<!--- note: no serverPath url parameter - see config.cfm if you need to set the serverPath manually --->
+
+<cfinclude template="config.cfm">
+
+<cfscript>
+	userFilesPath = config.userFilesPath;
+	lAllowedExtensions = config.allowedExtensions[url.type];
+	lDeniedExtensions = config.deniedExtensions[url.type];
+	
+	// make sure the user files path is correctly formatted
+	userFilesPath = replace(userFilesPath, "\", "/", "ALL");
+	userFilesPath = replace(userFilesPath, '//', '/', 'ALL');
+	if ( right(userFilesPath,1) neq "/" ) {
+		userFilesPath = userFilesPath & "/";
+	}
+	if ( left(userFilesPath,1) neq "/" ) {
+		userFilesPath = "/" & userFilesPath;
+	}
+	
+	// make sure the current folder is correctly formatted
+	url.currentFolder = replace(url.currentFolder, "\", "/", "ALL");
+	url.currentFolder = replace(url.currentFolder, '//', '/', 'ALL');
+	if ( right(url.currentFolder,1) neq "/" ) {
+		url.currentFolder = url.currentFolder & "/";
+	}
+	if ( left(url.currentFolder,1) neq "/" ) {
+		url.currentFolder = "/" & url.currentFolder;
+	}
+
+	if ( find("/",getBaseTemplatePath()) neq 0 ) {
+		fs = "/";
+	} else {
+		fs = "\";
+	}
+	
+	// Get the base physical path to the web root for this application. The code to determine the path automatically assumes that
+	// the "FCKeditor" directory in the http request path is directly off the web root for the application and that it's not a 
+	// virtual directory or a symbolic link / junction. Use the serverPath config setting to force a physical path if necessary.
+	if ( len(config.serverPath) ) {
+		serverPath = config.serverPath;
+	} else {
+		serverPath = replaceNoCase(getBaseTemplatePath(),replace(cgi.script_name,"/",fs,"all"),"");
+	}
+	if ( right(serverPath,1) neq fs ) {
+		serverPath = serverPath & fs;
+	}
+			
+	// map the user files path to a physical directory
+	userFilesServerPath = serverPath & replace(userFilesPath,"/",fs,"all");
+	
+	xmlContent = ""; // append to this string to build content
+</cfscript>
+
+<!--- create directories in physical path if they don't already exist --->
+<cfset currentPath = serverPath>
+<cftry>
+
+	<cfloop list="#userFilesPath#" index="name" delimiters="/">
+		
+		<cfif not directoryExists(currentPath & fs & name)>
+			
+				<cfdirectory action="create" directory="#currentPath##name#" mode="755">
+			
+		</cfif>
+		
+		<cfset currentPath = currentPath & fs & name>
+		
+	</cfloop>
+	
+	<!--- create sub-directory for file type if it doesn't already exist --->
+	<cfif not directoryExists(userFilesServerPath & fs & url.type)>
+	
+		<cfdirectory action="create" directory="#userFilesServerPath##url.type#" mode="755">
+	
+	</cfif>
+
+<cfcatch>
+
+	<!--- this should only occur as a result of a permissions problem --->
+	<cfset xmlContent = "<Error number=""103"" />">
+
+</cfcatch>
+</cftry>
+
+<cfif not config.enabled>
+
+	<cfset xmlContent = "<Error number=""1"" text=""This connector is disabled. Please check the 'editor/filemanager/browser/default/connectors/cfm/config.cfm' file"" />">
+	
+<cfelseif find("..",url.currentFolder)>
+	
+	<cfset xmlContent = "<Error number=""102"" />">
+	
 </cfif>
 
-<cfif not len( sUserFilesURL )>
-	<cfthrow type="fckeditor.connector" message="You must supply a full path to the userFiles base URL in APPLICATION or SERVER Scope.">
+<cfif not len(xmlContent)>
+
+	<!--- no errors thus far - run command --->
+	
+	<!--- we need to know the physical path to the current folder for all commands --->
+	<cfset currentFolderPath = userFilesServerPath & url.type & replace(url.currentFolder,"/",fs,"all")>
+	
+	<cfswitch expression="#url.command#">
+	
+	
+		<cfcase value="FileUpload">
+		
+			<cfset fileName = "">
+			<cfset fileExt = "">
+		
+			<cftry>
+			
+				<!--- TODO: upload to a temp directory and move file if extension is allowed --->
+			
+				<!--- first upload the file with an unique filename --->
+				<cffile action="upload"
+					fileField="NewFile"
+					destination="#currentFolderPath#"
+					nameConflict="makeunique"
+					mode="644"
+					attributes="normal">
+				
+				<cfif ( len(lAllowedExtensions) and not listFindNoCase(lAllowedExtensions,cffile.ServerFileExt) )
+					or ( len(lDeniedExtensions) and listFindNoCase(lDeniedExtensions,cffile.ServerFileExt) )>
+				
+					<cfset errorNumber = "202">
+					<cffile action="delete" file="#cffile.ServerDirectory##fs##cffile.ServerFile#">
+				
+				<cfelse>
+				
+					<cfscript>
+					errorNumber = 0;
+					fileName = cffile.ClientFileName;
+					fileExt = cffile.ServerFileExt;
+			
+					// munge filename for html download. Only a-z, 0-9, _, - and . are allowed
+					if( reFind("[^A-Za-z0-9_\-\.]", fileName) ) {
+						fileName = reReplace(fileName, "[^A-Za-z0-9\-\.]", "_", "ALL");
+						fileName = reReplace(fileName, "_{2,}", "_", "ALL");
+						fileName = reReplace(fileName, "([^_]+)_+$", "\1", "ALL");
+						fileName = reReplace(fileName, "$_([^_]+)$", "\1", "ALL");
+					}
+					
+					// When the original filename already exists, add numbers (0), (1), (2), ... at the end of the filename.
+					if( compare( cffile.ServerFileName, fileName ) ) {
+						counter = 0;
+						tmpFileName = fileName;
+						while( fileExists("#currentFolderPath##fileName#.#fileExt#") ) {
+						  	counter = counter + 1;
+							fileName = tmpFileName & '(#counter#)';
+						}
+					}
+					</cfscript>
+					
+					<!--- Rename the uploaded file, if neccessary --->
+					<cfif compare(cffile.ServerFileName,fileName)>
+					
+						<cfset errorNumber = "201">
+						<cffile
+							action="rename"
+							source="#currentFolderPath##cffile.ServerFileName#.#cffile.ServerFileExt#"
+							destination="#currentFolderPath##fileName#.#fileExt#"
+							mode="644"
+							attributes="normal">
+					
+					</cfif>					
+				
+				</cfif>
+		
+				<cfcatch type="Any">
+				
+					<cfset errorNumber = "202">
+					
+				</cfcatch>
+				
+			</cftry>
+			
+			
+			<cfif errorNumber eq 201>
+			
+				<!--- file was changed (201), submit the new filename --->
+				<cfoutput>
+				<script type="text/javascript">
+				window.parent.frames['frmUpload'].OnUploadCompleted(#errorNumber#,'#replace( fileName & "." & fileExt, "'", "\'", "ALL")#');
+				</script>
+				</cfoutput>
+
+			<cfelse>
+			
+				<!--- file was uploaded succesfully(0) or an error occured(202). Submit only the error code. --->
+				<cfoutput>
+				<script type="text/javascript">
+				window.parent.frames['frmUpload'].OnUploadCompleted(#errorNumber#);
+				</script>
+				</cfoutput>
+				
+			</cfif>
+			
+			<cfabort>
+		
+		</cfcase>
+		
+		
+		<cfcase value="GetFolders">
+		
+			<!--- Sort directories first, name ascending --->
+			<cfdirectory 
+				action="list" 
+				directory="#currentFolderPath#" 
+				name="qDir"
+				sort="type,name">
+			
+			<cfscript>
+				i=1;
+				folders = "";
+				while( i lte qDir.recordCount ) {
+					if( not compareNoCase( qDir.type[i], "FILE" ))
+						break;
+					if( not listFind(".,..", qDir.name[i]) )
+						folders = folders & '<Folder name="#qDir.name[i]#" />';
+					i=i+1;
+				}
+		
+				xmlContent = xmlContent & '<Folders>' & folders & '</Folders>';
+			</cfscript>
+		
+		</cfcase>
+		
+		
+		<cfcase value="GetFoldersAndFiles">
+		
+			<!--- Sort directories first, name ascending --->
+			<cfdirectory 
+				action="list" 
+				directory="#currentFolderPath#" 
+				name="qDir"
+				sort="type,name">
+				
+			<cfscript>
+				i=1;
+				folders = "";
+				files = "";
+				while( i lte qDir.recordCount ) {
+					if( not compareNoCase( qDir.type[i], "DIR" ) and not listFind(".,..", qDir.name[i]) ) {
+						folders = folders & '<Folder name="#qDir.name[i]#" />';
+					} else if( not compareNoCase( qDir.type[i], "FILE" ) ) {
+						fileSizeKB = round(qDir.size[i] / 1024);
+						files = files & '<File name="#qDir.name[i]#" size="#IIf( fileSizeKB GT 0, DE( fileSizeKB ), 1)#" />';
+					}
+					i=i+1;
+				}
+		
+				xmlContent = xmlContent & '<Folders>' & folders & '</Folders>';
+				xmlContent = xmlContent & '<Files>' & files & '</Files>';
+			</cfscript>
+		
+		</cfcase>
+		
+		
+		<cfcase value="CreateFolder">
+		
+			<cfparam name="url.newFolderName" default="">
+			
+			<cfscript>
+				newFolderName = url.newFolderName;
+				if( reFind("[^A-Za-z0-9_\-\.]", newFolderName) ) {
+					// Munge folder name same way as we do the filename
+					// This means folder names are always US-ASCII so we don't have to worry about CF5 and UTF-8
+					newFolderName = reReplace(newFolderName, "[^A-Za-z0-9\-\.]", "_", "all");
+					newFolderName = reReplace(newFolderName, "_{2,}", "_", "all");
+					newFolderName = reReplace(newFolderName, "([^_]+)_+$", "\1", "all");
+					newFolderName = reReplace(newFolderName, "$_([^_]+)$", "\1", "all");
+				}
+			</cfscript>
+		
+			<cfif not len(newFolderName) or len(newFolderName) gt 255>
+				<cfset errorNumber = 102>	
+			<cfelseif directoryExists(currentFolderPath & newFolderName)>
+				<cfset errorNumber = 101>
+			<cfelseif reFind("^\.\.",newFolderName)>
+				<cfset errorNumber = 103>
+			<cfelse>
+				<cfset errorNumber = 0>
+		
+				<cftry>
+					<cfdirectory
+						action="create"
+						directory="#currentFolderPath##newFolderName#"
+						mode="755">
+					<cfcatch>
+						<!--- 
+						un-resolvable error numbers in ColdFusion:
+						* 102 : Invalid folder name. 
+						* 103 : You have no permissions to create the folder. 
+						--->
+						<cfset errorNumber = 110>
+					</cfcatch>
+				</cftry>
+			</cfif>
+			
+			<cfset xmlContent = xmlContent & '<Error number="#errorNumber#" />'>
+		
+		</cfcase>
+		
+		
+		<cfdefaultcase>
+		
+			<cfthrow type="fckeditor.connector" message="Illegal command: #url.command#">
+			
+		</cfdefaultcase>
+		
+		
+	</cfswitch>
+	
 </cfif>
 
 <cfscript>
-	/**
-	  * We must extract the physical server directory for the webroot of this project to append the base url path
-   	  * e.g. 
-      * PATH=c:\inetpub\wwwroot\project1\fckeditor\editor\filemanager\browser\default\connectors\cfm\connector.cfm 
-      * URL =/fckeditor/editor/filemanager/browser/default/connectors/cfm/connector.cfm 
-      * ROOT=c:\inetpub\wwwroot\project1\
-      *
-      * This may fail if you use an symbolic link inside your webroot
-      */
-	sRootDir = replace( getBaseTemplatePath(), "\", "/", "ALL");
-	iLen = listLen( cgi.script_name, '/' );
-	for( i=iLen; i GTE 1; i=i-1 )
-	{
-		iPos = listFindNoCase( sRootDir, listGetAt( cgi.script_name, i, '/' ), '/' );
-		if( iPos GT 0 )
-			sRootDir = listDeleteAt( sRootDir, iPos, '/' );
-	}
-
-	// replace backslashes in URL with normal slashes
-	sUserFilesURL = replace( sUserFilesURL, "\", "/", "ALL");
-
-	// Check the base folder syntax (must end with a slash).
-	if( compare( right( sUserFilesURL, 1), "/" ) )
-		sUserFilesURL = sUserFilesURL & "/";
-
-	// Create the physical path to the media root directory
-	sUserFilesPath = sRootDir & sUserFilesURL;
-	sUserFilesPath = replace( sUserFilesPath, '//', '/', 'ALL' );
-
-	// Check the current folder syntax (must begin and start with a slash).
-	if( compare( left( URL.CurrentFolder, 1), "/" ) )
-		URL.CurrentFolder = "/" & URL.CurrentFolder;
-	if( compare( right( URL.CurrentFolder, 1), "/" ) )
-		URL.CurrentFolder = URL.CurrentFolder & "/";
-	
-	/**
-	  * Prepare the XML Header and Footer
-	  */
-	sXMLHeader = '<?xml version="1.0" encoding="utf-8" ?><Connector command="#URL.Command#" resourceType="#URL.Type#">';
-	sXMLHeader = sXMLHeader & '<CurrentFolder path="#URL.CurrentFolder#" url="#sUserFilesURL##URL.Type##URL.CurrentFolder#" />';
-	sXMLFooter = '</Connector>';
-	sXMLContent = '';
+	xmlHeader = '<?xml version="1.0" encoding="utf-8" ?><Connector command="#url.command#" resourceType="#url.type#">';
+	xmlHeader = xmlHeader & '<CurrentFolder path="#url.currentFolder#" url="#userFilesPath##url.type##url.currentFolder#" />';
+	xmlFooter = '</Connector>';
 </cfscript>
 
-<!--- :: Make sure that current base path exists as a directory :: --->
-<cfif not directoryExists( sUserFilesPath & URL.Type & URL.CurrentFolder )>
-	<cfdirectory 
-		action="create" 
-		directory="#sUserFilesPath##URL.Type##URL.CurrentFolder#"
-	>
-</cfif>
-
-<!--- :: Switch command arguments :: --->
-<cfswitch expression="#URL.Command#">
-<cfcase value="FileUpload">
-
-	<cfset sFileName = "">
-	<cfset sFileExt = "">
-
-	<cftry>
-		<!--- :: first upload the file with an unique filename :: --->
-		<cffile action="UPLOAD"
-			fileField="NewFile"
-			destination="#sUserFilesPath##URL.Type##URL.CurrentFolder#"
-			nameConflict="MAKEUNIQUE"
-		>
-
-		<cfscript>
-		sErrorNumber = 0;
-		sFileName = CFFILE.ClientFileName;
-		sFileExt = CFFILE.ServerFileExt;
-
-		/**
-		  * Validate filename for html download. Only a-z, 0-9, _, - and . are allowed.
-		  */
-		if( reFind("[^A-Za-z0-9_\-\.]", sFileName) )
-		{
-			sFilename = reReplace(sFilename, "[^A-Za-z0-9\-\.]", "_", "ALL");
-			sFilename = reReplace(sFilename, "_{2,}", "_", "ALL");
-			sFilename = reReplace(sFilename, "([^_]+)_+$", "\1", "ALL");
-			sFilename = reReplace(sFilename, "$_([^_]+)$", "\1", "ALL");
-		}
-
-		// When the original filename already exists, add numbers (0), (1), (2), ... at the end of the filename.
-		if( compare( CFFILE.ServerFileName, sFileName ) )
-		{
-			iCounter = 0;
-			sTmpFileName = sFileName;
-			while( fileExists('#sUserFilesPath##URL.Type##URL.CurrentFolder##sFilename#.#sFileExt#') )
-			{
-			  	iCounter=iCounter+1;
-				sFileName = sTmpFileName & '(#iCounter#)';
-			}
-		}
-		</cfscript>
-		
-		<!--- :: Rename the uploaded file, if neccessary --->
-		<cfif compare( CFFILE.ServerFileName, sFileName )>
-			<cfset sErrorNumber = "201">
-			<cffile
-				action="RENAME"
-				source="#sUserFilesPath##URL.Type##URL.CurrentFolder##CFFILE.ServerFileName#.#CFFILE.ServerFileExt#"
-				destination="#sUserFilesPath##URL.Type##URL.CurrentFolder##sFileName#.#sFileExt#"
-				mode="644"
-				attributes="normal"
-			>
-		</cfif>
-
-		<cfcatch type="Any">
-			<cfset sErrorNumber = "202">
-		</cfcatch>
-	</cftry>
-	
-	<cfif sErrorNumber eq 201>
-		<!--- :: file was changed (201), submit the new filename :: --->
-		<cfoutput>
-		<script type="text/javascript">
-		window.parent.frames['frmUpload'].OnUploadCompleted(#sErrorNumber#,'#replace( sFileName & "." & sFileExt, "'", "\'", "ALL")#');
-		</script>
-		</cfoutput>
-	<cfelse>
-		<!--- :: file was uploaded succesfully(0) or an error occured(202). Submit only the error code. :: --->
-		<cfoutput>
-		<script type="text/javascript">
-		window.parent.frames['frmUpload'].OnUploadCompleted(#sErrorNumber#);
-		</script>
-		</cfoutput>
-	</cfif>
-
-	<cfabort>
-
-</cfcase>
-<cfcase value="GetFolders">
-
-	<!--- :: Sort directories first, name ascending :: --->
-	<cfdirectory 
-		action="LIST" 
-		directory="#sUserFilesPath##URL.Type##URL.CurrentFolder#" 
-		name="qDir"
-		sort="type,name"
-	>
-	
-	<cfscript>
-		iLen = qDir.recordCount;	
-		i=1;
-		sFolders = '';
-		
-		while( i LTE iLen )
-		{
-			if( not compareNoCase( qDir.type[i], "FILE" ))
-				break;
-			if( not listFind(".,..", qDir.name[i]) )
-				sFolders = sFolders & '<Folder name="#qDir.name[i]#" />';
-			i=i+1;
-		}
-
-		sXMLContent = sXMLContent & '<Folders>' & sFolders & '</Folders>';
-	</cfscript>
-
-</cfcase>
-<cfcase value="GetFoldersAndFiles">
-
-	<!--- :: Sort directories first, name ascending :: --->
-	<cfdirectory 
-		action="LIST" 
-		directory="#sUserFilesPath##URL.Type##URL.CurrentFolder#" 
-		name="qDir"
-		sort="type,name"
-	>
-	<cfscript>
-		iLen = qDir.recordCount;
-		i=1;
-		sFolders = '';
-		sFiles = '';
-		
-		while( i LTE iLen )
-		{
-			if( not compareNoCase( qDir.type[i], "DIR" ) and not listFind(".,..", qDir.name[i]) )
-			{
-				sFolders = sFolders & '<Folder name="#qDir.name[i]#" />';
-			}
-			else if( not compareNoCase( qDir.type[i], "FILE" ) )
-			{
-				iFileSize = int( qDir.size[i] / 1024 );
-				sFiles = sFiles & '<File name="#qDir.name[i]#" size="#IIf( iFileSize GT 0, DE( iFileSize ), 1)#" />';
-			}
-			i=i+1;
-		}
-
-		sXMLContent = sXMLContent & '<Folders>' & sFolders & '</Folders>';
-		sXMLContent = sXMLContent & '<Files>' & sFiles & '</Files>';
-	</cfscript>
-
-</cfcase>
-<cfcase value="CreateFolder">
-
-	<cfparam name="URL.NewFolderName" default="">
-
-	<cfif not len( URL.NewFolderName ) or len( URL.NewFolderName ) GT 255>
-		<cfset iErrorNumber = 102>	
-	<cfelseif directoryExists( sUserFilesPath & URL.Type & URL.CurrentFolder & URL.NewFolderName )>
-		<cfset iErrorNumber = 101>
-	<cfelseif reFind( "^\.\.", URL.NewFolderName )>
-		<cfset iErrorNumber = 103>
-	<cfelse>
-		<cfset iErrorNumber = 0>
-
-		<cftry>
-			<cfdirectory
-				action="CREATE"
-				directory="#sUserFilesPath##URL.Type##URL.CurrentFolder##URL.NewFolderName#"
-			>
-			<cfcatch>
-				<!--- ::
-					* Not resolvable ERROR-Numbers in ColdFusion:
-					* 102 : Invalid folder name. 
-					* 103 : You have no permissions to create the folder. 
-					:: --->
-				<cfset iErrorNumber = 110>
-			</cfcatch>
-		</cftry>
-	</cfif>
-	
-	<cfset sXMLContent = sXMLContent & '<Error number="#iErrorNumber#" />'>
-
-</cfcase>
-<cfdefaultcase>
-	<cfthrow type="fckeditor.connector" message="Illegal command: #URL.Command#">
-</cfdefaultcase>
-</cfswitch>
-
-<!--- ::
-  	* output XML (no content caching) 
-	:: --->
 <cfheader name="Pragma" value="no-cache">
 <cfheader name="Cache-Control" value="no-cache, no-store, must-revalidate">
 <cfcontent reset="true" type="text/xml; charset=UTF-8">
-<cfoutput>#sXMLHeader##sXMLContent##sXMLFooter#</cfoutput>
-
-<cfsetting enablecfoutputonly="false">
\ No newline at end of file
+<cfoutput>#xmlHeader##xmlContent##xmlFooter#</cfoutput>	
\ No newline at end of file
--- a/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/connectors/lasso/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/connectors/lasso/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,3 +1,3 @@
-/config.lasso/1.1/Wed Aug 31 19:08:38 2005//
-/connector.lasso/1.1/Wed Aug 31 19:08:38 2005//
+/config.lasso/1.1/Thu Sep 22 16:22:10 2005//
+/connector.lasso/1.1/Thu Sep 22 16:22:10 2005//
 D
--- a/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/connectors/perl/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/connectors/perl/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,7 +1,7 @@
-/basexml.pl/1.1/Wed Aug 31 19:08:38 2005//
-/commands.pl/1.1/Wed Aug 31 19:08:38 2005//
-/connector.cgi/1.1/Wed Aug 31 19:08:38 2005//
-/io.pl/1.1/Wed Aug 31 19:08:38 2005//
-/upload_fck.pl/1.1/Wed Aug 31 19:08:38 2005//
-/util.pl/1.1/Wed Aug 31 19:08:38 2005//
+/basexml.pl/1.1/Thu Sep 22 16:22:10 2005//
+/commands.pl/1.1/Thu Sep 22 16:22:10 2005//
+/connector.cgi/1.1/Thu Sep 22 16:22:10 2005//
+/io.pl/1.1/Thu Sep 22 16:22:10 2005//
+/upload_fck.pl/1.1/Thu Sep 22 16:22:10 2005//
+/util.pl/1.1/Thu Sep 22 16:22:10 2005//
 D
--- a/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/connectors/php/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/connectors/php/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,7 +1,7 @@
-/basexml.php/1.1/Wed Aug 31 19:08:38 2005//
-/commands.php/1.1/Wed Aug 31 19:08:38 2005//
-/config.php/1.1/Wed Aug 31 19:08:38 2005//
-/connector.php/1.1/Wed Aug 31 19:08:38 2005//
-/io.php/1.1/Wed Aug 31 19:08:38 2005//
-/util.php/1.1/Wed Aug 31 19:08:38 2005//
+/basexml.php/1.1/Thu Sep 22 16:22:10 2005//
+/commands.php/1.2/Mon Oct 17 19:52:52 2005//
+/config.php/1.2/Mon Oct 17 19:52:52 2005//
+/connector.php/1.2/Mon Oct 17 19:52:52 2005//
+/io.php/1.1/Thu Sep 22 16:22:10 2005//
+/util.php/1.1/Thu Sep 22 16:22:10 2005//
 D
--- a/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/connectors/php/commands.php	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/connectors/php/commands.php	Mon Oct 17 20:45:54 2005 +0000
@@ -106,31 +106,36 @@
 	{
 		$sNewFolderName = $_GET['NewFolderName'] ;
 
-		// Map the virtual path to the local server path of the current folder.
-		$sServerDir = ServerMapFolder( $resourceType, $currentFolder ) ;
-
-		if ( is_writable( $sServerDir ) )
+		if ( strpos( $sNewFolderName, '..' ) !== FALSE )
+			$sErrorNumber = '102' ;		// Invalid folder name.
+		else
 		{
-			$sServerDir .= $sNewFolderName ;
+			// Map the virtual path to the local server path of the current folder.
+			$sServerDir = ServerMapFolder( $resourceType, $currentFolder ) ;
 
-			$sErrorMsg = CreateServerFolder( $sServerDir ) ;
-
-			switch ( $sErrorMsg )
+			if ( is_writable( $sServerDir ) )
 			{
-				case '' :
-					$sErrorNumber = '0' ;
-					break ;
-				case 'Invalid argument' :
-				case 'No such file or directory' :
-					$sErrorNumber = '102' ;		// Path too long.
-					break ;
-				default :
-					$sErrorNumber = '110' ;
-					break ;
+				$sServerDir .= $sNewFolderName ;
+
+				$sErrorMsg = CreateServerFolder( $sServerDir ) ;
+
+				switch ( $sErrorMsg )
+				{
+					case '' :
+						$sErrorNumber = '0' ;
+						break ;
+					case 'Invalid argument' :
+					case 'No such file or directory' :
+						$sErrorNumber = '102' ;		// Path too long.
+						break ;
+					default :
+						$sErrorNumber = '110' ;
+						break ;
+				}
 			}
+			else
+				$sErrorNumber = '103' ;
 		}
-		else
-			$sErrorNumber = '103' ;
 	}
 	else
 		$sErrorNumber = '102' ;
--- a/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/connectors/php/config.php	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/connectors/php/config.php	Mon Oct 17 20:45:54 2005 +0000
@@ -26,6 +26,12 @@
 // Path to user files relative to the document root.
 $Config['UserFilesPath'] = '/UserFiles/' ;
 
+// Fill the following value it you prefer to specify the absolute path for the
+// user files directory. Usefull if you are using a virtual directory, symbolic
+// link or alias. Examples: 'C:\\MySite\\UserFiles\\' or '/root/mysite/UserFiles/'.
+// Attention: The above 'UserFilesPath' must point to the same directory.
+$Config['UserFilesAbsolutePath'] = '' ;
+
 $Config['AllowedExtensions']['File']	= array() ;
 $Config['DeniedExtensions']['File']		= array('php','php3','php5','phtml','asp','aspx','ascx','jsp','cfm','cfc','pl','bat','exe','dll','reg','cgi') ;
 
--- a/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/connectors/php/connector.php	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/connectors/php/connector.php	Mon Oct 17 20:45:54 2005 +0000
@@ -40,9 +40,18 @@
 if ( ! ereg( '/$', $GLOBALS["UserFilesPath"] ) )
 	$GLOBALS["UserFilesPath"] .= '/' ;
 
-// Map the "UserFiles" path to a local directory.
-//$GLOBALS["UserFilesDirectory"] = GetRootPath() . str_replace( '/', '\\', $GLOBALS["UserFilesPath"] ) ;
-$GLOBALS["UserFilesDirectory"] = GetRootPath() . $GLOBALS["UserFilesPath"] ;
+if ( strlen( $Config['UserFilesAbsolutePath'] ) > 0 ) 
+{
+	$GLOBALS["UserFilesDirectory"] = $Config['UserFilesAbsolutePath'] ;
+
+	if ( ! ereg( '/$', $GLOBALS["UserFilesDirectory"] ) )
+		$GLOBALS["UserFilesDirectory"] .= '/' ;
+}
+else
+{
+	// Map the "UserFiles" path to a local directory.
+	$GLOBALS["UserFilesDirectory"] = GetRootPath() . $GLOBALS["UserFilesPath"] ;
+}
 
 DoResponse() ;
 
--- a/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/connectors/test.html	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/connectors/test.html	Mon Oct 17 20:45:54 2005 +0000
@@ -128,6 +128,7 @@
 									<option value="Image">Image</option>
 									<option value="Flash">Flash</option>
 									<option value="Media">Media</option>
+									<option value="Invalid">Invalid Type (for testing)</option>
 								</select></td>
 							<TD>&nbsp;&nbsp;&nbsp;</TD>
 							<TD>Server Path<BR>
--- a/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,8 +1,8 @@
-/ButtonArrow.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/Folder.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/Folder32.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/FolderOpened.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/FolderOpened32.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/FolderUp.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/spacer.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
 D/icons////
+/ButtonArrow.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/Folder.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/Folder32.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/FolderOpened.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/FolderOpened32.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/FolderUp.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/spacer.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
--- a/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/32/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/32/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,27 +1,27 @@
-/ai.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/avi.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/bmp.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/cs.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/default.icon.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/dll.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/doc.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/exe.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/fla.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/gif.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/htm.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/html.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/jpg.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/js.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/mdb.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/mp3.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/pdf.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/ppt.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/rdp.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/swf.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/swt.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/txt.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/vsd.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/xls.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/xml.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/zip.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
+/ai.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/avi.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/bmp.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/cs.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/default.icon.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/dll.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/doc.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/exe.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/fla.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/gif.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/htm.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/html.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/jpg.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/js.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/mdb.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/mp3.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/pdf.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/ppt.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/rdp.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/swf.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/swt.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/txt.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/vsd.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/xls.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/xml.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/zip.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
 D
--- a/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,27 +1,27 @@
-/ai.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/avi.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/bmp.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/cs.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/default.icon.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/dll.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/doc.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/exe.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/fla.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/gif.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/htm.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/html.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/jpg.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/js.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/mdb.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/mp3.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/pdf.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/ppt.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/rdp.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/swf.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/swt.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/txt.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/vsd.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/xls.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/xml.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
-/zip.gif/1.1/Wed Aug 31 19:08:38 2005/-kb/
 D/32////
+/ai.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/avi.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/bmp.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/cs.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/default.icon.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/dll.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/doc.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/exe.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/fla.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/gif.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/htm.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/html.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/jpg.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/js.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/mdb.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/mp3.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/pdf.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/ppt.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/rdp.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/swf.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/swt.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/txt.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/vsd.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/xls.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/xml.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/zip.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
--- a/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/js/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/js/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,3 +1,3 @@
-/common.js/1.1/Wed Aug 31 19:08:43 2005//
-/fckxml.js/1.1/Wed Aug 31 19:08:43 2005//
+/common.js/1.1/Thu Sep 22 16:22:10 2005//
+/fckxml.js/1.1/Thu Sep 22 16:22:10 2005//
 D
--- a/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/mcpuk/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/mcpuk/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,12 +1,12 @@
-/browser.css/1.1/Wed Aug 31 19:08:43 2005//
-/browser.html/1.1/Wed Aug 31 19:08:43 2005//
-/frmactualfolder.html/1.1/Wed Aug 31 19:08:43 2005//
-/frmcreatefolder.html/1.1/Wed Aug 31 19:08:43 2005//
-/frmfolders.html/1.1/Wed Aug 31 19:08:43 2005//
-/frmimageeditor.html/1.1/Wed Aug 31 19:08:43 2005//
-/frmresourceslist.html/1.1/Wed Aug 31 19:08:43 2005//
-/frmresourcetype.html/1.1/Wed Aug 31 19:08:43 2005//
-/frmupload.html/1.1/Wed Aug 31 19:08:43 2005//
 D/connectors////
 D/images////
 D/js////
+/browser.css/1.1/Thu Sep 22 16:22:10 2005//
+/browser.html/1.1/Thu Sep 22 16:22:10 2005//
+/frmactualfolder.html/1.1/Thu Sep 22 16:22:10 2005//
+/frmcreatefolder.html/1.1/Thu Sep 22 16:22:10 2005//
+/frmfolders.html/1.1/Thu Sep 22 16:22:10 2005//
+/frmimageeditor.html/1.1/Thu Sep 22 16:22:10 2005//
+/frmresourceslist.html/1.1/Thu Sep 22 16:22:10 2005//
+/frmresourcetype.html/1.1/Thu Sep 22 16:22:10 2005//
+/frmupload.html/1.1/Thu Sep 22 16:22:10 2005//
--- a/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/mcpuk/connectors/php/Auth/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/mcpuk/connectors/php/Auth/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,2 +1,2 @@
-/Default.php/1.1/Wed Aug 31 19:08:43 2005//
+/Default.php/1.1/Thu Sep 22 16:22:10 2005//
 D
--- a/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/mcpuk/connectors/php/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/mcpuk/connectors/php/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,9 +1,9 @@
-/config.php/1.1/Wed Aug 31 19:08:43 2005//
-/connector.php/1.1/Wed Aug 31 19:08:43 2005//
-/test.html.suspended/1.1/Wed Aug 31 19:08:43 2005//
-/testme.php.suspended/1.1/Wed Aug 31 19:08:43 2005//
 D/Auth////
 D/Commands////
 D/Docs////
 D/dtd////
 D/images////
+/config.php/1.1/Thu Sep 22 16:22:10 2005//
+/connector.php/1.1/Thu Sep 22 16:22:10 2005//
+/test.html.suspended/1.1/Thu Sep 22 16:22:10 2005//
+/testme.php.suspended/1.1/Thu Sep 22 16:22:10 2005//
--- a/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,11 +1,11 @@
-/CreateFolder.php/1.1/Wed Aug 31 19:08:43 2005//
-/DeleteFile.php/1.1/Wed Aug 31 19:08:43 2005//
-/DeleteFolder.php/1.1/Wed Aug 31 19:08:43 2005//
-/FileUpload.php/1.1/Wed Aug 31 19:08:43 2005//
-/GetFolders.php/1.1/Wed Aug 31 19:08:43 2005//
-/GetFoldersAndFiles.php/1.1/Wed Aug 31 19:08:43 2005//
-/GetUploadProgress.php/1.1/Wed Aug 31 19:08:43 2005//
-/RenameFile.php/1.1/Wed Aug 31 19:08:43 2005//
-/RenameFolder.php/1.1/Wed Aug 31 19:08:43 2005//
-/Thumbnail.php/1.1/Wed Aug 31 19:08:43 2005//
 D/helpers////
+/CreateFolder.php/1.1/Thu Sep 22 16:22:10 2005//
+/DeleteFile.php/1.1/Thu Sep 22 16:22:10 2005//
+/DeleteFolder.php/1.1/Thu Sep 22 16:22:10 2005//
+/FileUpload.php/1.1/Thu Sep 22 16:22:10 2005//
+/GetFolders.php/1.1/Thu Sep 22 16:22:10 2005//
+/GetFoldersAndFiles.php/1.1/Thu Sep 22 16:22:10 2005//
+/GetUploadProgress.php/1.1/Thu Sep 22 16:22:10 2005//
+/RenameFile.php/1.1/Thu Sep 22 16:22:10 2005//
+/RenameFolder.php/1.1/Thu Sep 22 16:22:10 2005//
+/Thumbnail.php/1.1/Thu Sep 22 16:22:10 2005//
--- a/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/helpers/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/helpers/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,6 +1,6 @@
-/header.cgi/1.1/Wed Aug 31 19:08:43 2005//
-/iconlookup.php/1.1/Wed Aug 31 19:08:43 2005//
-/progress.cgi/1.1/Wed Aug 31 19:08:43 2005//
-/upload.cgi/1.1/Wed Aug 31 19:08:43 2005//
-/.htaccess/1.1/Wed Sep 21 19:24:50 2005//
+/.htaccess/1.1/Mon Oct 17 19:52:52 2005//
+/header.cgi/1.1/Thu Sep 22 16:22:10 2005//
+/iconlookup.php/1.1/Thu Sep 22 16:22:10 2005//
+/progress.cgi/1.1/Thu Sep 22 16:22:10 2005//
+/upload.cgi/1.1/Thu Sep 22 16:22:10 2005//
 D
--- a/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/mcpuk/connectors/php/Docs/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/mcpuk/connectors/php/Docs/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,4 +1,4 @@
-/AuthenticationHandlers.txt/1.1/Wed Aug 31 19:08:43 2005//
-/license.txt/1.1/Wed Aug 31 19:08:43 2005//
-/readme.txt/1.1/Wed Aug 31 19:08:43 2005//
+/AuthenticationHandlers.txt/1.1/Thu Sep 22 16:22:10 2005//
+/license.txt/1.1/Thu Sep 22 16:22:10 2005//
+/readme.txt/1.1/Thu Sep 22 16:22:10 2005//
 D
--- a/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/mcpuk/connectors/php/dtd/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/mcpuk/connectors/php/dtd/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,2 +1,2 @@
-/iso-lat1.ent/1.1/Wed Aug 31 19:08:43 2005//
+/iso-lat1.ent/1.1/Thu Sep 22 16:22:10 2005//
 D
--- a/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/mcpuk/connectors/php/images/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/mcpuk/connectors/php/images/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,19 +1,19 @@
-/ascii.jpg/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/binary.jpg/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/document2.jpg/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/email.jpg/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/empty.jpg/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/html.jpg/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/image.jpg/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/info.jpg/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/kmplot.jpg/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/kmultiple.jpg/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/pdf.jpg/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/php.jpg/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/postscript.jpg/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/real_doc.jpg/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/sound.jpg/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/spreadsheet.jpg/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/tar.jpg/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/video.jpg/1.1/Wed Aug 31 19:08:43 2005/-kb/
+/ascii.jpg/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/binary.jpg/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/document2.jpg/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/email.jpg/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/empty.jpg/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/html.jpg/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/image.jpg/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/info.jpg/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/kmplot.jpg/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/kmultiple.jpg/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/pdf.jpg/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/php.jpg/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/postscript.jpg/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/real_doc.jpg/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/sound.jpg/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/spreadsheet.jpg/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/tar.jpg/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/video.jpg/1.1/Thu Sep 22 16:22:10 2005/-kb/
 D
--- a/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/mcpuk/images/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/mcpuk/images/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,16 +1,16 @@
-/2x2.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/2x2_w.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/ButtonArrow.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/Folder.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/Folder32.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/Folder96.jpg/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/FolderOpened.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/FolderOpened32.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/FolderUp.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/close.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/delete.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/edit.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/editImage.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/spacer.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
 D/icons////
 D/toolbar////
+/2x2.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/2x2_w.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/ButtonArrow.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/Folder.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/Folder32.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/Folder96.jpg/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/FolderOpened.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/FolderOpened32.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/FolderUp.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/close.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/delete.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/edit.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/editImage.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/spacer.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
--- a/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/mcpuk/images/icons/32/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/mcpuk/images/icons/32/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,27 +1,27 @@
-/ai.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/avi.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/bmp.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/cs.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/default.icon.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/dll.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/doc.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/exe.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/fla.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/gif.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/htm.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/html.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/jpg.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/js.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/mdb.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/mp3.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/pdf.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/ppt.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/rdp.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/swf.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/swt.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/txt.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/vsd.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/xls.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/xml.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/zip.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
+/ai.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/avi.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/bmp.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/cs.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/default.icon.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/dll.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/doc.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/exe.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/fla.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/gif.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/htm.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/html.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/jpg.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/js.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/mdb.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/mp3.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/pdf.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/ppt.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/rdp.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/swf.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/swt.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/txt.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/vsd.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/xls.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/xml.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/zip.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
 D
--- a/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/mcpuk/images/icons/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/mcpuk/images/icons/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,27 +1,27 @@
-/ai.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/avi.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/bmp.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/cs.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/default.icon.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/dll.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/doc.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/exe.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/fla.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/gif.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/htm.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/html.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/jpg.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/js.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/mdb.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/mp3.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/pdf.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/ppt.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/rdp.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/swf.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/swt.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/txt.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/vsd.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/xls.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/xml.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
-/zip.gif/1.1/Wed Aug 31 19:08:43 2005/-kb/
 D/32////
+/ai.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/avi.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/bmp.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/cs.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/default.icon.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/dll.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/doc.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/exe.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/fla.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/gif.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/htm.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/html.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/jpg.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/js.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/mdb.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/mp3.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/pdf.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/ppt.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/rdp.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/swf.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/swt.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/txt.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/vsd.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/xls.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/xml.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/zip.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
--- a/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/mcpuk/images/toolbar/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/mcpuk/images/toolbar/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,7 +1,7 @@
-/close.gif/1.1/Wed Aug 31 19:08:47 2005/-kb/
-/crop.gif/1.1/Wed Aug 31 19:08:47 2005/-kb/
-/flip.gif/1.1/Wed Aug 31 19:08:47 2005/-kb/
-/resize.gif/1.1/Wed Aug 31 19:08:47 2005/-kb/
-/rotate.gif/1.1/Wed Aug 31 19:08:47 2005/-kb/
-/save.gif/1.1/Wed Aug 31 19:08:47 2005/-kb/
+/close.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/crop.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/flip.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/resize.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/rotate.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/save.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
 D
--- a/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/mcpuk/js/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/mcpuk/js/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,5 +1,5 @@
-/EditorContent.js/1.1/Wed Aug 31 19:08:48 2005//
-/common.js/1.1/Wed Aug 31 19:08:48 2005//
-/fckxml.js/1.1/Wed Aug 31 19:08:48 2005//
-/wz_jsgraphics.js/1.1/Wed Aug 31 19:08:48 2005//
+/EditorContent.js/1.1/Thu Sep 22 16:22:10 2005//
+/common.js/1.1/Thu Sep 22 16:22:10 2005//
+/fckxml.js/1.1/Thu Sep 22 16:22:10 2005//
+/wz_jsgraphics.js/1.1/Thu Sep 22 16:22:10 2005//
 D
--- a/wiki/htdocs/applets/FCKeditor/editor/filemanager/upload/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/filemanager/upload/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,5 +1,5 @@
-/test.html/1.1/Wed Aug 31 19:08:48 2005//
 D/asp////
 D/aspx////
 D/lasso////
 D/php////
+/test.html/1.2/Mon Oct 17 19:52:53 2005//
--- a/wiki/htdocs/applets/FCKeditor/editor/filemanager/upload/asp/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/filemanager/upload/asp/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,5 +1,5 @@
-/class_upload.asp/1.1/Wed Aug 31 19:08:48 2005//
-/config.asp/1.1/Wed Aug 31 19:08:48 2005//
-/io.asp/1.1/Wed Aug 31 19:08:48 2005//
-/upload.asp/1.1/Wed Aug 31 19:08:48 2005//
+/class_upload.asp/1.1/Thu Sep 22 16:22:10 2005//
+/config.asp/1.1/Thu Sep 22 16:22:10 2005//
+/io.asp/1.1/Thu Sep 22 16:22:10 2005//
+/upload.asp/1.1/Thu Sep 22 16:22:10 2005//
 D
--- a/wiki/htdocs/applets/FCKeditor/editor/filemanager/upload/aspx/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/filemanager/upload/aspx/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,2 +1,2 @@
-/upload.aspx/1.1/Wed Aug 31 19:08:48 2005//
+/upload.aspx/1.1/Thu Sep 22 16:22:10 2005//
 D
--- a/wiki/htdocs/applets/FCKeditor/editor/filemanager/upload/lasso/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/filemanager/upload/lasso/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,3 +1,3 @@
-/config.lasso/1.1/Wed Aug 31 19:08:48 2005//
-/upload.lasso/1.1/Wed Aug 31 19:08:48 2005//
+/config.lasso/1.1/Thu Sep 22 16:22:10 2005//
+/upload.lasso/1.1/Thu Sep 22 16:22:10 2005//
 D
--- a/wiki/htdocs/applets/FCKeditor/editor/filemanager/upload/php/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/filemanager/upload/php/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,4 +1,4 @@
-/config.php/1.1/Wed Aug 31 19:08:48 2005//
-/upload.php/1.1/Wed Aug 31 19:08:48 2005//
-/util.php/1.1/Wed Aug 31 19:08:48 2005//
+/config.php/1.1/Thu Sep 22 16:22:10 2005//
+/upload.php/1.1/Thu Sep 22 16:22:10 2005//
+/util.php/1.1/Thu Sep 22 16:22:10 2005//
 D
--- a/wiki/htdocs/applets/FCKeditor/editor/filemanager/upload/test.html	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/filemanager/upload/test.html	Mon Oct 17 20:45:54 2005 +0000
@@ -118,7 +118,7 @@
 			</tr>
 			<tr>
 				<td height="100%">
-					<iframe name="UploadWindow" width="100%" height="100%"></iframe>
+					<iframe name="UploadWindow" width="100%" height="100%" src="../../fckblank.html"></iframe>
 				</td>
 			</tr>
 		</table>
--- a/wiki/htdocs/applets/FCKeditor/editor/images/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/images/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,3 +1,3 @@
-/anchor.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/spacer.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
 D/smiley////
+/anchor.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/spacer.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
--- a/wiki/htdocs/applets/FCKeditor/editor/images/smiley/fun/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/images/smiley/fun/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,88 +1,88 @@
-/aiua.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/ak.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/alien.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/alien2.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/angry.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/angry1.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/apophys.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/assjani.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/asthanos.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/bazuzeus.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/beaute.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/bigsmile.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/blush.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/boid.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/bonk.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/bored.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/borg.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/capo.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/confused.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/cool.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/crazy.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/cwm14.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/demis_roussos.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/devil.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/devil2.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/double0smile.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/eek3.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/eltaf.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/gele.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/halm.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/happy.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/icon12.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/icon23.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/icon26.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/icon_angel.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/icon_bandit.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/icon_bravo.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/icon_clown.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/jesors.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/jesors1.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/lol3.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/love.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/mad.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/megaphone.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/mmm.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/music.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/notify.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/nuts.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/obanon.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/ouaip.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/pleure.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/plugin.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/question.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/question2.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/rasta2.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/rastapop.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/rosebud.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/sad.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/sad2.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/shocked.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/sick.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/sick2.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/slaap.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/sleep.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/smile.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/smiley_peur.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/sors.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/sovxx.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/spamafote.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/tap67.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/thumbdown.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/thumbup.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/tigi.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/toad666.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/tongue.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/tuffgong.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/urgeman.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/vanadium.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/wink.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/worship.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/wouaf.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/wow.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/xp1700.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/yltype.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/yopyopyop.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/youpi.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
-/zoor.gif/1.1/Wed Aug 31 19:08:48 2005/-kb/
+/aiua.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/ak.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/alien.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/alien2.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/angry.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/angry1.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/apophys.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/assjani.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/asthanos.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/bazuzeus.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/beaute.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/bigsmile.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/blush.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/boid.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/bonk.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/bored.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/borg.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/capo.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/confused.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/cool.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/crazy.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/cwm14.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/demis_roussos.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/devil.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/devil2.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/double0smile.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/eek3.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/eltaf.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/gele.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/halm.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/happy.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/icon12.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/icon23.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/icon26.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/icon_angel.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/icon_bandit.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/icon_bravo.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/icon_clown.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/jesors.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/jesors1.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/lol3.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/love.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/mad.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/megaphone.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/mmm.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/music.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/notify.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/nuts.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/obanon.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/ouaip.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/pleure.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/plugin.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/question.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/question2.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/rasta2.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/rastapop.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/rosebud.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/sad.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/sad2.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/shocked.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/sick.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/sick2.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/slaap.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/sleep.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/smile.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/smiley_peur.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/sors.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/sovxx.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/spamafote.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/tap67.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/thumbdown.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/thumbup.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/tigi.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/toad666.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/tongue.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/tuffgong.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/urgeman.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/vanadium.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/wink.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/worship.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/wouaf.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/wow.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/xp1700.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/yltype.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/yopyopyop.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/youpi.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/zoor.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
 D
--- a/wiki/htdocs/applets/FCKeditor/editor/images/smiley/msn/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/images/smiley/msn/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,23 +1,23 @@
-/angel_smile.gif/1.1/Wed Aug 31 19:08:57 2005/-kb/
-/angry_smile.gif/1.1/Wed Aug 31 19:08:57 2005/-kb/
-/broken_heart.gif/1.1/Wed Aug 31 19:08:57 2005/-kb/
-/cake.gif/1.1/Wed Aug 31 19:08:57 2005/-kb/
-/confused_smile.gif/1.1/Wed Aug 31 19:08:57 2005/-kb/
-/cry_smile.gif/1.1/Wed Aug 31 19:08:57 2005/-kb/
-/devil_smile.gif/1.1/Wed Aug 31 19:08:57 2005/-kb/
-/embaressed_smile.gif/1.1/Wed Aug 31 19:08:57 2005/-kb/
-/envelope.gif/1.1/Wed Aug 31 19:08:57 2005/-kb/
-/heart.gif/1.1/Wed Aug 31 19:08:57 2005/-kb/
-/kiss.gif/1.1/Wed Aug 31 19:08:57 2005/-kb/
-/lightbulb.gif/1.1/Wed Aug 31 19:08:57 2005/-kb/
-/omg_smile.gif/1.1/Wed Aug 31 19:08:57 2005/-kb/
-/regular_smile.gif/1.1/Wed Aug 31 19:08:57 2005/-kb/
-/sad_smile.gif/1.1/Wed Aug 31 19:08:57 2005/-kb/
-/shades_smile.gif/1.1/Wed Aug 31 19:08:57 2005/-kb/
-/teeth_smile.gif/1.1/Wed Aug 31 19:08:57 2005/-kb/
-/thumbs_down.gif/1.1/Wed Aug 31 19:08:57 2005/-kb/
-/thumbs_up.gif/1.1/Wed Aug 31 19:08:57 2005/-kb/
-/tounge_smile.gif/1.1/Wed Aug 31 19:08:57 2005/-kb/
-/whatchutalkingabout_smile.gif/1.1/Wed Aug 31 19:08:57 2005/-kb/
-/wink_smile.gif/1.1/Wed Aug 31 19:08:57 2005/-kb/
+/angel_smile.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/angry_smile.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/broken_heart.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/cake.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/confused_smile.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/cry_smile.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/devil_smile.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/embaressed_smile.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/envelope.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/heart.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/kiss.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/lightbulb.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/omg_smile.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/regular_smile.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/sad_smile.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/shades_smile.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/teeth_smile.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/thumbs_down.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/thumbs_up.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/tounge_smile.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/whatchutalkingabout_smile.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
+/wink_smile.gif/1.1/Thu Sep 22 16:22:10 2005/-kb/
 D
--- a/wiki/htdocs/applets/FCKeditor/editor/js/CVS/Entries	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/js/CVS/Entries	Mon Oct 17 20:45:54 2005 +0000
@@ -1,6 +1,6 @@
-/fck_startup.js/1.2/Wed Sep 21 19:24:50 2005//
-/fckeditorcode_gecko_1.js/1.2/Wed Sep 21 19:24:50 2005//
-/fckeditorcode_gecko_2.js/1.2/Wed Sep 21 19:24:50 2005//
-/fckeditorcode_ie_1.js/1.2/Wed Sep 21 19:24:51 2005//
-/fckeditorcode_ie_2.js/1.2/Wed Sep 21 19:24:51 2005//
+/fck_startup.js/1.4/Mon Oct 17 19:52:53 2005//
+/fckeditorcode_gecko_1.js/1.4/Mon Oct 17 19:52:56 2005//
+/fckeditorcode_gecko_2.js/1.4/Mon Oct 17 19:52:57 2005//
+/fckeditorcode_ie_1.js/1.4/Mon Oct 17 19:52:57 2005//
+/fckeditorcode_ie_2.js/1.4/Mon Oct 17 19:52:58 2005//
 D
--- a/wiki/htdocs/applets/FCKeditor/editor/js/fck_startup.js	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/js/fck_startup.js	Mon Oct 17 20:45:54 2005 +0000
@@ -13,12 +13,12 @@
  * This file has been compacted for best loading performance.
  */
 var NS;if (!(NS=window.parent.__FCKeditorNS)) NS=window.parent.__FCKeditorNS=new Object();
-Array.prototype.addItem=function(item){var i=this.length;this[i]=item;return i;};Array.prototype.indexOf=function(value){for (var i=0;i<this.length;i++){if (this[i]==value) return i;};return-1;};String.prototype.startsWith=function(value){return (this.substr(0,value.length)==value);};String.prototype.endsWith=function(value,ignoreCase){var L1=this.length;var L2=value.length;if (L2>L1) return false;if (ignoreCase){var oRegex=new RegExp(value+'$','i');return oRegex.test(this);}else return (L2==0||this.substr(L1-L2,L2)==value);};String.prototype.remove=function(start,length){var s='';if (start>0) s=this.substring(0,start);if (start+length<this.length) s+=this.substring(start+length,this.length);return s;};String.prototype.trim=function(){return this.replace(/(^\s*)|(\s*$)/g,'');};String.prototype.ltrim=function(){return this.replace(/^\s*/g,'');};String.prototype.rtrim=function(){return this.replace(/\s*$/g,'');};String.prototype.replaceNewLineChars=function(replacement){return this.replace(/\n/g,replacement);}
-FCK_STATUS_NOTLOADED=window.parent.FCK_STATUS_NOTLOADED=0;FCK_STATUS_ACTIVE=window.parent.FCK_STATUS_ACTIVE=1;FCK_STATUS_COMPLETE=window.parent.FCK_STATUS_COMPLETE=2;FCK_TRISTATE_OFF=window.parent.FCK_TRISTATE_OFF=0;FCK_TRISTATE_ON=window.parent.FCK_TRISTATE_ON=1;FCK_TRISTATE_DISABLED=window.parent.FCK_TRISTATE_DISABLED=-1;FCK_UNKNOWN=window.parent.FCK_UNKNOWN=-1000;FCK_TOOLBARITEM_ONLYICON=window.parent.FCK_TOOLBARITEM_ONLYTEXT=0;FCK_TOOLBARITEM_ONLYTEXT=window.parent.FCK_TOOLBARITEM_ONLYTEXT=1;FCK_TOOLBARITEM_ICONTEXT=window.parent.FCK_TOOLBARITEM_ONLYTEXT=2;FCK_EDITMODE_WYSIWYG=window.parent.FCK_EDITMODE_WYSIWYG=0;FCK_EDITMODE_SOURCE=window.parent.FCK_EDITMODE_SOURCE=1;
+Array.prototype.addItem=function(A){var i=this.length;this[i]=A;return i;};Array.prototype.indexOf=function(A){for (var i=0;i<this.length;i++){if (this[i]==A) return i;};return-1;};String.prototype.startsWith=function(A){return (this.substr(0,A.length)==A);};String.prototype.endsWith=function(A,B){var C=this.length;var D=A.length;if (D>C) return false;if (B){var E=new RegExp(A+'$','i');return E.test(this);}else return (D==0||this.substr(C-D,D)==A);};String.prototype.remove=function(A,B){var s='';if (A>0) s=this.substring(0,A);if (A+B<this.length) s+=this.substring(A+B,this.length);return s;};String.prototype.trim=function(){return this.replace(/(^\s*)|(\s*$)/g,'');};String.prototype.ltrim=function(){return this.replace(/^\s*/g,'');};String.prototype.rtrim=function(){return this.replace(/\s*$/g,'');};String.prototype.replaceNewLineChars=function(A){return this.replace(/\n/g,A);}
+var FCK_STATUS_NOTLOADED=window.parent.FCK_STATUS_NOTLOADED=0;var FCK_STATUS_ACTIVE=window.parent.FCK_STATUS_ACTIVE=1;var FCK_STATUS_COMPLETE=window.parent.FCK_STATUS_COMPLETE=2;var FCK_TRISTATE_OFF=window.parent.FCK_TRISTATE_OFF=0;var FCK_TRISTATE_ON=window.parent.FCK_TRISTATE_ON=1;var FCK_TRISTATE_DISABLED=window.parent.FCK_TRISTATE_DISABLED=-1;var FCK_UNKNOWN=window.parent.FCK_UNKNOWN=-1000;var FCK_TOOLBARITEM_ONLYICON=window.parent.FCK_TOOLBARITEM_ONLYTEXT=0;var FCK_TOOLBARITEM_ONLYTEXT=window.parent.FCK_TOOLBARITEM_ONLYTEXT=1;var FCK_TOOLBARITEM_ICONTEXT=window.parent.FCK_TOOLBARITEM_ONLYTEXT=2;var FCK_EDITMODE_WYSIWYG=window.parent.FCK_EDITMODE_WYSIWYG=0;var FCK_EDITMODE_SOURCE=window.parent.FCK_EDITMODE_SOURCE=1;
 var FCKBrowserInfo;if (!(FCKBrowserInfo=NS.FCKBrowserInfo)){FCKBrowserInfo=NS.FCKBrowserInfo=new Object();var sAgent=navigator.userAgent.toLowerCase();FCKBrowserInfo.IsIE=(sAgent.indexOf("msie")!=-1);FCKBrowserInfo.IsGecko=!FCKBrowserInfo.IsIE;FCKBrowserInfo.IsSafari=(sAgent.indexOf("safari")!=-1);FCKBrowserInfo.IsNetscape=(sAgent.indexOf("netscape")!=-1);};
-var FCKScriptLoader=new Object();FCKScriptLoader.IsLoading=false;FCKScriptLoader.Queue=new Array();FCKScriptLoader.AddScript=function(scriptPath){FCKScriptLoader.Queue[FCKScriptLoader.Queue.length]=scriptPath;if (!this.IsLoading) this.CheckQueue();};FCKScriptLoader.CheckQueue=function(){if (this.Queue.length>0){this.IsLoading=true;var sScriptPath=this.Queue[0];var oTempArray=new Array();for (i=1;i<this.Queue.length;i++) oTempArray[i-1]=this.Queue[i];this.Queue=oTempArray;this.LoadFile(sScriptPath);}else{this.IsLoading=false;if (this.OnEmpty) this.OnEmpty();};};if (FCKBrowserInfo.IsSafari){FCKScriptLoader.LoadFile=function(filePath){if (filePath.lastIndexOf('.css')>0){this.CheckQueue();return;};var oXmlRequest=new XMLHttpRequest();oXmlRequest.open("GET",filePath,false);oXmlRequest.send(null);if (oXmlRequest.status==200){try{eval(oXmlRequest.responseText);}catch (e){alert('Error parsing '+filePath+': '+e.message);};}else alert('Error loading '+filePath);this.CheckQueue();};}else{FCKScriptLoader.LoadFile=function(filePath){var e;if (filePath.lastIndexOf('.css')>0){e=document.createElement('LINK');e.rel='stylesheet';e.type='text/css';}else{e=document.createElement("script");e.type="text/javascript";};document.getElementsByTagName("head")[0].appendChild(e);if (e.tagName=='LINK'){if (FCKBrowserInfo.IsIE) e.onload=FCKScriptLoader_OnLoad;else FCKScriptLoader.CheckQueue();e.href=filePath;}else{e.onload=e.onreadystatechange=FCKScriptLoader_OnLoad;e.src=filePath;};};function FCKScriptLoader_OnLoad(){if (this.tagName=='LINK'||!this.readyState||this.readyState=='loaded') FCKScriptLoader.CheckQueue();};}
-var FCKURLParams=new Object();var aParams=document.location.search.substr(1).split('&');for (i=0;i<aParams.length;i++){var aParam=aParams[i].split('=');var sParamName=aParam[0];var sParamValue=aParam[1];FCKURLParams[sParamName]=sParamValue;}
-var FCK=new Object();FCK.Name=FCKURLParams['InstanceName'];FCK.Status=FCK_STATUS_NOTLOADED;FCK.EditMode=FCK_EDITMODE_WYSIWYG;var aElements=window.parent.document.getElementsByName(FCK.Name);aElements[aElements.length]=window.parent.document.getElementById(FCK.Name);var i=0;while (FCK.LinkedField=aElements[i++]){if (FCK.LinkedField.tagName=='INPUT'||FCK.LinkedField.tagName=='TEXTAREA') break;};var FCKTempBin=new Object();FCKTempBin.Elements=new Array();FCKTempBin.AddElement=function(element){var iIndex=FCKTempBin.Elements.length;FCKTempBin.Elements[iIndex]=element;return iIndex;};FCKTempBin.RemoveElement=function(index){var e=FCKTempBin.Elements[index];FCKTempBin.Elements[index]=null;return e;};FCKTempBin.Reset=function(){var i=0;while (i<FCKTempBin.Elements.length) FCKTempBin.Elements[i++]==null;FCKTempBin.Elements.length=0;}
-var FCKConfig=FCK.Config=new Object();if (document.location.protocol=='file:'){FCKConfig.BasePath=document.location.pathname.substr(1);FCKConfig.BasePath=FCKConfig.BasePath.replace(/\\/gi,'/');FCKConfig.BasePath='file://'+FCKConfig.BasePath.substring(0,FCKConfig.BasePath.lastIndexOf('/')+1);}else{FCKConfig.BasePath=document.location.pathname.substring(0,document.location.pathname.lastIndexOf('/')+1);FCKConfig.FullBasePath=document.location.protocol+'//'+document.location.host+FCKConfig.BasePath;};FCKConfig.EditorPath=FCKConfig.BasePath.replace(/editor\/$/,'');try{FCKConfig.ScreenWidth=screen.width;FCKConfig.ScreenHeight=screen.height;}catch (e){FCKConfig.ScreenWidth=800;FCKConfig.ScreenHeight=600;};FCKConfig.ProcessHiddenField=function(){this.PageConfig=new Object();var oConfigField=window.parent.document.getElementById(FCK.Name+'___Config');if (!oConfigField) return;var aCouples=oConfigField.value.split('&');for (var i=0;i<aCouples.length;i++){if (aCouples[i].length==0) continue;var aConfig=aCouples[i].split('=');var sKey=unescape(aConfig[0]);var sVal=unescape(aConfig[1]);if (sKey=='CustomConfigurationsPath') FCKConfig[sKey]=sVal;else if (sVal.toLowerCase()=="true") this.PageConfig[sKey]=true;else if (sVal.toLowerCase()=="false") this.PageConfig[sKey]=false;else if (!isNaN(sVal)) this.PageConfig[sKey]=parseInt(sVal);else this.PageConfig[sKey]=sVal;};};FCKConfig.LoadPageConfig=function(){for (var sKey in this.PageConfig) FCKConfig[sKey]=this.PageConfig[sKey];};FCKConfig.ToolbarSets=new Object();FCKConfig.Plugins=new Object();FCKConfig.Plugins.Items=new Array();FCKConfig.Plugins.Add=function(name,langs,path){FCKConfig.Plugins.Items.addItem([name,langs,path]);};FCKConfig.ProtectedSource=new Object();FCKConfig.ProtectedSource.RegexEntries=new Array();FCKConfig.ProtectedSource.Add=function(regexPattern){this.RegexEntries.addItem(regexPattern);};FCKConfig.ProtectedSource.Protect=function(html){function _Replace(protectedSource){var index=FCKTempBin.AddElement(protectedSource);return '<!--{PS..'+index+'}-->';};for (var i=0;i<this.RegexEntries.length;i++){html=html.replace(this.RegexEntries[i],_Replace);};return html;};FCKConfig.ProtectedSource.Revert=function(html,clearBin){function _Replace(m,index){if (clearBin) return FCKTempBin.RemoveElement(index);else return FCKTempBin.Elements[index];};return html.replace(/<!--\{PS..(\d+)\}-->/g,_Replace);}
-var FCKeditorAPI;function FCKeditorAPI_GetInstance(instanceName){return this.__Instances[instanceName];};if (!window.parent.FCKeditorAPI){FCKeditorAPI=window.parent.FCKeditorAPI=new Object();FCKeditorAPI.__Instances=new Object();FCKeditorAPI.Version='2.1 PR';FCKeditorAPI.GetInstance=FCKeditorAPI_GetInstance;}else FCKeditorAPI=window.parent.FCKeditorAPI;FCKeditorAPI.__Instances[FCK.Name]=FCK;
-function Window_OnContextMenu(e){if (e) e.preventDefault();else{if (event.srcElement==document.getElementById('eSourceField')) return true;};return false;};window.document.oncontextmenu=Window_OnContextMenu;if (FCKBrowserInfo.IsGecko){function Window_OnResize(){var oFrame=document.getElementById('eEditorArea');oFrame.height=0;var oCell=document.getElementById(FCK.EditMode==FCK_EDITMODE_WYSIWYG?'eWysiwygCell':'eSource');var iHeight=oCell.offsetHeight;oFrame.height=iHeight-2;};window.onresize=Window_OnResize;};if (FCKBrowserInfo.IsIE){var aCleanupDocs=new Array();aCleanupDocs[0]=document;function Window_OnBeforeUnload(){var d,e;var j=0;while (d=aCleanupDocs[j++]){var i=0;while (e=d.getElementsByTagName("DIV").item(i++)){if (e.FCKToolbarButton) e.FCKToolbarButton=null;if (e.FCKSpecialCombo) e.FCKSpecialCombo=null;if (e.Command) e.Command=null;};i=0;while (e=d.getElementsByTagName("TR").item(i++)){if (e.FCKContextMenuItem) e.FCKContextMenuItem=null;};aCleanupDocs[j]=null;};if (typeof(FCKTempBin)!='undefined') FCKTempBin.Reset();};window.attachEvent("onunload",Window_OnBeforeUnload);};function Window_OnLoad(){if (FCKBrowserInfo.IsNetscape) document.getElementById('eWysiwygCell').style.paddingRight='2px';LoadConfigFile();};window.onload=Window_OnLoad;function LoadConfigFile(){FCKScriptLoader.OnEmpty=ProcessHiddenField;FCKScriptLoader.AddScript('../fckconfig.js');};function ProcessHiddenField(){FCKConfig.ProcessHiddenField();LoadCustomConfigFile();};function LoadCustomConfigFile(){if (FCKConfig.CustomConfigurationsPath.length>0){FCKScriptLoader.OnEmpty=LoadPageConfig;FCKScriptLoader.AddScript(FCKConfig.CustomConfigurationsPath);}else{LoadPageConfig();};};function LoadPageConfig(){FCKConfig.LoadPageConfig();LoadStyles();};function LoadStyles(){FCKScriptLoader.OnEmpty=LoadScripts;FCKScriptLoader.AddScript(FCKConfig.SkinPath+'fck_editor.css');FCKScriptLoader.AddScript(FCKConfig.SkinPath+'fck_contextmenu.css');};function LoadScripts(){FCKScriptLoader.OnEmpty=null;if (FCKBrowserInfo.IsIE) FCKScriptLoader.AddScript('js/fckeditorcode_ie_1.js');else FCKScriptLoader.AddScript('js/fckeditorcode_gecko_1.js');};function LoadLanguageFile(){FCKScriptLoader.OnEmpty=LoadEditor;FCKScriptLoader.AddScript('lang/'+FCKLanguageManager.ActiveLanguage.Code+'.js');};function LoadEditor(){FCKScriptLoader.OnEmpty=null;if (FCKLang) window.document.dir=FCKLang.Dir;FCK.StartEditor();}
+var FCKScriptLoader=new Object();FCKScriptLoader.IsLoading=false;FCKScriptLoader.Queue=new Array();FCKScriptLoader.AddScript=function(A){FCKScriptLoader.Queue[FCKScriptLoader.Queue.length]=A;if (!this.IsLoading) this.CheckQueue();};FCKScriptLoader.CheckQueue=function(){if (this.Queue.length>0){this.IsLoading=true;var A=this.Queue[0];var B=new Array();for (i=1;i<this.Queue.length;i++) B[i-1]=this.Queue[i];this.Queue=B;this.LoadFile(A);}else{this.IsLoading=false;if (this.OnEmpty) this.OnEmpty();};};if (FCKBrowserInfo.IsSafari){FCKScriptLoader.LoadFile=function(A){if (A.lastIndexOf('.css')>0){this.CheckQueue();return;};var B=new XMLHttpRequest();B.open("GET",A,false);B.send(null);if (B.status==200){try{eval(B.responseText);}catch (e){alert('Error parsing '+A+': '+e.message);};}else alert('Error loading '+A);this.CheckQueue();};}else{FCKScriptLoader.LoadFile=function(A){var e;if (A.lastIndexOf('.css')>0){e=document.createElement('LINK');e.rel='stylesheet';e.type='text/css';}else{e=document.createElement("script");e.type="text/javascript";};document.getElementsByTagName("head")[0].appendChild(e);if (e.tagName=='LINK'){if (FCKBrowserInfo.IsIE) e.onload=FCKScriptLoader_OnLoad;else FCKScriptLoader.CheckQueue();e.href=A;}else{e.onload=e.onreadystatechange=FCKScriptLoader_OnLoad;e.src=A;};};function FCKScriptLoader_OnLoad(){if (this.tagName=='LINK'||!this.readyState||this.readyState=='loaded') FCKScriptLoader.CheckQueue();};}
+var FCKURLParams=new Object();var aParams=document.location.search.substr(1).split('&');for (var i=0;i<aParams.length;i++){var aParam=aParams[i].split('=');var sParamName=aParam[0];var sParamValue=aParam[1];FCKURLParams[sParamName]=sParamValue;}
+var FCK=new Object();FCK.Name=FCKURLParams['InstanceName'];FCK.Status=FCK_STATUS_NOTLOADED;FCK.EditMode=FCK_EDITMODE_WYSIWYG;var aElements=window.parent.document.getElementsByName(FCK.Name);aElements[aElements.length]=window.parent.document.getElementById(FCK.Name);var i=0;while ((FCK.LinkedField=aElements[i++])){if (FCK.LinkedField.tagName=='INPUT'||FCK.LinkedField.tagName=='TEXTAREA') break;};var FCKTempBin=new Object();FCKTempBin.Elements=new Array();FCKTempBin.AddElement=function(A){var B=FCKTempBin.Elements.length;FCKTempBin.Elements[B]=A;return B;};FCKTempBin.RemoveElement=function(A){var e=FCKTempBin.Elements[A];FCKTempBin.Elements[A]=null;return e;};FCKTempBin.Reset=function(){var i=0;while (i<FCKTempBin.Elements.length) FCKTempBin.Elements[i++]==null;FCKTempBin.Elements.length=0;}
+var FCKConfig=FCK.Config=new Object();if (document.location.protocol=='file:'){FCKConfig.BasePath=document.location.pathname.substr(1);FCKConfig.BasePath=FCKConfig.BasePath.replace(/\\/gi, '/');FCKConfig.BasePath='file://'+FCKConfig.BasePath.substring(0,FCKConfig.BasePath.lastIndexOf('/')+1);}else{FCKConfig.BasePath=document.location.pathname.substring(0,document.location.pathname.lastIndexOf('/')+1);FCKConfig.FullBasePath=document.location.protocol+'//'+document.location.host+FCKConfig.BasePath;};FCKConfig.EditorPath=FCKConfig.BasePath.replace(/editor\/$/,'');try{FCKConfig.ScreenWidth=screen.width;FCKConfig.ScreenHeight=screen.height;}catch (e){FCKConfig.ScreenWidth=800;FCKConfig.ScreenHeight=600;};FCKConfig.ProcessHiddenField=function(){this.PageConfig=new Object();var A=window.parent.document.getElementById(FCK.Name+'___Config');if (!A) return;var B=A.value.split('&');for (var i=0;i<B.length;i++){if (B[i].length==0) continue;var C=B[i].split('=');var D=unescape(C[0]);var E=unescape(C[1]);if (D=='CustomConfigurationsPath') FCKConfig[D]=E;else if (E.toLowerCase()=="true") this.PageConfig[D]=true;else if (E.toLowerCase()=="false") this.PageConfig[D]=false;else if (!isNaN(E)) this.PageConfig[D]=parseInt(E);else this.PageConfig[D]=E;};};FCKConfig.LoadPageConfig=function(){for (var A in this.PageConfig) FCKConfig[A]=this.PageConfig[A];};FCKConfig.ToolbarSets=new Object();FCKConfig.Plugins=new Object();FCKConfig.Plugins.Items=new Array();FCKConfig.Plugins.Add=function(A,B,C){FCKConfig.Plugins.Items.addItem([A,B,C]);};FCKConfig.ProtectedSource=new Object();FCKConfig.ProtectedSource.RegexEntries=new Array();FCKConfig.ProtectedSource.Add=function(A){this.RegexEntries.addItem(A);};FCKConfig.ProtectedSource.Protect=function(A){function _Replace(protectedSource){var B=FCKTempBin.AddElement(protectedSource);return '<!--{PS..'+B+'}-->';};for (var i=0;i<this.RegexEntries.length;i++){A=A.replace(this.RegexEntries[i],_Replace);};return A;};FCKConfig.ProtectedSource.Revert=function(A,B){function _Replace(m,opener,index){var C=B?FCKTempBin.RemoveElement(index):FCKTempBin.Elements[index];return FCKConfig.ProtectedSource.Revert(C,B);};return A.replace(/(<|&lt;)!--\{PS..(\d+)\}--(>|&gt;)/g,_Replace);};FCKConfig.ProtectedSource.Add(/<!--[\s\S]*?-->/g);
+var FCKeditorAPI;function FCKeditorAPI_GetInstance(instanceName){return this.__Instances[instanceName];};if (!window.parent.FCKeditorAPI){FCKeditorAPI=window.parent.FCKeditorAPI=new Object();FCKeditorAPI.__Instances=new Object();FCKeditorAPI.Version='2.1';FCKeditorAPI.GetInstance=FCKeditorAPI_GetInstance;}else FCKeditorAPI=window.parent.FCKeditorAPI;FCKeditorAPI.__Instances[FCK.Name]=FCK;
+function Window_OnContextMenu(e){if (e) e.preventDefault();else{if (event.srcElement==document.getElementById('eSourceField')) return true;};return false;};window.document.oncontextmenu=Window_OnContextMenu;if (FCKBrowserInfo.IsGecko){function Window_OnResize(){var oFrame=document.getElementById('eEditorArea');oFrame.height=0;var oCell=document.getElementById(FCK.EditMode==FCK_EDITMODE_WYSIWYG?'eWysiwygCell':'eSource');var iHeight=oCell.offsetHeight;oFrame.height=iHeight-2;};window.onresize=Window_OnResize;};if (FCKBrowserInfo.IsIE){var aCleanupDocs=new Array();aCleanupDocs[0]=document;function Window_OnBeforeUnload(){var d,e;var j=0;while ((d=aCleanupDocs[j++])){var i=0;while ((e=d.getElementsByTagName("DIV").item(i++))){if (e.FCKToolbarButton) e.FCKToolbarButton=null;if (e.FCKSpecialCombo) e.FCKSpecialCombo=null;if (e.Command) e.Command=null;};i=0;while ((e=d.getElementsByTagName("TR").item(i++))){if (e.FCKContextMenuItem) e.FCKContextMenuItem=null;};aCleanupDocs[j]=null;};if (typeof(FCKTempBin)!='undefined') FCKTempBin.Reset();};window.attachEvent("onunload",Window_OnBeforeUnload);};function Window_OnLoad(){if (FCKBrowserInfo.IsNetscape) document.getElementById('eWysiwygCell').style.paddingRight='2px';LoadConfigFile();};window.onload=Window_OnLoad;function LoadConfigFile(){FCKScriptLoader.OnEmpty=ProcessHiddenField;FCKScriptLoader.AddScript('../fckconfig.js');};function ProcessHiddenField(){FCKConfig.ProcessHiddenField();LoadCustomConfigFile();};function LoadCustomConfigFile(){if (FCKConfig.CustomConfigurationsPath.length>0){FCKScriptLoader.OnEmpty=LoadPageConfig;FCKScriptLoader.AddScript(FCKConfig.CustomConfigurationsPath);}else{LoadPageConfig();};};function LoadPageConfig(){FCKConfig.LoadPageConfig();LoadStyles();};function LoadStyles(){FCKScriptLoader.OnEmpty=LoadScripts;FCKScriptLoader.AddScript(FCKConfig.SkinPath+'fck_editor.css');FCKScriptLoader.AddScript(FCKConfig.SkinPath+'fck_contextmenu.css');};function LoadScripts(){FCKScriptLoader.OnEmpty=null;if (FCKBrowserInfo.IsIE) FCKScriptLoader.AddScript('js/fckeditorcode_ie_1.js');else FCKScriptLoader.AddScript('js/fckeditorcode_gecko_1.js');};function LoadLanguageFile(){FCKScriptLoader.OnEmpty=LoadEditor;FCKScriptLoader.AddScript('lang/'+FCKLanguageManager.ActiveLanguage.Code+'.js');};function LoadEditor(){FCKScriptLoader.OnEmpty=null;if (FCKLang) window.document.dir=FCKLang.Dir;FCK.StartEditor();}
--- a/wiki/htdocs/applets/FCKeditor/editor/js/fckeditorcode_gecko_1.js	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/js/fckeditorcode_gecko_1.js	Mon Oct 17 20:45:54 2005 +0000
@@ -12,16 +12,16 @@
  * 
  * This file has been compacted for best loading performance.
  */
-var FCKDebug=new Object();if (FCKConfig.Debug){FCKDebug.Output=function(message,color){if (!FCKConfig.Debug) return;if (message!=null&&isNaN(message)) message=message.replace(/</g,"&lt;");if (!this.DebugWindow||this.DebugWindow.closed) this.DebugWindow=window.open('fckdebug.html','FCKeditorDebug','menubar=no,scrollbars=no,resizable=yes,location=no,toolbar=no,width=600,height=500',true);if (this.DebugWindow.Output) this.DebugWindow.Output(message,color);};}else FCKDebug.Output=function() {};
-var FCKTools=new Object();FCKTools.GetLinkedFieldValue=function(){return FCK.LinkedField.value;};FCKTools.AttachToLinkedFieldFormSubmit=function(functionPointer){var oForm=FCK.LinkedField.form;if (!oForm) return;if (FCKBrowserInfo.IsIE) oForm.attachEvent("onsubmit",functionPointer);else oForm.addEventListener('submit',functionPointer,true);if (!oForm.updateFCKeditor) oForm.updateFCKeditor=new Array();oForm.updateFCKeditor[oForm.updateFCKeditor.length]=functionPointer;if (!oForm.originalSubmit&&(typeof(oForm.submit)=='function'||(!oForm.submit.tagName&&!oForm.submit.length))){oForm.originalSubmit=oForm.submit;oForm.submit=FCKTools_SubmitReplacer;};};function FCKTools_SubmitReplacer(){if (this.updateFCKeditor){for (var i=0;i<this.updateFCKeditor.length;i++) this.updateFCKeditor[i]();};this.originalSubmit();};FCKTools.AddSelectOption=function(targetDocument,selectElement,optionText,optionValue){var oOption=targetDocument.createElement("OPTION");oOption.text=optionText;oOption.value=optionValue;selectElement.options.add(oOption);return oOption;};FCKTools.RemoveAllSelectOptions=function(selectElement){for (var i=selectElement.options.length-1;i>=0;i--){selectElement.options.remove(i);};};FCKTools.SelectNoCase=function(selectElement,value,defaultValue){var sNoCaseValue=value.toString().toLowerCase();for (var i=0;i<selectElement.options.length;i++){if (sNoCaseValue==selectElement.options[i].value.toLowerCase()){selectElement.selectedIndex=i;return;};};if (defaultValue!=null) FCKTools.SelectNoCase(selectElement,defaultValue);};FCKTools.HTMLEncode=function(text){if (!text) return '';text=text.replace(/&/g,"&amp;");text=text.replace(/"/g,"&quot;");text=text.replace(/</g,"&lt;");text=text.replace(/>/g,"&gt;");text=text.replace(/'/g,"&#39;");return text;};FCKTools.GetResultingArray=function(arraySource,separator){switch (typeof(arraySource)){case "string":return arraySource.split(separator);case "function":return separator();default:if (isArray(arraySource)) return arraySource;else return new Array();};};FCKTools.GetElementPosition=function(el){var c={ X:0,Y:0 };while (el){c.X+=el.offsetLeft;c.Y+=el.offsetTop;el=el.offsetParent;};return c;};FCKTools.GetElementAscensor=function(element,ascensorTagName){var e=element.parentNode;while (e){if (e.nodeName==ascensorTagName) return e;e=e.parentNode;};};FCKTools.Pause=function(miliseconds){var oStart=new Date();while (true){var oNow=new Date();if (miliseconds<oNow-oStart) return;};};FCKTools.ConvertStyleSizeToHtml=function(size){return size.endsWith('%')?size:parseInt(size);};FCKTools.ConvertHtmlSizeToStyle=function(size){return size.endsWith('%')?size:(size+'px');}
-FCKTools.AppendStyleSheet=function(documentElement,cssFileUrl){var e=documentElement.createElement('LINK');e.rel='stylesheet';e.type='text/css';e.href=cssFileUrl;documentElement.getElementsByTagName("HEAD")[0].appendChild(e);return e;};FCKTools.ClearElementAttributes=function(element){for (var i=0;i<element.attributes.length;i++){element.removeAttribute(element.attributes[i].name,0);};};FCKTools.GetAllChildrenIds=function(parentElement){var aIds=new Array();var fGetIds=function(parent){for (var i=0;i<parent.childNodes.length;i++){var sId=parent.childNodes[i].id;if (sId&&sId.length>0) aIds[aIds.length]=sId;fGetIds(parent.childNodes[i]);};};fGetIds(parentElement);return aIds;};FCKTools.RemoveOuterTags=function(e){var oFragment=e.ownerDocument.createDocumentFragment();for (var i=0;i<e.childNodes.length;i++) oFragment.appendChild(e.childNodes[i]);e.parentNode.replaceChild(oFragment,e);};FCKTools.CreateXmlObject=function(object){switch (object){case 'XmlHttp':return new XMLHttpRequest();case 'DOMDocument':return document.implementation.createDocument('','',null);};}
-var FCKRegexLib=new Object();FCKRegexLib.AposEntity=/&apos;/gi;FCKRegexLib.ObjectElements=/^(?:IMG|TABLE|TR|TD|INPUT|SELECT|TEXTAREA|HR|OBJECT)$/i;FCKRegexLib.BlockElements=/^(?:P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TD)$/i;FCKRegexLib.EmptyElements=/^(?:BASE|META|LINK|HR|BR|PARAM|IMG|AREA|INPUT)$/i;FCKRegexLib.NamedCommands=/^(?:Cut|Copy|Paste|Print|SelectAll|RemoveFormat|Unlink|Undo|Redo|Bold|Italic|Underline|StrikeThrough|Subscript|Superscript|JustifyLeft|JustifyCenter|JustifyRight|JustifyFull|Outdent|Indent|InsertOrderedList|InsertUnorderedList|InsertHorizontalRule)$/i;FCKRegexLib.BodyContents=/([\s\S]*\<body[^\>]*\>)([\s\S]*)(\<\/body\>[\s\S]*)/i;FCKRegexLib.ToReplace=/___fcktoreplace:([\w]+)/ig;FCKRegexLib.MetaHttpEquiv=/http-equiv\s*=\s*["']?([^"' ]+)/i;FCKRegexLib.HasBaseTag=/<base /i;FCKRegexLib.HeadCloser=/<\/head\s*>/i;FCKRegexLib.TableBorderClass=/\s*FCK__ShowTableBorders\s*/;FCKRegexLib.ElementName=/^[A-Za-z_:][\w.-:]*$/;FCKRegexLib.ForceSimpleAmpersand=/___FCKAmp___/g;FCKRegexLib.SpaceNoClose=/\/>/g;FCKRegexLib.EmptyParagraph=/^<(p|div)>\s*<\/\1>$/i;FCKRegexLib.TagBody=/></;
-FCKLanguageManager.GetActiveLanguage=function(){if (FCKConfig.AutoDetectLanguage){var sUserLang;if (navigator.userLanguage) sUserLang=navigator.userLanguage.toLowerCase();else if (navigator.language) sUserLang=navigator.language.toLowerCase();else{return FCKConfig.DefaultLanguage;};if (sUserLang.length>=5){sUserLang=sUserLang.substr(0,5);if (this.AvailableLanguages[sUserLang]) return sUserLang;};if (sUserLang.length>=2){sUserLang=sUserLang.substr(0,2);if (this.AvailableLanguages[sUserLang]) return sUserLang;};};return this.DefaultLanguage;};FCKLanguageManager.TranslateElements=function(targetDocument,tag,propertyToSet){var aInputs=targetDocument.getElementsByTagName(tag);for (var i=0;i<aInputs.length;i++){var sKey=aInputs[i].getAttribute('fckLang');if (sKey){var s=FCKLang[sKey];if (s) eval('aInputs[i].'+propertyToSet+' = s');};};};FCKLanguageManager.TranslatePage=function(targetDocument){this.TranslateElements(targetDocument,'INPUT','value');this.TranslateElements(targetDocument,'SPAN','innerHTML');this.TranslateElements(targetDocument,'LABEL','innerHTML');this.TranslateElements(targetDocument,'OPTION','innerHTML');};if (FCKLanguageManager.AvailableLanguages[FCKConfig.DefaultLanguage]) FCKLanguageManager.DefaultLanguage=FCKConfig.DefaultLanguage;else FCKLanguageManager.DefaultLanguage='en';FCKLanguageManager.ActiveLanguage=new Object();FCKLanguageManager.ActiveLanguage.Code=FCKLanguageManager.GetActiveLanguage();FCKLanguageManager.ActiveLanguage.Name=FCKLanguageManager.AvailableLanguages[FCKLanguageManager.ActiveLanguage.Code];FCK.Language=FCKLanguageManager;LoadLanguageFile();
-var FCKEvents;if (!(FCKEvents=NS.FCKEvents)){FCKEvents=NS.FCKEvents=function(eventsOwner){this.Owner=eventsOwner;this.RegisteredEvents=new Object();};FCKEvents.prototype.AttachEvent=function(eventName,functionPointer){if (!this.RegisteredEvents[eventName]) this.RegisteredEvents[eventName]=new Array();this.RegisteredEvents[eventName][this.RegisteredEvents[eventName].length]=functionPointer;};FCKEvents.prototype.FireEvent=function(eventName,params){var bReturnValue=true;var oCalls=this.RegisteredEvents[eventName];if (oCalls){for (var i=0;i<oCalls.length;i++) bReturnValue=(oCalls[i](this.Owner,params)&&bReturnValue);};return bReturnValue;};}
-if (FCKConfig.ProcessHTMLEntities){FCKXHtmlEntities=new Object();FCKXHtmlEntities.Entities={' ':'nbsp','¡':'iexcl','¢':'cent','£':'pound','¤':'curren','¥':'yen','¦':'brvbar','§':'sect','¨':'uml','©':'copy','ª':'ordf','«':'laquo','¬':'not','­':'shy','®':'reg','¯':'macr','°':'deg','±':'plusmn','²':'sup2','³':'sup3','´':'acute','µ':'micro','¶':'para','·':'middot','¸':'cedil','¹':'sup1','º':'ordm','»':'raquo','¼':'frac14','½':'frac12','¾':'frac34','¿':'iquest','×':'times','÷':'divide','ƒ':'fnof','•':'bull','…':'hellip','′':'prime','″':'Prime','‾':'oline','⁄':'frasl','℘':'weierp','ℑ':'image','ℜ':'real','™':'trade','ℵ':'alefsym','←':'larr','↑':'uarr','→':'rarr','↓':'darr','↔':'harr','↵':'crarr','⇐':'lArr','⇑':'uArr','⇒':'rArr','⇓':'dArr','⇔':'hArr','∀':'forall','∂':'part','∃':'exist','∅':'empty','∇':'nabla','∈':'isin','∉':'notin','∋':'ni','∏':'prod','∑':'sum','−':'minus','∗':'lowast','√':'radic','∝':'prop','∞':'infin','∠':'ang','∧':'and','∨':'or','∩':'cap','∪':'cup','∫':'int','∴':'there4','∼':'sim','≅':'cong','≈':'asymp','≠':'ne','≡':'equiv','≤':'le','≥':'ge','⊂':'sub','⊃':'sup','⊄':'nsub','⊆':'sube','⊇':'supe','⊕':'oplus','⊗':'otimes','⊥':'perp','⋅':'sdot','◊':'loz','♠':'spades','♣':'clubs','♥':'hearts','♦':'diams','"':'quot','ˆ':'circ','˜':'tilde',' ':'ensp',' ':'emsp',' ':'thinsp','‌':'zwnj','‍':'zwj','‎':'lrm','‏':'rlm','–':'ndash','—':'mdash','‘':'lsquo','’':'rsquo','‚':'sbquo','“':'ldquo','”':'rdquo','„':'bdquo','†':'dagger','‡':'Dagger','‰':'permil','‹':'lsaquo','›':'rsaquo','€':'euro'};FCKXHtmlEntities.Chars='';for (var e in FCKXHtmlEntities.Entities) FCKXHtmlEntities.Chars+=e;if (FCKConfig.IncludeLatinEntities){var oEntities={'À':'Agrave','Á':'Aacute','Â':'Acirc','Ã':'Atilde','Ä':'Auml','Å':'Aring','Æ':'AElig','Ç':'Ccedil','È':'Egrave','É':'Eacute','Ê':'Ecirc','Ë':'Euml','Ì':'Igrave','Í':'Iacute','Î':'Icirc','Ï':'Iuml','Ð':'ETH','Ñ':'Ntilde','Ò':'Ograve','Ó':'Oacute','Ô':'Ocirc','Õ':'Otilde','Ö':'Ouml','Ø':'Oslash','Ù':'Ugrave','Ú':'Uacute','Û':'Ucirc','Ü':'Uuml','Ý':'Yacute','Þ':'THORN','ß':'szlig','à':'agrave','á':'aacute','â':'acirc','ã':'atilde','ä':'auml','å':'aring','æ':'aelig','ç':'ccedil','è':'egrave','é':'eacute','ê':'ecirc','ë':'euml','ì':'igrave','í':'iacute','î':'icirc','ï':'iuml','ð':'eth','ñ':'ntilde','ò':'ograve','ó':'oacute','ô':'ocirc','õ':'otilde','ö':'ouml','ø':'oslash','ù':'ugrave','ú':'uacute','û':'ucirc','ü':'uuml','ý':'yacute','þ':'thorn','ÿ':'yuml','Œ':'OElig','œ':'oelig','Š':'Scaron','š':'scaron','Ÿ':'Yuml'};for (var e in oEntities){FCKXHtmlEntities.Entities[e]=oEntities[e];FCKXHtmlEntities.Chars+=e;};oEntities=null;};if (FCKConfig.IncludeGreekEntities){var oEntities={'Α':'Alpha','Β':'Beta','Γ':'Gamma','Δ':'Delta','Ε':'Epsilon','Ζ':'Zeta','Η':'Eta','Θ':'Theta','Ι':'Iota','Κ':'Kappa','Λ':'Lambda','Μ':'Mu','Ν':'Nu','Ξ':'Xi','Ο':'Omicron','Π':'Pi','Ρ':'Rho','Σ':'Sigma','Τ':'Tau','Υ':'Upsilon','Φ':'Phi','Χ':'Chi','Ψ':'Psi','Ω':'Omega','α':'alpha','β':'beta','γ':'gamma','δ':'delta','ε':'epsilon','ζ':'zeta','η':'eta','θ':'theta','ι':'iota','κ':'kappa','λ':'lambda','μ':'mu','ν':'nu','ξ':'xi','ο':'omicron','π':'pi','ρ':'rho','ς':'sigmaf','σ':'sigma','τ':'tau','υ':'upsilon','φ':'phi','χ':'chi','ψ':'psi','ω':'omega'};for (var e in oEntities){FCKXHtmlEntities.Entities[e]=oEntities[e];FCKXHtmlEntities.Chars+=e;};oEntities=null;};FCKXHtmlEntities.EntitiesRegex=new RegExp('','');FCKXHtmlEntities.EntitiesRegex.compile('['+FCKXHtmlEntities.Chars+']|[^'+FCKXHtmlEntities.Chars+']+','g');FCKXHtmlEntities.GeckoEntitiesMarkerRegex=/#\?-\:/g;}
-var FCKXHtml=new Object();FCKXHtml.CurrentJobNum=0;FCKXHtml.GetXHTML=function(node,includeNode,format){FCKXHtml.SpecialBlocks=new Array();this.XML=FCKTools.CreateXmlObject('DOMDocument');this.MainNode=this.XML.appendChild(this.XML.createElement('xhtml'));FCKXHtml.CurrentJobNum++;if (includeNode) this._AppendNode(this.MainNode,node);else this._AppendChildNodes(this.MainNode,node,false);var sXHTML=this._GetMainXmlString();sXHTML=sXHTML.substr(7,sXHTML.length-15).trim();if (FCKBrowserInfo.IsGecko) sXHTML=sXHTML.replace(/<br\/>$/,'');sXHTML=sXHTML.replace(FCKRegexLib.SpaceNoClose,' />');if (FCKConfig.ForceSimpleAmpersand) sXHTML=sXHTML.replace(FCKRegexLib.ForceSimpleAmpersand,'&');if (format) sXHTML=FCKCodeFormatter.Format(sXHTML);for (var i=0;i<FCKXHtml.SpecialBlocks.length;i++){var oRegex=new RegExp('___FCKsi___'+i);sXHTML=sXHTML.replace(oRegex,FCKXHtml.SpecialBlocks[i]);};this.XML=null;return sXHTML};FCKXHtml._AppendAttribute=function(xmlNode,attributeName,attributeValue){try{var oXmlAtt=this.XML.createAttribute(attributeName);oXmlAtt.value=attributeValue?attributeValue:'';xmlNode.attributes.setNamedItem(oXmlAtt);}catch (e){};};FCKXHtml._AppendChildNodes=function(xmlNode,htmlNode,isBlockElement){var iCount=0;if (htmlNode.hasChildNodes()){var oChildren=htmlNode.childNodes;for (var i=0;i<oChildren.length;i++){if (this._AppendNode(xmlNode,oChildren[i])) iCount++;};};if (iCount==0){if (isBlockElement&&FCKConfig.FillEmptyBlocks){this._AppendEntity(xmlNode,'nbsp');return;};if (!FCKRegexLib.EmptyElements.test(htmlNode.nodeName)) xmlNode.appendChild(this.XML.createTextNode(''));};};FCKXHtml._AppendNode=function(xmlNode,htmlNode){switch (htmlNode.nodeType){case 1:if (htmlNode.getAttribute('_fckfakelement')) return FCKXHtml._AppendNode(xmlNode,FCK.GetRealElement(htmlNode));if (FCKBrowserInfo.IsGecko&&htmlNode.hasAttribute('_moz_editor_bogus_node')) return false;if (htmlNode.getAttribute('_fckdelete')) return false;var sNodeName=htmlNode.nodeName;if (!FCKRegexLib.ElementName.test(sNodeName)) return false;sNodeName=sNodeName.toLowerCase();if (FCKBrowserInfo.IsGecko&&sNodeName=='br'&&htmlNode.hasAttribute('type')&&htmlNode.getAttribute('type',2)=='_moz') return false;if (htmlNode._fckxhtmljob==FCKXHtml.CurrentJobNum) return false;else htmlNode._fckxhtmljob=FCKXHtml.CurrentJobNum;var oNode=this.XML.createElement(sNodeName);FCKXHtml._AppendAttributes(xmlNode,htmlNode,oNode,sNodeName);var oTagProcessor=FCKXHtml.TagProcessors[sNodeName];if (oTagProcessor){oNode=oTagProcessor(oNode,htmlNode);if (!oNode) break;}else this._AppendChildNodes(oNode,htmlNode,FCKRegexLib.BlockElements.test(sNodeName));xmlNode.appendChild(oNode);break;case 3:this._AppendTextNode(xmlNode,htmlNode.nodeValue.replaceNewLineChars(' '));break;case 8:try { xmlNode.appendChild(this.XML.createComment(htmlNode.nodeValue));}catch (e) { /* Do nothing... probably this is a wrong format comment. */};break;default:xmlNode.appendChild(this.XML.createComment("Element not supported - Type: "+htmlNode.nodeType+" Name: "+htmlNode.nodeName));break;};return true;};FCKXHtml._AppendSpecialItem=function(item){return '___FCKsi___'+FCKXHtml.SpecialBlocks.addItem(item);};if (FCKConfig.ProcessHTMLEntities){FCKXHtml._AppendTextNode=function(targetNode,textValue){var asPieces=textValue.match(FCKXHtmlEntities.EntitiesRegex);if (asPieces){for (var i=0;i<asPieces.length;i++){if (asPieces[i].length==1){var sEntity=FCKXHtmlEntities.Entities[asPieces[i]];if (sEntity!=null){this._AppendEntity(targetNode,sEntity);continue;};};targetNode.appendChild(this.XML.createTextNode(asPieces[i]));};};};}else{FCKXHtml._AppendTextNode=function(targetNode,textValue){targetNode.appendChild(this.XML.createTextNode(textValue));};};FCKXHtml.TagProcessors=new Object();FCKXHtml.TagProcessors['img']=function(node){if (!node.attributes.getNamedItem('alt')) FCKXHtml._AppendAttribute(node,'alt','');return node;};FCKXHtml.TagProcessors['script']=function(node,htmlNode){if (!node.attributes.getNamedItem('type')) FCKXHtml._AppendAttribute(node,'type','text/javascript');node.appendChild(FCKXHtml.XML.createTextNode(FCKXHtml._AppendSpecialItem(htmlNode.text)));return node;};FCKXHtml.TagProcessors['style']=function(node,htmlNode){if (htmlNode.getAttribute('_fcktemp')) return null;if (!node.attributes.getNamedItem('type')) FCKXHtml._AppendAttribute(node,'type','text/css');node.appendChild(FCKXHtml.XML.createTextNode(FCKXHtml._AppendSpecialItem(htmlNode.innerHTML)));return node;};FCKXHtml.TagProcessors['title']=function(node,htmlNode){node.appendChild(FCKXHtml.XML.createTextNode(FCK.EditorDocument.title));return node;};FCKXHtml.TagProcessors['base']=function(node,htmlNode){if (htmlNode.getAttribute('_fcktemp')) return null;return node;};FCKXHtml.TagProcessors['link']=function(node,htmlNode){if (htmlNode.getAttribute('_fcktemp')) return null;return node;};FCKXHtml.TagProcessors['table']=function(node,htmlNode){var oClassAtt=node.attributes.getNamedItem('class');if (oClassAtt&&FCKRegexLib.TableBorderClass.test(oClassAtt.nodeValue)){var sClass=oClassAtt.nodeValue.replace(FCKRegexLib.TableBorderClass,'');if (sClass.length==0) node.attributes.removeNamedItem('class');else FCKXHtml._AppendAttribute(node,'class',sClass);};FCKXHtml._AppendChildNodes(node,htmlNode,false);return node;}
-FCKXHtml._GetMainXmlString=function(){var oSerializer=new XMLSerializer();if (FCKConfig.ProcessHTMLEntities){return oSerializer.serializeToString(this.MainNode).replace(FCKXHtmlEntities.GeckoEntitiesMarkerRegex,'&');}else return oSerializer.serializeToString(this.MainNode);};FCKXHtml._AppendEntity=function(xmlNode,entity){xmlNode.appendChild(this.XML.createTextNode('#?-:'+entity+';'));};FCKXHtml._AppendAttributes=function(xmlNode,htmlNode,node){var aAttributes=htmlNode.attributes;for (var n=0;n<aAttributes.length;n++){var oAttribute=aAttributes[n];if (oAttribute.specified){var sAttName=oAttribute.nodeName.toLowerCase();if (sAttName=='_fckxhtmljob') continue;else if (sAttName.indexOf('_moz')==0) continue;else if (sAttName=='class') var sAttValue=oAttribute.nodeValue;else if (oAttribute.nodeValue===true) sAttValue=sAttName;else var sAttValue=htmlNode.getAttribute(sAttName,2);if (FCKConfig.ForceSimpleAmpersand&&sAttValue.replace) sAttValue=sAttValue.replace(/&/g,'___FCKAmp___');this._AppendAttribute(node,sAttName,sAttValue);};};}
-var FCKCodeFormatter;if (!(FCKCodeFormatter=NS.FCKCodeFormatter)){FCKCodeFormatter=NS.FCKCodeFormatter=new Object();FCKCodeFormatter.Regex=new Object();FCKCodeFormatter.Regex.BlocksOpener=/\<(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TITLE|META|LINK|BASE|SCRIPT|LINK|TD|AREA|OPTION)[^\>]*\>/gi;FCKCodeFormatter.Regex.BlocksCloser=/\<\/(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TITLE|META|LINK|BASE|SCRIPT|LINK|TD|AREA|OPTION)[^\>]*\>/gi;FCKCodeFormatter.Regex.NewLineTags=/\<(BR|HR)[^\>]\>/gi;FCKCodeFormatter.Regex.MainTags=/\<\/?(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR)[^\>]*\>/gi;FCKCodeFormatter.Regex.LineSplitter=/\s*\n+\s*/g;FCKCodeFormatter.Regex.IncreaseIndent=/^\<(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR|UL|OL)[ \/\>]/i;FCKCodeFormatter.Regex.DecreaseIndent=/^\<\/(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR|UL|OL)[ \>]/i;FCKCodeFormatter.Regex.FormatIndentatorRemove=new RegExp(FCKConfig.FormatIndentator);FCKCodeFormatter.Format=function(html){var sFormatted=html.replace(this.Regex.BlocksOpener,'\n$&');;sFormatted=sFormatted.replace(this.Regex.BlocksCloser,'$&\n');sFormatted=sFormatted.replace(this.Regex.NewLineTags,'$&\n');sFormatted=sFormatted.replace(this.Regex.MainTags,'\n$&\n');var sIndentation='';var asLines=sFormatted.split(this.Regex.LineSplitter);sFormatted='';for (var i=0;i<asLines.length;i++){var sLine=asLines[i];if (sLine.length==0) continue;if (this.Regex.DecreaseIndent.test(sLine)) sIndentation=sIndentation.replace(this.Regex.FormatIndentatorRemove,'');sFormatted+=sIndentation+sLine+'\n';if (this.Regex.IncreaseIndent.test(sLine)) sIndentation+=FCKConfig.FormatIndentator;};return sFormatted.trim();};}
+var FCKDebug=new Object();if (FCKConfig.Debug){FCKDebug.Output=function(A,B){if (!FCKConfig.Debug) return;if (A!=null&&isNaN(A)) A=A.replace(/</g,"&lt;");if (!this.DebugWindow||this.DebugWindow.closed) this.DebugWindow=window.open('fckdebug.html','FCKeditorDebug','menubar=no,scrollbars=no,resizable=yes,location=no,toolbar=no,width=600,height=500',true);if (this.DebugWindow.Output) this.DebugWindow.Output(A,B);};}else FCKDebug.Output=function() {};
+var FCKTools=new Object();FCKTools.GetLinkedFieldValue=function(){return FCK.LinkedField.value;};FCKTools.AttachToLinkedFieldFormSubmit=function(A){var B=FCK.LinkedField.form;if (!B) return;if (FCKBrowserInfo.IsIE) B.attachEvent("onsubmit",A);else B.addEventListener('submit',A,true);if (!B.updateFCKeditor) B.updateFCKeditor=new Array();B.updateFCKeditor[B.updateFCKeditor.length]=A;if (!B.originalSubmit&&(typeof(B.submit)=='function'||(!B.submit.tagName&&!B.submit.length))){B.originalSubmit=B.submit;B.submit=FCKTools_SubmitReplacer;};};function FCKTools_SubmitReplacer(){if (this.updateFCKeditor){for (var i=0;i<this.updateFCKeditor.length;i++) this.updateFCKeditor[i]();};this.originalSubmit();};FCKTools.AddSelectOption=function(A,B,C,D){var E=A.createElement("OPTION");E.text=C;E.value=D;B.options.add(E);return E;};FCKTools.RemoveAllSelectOptions=function(A){for (var i=A.options.length-1;i>=0;i--){A.options.remove(i);};};FCKTools.SelectNoCase=function(A,B,C){var D=B.toString().toLowerCase();for (var i=0;i<A.options.length;i++){if (D==A.options[i].value.toLowerCase()){A.selectedIndex=i;return;};};if (C!=null) FCKTools.SelectNoCase(A,C);};FCKTools.HTMLEncode=function(A){if (!A) return '';A=A.replace(/&/g,"&amp;");A=A.replace(/"/g,"&quot;");A=A.replace(/</g,"&lt;");A=A.replace(/>/g,"&gt;");A=A.replace(/'/g,"&#39;");return A;};FCKTools.GetResultingArray=function(A,B){switch (typeof(A)){case "string":return A.split(B);case "function":return B();default:if (isArray(A)) return A;else return new Array();};};FCKTools.GetElementPosition=function(A){var c={ X:0,Y:0 };while (A){c.X+=A.offsetLeft;c.Y+=A.offsetTop;A=A.offsetParent;};return c;};FCKTools.GetElementAscensor=function(A,B){var e=A;var C=","+B.toUpperCase()+",";while (e){if (C.indexOf(","+e.nodeName.toUpperCase()+",")!=-1) return e;e=e.parentNode;};return null;};FCKTools.Pause=function(A){var B=new Date();while (true){var C=new Date();if (A<C-B) return;};};FCKTools.ConvertStyleSizeToHtml=function(A){return A.endsWith('%')?A:parseInt(A);};FCKTools.ConvertHtmlSizeToStyle=function(A){return A.endsWith('%')?A:(A+'px');};FCKTools.SetElementAttributes=function(A,B){for (var i=0;i<B.length;i++){if (B[i].specified) A.setAttribute(B[i].nodeName,B[i].nodeValue,0);};};FCKTools.GetParentBlockNode=function(A){if (A.nodeName.toUpperCase()=="BODY") return null;else if (A.nodeType==1&&FCKRegexLib.BlockElements.test(A.tagName)) return A;else return FCKTools.GetParentBlockNode(A.parentNode);};FCKTools.NodeIsEmpty=function(A){var B=A.childNodes[0];while (B){if ((B.nodeType!=1&&B.nodeType!=3)||(B.nodeType==1&&B.nodeName.toUpperCase()!="BR")||(B.nodeType==3&&B.nodeValue&&B.nodeValue.trim()!='')) return false;B=B.nextSibling;};return true;};FCKTools.GetDocumentFragment=function(A,B,C,D,E,F){if (typeof D=="undefined")  D=true;if (typeof E=="undefined")  E=true;if (typeof F=="undefined")  F=true;var G=FCK.EditorDocument.createDocumentFragment();var H=B;while (H&&H!=C){if (H!=B||D) G.appendChild(F?H.cloneNode(true):H);H=H.nextSibling;};if (H&&(B!=C&&E)) G.appendChild(F?H.cloneNode(true):H);return G;};
+var GECKO_BOGUS='<br _moz_editor_bogus_node="TRUE">';FCKTools.AppendStyleSheet=function(A,B){var e=A.createElement('LINK');e.rel='stylesheet';e.type='text/css';e.href=B;A.getElementsByTagName("HEAD")[0].appendChild(e);return e;};FCKTools.ClearElementAttributes=function(A){for (var i=0;i<A.attributes.length;i++){A.removeAttribute(A.attributes[i].name,0);};};FCKTools.GetAllChildrenIds=function(A){var B=new Array();var C=function(parent){for (var i=0;i<parent.childNodes.length;i++){var D=parent.childNodes[i].id;if (D&&D.length>0) B[B.length]=D;C(parent.childNodes[i]);};};C(A);return B;};FCKTools.RemoveOuterTags=function(e){var A=e.ownerDocument.createDocumentFragment();for (var i=0;i<e.childNodes.length;i++) A.appendChild(e.childNodes[i]);e.parentNode.replaceChild(A,e);};FCKTools.CreateXmlObject=function(A){switch (A){case 'XmlHttp':return new XMLHttpRequest();case 'DOMDocument':return document.implementation.createDocument('','',null);};return null;};FCKTools.GetFirstInlineNode=function(A){if (FCKRegexLib.BlockElements.test(A.nodeName)) return A;else if (A.previousSibling&&!FCKRegexLib.BlockElements.test(A.previousSibling.nodeName)) return FCKTools.GetFirstInlineNode(A.previousSibling);else if (A.parentNode&&!FCKRegexLib.BlockElements.test(A.parentNode.nodeName)&&A.parentNode.nodeName.toUpperCase()!="BODY") return FCKTools.GetFirstInlineNode(A.parentNode);else return A;};FCKTools.GetLastInlineNode=function(A){if (FCKRegexLib.BlockElements.test(A.nodeName)) return A;else if (A.nextSibling&&!FCKRegexLib.BlockElements.test(A.nextSibling.nodeName)) return FCKTools.GetLastInlineNode(A.nextSibling);else if (A.parentNode&&!FCKRegexLib.BlockElements.test(A.parentNode.nodeName)&&A.parentNode.nodeName.toUpperCase()!="BODY") return FCKTools.GetLastInlineNode(A.parentNode);else return A;};FCKTools.SplitNode=function(A,B,C){if (typeof C=="undefined") C=0;var D=FCK.EditorDocument.createDocumentFragment();var E=FCK.EditorDocument.createRange();if (FCKRegexLib.ListElements.test(A.nodeName)){oStartNode=A.firstChild;oEndNode=A.lastChild;}else{oStartNode=FCKTools.GetFirstInlineNode(B);oEndNode=FCKTools.GetLastInlineNode(B);};if (FCKRegexLib.BlockElements.test(oStartNode.nodeName)&&!FCKRegexLib.ListElements.test(A.nodeName)){if (oStartNode!=oEndNode){F=oStartNode.cloneNode(true);}else{F=FCK.EditorDocument.createElement("P");F.innerHTML=GECKO_BOGUS;if (!FCKRegexLib.SpecialBlockElements.test(A.nodeName)) FCKTools.SetElementAttributes(F,A.attributes);};}else{var F=FCK.EditorDocument.createElement(FCKRegexLib.SpecialBlockElements.test(A.nodeName)?"P":A.tagName);E.setStartBefore(oStartNode);if (C==0) E.setEndBefore(B);else E.setEnd(B,C);F.appendChild(E.cloneContents());F.innerHTML=F.innerHTML.replace(/[\x00-\x1F]/g,"");if (FCKTools.NodeIsEmpty(F)) F.innerHTML=GECKO_BOGUS;else F.innerHTML=F.innerHTML.replace(FCKRegexLib.EmptyElement,"");if (!FCKRegexLib.SpecialBlockElements.test(A.nodeName)) FCKTools.SetElementAttributes(F,A.attributes);};if (FCKRegexLib.BlockElements.test(oEndNode.nodeName)&&!FCKRegexLib.ListElements.test(A.nodeName)){G=oEndNode.cloneNode(true);}else{var G=FCK.EditorDocument.createElement(FCKRegexLib.SpecialBlockElements.test(A.nodeName)?"P":A.tagName);E.setEndAfter(oEndNode);if (C==0) E.setStartBefore(B);else E.setStart(B,C);G.appendChild(E.cloneContents());G.innerHTML=G.innerHTML.replace(/[\x00-\x1F]/g,"");if (FCKTools.NodeIsEmpty(G)) G.innerHTML=GECKO_BOGUS;else G.innerHTML=G.innerHTML.replace(FCKRegexLib.EmptyElement,"");if (!FCKRegexLib.SpecialBlockElements.test(A.nodeName)) FCKTools.SetElementAttributes(G,A.attributes);};D.appendChild(F);D.appendChild(G);FCKTools.ReplaceNodes(A,oStartNode,oEndNode,D);return G;};FCKTools.ReplaceNodes=function(A,B,C,D){var E=FCK.EditorDocument.createRange();if (!FCKRegexLib.SpecialBlockElements.test(A.nodeName)&&(A.firstChild==B)&&(A.lastChild==C)){E.selectNode (A);}else{E.setEndAfter(C);E.setStartBefore(B);};E.deleteContents();E.insertNode(D);};
+var FCKRegexLib=new Object();FCKRegexLib.AposEntity=/&apos;/gi;FCKRegexLib.ObjectElements=/^(?:IMG|TABLE|TR|TD|INPUT|SELECT|TEXTAREA|HR|OBJECT)$/i;FCKRegexLib.BlockElements=/^(?:P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TD|TABLE|CAPTION)$/i;FCKRegexLib.EmptyElements=/^(?:BASE|META|LINK|HR|BR|PARAM|IMG|AREA|INPUT)$/i;FCKRegexLib.NamedCommands=/^(?:Cut|Copy|Paste|Print|SelectAll|RemoveFormat|Unlink|Undo|Redo|Bold|Italic|Underline|StrikeThrough|Subscript|Superscript|JustifyLeft|JustifyCenter|JustifyRight|JustifyFull|Outdent|Indent|InsertOrderedList|InsertUnorderedList|InsertHorizontalRule)$/i;FCKRegexLib.BodyContents=/([\s\S]*\<body[^\>]*\>)([\s\S]*)(\<\/body\>[\s\S]*)/i;FCKRegexLib.ToReplace=/___fcktoreplace:([\w]+)/ig;FCKRegexLib.MetaHttpEquiv=/http-equiv\s*=\s*["']?([^"' ]+)/i;FCKRegexLib.HasBaseTag=/<base /i;FCKRegexLib.HeadOpener=/<head\s?[^>]*>/i;FCKRegexLib.HeadCloser=/<\/head\s*>/i;FCKRegexLib.TableBorderClass=/\s*FCK__ShowTableBorders\s*/;FCKRegexLib.ElementName=/^[A-Za-z_:][\w.-:]*$/;FCKRegexLib.ForceSimpleAmpersand=/___FCKAmp___/g;FCKRegexLib.SpaceNoClose=/\/>/g;FCKRegexLib.EmptyParagraph=/^<(p|div)>\s*<\/\1>$/i;FCKRegexLib.TagBody=/></;FCKRegexLib.TableCellElements=/^(?:TD|TH)$/i;FCKRegexLib.SpecialBlockElements=/^(?:BODY|TH|TD|CAPTION)$/i;FCKRegexLib.TableBlockElements=/^(?:BODY|DIV|LI|TD|TH)$/i;FCKRegexLib.ListElements=/^(?:OL|UL)$/i;FCKRegexLib.EmptyElement=/<(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|SPAN|A)[^\>]*>\s*<\/\1>/gi;FCKRegexLib.StrongOpener=/<STRONG([ \>])/gi;FCKRegexLib.StrongCloser=/<\/STRONG>/gi;FCKRegexLib.EmOpener=/<EM([ \>])/gi;FCKRegexLib.EmCloser=/<\/EM>/gi;
+FCKLanguageManager.GetActiveLanguage=function(){if (FCKConfig.AutoDetectLanguage){var A;if (navigator.userLanguage) A=navigator.userLanguage.toLowerCase();else if (navigator.language) A=navigator.language.toLowerCase();else{return FCKConfig.DefaultLanguage;};if (A.length>=5){A=A.substr(0,5);if (this.AvailableLanguages[A]) return A;};if (A.length>=2){A=A.substr(0,2);if (this.AvailableLanguages[A]) return A;};};return this.DefaultLanguage;};FCKLanguageManager.TranslateElements=function(A,B,C){var e=A.getElementsByTagName(B);for (var i=0;i<e.length;i++){var D=e[i].getAttribute('fckLang');if (D){var s=FCKLang[D];if (s) eval('e[i].'+C+' = s');};};};FCKLanguageManager.TranslatePage=function(A){this.TranslateElements(A,'INPUT','value');this.TranslateElements(A,'SPAN','innerHTML');this.TranslateElements(A,'LABEL','innerHTML');this.TranslateElements(A,'OPTION','innerHTML');};if (FCKLanguageManager.AvailableLanguages[FCKConfig.DefaultLanguage]) FCKLanguageManager.DefaultLanguage=FCKConfig.DefaultLanguage;else FCKLanguageManager.DefaultLanguage='en';FCKLanguageManager.ActiveLanguage=new Object();FCKLanguageManager.ActiveLanguage.Code=FCKLanguageManager.GetActiveLanguage();FCKLanguageManager.ActiveLanguage.Name=FCKLanguageManager.AvailableLanguages[FCKLanguageManager.ActiveLanguage.Code];FCK.Language=FCKLanguageManager;LoadLanguageFile();
+var FCKEvents;if (!(FCKEvents=NS.FCKEvents)){FCKEvents=NS.FCKEvents=function(A){this.Owner=A;this.RegisteredEvents=new Object();};FCKEvents.prototype.AttachEvent=function(A,B){if (!this.RegisteredEvents[A]) this.RegisteredEvents[A]=new Array();this.RegisteredEvents[A][this.RegisteredEvents[A].length]=B;};FCKEvents.prototype.FireEvent=function(A,B){var C=true;var D=this.RegisteredEvents[A];if (D){for (var i=0;i<D.length;i++) C=(D[i](this.Owner,B)&&C);};return C;};}
+if (FCKConfig.ProcessHTMLEntities){var FCKXHtmlEntities=new Object();FCKXHtmlEntities.Entities={' ':'nbsp','¡':'iexcl','¢':'cent','£':'pound','¤':'curren','¥':'yen','¦':'brvbar','§':'sect','¨':'uml','©':'copy','ª':'ordf','«':'laquo','¬':'not','­':'shy','®':'reg','¯':'macr','°':'deg','±':'plusmn','²':'sup2','³':'sup3','´':'acute','µ':'micro','¶':'para','·':'middot','¸':'cedil','¹':'sup1','º':'ordm','»':'raquo','¼':'frac14','½':'frac12','¾':'frac34','¿':'iquest','×':'times','÷':'divide','ƒ':'fnof','•':'bull','…':'hellip','′':'prime','″':'Prime','‾':'oline','⁄':'frasl','℘':'weierp','ℑ':'image','ℜ':'real','™':'trade','ℵ':'alefsym','←':'larr','↑':'uarr','→':'rarr','↓':'darr','↔':'harr','↵':'crarr','⇐':'lArr','⇑':'uArr','⇒':'rArr','⇓':'dArr','⇔':'hArr','∀':'forall','∂':'part','∃':'exist','∅':'empty','∇':'nabla','∈':'isin','∉':'notin','∋':'ni','∏':'prod','∑':'sum','−':'minus','∗':'lowast','√':'radic','∝':'prop','∞':'infin','∠':'ang','∧':'and','∨':'or','∩':'cap','∪':'cup','∫':'int','∴':'there4','∼':'sim','≅':'cong','≈':'asymp','≠':'ne','≡':'equiv','≤':'le','≥':'ge','⊂':'sub','⊃':'sup','⊄':'nsub','⊆':'sube','⊇':'supe','⊕':'oplus','⊗':'otimes','⊥':'perp','⋅':'sdot','◊':'loz','♠':'spades','♣':'clubs','♥':'hearts','♦':'diams','"':'quot','ˆ':'circ','˜':'tilde',' ':'ensp',' ':'emsp',' ':'thinsp','‌':'zwnj','‍':'zwj','‎':'lrm','‏':'rlm','–':'ndash','—':'mdash','‘':'lsquo','’':'rsquo','‚':'sbquo','“':'ldquo','”':'rdquo','„':'bdquo','†':'dagger','‡':'Dagger','‰':'permil','‹':'lsaquo','›':'rsaquo','€':'euro'};FCKXHtmlEntities.Chars='';for (var e in FCKXHtmlEntities.Entities) FCKXHtmlEntities.Chars+=e;if (FCKConfig.IncludeLatinEntities){var oEntities={'À':'Agrave','Á':'Aacute','Â':'Acirc','Ã':'Atilde','Ä':'Auml','Å':'Aring','Æ':'AElig','Ç':'Ccedil','È':'Egrave','É':'Eacute','Ê':'Ecirc','Ë':'Euml','Ì':'Igrave','Í':'Iacute','Î':'Icirc','Ï':'Iuml','Ð':'ETH','Ñ':'Ntilde','Ò':'Ograve','Ó':'Oacute','Ô':'Ocirc','Õ':'Otilde','Ö':'Ouml','Ø':'Oslash','Ù':'Ugrave','Ú':'Uacute','Û':'Ucirc','Ü':'Uuml','Ý':'Yacute','Þ':'THORN','ß':'szlig','à':'agrave','á':'aacute','â':'acirc','ã':'atilde','ä':'auml','å':'aring','æ':'aelig','ç':'ccedil','è':'egrave','é':'eacute','ê':'ecirc','ë':'euml','ì':'igrave','í':'iacute','î':'icirc','ï':'iuml','ð':'eth','ñ':'ntilde','ò':'ograve','ó':'oacute','ô':'ocirc','õ':'otilde','ö':'ouml','ø':'oslash','ù':'ugrave','ú':'uacute','û':'ucirc','ü':'uuml','ý':'yacute','þ':'thorn','ÿ':'yuml','Œ':'OElig','œ':'oelig','Š':'Scaron','š':'scaron','Ÿ':'Yuml'};for (var e in oEntities){FCKXHtmlEntities.Entities[e]=oEntities[e];FCKXHtmlEntities.Chars+=e;};oEntities=null;};if (FCKConfig.IncludeGreekEntities){var oEntities={'Α':'Alpha','Β':'Beta','Γ':'Gamma','Δ':'Delta','Ε':'Epsilon','Ζ':'Zeta','Η':'Eta','Θ':'Theta','Ι':'Iota','Κ':'Kappa','Λ':'Lambda','Μ':'Mu','Ν':'Nu','Ξ':'Xi','Ο':'Omicron','Π':'Pi','Ρ':'Rho','Σ':'Sigma','Τ':'Tau','Υ':'Upsilon','Φ':'Phi','Χ':'Chi','Ψ':'Psi','Ω':'Omega','α':'alpha','β':'beta','γ':'gamma','δ':'delta','ε':'epsilon','ζ':'zeta','η':'eta','θ':'theta','ι':'iota','κ':'kappa','λ':'lambda','μ':'mu','ν':'nu','ξ':'xi','ο':'omicron','π':'pi','ρ':'rho','ς':'sigmaf','σ':'sigma','τ':'tau','υ':'upsilon','φ':'phi','χ':'chi','ψ':'psi','ω':'omega'};for (var e in oEntities){FCKXHtmlEntities.Entities[e]=oEntities[e];FCKXHtmlEntities.Chars+=e;};oEntities=null;};FCKXHtmlEntities.EntitiesRegex=new RegExp('','');FCKXHtmlEntities.EntitiesRegex.compile('['+FCKXHtmlEntities.Chars+']|[^'+FCKXHtmlEntities.Chars+']+','g');FCKXHtmlEntities.GeckoEntitiesMarkerRegex=/#\?-\:/g;}
+var FCKXHtml=new Object();FCKXHtml.CurrentJobNum=0;FCKXHtml.GetXHTML=function(A,B,C){FCKXHtml.SpecialBlocks=new Array();this.XML=FCKTools.CreateXmlObject('DOMDocument');this.MainNode=this.XML.appendChild(this.XML.createElement('xhtml'));FCKXHtml.CurrentJobNum++;if (B) this._AppendNode(this.MainNode,A);else this._AppendChildNodes(this.MainNode,A,false);var D=this._GetMainXmlString();D=D.substr(7,D.length-15).trim();if (FCKBrowserInfo.IsGecko) D=D.replace(/<br\/>$/,'');D=D.replace(FCKRegexLib.SpaceNoClose,' />');if (FCKConfig.ForceSimpleAmpersand) D=D.replace(FCKRegexLib.ForceSimpleAmpersand,'&');if (C) D=FCKCodeFormatter.Format(D);for (var i=0;i<FCKXHtml.SpecialBlocks.length;i++){var E=new RegExp('___FCKsi___'+i);D=D.replace(E,FCKXHtml.SpecialBlocks[i]);};this.XML=null;return D};FCKXHtml._AppendAttribute=function(A,B,C){try{var D=this.XML.createAttribute(B);D.value=C?C:'';A.attributes.setNamedItem(D);}catch (e){};};FCKXHtml._AppendChildNodes=function(A,B,C){var D=0;if (B.hasChildNodes()){var E=B.childNodes;for (var i=0;i<E.length;i++){if (this._AppendNode(A,E[i])) D++;};};if (D==0){if (C&&FCKConfig.FillEmptyBlocks){this._AppendEntity(A,'nbsp');return;};if (!FCKRegexLib.EmptyElements.test(B.nodeName)) A.appendChild(this.XML.createTextNode(''));};};FCKXHtml._AppendNode=function(A,B){switch (B.nodeType){case 1:if (B.getAttribute('_fckfakelement')) return FCKXHtml._AppendNode(A,FCK.GetRealElement(B));if (FCKBrowserInfo.IsGecko&&B.hasAttribute('_moz_editor_bogus_node')) return false;if (B.getAttribute('_fckdelete')) return false;var C=B.nodeName;if (!FCKRegexLib.ElementName.test(C)) return false;C=C.toLowerCase();if (FCKBrowserInfo.IsGecko&&C=='br'&&B.hasAttribute('type')&&B.getAttribute('type',2)=='_moz') return false;if (B._fckxhtmljob&&B._fckxhtmljob==FCKXHtml.CurrentJobNum) return false;else B._fckxhtmljob=FCKXHtml.CurrentJobNum;var D=this._CreateNode(C);FCKXHtml._AppendAttributes(A,B,D,C);var E=FCKXHtml.TagProcessors[C];if (E){D=E(D,B);if (!D) break;}else this._AppendChildNodes(D,B,FCKRegexLib.BlockElements.test(C));A.appendChild(D);break;case 3:this._AppendTextNode(A,B.nodeValue.replaceNewLineChars(' '));break;case 8:try { A.appendChild(this.XML.createComment(B.nodeValue));}catch (e) { /* Do nothing... probably this is a wrong format comment. */};break;default:A.appendChild(this.XML.createComment("Element not supported - Type: "+B.nodeType+" Name: "+B.nodeName));break;};return true;};if (FCKConfig.ForceStrongEm){FCKXHtml._CreateNode=function(A){switch (A){case 'b':A='strong';break;case 'i':A='em';break;};return this.XML.createElement(A);};}else{FCKXHtml._CreateNode=function(A){return this.XML.createElement(A);};};FCKXHtml._AppendSpecialItem=function(A){return '___FCKsi___'+FCKXHtml.SpecialBlocks.addItem(A);};if (FCKConfig.ProcessHTMLEntities){FCKXHtml._AppendTextNode=function(A,B){var C=B.match(FCKXHtmlEntities.EntitiesRegex);if (C){for (var i=0;i<C.length;i++){if (C[i].length==1){var D=FCKXHtmlEntities.Entities[C[i]];if (D!=null){this._AppendEntity(A,D);continue;};};A.appendChild(this.XML.createTextNode(C[i]));};};};}else{FCKXHtml._AppendTextNode=function(A,B){A.appendChild(this.XML.createTextNode(B));};};FCKXHtml.TagProcessors=new Object();FCKXHtml.TagProcessors['img']=function(A){if (!A.attributes.getNamedItem('alt')) FCKXHtml._AppendAttribute(A,'alt','');return A;};FCKXHtml.TagProcessors['script']=function(A,B){if (!A.attributes.getNamedItem('type')) FCKXHtml._AppendAttribute(A,'type','text/javascript');A.appendChild(FCKXHtml.XML.createTextNode(FCKXHtml._AppendSpecialItem(B.text)));return A;};FCKXHtml.TagProcessors['style']=function(A,B){if (B.getAttribute('_fcktemp')) return null;if (!A.attributes.getNamedItem('type')) FCKXHtml._AppendAttribute(A,'type','text/css');A.appendChild(FCKXHtml.XML.createTextNode(FCKXHtml._AppendSpecialItem(B.innerHTML)));return A;};FCKXHtml.TagProcessors['title']=function(A,B){A.appendChild(FCKXHtml.XML.createTextNode(FCK.EditorDocument.title));return A;};FCKXHtml.TagProcessors['base']=function(A,B){if (B.getAttribute('_fcktemp')) return null;return A;};FCKXHtml.TagProcessors['link']=function(A,B){if (B.getAttribute('_fcktemp')) return null;return A;};FCKXHtml.TagProcessors['table']=function(A,B){var C=A.attributes.getNamedItem('class');if (C&&FCKRegexLib.TableBorderClass.test(C.nodeValue)){var D=C.nodeValue.replace(FCKRegexLib.TableBorderClass,'');if (D.length==0) A.attributes.removeNamedItem('class');else FCKXHtml._AppendAttribute(A,'class',D);};FCKXHtml._AppendChildNodes(A,B,false);return A;}
+FCKXHtml._GetMainXmlString=function(){var A=new XMLSerializer();if (FCKConfig.ProcessHTMLEntities){return A.serializeToString(this.MainNode).replace(FCKXHtmlEntities.GeckoEntitiesMarkerRegex,'&');}else return A.serializeToString(this.MainNode);};FCKXHtml._AppendEntity=function(A,B){A.appendChild(this.XML.createTextNode('#?-:'+B+';'));};FCKXHtml._AppendAttributes=function(A,B,C){var D=B.attributes;for (var n=0;n<D.length;n++){var E=D[n];if (E.specified){var F=E.nodeName.toLowerCase();var G;if (F=='_fckxhtmljob') continue;else if (F.indexOf('_moz')==0) continue;else if (F=='class') G=E.nodeValue;else if (E.nodeValue===true) G=F;else G=B.getAttribute(F,2);if (FCKConfig.ForceSimpleAmpersand&&G.replace) G=G.replace(/&/g,'___FCKAmp___');this._AppendAttribute(C,F,G);};};}
+var FCKCodeFormatter;if (!(FCKCodeFormatter=NS.FCKCodeFormatter)){FCKCodeFormatter=NS.FCKCodeFormatter=new Object();FCKCodeFormatter.Regex=new Object();FCKCodeFormatter.Regex.BlocksOpener=/\<(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TITLE|META|LINK|BASE|SCRIPT|LINK|TD|AREA|OPTION)[^\>]*\>/gi;FCKCodeFormatter.Regex.BlocksCloser=/\<\/(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TITLE|META|LINK|BASE|SCRIPT|LINK|TD|AREA|OPTION)[^\>]*\>/gi;FCKCodeFormatter.Regex.NewLineTags=/\<(BR|HR)[^\>]\>/gi;FCKCodeFormatter.Regex.MainTags=/\<\/?(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR)[^\>]*\>/gi;FCKCodeFormatter.Regex.LineSplitter=/\s*\n+\s*/g;FCKCodeFormatter.Regex.IncreaseIndent=/^\<(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR|UL|OL)[ \/\>]/i;FCKCodeFormatter.Regex.DecreaseIndent=/^\<\/(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR|UL|OL)[ \>]/i;FCKCodeFormatter.Regex.FormatIndentatorRemove=new RegExp(FCKConfig.FormatIndentator);FCKCodeFormatter.Format=function(A){var B=A.replace(this.Regex.BlocksOpener,'\n$&');;B=B.replace(this.Regex.BlocksCloser,'$&\n');B=B.replace(this.Regex.NewLineTags,'$&\n');B=B.replace(this.Regex.MainTags,'\n$&\n');var C='';var D=B.split(this.Regex.LineSplitter);B='';for (var i=0;i<D.length;i++){var E=D[i];if (E.length==0) continue;if (this.Regex.DecreaseIndent.test(E)) C=C.replace(this.Regex.FormatIndentatorRemove,'');B+=C+E+'\n';if (this.Regex.IncreaseIndent.test(E)) C+=FCKConfig.FormatIndentator;};return B.trim();};}
 var FCKUndo=new Object();FCKUndo.SaveUndoStep=function(){}
-FCK.Events=new FCKEvents(FCK);FCK.Toolbar=null;FCK.TempBaseTag=FCKConfig.BaseHref.length>0?'<base href="'+FCKConfig.BaseHref+'" _fcktemp="true"></base>':'';FCK.StartEditor=function(){this.EditorWindow=window.frames['eEditorArea'];this.EditorDocument=this.EditorWindow.document;this.SetHTML(FCKTools.GetLinkedFieldValue());FCKTools.AttachToLinkedFieldFormSubmit(this.UpdateLinkedField);FCKUndo.SaveUndoStep();this.SetStatus(FCK_STATUS_ACTIVE);};function Window_OnFocus(){FCK.Focus();};FCK.SetStatus=function(newStatus){this.Status=newStatus;if (newStatus==FCK_STATUS_ACTIVE){window.onfocus=window.document.body.onfocus=Window_OnFocus;if (FCKConfig.StartupFocus) FCK.Focus();if (FCKBrowserInfo.IsIE) FCKScriptLoader.AddScript('js/fckeditorcode_ie_2.js');else FCKScriptLoader.AddScript('js/fckeditorcode_gecko_2.js');};this.Events.FireEvent('OnStatusChange',newStatus);};FCK.GetHTML=function(format){var sHTML;if (FCK.EditMode==FCK_EDITMODE_WYSIWYG){if (FCKBrowserInfo.IsIE) sHTML=this.EditorDocument.body.innerHTML.replace(FCKRegexLib.ToReplace,'$1');else sHTML=this.EditorDocument.body.innerHTML;}else sHTML=document.getElementById('eSourceField').value;if (format) return FCKCodeFormatter.Format(sHTML);else return sHTML;};FCK.GetXHTML=function(format){var bSource=(FCK.EditMode==FCK_EDITMODE_SOURCE);if (bSource) this.SwitchEditMode();if (FCKConfig.FullPage) var sXHTML=FCKXHtml.GetXHTML(this.EditorDocument.getElementsByTagName('html')[0],true,format);else{if (FCKConfig.IgnoreEmptyParagraphValue&&this.EditorDocument.body.innerHTML=='<P>&nbsp;</P>') var sXHTML='';else var sXHTML=FCKXHtml.GetXHTML(this.EditorDocument.body,false,format);};if (bSource) this.SwitchEditMode();if (FCKBrowserInfo.IsIE) sXHTML=sXHTML.replace(FCKRegexLib.ToReplace,'$1');if (FCK.DocTypeDeclaration&&FCK.DocTypeDeclaration.length>0) sXHTML=FCK.DocTypeDeclaration+'\n'+sXHTML;if (FCK.XmlDeclaration&&FCK.XmlDeclaration.length>0) sXHTML=FCK.XmlDeclaration+'\n'+sXHTML;return FCKConfig.ProtectedSource.Revert(sXHTML);};FCK.UpdateLinkedField=function(){if (FCKConfig.EnableXHTML) FCK.LinkedField.value=FCK.GetXHTML(FCKConfig.FormatOutput);else FCK.LinkedField.value=FCK.GetHTML(FCKConfig.FormatOutput);FCK.Events.FireEvent('OnAfterLinkedFieldUpdate');};FCK.ShowContextMenu=function(x,y){if (this.Status!=FCK_STATUS_COMPLETE) return;FCKContextMenu.Show(x,y);this.Events.FireEvent("OnContextMenu");};FCK.RegisteredDoubleClickHandlers=new Object();FCK.OnDoubleClick=function(element){var oHandler=FCK.RegisteredDoubleClickHandlers[element.tagName];if (oHandler) oHandler(element);};FCK.RegisterDoubleClickHandler=function(handlerFunction,tag){FCK.RegisteredDoubleClickHandlers[tag.toUpperCase()]=handlerFunction;};FCK.OnAfterSetHTML=function(){var oProcessor,i=0;while(oProcessor=FCKDocumentProcessors[i++]) oProcessor.ProcessDocument(FCK.EditorDocument);this.Events.FireEvent('OnAfterSetHTML');};var FCKDocumentProcessors=new Array();var FCKDocumentProcessors_CreateFakeImage=function(fakeClass,realElement){var oImg=FCK.EditorDocument.createElement('IMG');oImg.className=fakeClass;oImg.src=FCKConfig.FullBasePath+'images/spacer.gif';oImg.setAttribute('_fckfakelement','true',0);oImg.setAttribute('_fckrealelement',FCKTempBin.AddElement(realElement),0);return oImg;};var FCKAnchorsProcessor=new Object();FCKAnchorsProcessor.ProcessDocument=function(document){var aLinks=document.getElementsByTagName('A');var oLink;var i=aLinks.length-1;while (i>=0&&(oLink=aLinks[i--])){if (oLink.name.length>0&&(!oLink.getAttribute('href')||oLink.getAttribute('href').length==0)){var oImg=FCKDocumentProcessors_CreateFakeImage('FCK__Anchor',oLink.cloneNode(true));oImg.setAttribute('_fckanchor','true',0);oLink.parentNode.insertBefore(oImg,oLink);oLink.parentNode.removeChild(oLink);};};};FCKDocumentProcessors.addItem(FCKAnchorsProcessor);var FCKFlashProcessor=new Object();FCKFlashProcessor.ProcessDocument=function(document){var aEmbeds=document.getElementsByTagName('EMBED');var oEmbed;var i=aEmbeds.length-1;while (i>=0&&(oEmbed=aEmbeds[i--])){if (oEmbed.src.endsWith('.swf',true)){var oImg=FCKDocumentProcessors_CreateFakeImage('FCK__Flash',oEmbed.cloneNode(true));oImg.setAttribute('_fckflash','true',0);FCKFlashProcessor.RefreshView(oImg,oEmbed);oEmbed.parentNode.insertBefore(oImg,oEmbed);oEmbed.parentNode.removeChild(oEmbed);};};};FCKFlashProcessor.RefreshView=function(placholderImage,originalEmbed){if (originalEmbed.width>0) placholderImage.style.width=FCKTools.ConvertHtmlSizeToStyle(originalEmbed.width);if (originalEmbed.height>0) placholderImage.style.height=FCKTools.ConvertHtmlSizeToStyle(originalEmbed.height);};FCKDocumentProcessors.addItem(FCKFlashProcessor);FCK.GetRealElement=function(fakeElement){var e=FCKTempBin.Elements[fakeElement.getAttribute('_fckrealelement')];if (fakeElement.getAttribute('_fckflash')){if (fakeElement.style.width.length>0) e.width=FCKTools.ConvertStyleSizeToHtml(fakeElement.style.width);if (fakeElement.style.height.length>0) e.height=FCKTools.ConvertStyleSizeToHtml(fakeElement.style.height);};return e;}
-FCK.Description="FCKeditor for Gecko Browsers";FCK.InitializeBehaviors=function(){if (FCKConfig.ShowBorders){var oStyle=FCKTools.AppendStyleSheet(this.EditorDocument,FCKConfig.FullBasePath+'css/fck_showtableborders_gecko.css');oStyle.setAttribute('_fcktemp','true');};var oOnContextMenu=function(e){e.preventDefault();FCK.ShowContextMenu(e.clientX,e.clientY);};this.EditorDocument.addEventListener('contextmenu',oOnContextMenu,true);var oOnKeyDown=function(e){if (e.ctrlKey&&!e.shiftKey&&!e.altKey){if (e.which==86||e.which==118){if (FCK.Status!=FCK_STATUS_COMPLETE||!FCK.Events.FireEvent("OnPaste")){e.preventDefault();e.stopPropagation();};};};};this.EditorDocument.addEventListener('keypress',oOnKeyDown,true);this.ExecOnSelectionChange=function(){FCK.Events.FireEvent("OnSelectionChange");};this.ExecOnSelectionChangeTimer=function(){if (FCK.LastOnChangeTimer) window.clearTimeout(FCK.LastOnChangeTimer);FCK.LastOnChangeTimer=window.setTimeout(FCK.ExecOnSelectionChange,100);};this.EditorDocument.addEventListener('mouseup',this.ExecOnSelectionChange,false);this.EditorDocument.addEventListener('keyup',this.ExecOnSelectionChangeTimer,false);this._DblClickListener=function(e){FCK.OnDoubleClick(e.target);e.stopPropagation();};this.EditorDocument.addEventListener('dblclick',this._DblClickListener,true);this._OnLoad=function(){if (this._FCK_HTML){this.document.body.innerHTML=this._FCK_HTML;this._FCK_HTML=null;};};this.EditorWindow.addEventListener('load',this._OnLoad,true);};FCK.MakeEditable=function(){try{FCK.EditorDocument.designMode='on';FCK.EditorDocument.execCommand('useCSS',false,!FCKConfig.GeckoUseSPAN);}catch (e) {};};FCK.Focus=function(){try{FCK.EditorWindow.focus();}catch(e) {};};FCK.SetHTML=function(html,forceWYSIWYG){if (forceWYSIWYG||FCK.EditMode==FCK_EDITMODE_WYSIWYG){html=FCKConfig.ProtectedSource.Protect(html);if (FCKConfig.FullPage&&FCKRegexLib.BodyContents.test(html)){if (FCK.TempBaseTag.length>0&&!FCKRegexLib.HasBaseTag.test(html)) html=html.replace(FCKRegexLib.HeadCloser,FCK.TempBaseTag+'</head>');html=html.replace(FCKRegexLib.HeadCloser,'<link href="'+FCKConfig.BasePath+'css/fck_internal.css'+'" rel="stylesheet" type="text/css" _fcktemp="true" /></head>');var oMatch=html.match(FCKRegexLib.BodyContents);var sOpener=oMatch[1];var sContents=oMatch[2];var sCloser=oMatch[3];var sHtml=sOpener+'&nbsp;'+sCloser;if (!this._Initialized){FCK.EditorDocument.designMode="on";FCK.EditorDocument.execCommand("useCSS",false,!FCKConfig.GeckoUseSPAN);this._Initialized=true;};this.EditorDocument.open();this.EditorDocument.write(sHtml);this.EditorDocument.close();if (this.EditorDocument.body) this.EditorDocument.body.innerHTML=sContents;else this.EditorWindow._FCK_HTML=sContents;this.InitializeBehaviors();}else{if (!this._Initialized){this.EditorDocument.dir=FCKConfig.ContentLangDirection;var sHtml='<title></title>'+'<link href="'+FCKConfig.EditorAreaCSS+'" rel="stylesheet" type="text/css" />'+'<link href="'+FCKConfig.BasePath+'css/fck_internal.css'+'" rel="stylesheet" type="text/css" _fcktemp="true" />';sHtml+=FCK.TempBaseTag;this.EditorDocument.getElementsByTagName("HEAD")[0].innerHTML=sHtml;this.InitializeBehaviors();this._Initialized=true;};if (html.length==0) FCK.EditorDocument.body.innerHTML='<br _moz_editor_bogus_node="TRUE">';else if (FCKRegexLib.EmptyParagraph.test(html)) FCK.EditorDocument.body.innerHTML=html.replace(FCKRegexLib.TagBody,'><br _moz_editor_bogus_node="TRUE"><');else FCK.EditorDocument.body.innerHTML=html;FCK.MakeEditable();};FCK.OnAfterSetHTML();}else document.getElementById('eSourceField').value=html;}
+FCK.Events=new FCKEvents(FCK);FCK.Toolbar=null;FCK.TempBaseTag=FCKConfig.BaseHref.length>0?'<base href="'+FCKConfig.BaseHref+'" _fcktemp="true"></base>':'';FCK.StartEditor=function(){this.EditorWindow=window.frames['eEditorArea'];this.EditorDocument=this.EditorWindow.document;this.SetHTML(FCKTools.GetLinkedFieldValue());FCKTools.AttachToLinkedFieldFormSubmit(this.UpdateLinkedField);FCKUndo.SaveUndoStep();this.SetStatus(FCK_STATUS_ACTIVE);};function Window_OnFocus(){FCK.Focus();};FCK.SetStatus=function(A){this.Status=A;if (A==FCK_STATUS_ACTIVE){window.onfocus=window.document.body.onfocus=Window_OnFocus;if (FCKConfig.StartupFocus) FCK.Focus();if (FCKBrowserInfo.IsIE) FCKScriptLoader.AddScript('js/fckeditorcode_ie_2.js');else FCKScriptLoader.AddScript('js/fckeditorcode_gecko_2.js');};this.Events.FireEvent('OnStatusChange',A);};FCK.GetHTML=function(A){var B;if (FCK.EditMode==FCK_EDITMODE_WYSIWYG){if (FCKBrowserInfo.IsIE) B=this.EditorDocument.body.innerHTML.replace(FCKRegexLib.ToReplace,'$1');else B=this.EditorDocument.body.innerHTML;}else B=document.getElementById('eSourceField').value;if (A) return FCKCodeFormatter.Format(B);else return B;};FCK.GetXHTML=function(A){var B=(FCK.EditMode==FCK_EDITMODE_SOURCE);if (B) this.SwitchEditMode();var C;if (FCKConfig.FullPage) C=FCKXHtml.GetXHTML(this.EditorDocument.getElementsByTagName('html')[0],true,A);else{if (FCKConfig.IgnoreEmptyParagraphValue&&this.EditorDocument.body.innerHTML=='<P>&nbsp;</P>') C='';else C=FCKXHtml.GetXHTML(this.EditorDocument.body,false,A);};if (B) this.SwitchEditMode();if (FCKBrowserInfo.IsIE) C=C.replace(FCKRegexLib.ToReplace,'$1');if (FCK.DocTypeDeclaration&&FCK.DocTypeDeclaration.length>0) C=FCK.DocTypeDeclaration+'\n'+C;if (FCK.XmlDeclaration&&FCK.XmlDeclaration.length>0) C=FCK.XmlDeclaration+'\n'+C;return FCKConfig.ProtectedSource.Revert(C);};FCK.UpdateLinkedField=function(){if (FCKConfig.EnableXHTML) FCK.LinkedField.value=FCK.GetXHTML(FCKConfig.FormatOutput);else FCK.LinkedField.value=FCK.GetHTML(FCKConfig.FormatOutput);FCK.Events.FireEvent('OnAfterLinkedFieldUpdate');};FCK.ShowContextMenu=function(x,y){if (this.Status!=FCK_STATUS_COMPLETE) return;FCKContextMenu.Show(x,y);this.Events.FireEvent("OnContextMenu");};FCK.RegisteredDoubleClickHandlers=new Object();FCK.OnDoubleClick=function(A){var B=FCK.RegisteredDoubleClickHandlers[A.tagName];if (B) B(A);};FCK.RegisterDoubleClickHandler=function(A,B){FCK.RegisteredDoubleClickHandlers[B.toUpperCase()]=A;};FCK.OnAfterSetHTML=function(){var A,i=0;while((A=FCKDocumentProcessors[i++])) A.ProcessDocument(FCK.EditorDocument);this.Events.FireEvent('OnAfterSetHTML');};var FCKDocumentProcessors=new Array();var FCKDocumentProcessors_CreateFakeImage=function(A,B){var C=FCK.EditorDocument.createElement('IMG');C.className=A;C.src=FCKConfig.FullBasePath+'images/spacer.gif';C.setAttribute('_fckfakelement','true',0);C.setAttribute('_fckrealelement',FCKTempBin.AddElement(B),0);return C;};var FCKAnchorsProcessor=new Object();FCKAnchorsProcessor.ProcessDocument=function(A){var B=A.getElementsByTagName('A');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){if (C.name.length>0&&(!C.getAttribute('href')||C.getAttribute('href').length==0)){var D=FCKDocumentProcessors_CreateFakeImage('FCK__Anchor',C.cloneNode(true));D.setAttribute('_fckanchor','true',0);C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);};};};FCKDocumentProcessors.addItem(FCKAnchorsProcessor);var FCKFlashProcessor=new Object();FCKFlashProcessor.ProcessDocument=function(A){var B=A.getElementsByTagName('EMBED');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){if (C.src.endsWith('.swf',true)){var D=FCKDocumentProcessors_CreateFakeImage('FCK__Flash',C.cloneNode(true));D.setAttribute('_fckflash','true',0);FCKFlashProcessor.RefreshView(D,C);C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);};};};FCKFlashProcessor.RefreshView=function(A,B){if (B.width>0) A.style.width=FCKTools.ConvertHtmlSizeToStyle(B.width);if (B.height>0) A.style.height=FCKTools.ConvertHtmlSizeToStyle(B.height);};FCKDocumentProcessors.addItem(FCKFlashProcessor);FCK.GetRealElement=function(A){var e=FCKTempBin.Elements[A.getAttribute('_fckrealelement')];if (A.getAttribute('_fckflash')){if (A.style.width.length>0) e.width=FCKTools.ConvertStyleSizeToHtml(A.style.width);if (A.style.height.length>0) e.height=FCKTools.ConvertStyleSizeToHtml(A.style.height);};return e;};var FCKTablesProcessor=new Object();FCKTablesProcessor.ProcessDocument=function(A){FCKTablesProcessor.CheckTablesNesting(A);};FCKTablesProcessor.CheckTablesNesting=function(A){var B=A.getElementsByTagName("TABLE");var C;for (var i=0;i<B.length;i++){FCKTablesProcessor.CheckTableNesting(B[i]);};};FCKTablesProcessor.CheckTableNesting=function(A){var B=FCKTools.GetParentBlockNode(A.parentNode);if (B&&!FCKRegexLib.TableBlockElements.test(B.nodeName)){var C=FCK.EditorDocument.createElement(B.tagName);var D=FCKTools.GetDocumentFragment(B,B.firstChild,A,true,false,true);C.appendChild(D);FCKTools.SetElementAttributes(C,B.attributes);var E=FCK.EditorDocument.createElement(B.tagName);var F=FCKTools.GetDocumentFragment(B,A,B.lastChild,false,true,true);E.appendChild(F);FCKTools.SetElementAttributes(E,B.attributes);var G=FCK.EditorDocument.createDocumentFragment();if (!FCKTools.NodeIsEmpty(C)) G.appendChild(C);G.appendChild(A);if (!FCKTools.NodeIsEmpty(E)) G.appendChild(E);B.parentNode.replaceChild(G,B);};};FCKDocumentProcessors.addItem(FCKTablesProcessor);
+FCK.Description="FCKeditor for Gecko Browsers";FCK.InitializeBehaviors=function(){if (FCKConfig.ShowBorders){var A=FCKTools.AppendStyleSheet(this.EditorDocument,FCKConfig.FullBasePath+'css/fck_showtableborders_gecko.css');A.setAttribute('_fcktemp','true');};var B=function(e){e.preventDefault();FCK.ShowContextMenu(e.clientX,e.clientY);};this.EditorDocument.addEventListener('contextmenu',B,true);var C=function(e){if (e.which==13&&!e.shiftKey&&!e.ctrlKey&&!e.altKey&&!FCKConfig.UseBROnCarriageReturn&&!FCK.Events.FireEvent("OnEnter")){e.preventDefault();e.stopPropagation();};if (e.which==8&&!e.shiftKey&&!e.ctrlKey&&!e.altKey&&!FCKConfig.UserBROnCarriageReturn&&!FCK.Events.FireEvent("OnBackSpace")){e.preventDefault();e.stopPropagation();};if (e.ctrlKey&&!e.shiftKey&&!e.altKey){var D=false;switch (e.which){case 66:case 98:FCK.ExecuteNamedCommand('bold');D=true;break;case 105:case 73:FCK.ExecuteNamedCommand('italic');D=true;break;case 117:case 85:FCK.ExecuteNamedCommand('underline');D=true;break;case 86:case 118:D=(FCK.Status!=FCK_STATUS_COMPLETE||!FCK.Events.FireEvent("OnPaste"));break;};if (D){e.preventDefault();e.stopPropagation();};};};this.EditorDocument.addEventListener('keypress',C,true);this.ExecOnSelectionChange=function(){FCK.Events.FireEvent("OnSelectionChange");};this.ExecOnSelectionChangeTimer=function(){if (FCK.LastOnChangeTimer) window.clearTimeout(FCK.LastOnChangeTimer);FCK.LastOnChangeTimer=window.setTimeout(FCK.ExecOnSelectionChange,100);};this.EditorDocument.addEventListener('mouseup',this.ExecOnSelectionChange,false);this.EditorDocument.addEventListener('keyup',this.ExecOnSelectionChangeTimer,false);this._DblClickListener=function(e){FCK.OnDoubleClick(e.target);e.stopPropagation();};this.EditorDocument.addEventListener('dblclick',this._DblClickListener,true);this._OnLoad=function(){if (this._FCK_HTML){this.document.body.innerHTML=this._FCK_HTML;this._FCK_HTML=null;};};this.EditorWindow.addEventListener('load',this._OnLoad,true);};FCK.MakeEditable=function(){try{FCK.EditorDocument.designMode='on';FCK.EditorDocument.execCommand('useCSS',false,!FCKConfig.GeckoUseSPAN);}catch (e) {};};FCK.Focus=function(){try{FCK.EditorWindow.focus();}catch(e) {};};FCK.SetHTML=function(A,B){A=A.replace(FCKRegexLib.StrongOpener,'<b$1');A=A.replace(FCKRegexLib.StrongCloser,'<\/b>');A=A.replace(FCKRegexLib.EmOpener,'<i$1');A=A.replace(FCKRegexLib.EmCloser,'<\/i>');if (B||FCK.EditMode==FCK_EDITMODE_WYSIWYG){A=FCKConfig.ProtectedSource.Protect(A);if (FCKConfig.FullPage&&FCKRegexLib.BodyContents.test(A)){if (FCK.TempBaseTag.length>0&&!FCKRegexLib.HasBaseTag.test(A)) A=A.replace(FCKRegexLib.HeadOpener,'$&'+FCK.TempBaseTag);A=A.replace(FCKRegexLib.HeadCloser,'<link href="'+FCKConfig.BasePath+'css/fck_internal.css'+'" rel="stylesheet" type="text/css" _fcktemp="true" /></head>');var C=A.match(FCKRegexLib.BodyContents);var D=C[1];var E=C[2];var F=C[3];var G=D+'&nbsp;'+F;if (!this._Initialized){FCK.EditorDocument.designMode="on";FCK.EditorDocument.execCommand("useCSS",false,!FCKConfig.GeckoUseSPAN);this._Initialized=true;};this.EditorDocument.open();this.EditorDocument.write(G);this.EditorDocument.close();if (this.EditorDocument.body) this.EditorDocument.body.innerHTML=E;else this.EditorWindow._FCK_HTML=E;this.InitializeBehaviors();}else{if (!this._Initialized){this.EditorDocument.dir=FCKConfig.ContentLangDirection;var G='<title></title>'+'<link href="'+FCKConfig.EditorAreaCSS+'" rel="stylesheet" type="text/css" />'+'<link href="'+FCKConfig.BasePath+'css/fck_internal.css'+'" rel="stylesheet" type="text/css" _fcktemp="true" />'+FCK.TempBaseTag;this.EditorDocument.getElementsByTagName("HEAD")[0].innerHTML=G;this.InitializeBehaviors();this._Initialized=true;};if (A.length==0) FCK.EditorDocument.body.innerHTML=GECKO_BOGUS;else if (FCKRegexLib.EmptyParagraph.test(A)) FCK.EditorDocument.body.innerHTML=A.replace(FCKRegexLib.TagBody,'>'+GECKO_BOGUS+'<');else FCK.EditorDocument.body.innerHTML=A;FCK.MakeEditable();};FCK.OnAfterSetHTML();}else document.getElementById('eSourceField').value=A;}
--- a/wiki/htdocs/applets/FCKeditor/editor/js/fckeditorcode_gecko_2.js	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/js/fckeditorcode_gecko_2.js	Mon Oct 17 20:45:54 2005 +0000
@@ -12,45 +12,45 @@
  * 
  * This file has been compacted for best loading performance.
  */
-FCK.RedirectNamedCommands=new Object();FCK.ExecuteNamedCommand=function(commandName,commandParameter){FCKUndo.SaveUndoStep();if (FCK.RedirectNamedCommands[commandName]!=null) FCK.ExecuteRedirectedNamedCommand(commandName,commandParameter);else{FCK.Focus();FCK.EditorDocument.execCommand(commandName,false,commandParameter);FCK.Events.FireEvent('OnSelectionChange');};};FCK.GetNamedCommandState=function(commandName){try{if (!FCK.EditorDocument.queryCommandEnabled(commandName)) return FCK_TRISTATE_DISABLED;else return FCK.EditorDocument.queryCommandState(commandName)?FCK_TRISTATE_ON:FCK_TRISTATE_OFF;}catch (e){return FCK_TRISTATE_OFF;};};FCK.GetNamedCommandValue=function(commandName){var sValue='';var eState=FCK.GetNamedCommandState(commandName);if (eState==FCK_TRISTATE_DISABLED) return null;try{sValue=this.EditorDocument.queryCommandValue(commandName);}catch(e) {};return sValue?sValue:'';};FCK.PasteFromWord=function(){FCKDialog.OpenDialog('FCKDialog_Paste',FCKLang.PasteFromWord,'dialog/fck_paste.html',400,330,'Word');};FCK.Preview=function(){var iWidth=FCKConfig.ScreenWidth*0.8;var iHeight=FCKConfig.ScreenHeight*0.7;var iLeft=(FCKConfig.ScreenWidth-iWidth) / 2;var oWindow=window.open('', null, 'toolbar=yes,location=no,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width=' + iWidth + ',height=' + iHeight + ',left=' + iLeft);var sHTML;if (FCKConfig.FullPage){if (FCK.TempBaseTag.length > 0) sHTML=FCK.GetXHTML().replace( FCKRegexLib.HeadCloser, FCK.TempBaseTag + '</head>');else sHTML=FCK.GetXHTML();}else{sHTML=FCKConfig.DocType + '<html dir="' + FCKConfig.ContentLangDirection + '">' + '<head><title>' + FCKLang.Preview + '</title>' + '<link href="' + FCKConfig.EditorAreaCSS + '" rel="stylesheet" type="text/css" />' + FCK.TempBaseTag + '</head><body>' + FCK.GetXHTML() + '</body></html>';};oWindow.document.write(sHTML);oWindow.document.close();};FCK.SwitchEditMode=function(){var bWYSIWYG=(FCK.EditMode==FCK_EDITMODE_WYSIWYG);document.getElementById('eWysiwyg').style.display	= bWYSIWYG ? 'none' : '';document.getElementById('eSource').style.display	= bWYSIWYG ? '' : 'none';if (bWYSIWYG){if (FCKBrowserInfo.IsIE) FCKUndo.SaveUndoStep();document.getElementById('eSourceField').value = ( FCKConfig.EnableXHTML && FCKConfig.EnableSourceXHTML ? FCK.GetXHTML( FCKConfig.FormatSource ) : FCK.GetHTML( FCKConfig.FormatSource ));}else FCK.SetHTML(FCK.GetHTML(), true);FCK.EditMode=bWYSIWYG ? FCK_EDITMODE_SOURCE : FCK_EDITMODE_WYSIWYG;FCKToolbarSet.RefreshModeState();FCK.Focus();};FCK.CreateElement=function(tag){var e=FCK.EditorDocument.createElement(tag);return FCK.InsertElementAndGetIt(e);};FCK.InsertElementAndGetIt=function(e){e.setAttribute('__FCKTempLabel', 1);this.InsertElement(e);var aEls=FCK.EditorDocument.getElementsByTagName(e.tagName);for (var i=0 ; i < aEls.length ; i++){if (aEls[i].getAttribute( '__FCKTempLabel' )){aEls[i].removeAttribute('__FCKTempLabel');return aEls[i];};};};
-FCK._BaseGetNamedCommandState=FCK.GetNamedCommandState;FCK.GetNamedCommandState=function(commandName){switch (commandName){case 'Unlink':return FCKSelection.HasAncestorNode('A')?FCK_TRISTATE_OFF:FCK_TRISTATE_DISABLED;default:return FCK._BaseGetNamedCommandState(commandName);};};FCK.RedirectNamedCommands={Print:true,Paste:true,Cut:true,Copy:true};FCK.ExecuteRedirectedNamedCommand=function(commandName,commandParameter){switch (commandName){case 'Print':FCK.EditorWindow.print();break;case 'Paste':try			{ if (FCK.Paste()) FCK._BaseExecuteNamedCommand('Paste');}catch (e)	{ alert(FCKLang.PasteErrorPaste);};break;case 'Cut':try			{ FCK._BaseExecuteNamedCommand('Cut');}catch (e)	{ alert(FCKLang.PasteErrorCut);};break;case 'Copy':try			{ FCK._BaseExecuteNamedCommand('Copy');}catch (e)	{ alert(FCKLang.PasteErrorCopy);};break;default:FCK.ExecuteNamedCommand(commandName,commandParameter);};};FCK.AttachToOnSelectionChange=function(functionPointer){this.Events.AttachEvent('OnSelectionChange',functionPointer);};FCK.Paste=function(){if (FCKConfig.ForcePasteAsPlainText){FCK.PasteAsPlainText();return false;}else return true;};FCK.InsertHtml=function(html){var oSel=FCKSelection.Delete();var oRange=oSel.getRangeAt(0);var oFragment=oRange.createContextualFragment(html);var oLastNode=oFragment.lastChild;oRange.insertNode(oFragment);oRange.setEndAfter(oLastNode);oRange.setStartAfter(oLastNode);oSel.removeAllRanges();oSel=FCK.EditorWindow.getSelection();oSel.addRange(oRange);this.Focus();};FCK.InsertElement=function(element){var oSel=FCKSelection.Delete();var oRange=oSel.getRangeAt(0);oRange.insertNode(element);oRange.setEndAfter(element);oRange.setStartAfter(element);this.Focus();};FCK.PasteAsPlainText=function(){FCKDialog.OpenDialog('FCKDialog_Paste',FCKLang.PasteAsText,'dialog/fck_paste.html',400,330,'PlainText');};FCK.GetClipboardHTML=function(){return '';};FCK.CreateLink=function(url){FCK.ExecuteNamedCommand('Unlink');if (url.length>0){var sTempUrl='javascript:void(0);/*'+(new Date().getTime())+'*/';FCK.ExecuteNamedCommand('CreateLink',sTempUrl);var oLink=document.evaluate("//a[@href='"+sTempUrl+"']",this.EditorDocument.body,null,9,null).singleNodeValue;if (oLink){oLink.href=url;return oLink;};};};
+FCK.RedirectNamedCommands=new Object();FCK.ExecuteNamedCommand=function(A,B){FCKUndo.SaveUndoStep();if (FCK.RedirectNamedCommands[A]!=null) FCK.ExecuteRedirectedNamedCommand(A,B);else{FCK.Focus();FCK.EditorDocument.execCommand(A,false,B);FCK.Events.FireEvent('OnSelectionChange');};FCKUndo.SaveUndoStep();};FCK.GetNamedCommandState=function(A){try{if (!FCK.EditorDocument.queryCommandEnabled(A)) return FCK_TRISTATE_DISABLED;else return FCK.EditorDocument.queryCommandState(A)?FCK_TRISTATE_ON:FCK_TRISTATE_OFF;}catch (e){return FCK_TRISTATE_OFF;};};FCK.GetNamedCommandValue=function(A){var B='';var C=FCK.GetNamedCommandState(A);if (C==FCK_TRISTATE_DISABLED) return null;try{B=this.EditorDocument.queryCommandValue(A);}catch(e) {};return B?B:'';};FCK.PasteFromWord=function(){FCKDialog.OpenDialog('FCKDialog_Paste',FCKLang.PasteFromWord,'dialog/fck_paste.html',400,330,'Word');};FCK.Preview=function(){var A=FCKConfig.ScreenWidth*0.8;var B=FCKConfig.ScreenHeight*0.7;var C=(FCKConfig.ScreenWidth-A)/2;var D=window.open('',null,'toolbar=yes,location=no,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width='+A+',height='+B+',left='+C);var E;if (FCKConfig.FullPage){if (FCK.TempBaseTag.length>0) E=FCK.GetXHTML().replace(FCKRegexLib.HeadOpener,'$&'+FCK.TempBaseTag);else E=FCK.GetXHTML();}else{E=FCKConfig.DocType+'<html dir="'+FCKConfig.ContentLangDirection+'">'+'<head><title>'+FCKLang.Preview+'</title>'+'<link href="'+FCKConfig.EditorAreaCSS+'" rel="stylesheet" type="text/css" />'+FCK.TempBaseTag+'</head><body>'+FCK.GetXHTML()+'</body></html>';};D.document.write(E);D.document.close();};FCK.SwitchEditMode=function(){var A=(FCK.EditMode==FCK_EDITMODE_WYSIWYG);document.getElementById('eWysiwyg').style.display=A?'none':'';document.getElementById('eSource').style.display=A?'':'none';if (A){if (FCKBrowserInfo.IsIE) FCKUndo.SaveUndoStep();document.getElementById('eSourceField').value=(FCKConfig.EnableXHTML&&FCKConfig.EnableSourceXHTML?FCK.GetXHTML(FCKConfig.FormatSource):FCK.GetHTML(FCKConfig.FormatSource));}else FCK.SetHTML(FCK.GetHTML(),true);FCK.EditMode=A?FCK_EDITMODE_SOURCE:FCK_EDITMODE_WYSIWYG;FCKToolbarSet.RefreshModeState();FCK.Focus();};FCK.CreateElement=function(A){var e=FCK.EditorDocument.createElement(A);return FCK.InsertElementAndGetIt(e);};FCK.InsertElementAndGetIt=function(e){e.setAttribute('__FCKTempLabel',1);this.InsertElement(e);var A=FCK.EditorDocument.getElementsByTagName(e.tagName);for (var i=0;i<A.length;i++){if (A[i].getAttribute('__FCKTempLabel')){A[i].removeAttribute('__FCKTempLabel');return A[i];};};return null;};
+FCK._BaseGetNamedCommandState=FCK.GetNamedCommandState;FCK.GetNamedCommandState=function(A){switch (A){case 'Unlink':return FCKSelection.HasAncestorNode('A')?FCK_TRISTATE_OFF:FCK_TRISTATE_DISABLED;default:return FCK._BaseGetNamedCommandState(A);};};FCK.RedirectNamedCommands={Print:true,Paste:true,Cut:true,Copy:true,InsertOrderedList:true,InsertUnorderedList:true};FCK.ExecuteRedirectedNamedCommand=function(A,B){switch (A){case 'Print':FCK.EditorWindow.print();break;case 'Paste':try			{ if (FCK.Paste()) FCK._BaseExecuteNamedCommand('Paste');}catch (e)	{ alert(FCKLang.PasteErrorPaste);};break;case 'Cut':try			{ FCK._BaseExecuteNamedCommand('Cut');}catch (e)	{ alert(FCKLang.PasteErrorCut);};break;case 'Copy':try			{ FCK._BaseExecuteNamedCommand('Copy');}catch (e)	{ alert(FCKLang.PasteErrorCopy);};break;case 'InsertOrderedList':case 'InsertUnorderedList':if (!FCKConfig.UseBROnCarriageReturn&&FCK.EditorDocument.queryCommandState(A)){var C=FCK.EditorWindow.getSelection();var D=C.focusNode;var E=FCKTools.GetElementAscensor(D,"LI");FCK.ToggleListItem(E,D);}else{FCK.Focus();FCK.EditorDocument.execCommand(A,false,B);};FCK.Events.FireEvent('OnSelectionChange');break;default:FCK.ExecuteNamedCommand(A,B);};};FCK.AttachToOnSelectionChange=function(A){this.Events.AttachEvent('OnSelectionChange',A);};FCK.Paste=function(){if (FCKConfig.ForcePasteAsPlainText){FCK.PasteAsPlainText();return false;}else return true;};FCK.InsertHtml=function(A){var B=FCKSelection.Delete();var C=B.getRangeAt(0);var D=C.createContextualFragment(A);var E=D.lastChild;C.insertNode(D);C.setEndAfter(E);C.setStartAfter(E);B.removeAllRanges();B=FCK.EditorWindow.getSelection();B.addRange(C);this.Focus();};FCK.InsertElement=function(A){var B=FCKSelection.Delete();var C=B.getRangeAt(0);C.insertNode(A);C.setEndAfter(A);C.setStartAfter(A);this.Focus();};FCK.PasteAsPlainText=function(){FCKDialog.OpenDialog('FCKDialog_Paste',FCKLang.PasteAsText,'dialog/fck_paste.html',400,330,'PlainText');};FCK.GetClipboardHTML=function(){return '';};FCK.CreateLink=function(A){FCK.ExecuteNamedCommand('Unlink');if (A.length>0){var B='javascript:void(0);/*'+(new Date().getTime())+'*/';FCK.ExecuteNamedCommand('CreateLink',B);var C=document.evaluate("//a[@href='"+B+"']",this.EditorDocument.body,null,9,null).singleNodeValue;if (C){C.href=A;return C;};};};FCK.ToggleListItem=function(A,B){var C=FCKTools.GetElementAscensor(A,"UL,OL");var D=FCK.EditorDocument.createRange();var E=FCK.EditorDocument.createElement("P");E.innerHTML=A.innerHTML;if (FCKTools.NodeIsEmpty(E)) E.innerHTML=GECKO_BOGUS;if (A.className&&A.className!='') E.className=A.className;var F=E;if (C.childNodes[0]==A){C.removeChild(A);D.setStartBefore(C);D.setEndBefore(C);}else if (C.childNodes[C.childNodes.length-1]==A){C.removeChild(A);D.setEndAfter(C);D.setStartAfter(C);}else{C=FCKTools.SplitNode(C,B,0);C.removeChild(C.childNodes[0]);D.setStartBefore(C);D.setEndBefore(C);};D.insertNode(E);if (C.childNodes.length==0) C.parentNode.removeChild(C);FCK.Selection.SetCursorPosition(F);};FCK.ListItemEnter=function(A,B,C){if (FCKTools.NodeIsEmpty(A)){FCK.ToggleListItem(A,B);return false;};return true;};FCK.ListItemBackSpace=function(A,B){var C=A.parentNode;if (FCKTools.NodeIsEmpty(A)&&(C.childNodes[0]==A)){var D=FCK.EditorDocument.createRange();var E=FCK.EditorDocument.createElement("P");if (FCKTools.NodeIsEmpty(E)) E.innerHTML=GECKO_BOGUS;C.removeChild(A);D.setStartBefore(C);D.setEndBefore(C);D.insertNode(E);if (C.childNodes.length==0) C.parentNode.removeChild(C);FCK.Selection.SetCursorPosition(E);return false;};return true;};FCK.Enter=function(){FCK.Selection.Delete();var A=FCK.EditorWindow.getSelection();var B=A.focusOffset;var C=A.focusNode;if (!C) return false;var D=FCKTools.GetElementAscensor(C,"LI");if (D){return FCK.ListItemEnter(D,C,B);}else if (C.nodeType==3){var E=FCKTools.GetParentBlockNode(C);var F=FCKTools.SplitNode(E?E:FCK.EditorDocument.body,C,B);FCK.Selection.SetCursorPosition(F);return false;}else{if (B>=C.childNodes.length){var G=FCK.EditorDocument.createElement("P");if (FCKTools.NodeIsEmpty(G)) G.innerHTML=GECKO_BOGUS;C.appendChild(G);FCK.Selection.SetCursorPosition(G);return false;};var F=FCKTools.SplitNode(C,C.childNodes[B]);FCK.Selection.SetCursorPosition(F);return false;};return true;};FCK.BackSpace=function(){var A=FCK.EditorWindow.getSelection();var B=A.focusNode;var C=A.focusOffset;var D=null;if (!B) return false;if (B.nodeName.toUpperCase()=="LI"){return FCK.ListItemBackSpace(B,C);}else{if (B.nodeType!=3){B=B.childNodes[C];C=0;};if (!B.previousSibling&&C<=0){D=B.parentNode;if (D&&D.previousSibling&&FCKRegexLib.BlockElements.test(D.previousSibling.nodeName)){if (FCKTools.NodeIsEmpty(D.previousSibling)){var E=FCK.EditorDocument.createRange();E.selectNode (D.previousSibling);E.deleteContents();return false;};};};};return true;};
 var FCKSelection=new Object();FCK.Selection=FCKSelection;
-FCKSelection.GetType=function(){this._Type='Text';var oSel=FCK.EditorWindow.getSelection();if (oSel&&oSel.rangeCount==1){var oRange=oSel.getRangeAt(0);if (oRange.startContainer==oRange.endContainer&&(oRange.endOffset-oRange.startOffset)==1) this._Type='Control';};return this._Type;};FCKSelection.GetSelectedElement=function(){if (this.GetType()=='Control'){var oSel=FCK.EditorWindow.getSelection();return oSel.anchorNode.childNodes[oSel.anchorOffset];};};FCKSelection.GetParentElement=function(){if (this.GetType()=='Control') return FCKSelection.GetSelectedElement().parentElement;else{var oSel=FCK.EditorWindow.getSelection();if (oSel){var oNode=oSel.anchorNode;while (oNode&&oNode.nodeType!=1) oNode=oNode.parentNode;return oNode;};};};FCKSelection.SelectNode=function(element){FCK.Focus();var oRange=FCK.EditorDocument.createRange();oRange.selectNode(element);var oSel=FCK.EditorWindow.getSelection();oSel.removeAllRanges();oSel.addRange(oRange);};FCKSelection.Collapse=function(toStart){var oSel=FCK.EditorWindow.getSelection();if (toStart==null||toStart===true) oSel.collapseToStart();else oSel.collapseToEnd();};FCKSelection.HasAncestorNode=function(nodeTagName){var oContainer=this.GetSelectedElement();if (!oContainer&&FCK.EditorWindow){try		{ oContainer=FCK.EditorWindow.getSelection().getRangeAt(0).startContainer;}catch(e){};};while (oContainer){if (oContainer.tagName==nodeTagName) return true;oContainer=oContainer.parentNode;};return false;};FCKSelection.MoveToAncestorNode=function(nodeTagName){var oNode;var oContainer=this.GetSelectedElement();if (!oContainer) oContainer=FCK.EditorWindow.getSelection().getRangeAt(0).startContainer;while (oContainer){if (oContainer.tagName==nodeTagName) return oContainer;oContainer=oContainer.parentNode;};};FCKSelection.Delete=function(){var oSel=FCK.EditorWindow.getSelection();for (var i=0;i<oSel.rangeCount;i++){oSel.getRangeAt(i).deleteContents();};return oSel;}
-var FCKPanel=function(parentWindow){if (parentWindow) this.Window=parentWindow;else{this.Window=window;while (this.Window!=window.top){try{if (this.Window.parent.document.body.tagName=='FRAMESET') break;}catch (e){break;};this.Window=this.Window.parent;};};};FCKPanel.prototype.Create=function(){this._IFrame=this.Window.document.body.appendChild(this.Window.document.createElement('iframe'));this._IFrame.src='about:blank';this._IFrame.frameBorder='0';this._IFrame.scrolling='no';this._IFrame.style.left='0px';this._IFrame.style.top='0px';this._IFrame.width=10;this._IFrame.height=10;this._IFrame.style.position='absolute';this._IFrame.style.visibility='hidden';this._IFrame.IsFCKPanel=true;this._IFrame.Panel=this;this.Document=this._IFrame.contentWindow.document;this.Document.open();this.Document.write('<html><head></head><body><\/body><\/html>');this.Document.close();this.Document.body.style.margin=this.Document.body.style.padding='0px';if (this.StyleSheet) FCKTools.AppendStyleSheet(this.Document,this.StyleSheet);this.OuterDiv=this.Document.body.appendChild(this.Document.createElement('DIV'));this.OuterDiv.style.cssFloat='left';this.PanelDiv=this.OuterDiv.appendChild(this.Document.createElement('DIV'));this.PanelDiv.className='FCK_Panel';this.Created=true;};FCKPanel.prototype.Show=function(panelX,panelY,relElement,width,height,autoSize){if (!this.Created) this.Create();if (width!=null&&autoSize&&width<this.OuterDiv.offsetWidth) this.PanelDiv.style.width=width;if (height!=null&&autoSize&&height<this.PanelDiv.offsetHeight) this.PanelDiv.style.height=height+'px';var oPos=this.GetElementPosition(relElement);panelX+=oPos.X;panelY+=oPos.Y;if (panelX+this.OuterDiv.offsetWidth>this.Window.innerWidth){panelX-=panelX+this.OuterDiv.offsetWidth-this.Window.innerWidth;};this._IFrame.style.left=panelX+'px';this._IFrame.style.top=panelY+'px';function SetOnClickListener(targetWindow,targetFunction){try{if (targetWindow==null||(targetWindow.frameElement&&targetWindow.frameElement.IsFCKPanel)) return;targetWindow.document.addEventListener('click',targetFunction,false);}catch (e) {};for (var i=0;i<targetWindow.frames.length;i++) SetOnClickListener(targetWindow.frames[i],targetFunction);};SetOnClickListener(window.top,FCKPanelEventHandlers.OnDocumentClick);this._IFrame.width=this.OuterDiv.offsetWidth;this._IFrame.height=this.OuterDiv.offsetHeight;this._IFrame.style.visibility='';};FCKPanel.prototype.GetElementPosition=function(el){var c={ X:0,Y:0 };while (el){c.X+=el.offsetLeft;c.Y+=el.offsetTop;if (el.offsetParent==null&&el.ownerDocument.defaultView!=this.Window) el=el.ownerDocument.defaultView.frameElement;else el=el.offsetParent;};return c;};FCKPanel.prototype.Hide=function(){this.PanelDiv.style.overflow='visible';this._IFrame.style.visibility='hidden';};var FCKPanelEventHandlers=new Object();FCKPanelEventHandlers.OnDocumentClick=function(e){var oWindow=e.target.ownerDocument.defaultView;if (!oWindow.IsFCKPanel){function RemoveOnClickListener(targetWindow){if (targetWindow==null) return;try{if (targetWindow.frameElement&&targetWindow.frameElement.IsFCKPanel) targetWindow.frameElement.Panel.Hide();else targetWindow.document.removeEventListener('click',FCKPanelEventHandlers.OnDocumentClick,false);}catch (e) {};for (var i=0;i<targetWindow.frames.length;i++) RemoveOnClickListener(targetWindow.frames[i]);};RemoveOnClickListener(window.top);};}
-var FCKTableHandler=new Object();FCKTableHandler.InsertRow=function(){var oRow=FCKSelection.MoveToAncestorNode("TR");if (!oRow) return;var oNewRow=oRow.cloneNode(true);oRow.parentNode.insertBefore(oNewRow,oRow);FCKTableHandler.ClearRow(oRow);};FCKTableHandler.DeleteRows=function(row){if (!row) row=FCKSelection.MoveToAncestorNode("TR");if (!row) return;var oTable=FCKTools.GetElementAscensor(row,'TABLE');if (oTable.rows.length==1){FCKTableHandler.DeleteTable(oTable);return;};row.parentNode.removeChild(row);};FCKTableHandler.DeleteTable=function(table){if (!table) table=FCKSelection.MoveToAncestorNode("TABLE");if (!table) return;table.parentNode.removeChild(table);};FCKTableHandler.InsertColumn=function(){var oCell=FCKSelection.MoveToAncestorNode("TD");if (!oCell) oCell=FCKSelection.MoveToAncestorNode("TH");if (!oCell) return;var oTable=FCKTools.GetElementAscensor(oCell,'TABLE');var iIndex=oCell.cellIndex+1;for (var i=0;i<oTable.rows.length;i++){var oRow=oTable.rows[i];if (oRow.cells.length<iIndex) continue;oCell=oRow.cells[iIndex-1].cloneNode(false);if (FCKBrowserInfo.IsGecko) oCell.innerHTML=FCKBrowserInfo.IsGecko?'<br _moz_editor_bogus_node="TRUE">':'';var oBaseCell=oRow.cells[iIndex];if (oBaseCell) oRow.insertBefore(oCell,oBaseCell);else oRow.appendChild(oCell);};};FCKTableHandler.DeleteColumns=function(){var oCell=FCKSelection.MoveToAncestorNode("TD");if (!oCell) return;var oTable=FCKTools.GetElementAscensor(oCell,'TABLE');var iIndex=oCell.cellIndex;for (var i=oTable.rows.length-1;i>=0;i--){var oRow=oTable.rows[i];if (iIndex==0&&oRow.cells.length==1){FCKTableHandler.DeleteRows(oRow);continue;};if (oRow.cells[iIndex]) oRow.removeChild(oRow.cells[iIndex]);};};FCKTableHandler.InsertCell=function(cell){var oCell=cell?cell:FCKSelection.MoveToAncestorNode("TD");if (!oCell) return;var oNewCell=FCK.EditorDocument.createElement("TD");if (FCKBrowserInfo.IsGecko) oNewCell.innerHTML='<br _moz_editor_bogus_node="TRUE">';if (oCell.cellIndex==oCell.parentNode.cells.lenght-1){oCell.parentNode.appendChild(oNewCell);}else{oCell.parentNode.insertBefore(oNewCell,oCell.nextSibling);};return oNewCell;};FCKTableHandler.DeleteCell=function(cell){if (cell.parentNode.cells.length==1){FCKTableHandler.DeleteRows(FCKTools.GetElementAscensor(cell,'TR'));return;};cell.parentNode.removeChild(cell);};FCKTableHandler.DeleteCells=function(){var aCells=FCKTableHandler.GetSelectedCells();for (var i=aCells.length-1;i>=0;i--){FCKTableHandler.DeleteCell(aCells[i]);};};FCKTableHandler.MergeCells=function(){var aCells=FCKTableHandler.GetSelectedCells();if (aCells.length<2) return;if (aCells[0].parentNode!=aCells[aCells.length-1].parentNode) return;var iColSpan=isNaN(aCells[0].colSpan)?1:aCells[0].colSpan;var sHtml='';for (var i=aCells.length-1;i>0;i--){iColSpan+=isNaN(aCells[i].colSpan)?1:aCells[i].colSpan;sHtml=aCells[i].innerHTML+sHtml;FCKTableHandler.DeleteCell(aCells[i]);};aCells[0].colSpan=iColSpan;aCells[0].innerHTML+=sHtml;};FCKTableHandler.SplitCell=function(){var aCells=FCKTableHandler.GetSelectedCells();if (aCells.length!=1) return;var aMap=this._CreateTableMap(aCells[0].parentNode.parentNode);var iCellIndex=FCKTableHandler._GetCellIndexSpan(aMap,aCells[0].parentNode.rowIndex,aCells[0]);var aCollCells=this._GetCollumnCells(aMap,iCellIndex);for (var i=0;i<aCollCells.length;i++){if (aCollCells[i]==aCells[0]){var oNewCell=this.InsertCell(aCells[0]);if (!isNaN(aCells[0].rowSpan)&&aCells[0].rowSpan>1) oNewCell.rowSpan=aCells[0].rowSpan;}else{if (isNaN(aCollCells[i].colSpan)) aCollCells[i].colSpan=2;else aCollCells[i].colSpan+=1;};};};FCKTableHandler._GetCellIndexSpan=function(tableMap,rowIndex,cell){if (tableMap.length<rowIndex+1) return;var oRow=tableMap[rowIndex];for (var c=0;c<oRow.length;c++){if (oRow[c]==cell) return c;};};FCKTableHandler._GetCollumnCells=function(tableMap,collumnIndex){var aCollCells=new Array();for (var r=0;r<tableMap.length;r++){var oCell=tableMap[r][collumnIndex];if (oCell&&(aCollCells.length==0||aCollCells[aCollCells.length-1]!=oCell)) aCollCells[aCollCells.length]=oCell;};return aCollCells;};FCKTableHandler._CreateTableMap=function(table){var aRows=table.rows;var r=-1;var aMap=new Array();for (var i=0;i<aRows.length;i++){r++;if (!aMap[r]) aMap[r]=new Array();var c=-1;for (var j=0;j<aRows[i].cells.length;j++){var oCell=aRows[i].cells[j];c++;while (aMap[r][c]) c++;var iColSpan=isNaN(oCell.colSpan)?1:oCell.colSpan;var iRowSpan=isNaN(oCell.rowSpan)?1:oCell.rowSpan;for (var rs=0;rs<iRowSpan;rs++){if (!aMap[r+rs]) aMap[r+rs]=new Array();for (var cs=0;cs<iColSpan;cs++){aMap[r+rs][c+cs]=aRows[i].cells[j];};};c+=iColSpan-1;};};return aMap;};FCKTableHandler.ClearRow=function(tr){var aCells=tr.cells;for (var i=0;i<aCells.length;i++){if (FCKBrowserInfo.IsGecko) aCells[i].innerHTML='<br _moz_editor_bogus_node="TRUE">';else aCells[i].innerHTML='';};}
-FCKTableHandler.GetSelectedCells=function(){var aCells=new Array();var oSelection=FCK.EditorWindow.getSelection();if (oSelection.rangeCount==1&&oSelection.anchorNode.nodeType==3){var oParent=FCKTools.GetElementAscensor(oSelection.anchorNode,'TD');if (oParent){aCells[0]=oParent;return aCells;};};for (var i=0;i<oSelection.rangeCount;i++){var oRange=oSelection.getRangeAt(i);var oCell=oRange.startContainer.childNodes[oRange.startOffset];if (oCell.tagName=='TD') aCells[aCells.length]=oCell;};return aCells;};
-var FCKXml;if (!(FCKXml=NS.FCKXml)){FCKXml=NS.FCKXml=function(){};FCKXml.prototype.LoadUrl=function(urlToCall){var oFCKXml=this;var oXmlHttp=FCKTools.CreateXmlObject('XmlHttp');oXmlHttp.open("GET",urlToCall,false);oXmlHttp.send(null);if (oXmlHttp.status==200||oXmlHttp.status==304) this.DOMDocument=oXmlHttp.responseXML;else if (oXmlHttp.status==0&&oXmlHttp.readyState==4) this.DOMDocument=oXmlHttp.responseXML;else alert('Error loading "'+urlToCall+'"');};FCKXml.prototype.SelectNodes=function(xpath,contextNode){var aNodeArray=new Array();var xPathResult=this.DOMDocument.evaluate(xpath,contextNode?contextNode:this.DOMDocument,this.DOMDocument.createNSResolver(this.DOMDocument.documentElement),XPathResult.ORDERED_NODE_ITERATOR_TYPE,null);if (xPathResult){var oNode=xPathResult.iterateNext();while(oNode){aNodeArray[aNodeArray.length]=oNode;oNode=xPathResult.iterateNext();};};return aNodeArray;};FCKXml.prototype.SelectSingleNode=function(xpath,contextNode){var xPathResult=this.DOMDocument.evaluate(xpath,contextNode?contextNode:this.DOMDocument,this.DOMDocument.createNSResolver(this.DOMDocument.documentElement),9,null);if (xPathResult&&xPathResult.singleNodeValue) return xPathResult.singleNodeValue;else return null;};}
-var FCKStyleDef=function(name,element){this.Name=name;this.Element=element.toUpperCase();this.IsObjectElement=FCKRegexLib.ObjectElements.test(this.Element);this.Attributes=new Object();};FCKStyleDef.prototype.AddAttribute=function(name,value){this.Attributes[name]=value;};FCKStyleDef.prototype.GetOpenerTag=function(){var s='<'+this.Element;for (var a in this.Attributes) s+=' '+a+'="'+this.Attributes[a]+'"';return s+'>';};FCKStyleDef.prototype.GetCloserTag=function(){return '</'+this.Element+'>';};FCKStyleDef.prototype.RemoveFromSelection=function(){if (FCKSelection.GetType()=='Control') this._RemoveMe(FCKSelection.GetSelectedElement());else this._RemoveMe(FCKSelection.GetParentElement());}
-FCKStyleDef.prototype.ApplyToSelection=function(){if (FCKSelection.GetType()=='Text'&&!this.IsObjectElement){var oSelection=FCK.EditorWindow.getSelection();var e=FCK.EditorDocument.createElement(this.Element);for (var i=0;i<oSelection.rangeCount;i++){e.appendChild(oSelection.getRangeAt(i).extractContents());};this._AddAttributes(e);this._RemoveDuplicates(e);var oRange=oSelection.getRangeAt(0);oRange.insertNode(e);}else{var oControl=FCKSelection.GetSelectedElement();if (oControl.tagName==this.Element) this._AddAttributes(oControl);};};FCKStyleDef.prototype._AddAttributes=function(targetElement){for (var a in this.Attributes) targetElement.setAttribute(a,this.Attributes[a],0);};FCKStyleDef.prototype._RemoveDuplicates=function(parent){for (var i=0;i<parent.childNodes.length;i++){var oChild=parent.childNodes[i];if (oChild.nodeType!=1) continue;this._RemoveDuplicates(oChild);if (this.IsEqual(oChild)) FCKTools.RemoveOuterTags(oChild);};};FCKStyleDef.prototype.IsEqual=function(e){if (e.tagName!=this.Element) return false;for (var a in this.Attributes){if (e.getAttribute(a)!=this.Attributes[a]) return false;};return true;};FCKStyleDef.prototype._RemoveMe=function(elementToCheck){if (!elementToCheck) return;var oParent=elementToCheck.parentNode;if (elementToCheck.nodeType==1&&this.IsEqual(elementToCheck)){if (this.IsObjectElement){for (var a in this.Attributes) elementToCheck.removeAttribute(a,0);return;}else FCKTools.RemoveOuterTags(elementToCheck);};this._RemoveMe(oParent);}
-var FCKStylesLoader=function(){this.Styles=new Object();this.StyleGroups=new Object();this.Loaded=false;this.HasObjectElements=false;};FCKStylesLoader.prototype.Load=function(stylesXmlUrl){var oXml=new FCKXml();oXml.LoadUrl(stylesXmlUrl);var aStyleNodes=oXml.SelectNodes('Styles/Style');for (var i=0;i<aStyleNodes.length;i++){var sElement=aStyleNodes[i].attributes.getNamedItem('element').value.toUpperCase();var oStyleDef=new FCKStyleDef(aStyleNodes[i].attributes.getNamedItem('name').value,sElement);if (oStyleDef.IsObjectElement) this.HasObjectElements=true;var aAttNodes=oXml.SelectNodes('Attribute',aStyleNodes[i]);for (var j=0;j<aAttNodes.length;j++){var sAttName=aAttNodes[j].attributes.getNamedItem('name').value;var sAttValue=aAttNodes[j].attributes.getNamedItem('value').value;if (sAttName.toLowerCase()=='style'){var oTempE=document.createElement('SPAN');oTempE.style.cssText=sAttValue;sAttValue=oTempE.style.cssText;};oStyleDef.AddAttribute(sAttName,sAttValue);};this.Styles[oStyleDef.Name]=oStyleDef;var aGroup=this.StyleGroups[sElement];if (aGroup==null){this.StyleGroups[sElement]=new Array();aGroup=this.StyleGroups[sElement];};aGroup[aGroup.length]=oStyleDef;};this.Loaded=true;}
-var FCKNamedCommand=function(commandName){this.Name=commandName;};FCKNamedCommand.prototype.Execute=function(){FCK.ExecuteNamedCommand(this.Name);};FCKNamedCommand.prototype.GetState=function(){return FCK.GetNamedCommandState(this.Name);};
-var FCKDialogCommand=function(name,title,url,width,height,getStateFunction,getStateParam){this.Name=name;this.Title=title;this.Url=url;this.Width=width;this.Height=height;this.GetStateFunction=getStateFunction;this.GetStateParam=getStateParam;};FCKDialogCommand.prototype.Execute=function(){FCKDialog.OpenDialog('FCKDialog_'+this.Name,this.Title,this.Url,this.Width,this.Height);};FCKDialogCommand.prototype.GetState=function(){if (this.GetStateFunction) return this.GetStateFunction(this.GetStateParam);else return FCK_TRISTATE_OFF;};var FCKUndefinedCommand=function(){this.Name='Undefined';};FCKUndefinedCommand.prototype.Execute=function(){alert(FCKLang.NotImplemented);};FCKUndefinedCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};var FCKFontNameCommand=function(){this.Name='FontName';};FCKFontNameCommand.prototype.Execute=function(fontName){if (fontName==null||fontName==""){}else FCK.ExecuteNamedCommand('FontName',fontName);};FCKFontNameCommand.prototype.GetState=function(){return FCK.GetNamedCommandValue('FontName');};var FCKFontSizeCommand=function(){this.Name='FontSize';};FCKFontSizeCommand.prototype.Execute=function(fontSize){if (typeof(fontSize)=='string') fontSize=parseInt(fontSize);if (fontSize==null||fontSize==''){FCK.ExecuteNamedCommand('FontSize',3);}else FCK.ExecuteNamedCommand('FontSize',fontSize);};FCKFontSizeCommand.prototype.GetState=function(){return FCK.GetNamedCommandValue('FontSize');};var FCKFormatBlockCommand=function(){this.Name='FormatBlock';};FCKFormatBlockCommand.prototype.Execute=function(formatName){if (formatName==null||formatName=='') FCK.ExecuteNamedCommand('FormatBlock','<P>');else FCK.ExecuteNamedCommand('FormatBlock','<'+formatName+'>');};FCKFormatBlockCommand.prototype.GetState=function(){return FCK.GetNamedCommandValue('FormatBlock');};var FCKPreviewCommand=function(){this.Name='Preview';};FCKPreviewCommand.prototype.Execute=function(){FCK.Preview();};FCKPreviewCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};var FCKSaveCommand=function(){this.Name='Save';};FCKSaveCommand.prototype.Execute=function(){var oForm=FCK.LinkedField.form;if (typeof(oForm.onsubmit)=='function'){var bRet=oForm.onsubmit();if (bRet!=null&&bRet===false) return;};oForm.submit();};FCKSaveCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};var FCKNewPageCommand=function(){this.Name='NewPage';};FCKNewPageCommand.prototype.Execute=function(){FCKUndo.SaveUndoStep();FCK.SetHTML('');};FCKNewPageCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};var FCKSourceCommand=function(){this.Name='Source';};FCKSourceCommand.prototype.Execute=function(){if (FCKBrowserInfo.IsGecko){var iWidth=FCKConfig.ScreenWidth*0.65;var iHeight=FCKConfig.ScreenHeight*0.65;FCKDialog.OpenDialog('FCKDialog_Source',FCKLang.Source,'dialog/fck_source.html',iWidth,iHeight,null,null,true);}else FCK.SwitchEditMode();};FCKSourceCommand.prototype.GetState=function(){return (FCK.EditMode==FCK_EDITMODE_WYSIWYG?FCK_TRISTATE_OFF:FCK_TRISTATE_ON);};var FCKUndoCommand=function(){this.Name='Undo';};FCKUndoCommand.prototype.Execute=function(){if (FCKBrowserInfo.IsIE) FCKUndo.Undo();else FCK.ExecuteNamedCommand('Undo');};FCKUndoCommand.prototype.GetState=function(){if (FCKBrowserInfo.IsIE) return (FCKUndo.Typing||FCKUndo.CurrentIndex>0?FCK_TRISTATE_OFF:FCK_TRISTATE_DISABLED);else return FCK.GetNamedCommandState('Undo');};var FCKRedoCommand=function(){this.Name='Redo';};FCKRedoCommand.prototype.Execute=function(){if (FCKBrowserInfo.IsIE) FCKUndo.Redo();else FCK.ExecuteNamedCommand('Redo');};FCKRedoCommand.prototype.GetState=function(){if (FCKBrowserInfo.IsIE) return (!FCKUndo.Typing&&FCKUndo.CurrentIndex<(FCKUndo.SavedData.length-1)?FCK_TRISTATE_OFF:FCK_TRISTATE_DISABLED);else return FCK.GetNamedCommandState('Redo');}
+FCKSelection.GetType=function(){this._Type='Text';var A=FCK.EditorWindow.getSelection();if (A&&A.rangeCount==1){var B=A.getRangeAt(0);if (B.startContainer==B.endContainer&&(B.endOffset-B.startOffset)==1) this._Type='Control';};return this._Type;};FCKSelection.GetSelectedElement=function(){if (this.GetType()=='Control'){var A=FCK.EditorWindow.getSelection();return A.anchorNode.childNodes[A.anchorOffset];};};FCKSelection.GetParentElement=function(){if (this.GetType()=='Control') return FCKSelection.GetSelectedElement().parentElement;else{var A=FCK.EditorWindow.getSelection();if (A){var B=A.anchorNode;while (B&&B.nodeType!=1) B=B.parentNode;return B;};};};FCKSelection.SelectNode=function(A){FCK.Focus();var B=FCK.EditorDocument.createRange();B.selectNode(A);var C=FCK.EditorWindow.getSelection();C.removeAllRanges();C.addRange(B);};FCKSelection.Collapse=function(A){var B=FCK.EditorWindow.getSelection();if (A==null||A===true) B.collapseToStart();else B.collapseToEnd();};FCKSelection.HasAncestorNode=function(A){var B=this.GetSelectedElement();if (!B&&FCK.EditorWindow){try		{ B=FCK.EditorWindow.getSelection().getRangeAt(0).startContainer;}catch(e){};};while (B){if (B.nodeType==1&&B.tagName==A) return true;B=B.parentNode;};return false;};FCKSelection.MoveToAncestorNode=function(A){var B;var C=this.GetSelectedElement();if (!C) C=FCK.EditorWindow.getSelection().getRangeAt(0).startContainer;while (C){if (C.tagName==A) return C;C=C.parentNode;};return null;};FCKSelection.Delete=function(){var A=FCK.EditorWindow.getSelection();for (var i=0;i<A.rangeCount;i++){A.getRangeAt(i).deleteContents();};return A;};FCKSelection.SetCursorPosition=function (A,B){if (typeof B=="undefined") B=0;var C=FCK.EditorWindow.getSelection();var D=FCK.EditorDocument.createRange();D.setStart(A,B);D.collapse(true);C.removeAllRanges();C.addRange(D);if (A.scrollIntoView) A.scrollIntoView(false);};
+var FCKPanel=function(A){if (A) this.Window=A;else{this.Window=window;while (this.Window!=window.top){try{if (this.Window.parent.document.body.tagName=='FRAMESET') break;}catch (e){break;};this.Window=this.Window.parent;};};};FCKPanel.prototype.Create=function(){this._IFrame=this.Window.document.createElement('iframe');this._IFrame.src='about:blank';this._IFrame.frameBorder='0';this._IFrame.scrolling='no';this._IFrame.style.left='0px';this._IFrame.style.top='0px';this._IFrame.width=10;this._IFrame.height=10;this._IFrame.style.position='absolute';this._IFrame.style.visibility='hidden';this._IFrame.IsFCKPanel=true;this._IFrame.Panel=this;this.Window.document.body.appendChild(this._IFrame);this.Document=this._IFrame.contentWindow.document;this.Document.open();this.Document.write('<html><head></head><body><\/body><\/html>');this.Document.close();this.Document.body.style.margin=this.Document.body.style.padding='0px';if (this.StyleSheet) FCKTools.AppendStyleSheet(this.Document,this.StyleSheet);this.OuterDiv=this.Document.body.appendChild(this.Document.createElement('DIV'));this.OuterDiv.style.cssFloat='left';this.PanelDiv=this.OuterDiv.appendChild(this.Document.createElement('DIV'));this.PanelDiv.className='FCK_Panel';this.Created=true;};FCKPanel.prototype.Show=function(A,B,C,D,E,F){if (!this.Created) this.Create();if (D!=null&&F&&D<this.OuterDiv.offsetWidth) this.PanelDiv.style.width=D;if (E!=null&&F&&E<this.PanelDiv.offsetHeight) this.PanelDiv.style.height=E+'px';var G=this.GetElementPosition(C);A+=G.X;B+=G.Y;if (A+this.OuterDiv.offsetWidth>this.Window.innerWidth){A-=A+this.OuterDiv.offsetWidth-this.Window.innerWidth;};this._IFrame.style.left=A+'px';this._IFrame.style.top=B+'px';function SetOnClickListener(targetWindow,targetFunction){try{if (targetWindow==null||(targetWindow.frameElement&&targetWindow.frameElement.IsFCKPanel)) return;targetWindow.document.addEventListener('click',targetFunction,false);}catch (e) {};for (var i=0;i<targetWindow.frames.length;i++) SetOnClickListener(targetWindow.frames[i],targetFunction);};SetOnClickListener(window.top,FCKPanelEventHandlers.OnDocumentClick);this._IFrame.width=this.OuterDiv.offsetWidth;this._IFrame.height=this.OuterDiv.offsetHeight;this._IFrame.style.visibility='';};FCKPanel.prototype.GetElementPosition=function(A){var c={ X:0,Y:0 };while (A){c.X+=A.offsetLeft;c.Y+=A.offsetTop;if (A.offsetParent==null&&A.ownerDocument.defaultView!=this.Window) A=A.ownerDocument.defaultView.frameElement;else A=A.offsetParent;};return c;};FCKPanel.prototype.Hide=function(){this.PanelDiv.style.overflow='visible';this._IFrame.style.visibility='hidden';};var FCKPanelEventHandlers=new Object();FCKPanelEventHandlers.OnDocumentClick=function(e){var A=e.target.ownerDocument.defaultView;if (!A.IsFCKPanel){function RemoveOnClickListener(targetWindow){if (targetWindow==null) return;try{if (targetWindow.frameElement&&targetWindow.frameElement.IsFCKPanel) targetWindow.frameElement.Panel.Hide();else targetWindow.document.removeEventListener('click',FCKPanelEventHandlers.OnDocumentClick,false);}catch (e) {};for (var i=0;i<targetWindow.frames.length;i++) RemoveOnClickListener(targetWindow.frames[i]);};RemoveOnClickListener(window.top);};}
+var FCKTableHandler=new Object();FCKTableHandler.InsertRow=function(){var A=FCKSelection.MoveToAncestorNode("TR");if (!A) return;var B=A.cloneNode(true);A.parentNode.insertBefore(B,A);FCKTableHandler.ClearRow(A);};FCKTableHandler.DeleteRows=function(A){if (!A) A=FCKSelection.MoveToAncestorNode("TR");if (!A) return;var B=FCKTools.GetElementAscensor(A,'TABLE');if (B.rows.length==1){FCKTableHandler.DeleteTable(B);return;};A.parentNode.removeChild(A);};FCKTableHandler.DeleteTable=function(A){if (!A) A=FCKSelection.MoveToAncestorNode("TABLE");if (!A) return;A.parentNode.removeChild(A);};FCKTableHandler.InsertColumn=function(){var A=FCKSelection.MoveToAncestorNode("TD");if (!A) A=FCKSelection.MoveToAncestorNode("TH");if (!A) return;var B=FCKTools.GetElementAscensor(A,'TABLE');var C=A.cellIndex+1;for (var i=0;i<B.rows.length;i++){var D=B.rows[i];if (D.cells.length<C) continue;A=D.cells[C-1].cloneNode(false);if (FCKBrowserInfo.IsGecko) A.innerHTML=FCKBrowserInfo.IsGecko?GECKO_BOGUS:'';var E=D.cells[C];if (E) D.insertBefore(A,E);else D.appendChild(A);};};FCKTableHandler.DeleteColumns=function(){var A=FCKSelection.MoveToAncestorNode("TD");if (!A) return;var B=FCKTools.GetElementAscensor(A,'TABLE');var C=A.cellIndex;for (var i=B.rows.length-1;i>=0;i--){var D=B.rows[i];if (C==0&&D.cells.length==1){FCKTableHandler.DeleteRows(D);continue;};if (D.cells[C]) D.removeChild(D.cells[C]);};};FCKTableHandler.InsertCell=function(A){var B=A?A:FCKSelection.MoveToAncestorNode("TD");if (!B) return;var C=FCK.EditorDocument.createElement("TD");if (FCKBrowserInfo.IsGecko) C.innerHTML=GECKO_BOGUS;if (B.cellIndex==B.parentNode.cells.lenght-1){B.parentNode.appendChild(C);}else{B.parentNode.insertBefore(C,B.nextSibling);};return C;};FCKTableHandler.DeleteCell=function(A){if (A.parentNode.cells.length==1){FCKTableHandler.DeleteRows(FCKTools.GetElementAscensor(A,'TR'));return;};A.parentNode.removeChild(A);};FCKTableHandler.DeleteCells=function(){var A=FCKTableHandler.GetSelectedCells();for (var i=A.length-1;i>=0;i--){FCKTableHandler.DeleteCell(A[i]);};};FCKTableHandler.MergeCells=function(){var A=FCKTableHandler.GetSelectedCells();if (A.length<2) return;if (A[0].parentNode!=A[A.length-1].parentNode) return;var B=isNaN(A[0].colSpan)?1:A[0].colSpan;var C='';for (var i=A.length-1;i>0;i--){B+=isNaN(A[i].colSpan)?1:A[i].colSpan;C=A[i].innerHTML+C;FCKTableHandler.DeleteCell(A[i]);};A[0].colSpan=B;A[0].innerHTML+=C;};FCKTableHandler.SplitCell=function(){var A=FCKTableHandler.GetSelectedCells();if (A.length!=1) return;var B=this._CreateTableMap(A[0].parentNode.parentNode);var C=FCKTableHandler._GetCellIndexSpan(B,A[0].parentNode.rowIndex,A[0]);var D=this._GetCollumnCells(B,C);for (var i=0;i<D.length;i++){if (D[i]==A[0]){var E=this.InsertCell(A[0]);if (!isNaN(A[0].rowSpan)&&A[0].rowSpan>1) E.rowSpan=A[0].rowSpan;}else{if (isNaN(D[i].colSpan)) D[i].colSpan=2;else D[i].colSpan+=1;};};};FCKTableHandler._GetCellIndexSpan=function(A,B,C){if (A.length<B+1) return null;var D=A[B];for (var c=0;c<D.length;c++){if (D[c]==C) return c;};return null;};FCKTableHandler._GetCollumnCells=function(A,B){var C=new Array();for (var r=0;r<A.length;r++){var D=A[r][B];if (D&&(C.length==0||C[C.length-1]!=D)) C[C.length]=D;};return C;};FCKTableHandler._CreateTableMap=function(A){var B=A.rows;var r=-1;var C=new Array();for (var i=0;i<B.length;i++){r++;if (!C[r]) C[r]=new Array();var c=-1;for (var j=0;j<B[i].cells.length;j++){var D=B[i].cells[j];c++;while (C[r][c]) c++;var E=isNaN(D.colSpan)?1:D.colSpan;var F=isNaN(D.rowSpan)?1:D.rowSpan;for (var G=0;G<F;G++){if (!C[r+G]) C[r+G]=new Array();for (var H=0;H<E;H++){C[r+G][c+H]=B[i].cells[j];};};c+=E-1;};};return C;};FCKTableHandler.ClearRow=function(A){var B=A.cells;for (var i=0;i<B.length;i++){if (FCKBrowserInfo.IsGecko) B[i].innerHTML=GECKO_BOGUS;else B[i].innerHTML='';};}
+FCKTableHandler.GetSelectedCells=function(){var A=new Array();var B=FCK.EditorWindow.getSelection();if (B.rangeCount==1&&B.anchorNode.nodeType==3){var C=FCKTools.GetElementAscensor(B.anchorNode,'TD');if (C){A[0]=C;return A;};};for (var i=0;i<B.rangeCount;i++){var D=B.getRangeAt(i);var E=D.startContainer.childNodes[D.startOffset];if (E.tagName=='TD') A[A.length]=E;};return A;};
+var FCKXml;if (!(FCKXml=NS.FCKXml)){FCKXml=NS.FCKXml=function(){};FCKXml.prototype.LoadUrl=function(A){var B=this;var C=FCKTools.CreateXmlObject('XmlHttp');C.open("GET",A,false);C.send(null);if (C.status==200||C.status==304) this.DOMDocument=C.responseXML;else if (C.status==0&&C.readyState==4) this.DOMDocument=C.responseXML;else alert('Error loading "'+A+'"');};FCKXml.prototype.SelectNodes=function(A,B){var C=new Array();var D=this.DOMDocument.evaluate(A,B?B:this.DOMDocument,this.DOMDocument.createNSResolver(this.DOMDocument.documentElement),XPathResult.ORDERED_NODE_ITERATOR_TYPE,null);if (D){var E=D.iterateNext();while(E){C[C.length]=E;E=D.iterateNext();};};return C;};FCKXml.prototype.SelectSingleNode=function(A,B){var C=this.DOMDocument.evaluate(A,B?B:this.DOMDocument,this.DOMDocument.createNSResolver(this.DOMDocument.documentElement),9,null);if (C&&C.singleNodeValue) return C.singleNodeValue;else return null;};}
+var FCKStyleDef=function(A,B){this.Name=A;this.Element=B.toUpperCase();this.IsObjectElement=FCKRegexLib.ObjectElements.test(this.Element);this.Attributes=new Object();};FCKStyleDef.prototype.AddAttribute=function(A,B){this.Attributes[A]=B;};FCKStyleDef.prototype.GetOpenerTag=function(){var s='<'+this.Element;for (var a in this.Attributes) s+=' '+a+'="'+this.Attributes[a]+'"';return s+'>';};FCKStyleDef.prototype.GetCloserTag=function(){return '</'+this.Element+'>';};FCKStyleDef.prototype.RemoveFromSelection=function(){if (FCKSelection.GetType()=='Control') this._RemoveMe(FCKSelection.GetSelectedElement());else this._RemoveMe(FCKSelection.GetParentElement());}
+FCKStyleDef.prototype.ApplyToSelection=function(){if (FCKSelection.GetType()=='Text'&&!this.IsObjectElement){var A=FCK.EditorWindow.getSelection();var e=FCK.EditorDocument.createElement(this.Element);for (var i=0;i<A.rangeCount;i++){e.appendChild(A.getRangeAt(i).extractContents());};this._AddAttributes(e);this._RemoveDuplicates(e);var B=A.getRangeAt(0);B.insertNode(e);}else{var C=FCKSelection.GetSelectedElement();if (C.tagName==this.Element) this._AddAttributes(C);};};FCKStyleDef.prototype._AddAttributes=function(A){for (var a in this.Attributes) A.setAttribute(a,this.Attributes[a],0);};FCKStyleDef.prototype._RemoveDuplicates=function(A){for (var i=0;i<A.childNodes.length;i++){var B=A.childNodes[i];if (B.nodeType!=1) continue;this._RemoveDuplicates(B);if (this.IsEqual(B)) FCKTools.RemoveOuterTags(B);};};FCKStyleDef.prototype.IsEqual=function(e){if (e.tagName!=this.Element) return false;for (var a in this.Attributes){if (e.getAttribute(a)!=this.Attributes[a]) return false;};return true;};FCKStyleDef.prototype._RemoveMe=function(A){if (!A) return;var B=A.parentNode;if (A.nodeType==1&&this.IsEqual(A)){if (this.IsObjectElement){for (var a in this.Attributes) A.removeAttribute(a,0);return;}else FCKTools.RemoveOuterTags(A);};this._RemoveMe(B);}
+var FCKStylesLoader=function(){this.Styles=new Object();this.StyleGroups=new Object();this.Loaded=false;this.HasObjectElements=false;};FCKStylesLoader.prototype.Load=function(A){var B=new FCKXml();B.LoadUrl(A);var C=B.SelectNodes('Styles/Style');for (var i=0;i<C.length;i++){var D=C[i].attributes.getNamedItem('element').value.toUpperCase();var E=new FCKStyleDef(C[i].attributes.getNamedItem('name').value,D);if (E.IsObjectElement) this.HasObjectElements=true;var F=B.SelectNodes('Attribute',C[i]);for (var j=0;j<F.length;j++){var G=F[j].attributes.getNamedItem('name').value;var H=F[j].attributes.getNamedItem('value').value;if (G.toLowerCase()=='style'){var I=document.createElement('SPAN');I.style.cssText=H;H=I.style.cssText;};E.AddAttribute(G,H);};this.Styles[E.Name]=E;var J=this.StyleGroups[D];if (J==null){this.StyleGroups[D]=new Array();J=this.StyleGroups[D];};J[J.length]=E;};this.Loaded=true;}
+var FCKNamedCommand=function(A){this.Name=A;};FCKNamedCommand.prototype.Execute=function(){FCK.ExecuteNamedCommand(this.Name);};FCKNamedCommand.prototype.GetState=function(){return FCK.GetNamedCommandState(this.Name);};
+var FCKDialogCommand=function(A,B,C,D,E,F,G){this.Name=A;this.Title=B;this.Url=C;this.Width=D;this.Height=E;this.GetStateFunction=F;this.GetStateParam=G;};FCKDialogCommand.prototype.Execute=function(){FCKDialog.OpenDialog('FCKDialog_'+this.Name,this.Title,this.Url,this.Width,this.Height);};FCKDialogCommand.prototype.GetState=function(){if (this.GetStateFunction) return this.GetStateFunction(this.GetStateParam);else return FCK_TRISTATE_OFF;};var FCKUndefinedCommand=function(){this.Name='Undefined';};FCKUndefinedCommand.prototype.Execute=function(){alert(FCKLang.NotImplemented);};FCKUndefinedCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};var FCKFontNameCommand=function(){this.Name='FontName';};FCKFontNameCommand.prototype.Execute=function(A){if (A==null||A==""){}else FCK.ExecuteNamedCommand('FontName',A);};FCKFontNameCommand.prototype.GetState=function(){return FCK.GetNamedCommandValue('FontName');};var FCKFontSizeCommand=function(){this.Name='FontSize';};FCKFontSizeCommand.prototype.Execute=function(A){if (typeof(A)=='string') A=parseInt(A);if (A==null||A==''){FCK.ExecuteNamedCommand('FontSize',3);}else FCK.ExecuteNamedCommand('FontSize',A);};FCKFontSizeCommand.prototype.GetState=function(){return FCK.GetNamedCommandValue('FontSize');};var FCKFormatBlockCommand=function(){this.Name='FormatBlock';};FCKFormatBlockCommand.prototype.Execute=function(A){if (A==null||A=='') FCK.ExecuteNamedCommand('FormatBlock','<P>');else FCK.ExecuteNamedCommand('FormatBlock','<'+A+'>');};FCKFormatBlockCommand.prototype.GetState=function(){return FCK.GetNamedCommandValue('FormatBlock');};var FCKPreviewCommand=function(){this.Name='Preview';};FCKPreviewCommand.prototype.Execute=function(){FCK.Preview();};FCKPreviewCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};var FCKSaveCommand=function(){this.Name='Save';};FCKSaveCommand.prototype.Execute=function(){var A=FCK.LinkedField.form;if (typeof(A.onsubmit)=='function'){var B=A.onsubmit();if (B!=null&&B===false) return;};A.submit();};FCKSaveCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};var FCKNewPageCommand=function(){this.Name='NewPage';};FCKNewPageCommand.prototype.Execute=function(){FCKUndo.SaveUndoStep();FCK.SetHTML('');FCKUndo.Typing=true;};FCKNewPageCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};var FCKSourceCommand=function(){this.Name='Source';};FCKSourceCommand.prototype.Execute=function(){if (FCKBrowserInfo.IsGecko){var A=FCKConfig.ScreenWidth*0.65;var B=FCKConfig.ScreenHeight*0.65;FCKDialog.OpenDialog('FCKDialog_Source',FCKLang.Source,'dialog/fck_source.html',A,B,null,null,true);}else FCK.SwitchEditMode();};FCKSourceCommand.prototype.GetState=function(){return (FCK.EditMode==FCK_EDITMODE_WYSIWYG?FCK_TRISTATE_OFF:FCK_TRISTATE_ON);};var FCKUndoCommand=function(){this.Name='Undo';};FCKUndoCommand.prototype.Execute=function(){if (FCKBrowserInfo.IsIE) FCKUndo.Undo();else FCK.ExecuteNamedCommand('Undo');};FCKUndoCommand.prototype.GetState=function(){if (FCKBrowserInfo.IsIE) return (FCKUndo.CheckUndoState()?FCK_TRISTATE_OFF:FCK_TRISTATE_DISABLED);else return FCK.GetNamedCommandState('Undo');};var FCKRedoCommand=function(){this.Name='Redo';};FCKRedoCommand.prototype.Execute=function(){if (FCKBrowserInfo.IsIE) FCKUndo.Redo();else FCK.ExecuteNamedCommand('Redo');};FCKRedoCommand.prototype.GetState=function(){if (FCKBrowserInfo.IsIE) return (FCKUndo.CheckRedoState()?FCK_TRISTATE_OFF:FCK_TRISTATE_DISABLED);else return FCK.GetNamedCommandState('Redo');}
 var FCKSpellCheckCommand=function(){this.Name='SpellCheck';this.IsEnabled=(FCKConfig.SpellChecker=='SpellerPages');};FCKSpellCheckCommand.prototype.Execute=function(){FCKDialog.OpenDialog('FCKDialog_SpellCheck','Spell Check','dialog/fck_spellerpages.html',440,480);};FCKSpellCheckCommand.prototype.GetState=function(){return this.IsEnabled?FCK_TRISTATE_OFF:FCK_TRISTATE_DISABLED;}
-var FCKTextColorCommand=function(type){this.Name=type=='ForeColor'?'TextColor':'BGColor';this.Type=type;this._Panel=new FCKPanel();this._Panel.StyleSheet=FCKConfig.SkinPath+'fck_contextmenu.css';this._Panel.Create();this._CreatePanelBody(this._Panel.Document,this._Panel.PanelDiv);};FCKTextColorCommand.prototype.Execute=function(panelX,panelY,relElement){FCK._ActiveColorPanelType=this.Type;this._Panel.Show(panelX,panelY,relElement);};FCKTextColorCommand.prototype.SetColor=function(color){if (FCK._ActiveColorPanelType=='ForeColor') FCK.ExecuteNamedCommand('ForeColor',color);else if (FCKBrowserInfo.IsGecko) FCK.ExecuteNamedCommand('hilitecolor',color);else FCK.ExecuteNamedCommand('BackColor',color);delete FCK._ActiveColorPanelType;};FCKTextColorCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};function FCKTextColorCommand_OnMouseOver()	{ this.className='ColorSelected';};function FCKTextColorCommand_OnMouseOut()	{ this.className='ColorDeselected';};function FCKTextColorCommand_OnClick(){this.className='ColorDeselected';this.Command.SetColor('#'+this.Color);this.Command._Panel.Hide();};function FCKTextColorCommand_AutoOnClick(){this.className='ColorDeselected';this.Command.SetColor('');this.Command._Panel.Hide();};function FCKTextColorCommand_MoreOnClick(){this.className='ColorDeselected';this.Command._Panel.Hide();FCKDialog.OpenDialog('FCKDialog_Color',FCKLang.DlgColorTitle,'dialog/fck_colorselector.html',400,330,this.Command.SetColor);};FCKTextColorCommand.prototype._CreatePanelBody=function(targetDocument,targetDiv){function CreateSelectionDiv(){var oDiv=targetDocument.createElement("DIV");oDiv.className='ColorDeselected';oDiv.onmouseover=FCKTextColorCommand_OnMouseOver;oDiv.onmouseout=FCKTextColorCommand_OnMouseOut;return oDiv;};var oTable=targetDiv.appendChild(targetDocument.createElement("TABLE"));oTable.style.tableLayout='fixed';oTable.cellPadding=0;oTable.cellSpacing=0;oTable.border=0;oTable.width=150;var oCell=oTable.insertRow(-1).insertCell(-1);oCell.colSpan=8;var oDiv=oCell.appendChild(CreateSelectionDiv());oDiv.innerHTML='<table cellspacing="0" cellpadding="0" width="100%" border="0">\ <tr>\ <td><div class="ColorBoxBorder"><div class="ColorBox" style="background-color: #000000"></div></div></td>\ <td nowrap width="100%" align="center" unselectable="on">'+FCKLang.ColorAutomatic+'</td>\ </tr>\ </table>';oDiv.Command=this;oDiv.onclick=FCKTextColorCommand_AutoOnClick;var aColors=FCKConfig.FontColors.toString().split(',');var iCounter=0;while (iCounter<aColors.length){var oRow=oTable.insertRow(-1);for (var i=0;i<8&&iCounter<aColors.length;i++,iCounter++){var oDiv=oRow.insertCell(-1).appendChild(CreateSelectionDiv());oDiv.Color=aColors[iCounter];oDiv.innerHTML='<div class="ColorBoxBorder"><div class="ColorBox" style="background-color: #'+aColors[iCounter]+'"></div></div>';oDiv.Command=this;oDiv.onclick=FCKTextColorCommand_OnClick;};};var oCell=oTable.insertRow(-1).insertCell(-1);oCell.colSpan=8;var oDiv=oCell.appendChild(CreateSelectionDiv());oDiv.innerHTML='<table width="100%" cellpadding="0" cellspacing="0" border="0"><tr><td nowrap align="center">'+FCKLang.ColorMoreColors+'</td></tr></table>';oDiv.Command=this;oDiv.onclick=FCKTextColorCommand_MoreOnClick;}
+var FCKTextColorCommand=function(A){this.Name=A=='ForeColor'?'TextColor':'BGColor';this.Type=A;this._Panel=new FCKPanel();this._Panel.StyleSheet=FCKConfig.SkinPath+'fck_contextmenu.css';this._Panel.Create();this._CreatePanelBody(this._Panel.Document,this._Panel.PanelDiv);};FCKTextColorCommand.prototype.Execute=function(A,B,C){FCK._ActiveColorPanelType=this.Type;this._Panel.Show(A,B,C);};FCKTextColorCommand.prototype.SetColor=function(A){if (FCK._ActiveColorPanelType=='ForeColor') FCK.ExecuteNamedCommand('ForeColor',A);else if (FCKBrowserInfo.IsGecko) FCK.ExecuteNamedCommand('hilitecolor',A);else FCK.ExecuteNamedCommand('BackColor',A);delete FCK._ActiveColorPanelType;};FCKTextColorCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};function FCKTextColorCommand_OnMouseOver()	{ this.className='ColorSelected';};function FCKTextColorCommand_OnMouseOut()	{ this.className='ColorDeselected';};function FCKTextColorCommand_OnClick(){this.className='ColorDeselected';this.Command.SetColor('#'+this.Color);this.Command._Panel.Hide();};function FCKTextColorCommand_AutoOnClick(){this.className='ColorDeselected';this.Command.SetColor('');this.Command._Panel.Hide();};function FCKTextColorCommand_MoreOnClick(){this.className='ColorDeselected';this.Command._Panel.Hide();FCKDialog.OpenDialog('FCKDialog_Color',FCKLang.DlgColorTitle,'dialog/fck_colorselector.html',400,330,this.Command.SetColor);};FCKTextColorCommand.prototype._CreatePanelBody=function(A,B){function CreateSelectionDiv(){var C=A.createElement("DIV");C.className='ColorDeselected';C.onmouseover=FCKTextColorCommand_OnMouseOver;C.onmouseout=FCKTextColorCommand_OnMouseOut;return C;};var D=B.appendChild(A.createElement("TABLE"));D.style.tableLayout='fixed';D.cellPadding=0;D.cellSpacing=0;D.border=0;D.width=150;var E=D.insertRow(-1).insertCell(-1);E.colSpan=8;var C=E.appendChild(CreateSelectionDiv());C.innerHTML='<table cellspacing="0" cellpadding="0" width="100%" border="0">\<tr>\<td><div class="ColorBoxBorder"><div class="ColorBox" style="background-color: #000000"></div></div></td>\<td nowrap width="100%" align="center" unselectable="on">' + FCKLang.ColorAutomatic + '</td>\</tr>\</table>';C.Command=this;C.onclick=FCKTextColorCommand_AutoOnClick;var G=FCKConfig.FontColors.toString().split(',');var H=0;while (H<G.length){var I=D.insertRow(-1);for (var i=0;i<8&&H<G.length;i++,H++){C=I.insertCell(-1).appendChild(CreateSelectionDiv());C.Color=G[H];C.innerHTML='<div class="ColorBoxBorder"><div class="ColorBox" style="background-color: #'+G[H]+'"></div></div>';C.Command=this;C.onclick=FCKTextColorCommand_OnClick;};};E=D.insertRow(-1).insertCell(-1);E.colSpan=8;C=E.appendChild(CreateSelectionDiv());C.innerHTML='<table width="100%" cellpadding="0" cellspacing="0" border="0"><tr><td nowrap align="center">'+FCKLang.ColorMoreColors+'</td></tr></table>';C.Command=this;C.onclick=FCKTextColorCommand_MoreOnClick;}
 var FCKPastePlainTextCommand=function(){this.Name='PasteText';};FCKPastePlainTextCommand.prototype.Execute=function(){FCK.PasteAsPlainText();};FCKPastePlainTextCommand.prototype.GetState=function(){return FCK.GetNamedCommandState('Paste');};
 var FCKPasteWordCommand=function(){this.Name='PasteWord';};FCKPasteWordCommand.prototype.Execute=function(){FCK.PasteFromWord();};FCKPasteWordCommand.prototype.GetState=function(){if (FCKConfig.ForcePasteAsPlainText) return FCK_TRISTATE_DISABLED;else return FCK.GetNamedCommandState('Paste');};
-var FCKTableCommand=function(command){this.Name=command;};FCKTableCommand.prototype.Execute=function(){FCKUndo.SaveUndoStep();switch (this.Name){case 'TableInsertRow':FCKTableHandler.InsertRow();break;case 'TableDeleteRows':FCKTableHandler.DeleteRows();break;case 'TableInsertColumn':FCKTableHandler.InsertColumn();break;case 'TableDeleteColumns':FCKTableHandler.DeleteColumns();break;case 'TableInsertCell':FCKTableHandler.InsertCell();break;case 'TableDeleteCells':FCKTableHandler.DeleteCells();break;case 'TableMergeCells':FCKTableHandler.MergeCells();break;case 'TableSplitCell':FCKTableHandler.SplitCell();break;default:alert(FCKLang.UnknownCommand.replace(/%1/g,this.Name));};};FCKTableCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;}
-var FCKStyleCommand=function(){this.Name='Style';this.StylesLoader=new FCKStylesLoader();this.StylesLoader.Load(FCKConfig.StylesXmlPath);this.Styles=this.StylesLoader.Styles;};FCKStyleCommand.prototype.Execute=function(styleName,styleComboItem){if (styleComboItem.Selected) styleComboItem.Style.RemoveFromSelection();else styleComboItem.Style.ApplyToSelection();FCK.Focus();FCK.Events.FireEvent("OnSelectionChange");};FCKStyleCommand.prototype.GetState=function(){var oSelection=FCK.EditorDocument.selection;if (FCKSelection.GetType()=='Control'){var e=FCKSelection.GetSelectedElement();if (e) return this.StylesLoader.StyleGroups[e.tagName]?FCK_TRISTATE_OFF:FCK_TRISTATE_DISABLED;else FCK_TRISTATE_OFF;}else return FCK_TRISTATE_OFF;};FCKStyleCommand.prototype.GetActiveStyles=function(){var aActiveStyles=new Array();if (FCKSelection.GetType()=='Control') this._CheckStyle(FCKSelection.GetSelectedElement(),aActiveStyles,false);else this._CheckStyle(FCKSelection.GetParentElement(),aActiveStyles,true);return aActiveStyles;};FCKStyleCommand.prototype._CheckStyle=function(element,targetArray,checkParent){if (!element) return;if (element.nodeType==1){var aStyleGroup=this.StylesLoader.StyleGroups[element.tagName];if (aStyleGroup){for (var i=0;i<aStyleGroup.length;i++){if (aStyleGroup[i].IsEqual(element)) targetArray[targetArray.length]=aStyleGroup[i];};};};if (checkParent) this._CheckStyle(element.parentNode,targetArray,checkParent);}
-var FCKCommands=FCK.Commands=new Object();FCKCommands.LoadedCommands=new Object();FCKCommands.RegisterCommand=function(commandName,command){this.LoadedCommands[commandName]=command;};FCKCommands.GetCommand=function(commandName){var oCommand=FCKCommands.LoadedCommands[commandName];if (oCommand) return oCommand;switch (commandName){case 'DocProps':oCommand=new FCKDialogCommand('DocProps',FCKLang.DocProps,'dialog/fck_docprops.html',400,390,FCKCommands.GetFullPageState);break;case 'Templates':oCommand=new FCKDialogCommand('Templates',FCKLang.DlgTemplatesTitle,'dialog/fck_template.html',380,450);break;case 'Link':oCommand=new FCKDialogCommand('Link',FCKLang.DlgLnkWindowTitle,'dialog/fck_link.html',400,330,FCK.GetNamedCommandState,'CreateLink');break;case 'Anchor':oCommand=new FCKDialogCommand('Anchor',FCKLang.DlgAnchorTitle,'dialog/fck_anchor.html',370,170);break;case 'BulletedList':oCommand=new FCKDialogCommand('BulletedList',FCKLang.BulletedListProp,'dialog/fck_listprop.html',370,170);break;case 'NumberedList':oCommand=new FCKDialogCommand('NumberedList',FCKLang.NumberedListProp,'dialog/fck_listprop.html',370,170);break;case 'About':oCommand=new FCKDialogCommand('About',FCKLang.About,'dialog/fck_about.html',400,330);break;case 'Find':oCommand=new FCKDialogCommand('Find',FCKLang.DlgFindTitle,'dialog/fck_find.html',340,170);break;case 'Replace':oCommand=new FCKDialogCommand('Replace',FCKLang.DlgReplaceTitle,'dialog/fck_replace.html',340,200);break;case 'Image':oCommand=new FCKDialogCommand('Image',FCKLang.DlgImgTitle,'dialog/fck_image.html',450,400);break;case 'Flash':oCommand=new FCKDialogCommand('Flash',FCKLang.DlgFlashTitle,'dialog/fck_flash.html',450,400);break;case 'SpecialChar':oCommand=new FCKDialogCommand('SpecialChar',FCKLang.DlgSpecialCharTitle,'dialog/fck_specialchar.html',400,300);break;case 'Smiley':oCommand=new FCKDialogCommand('Smiley',FCKLang.DlgSmileyTitle,'dialog/fck_smiley.html',FCKConfig.SmileyWindowWidth,FCKConfig.SmileyWindowHeight);break;case 'Table':oCommand=new FCKDialogCommand('Table',FCKLang.DlgTableTitle,'dialog/fck_table.html',400,250);break;case 'TableProp':oCommand=new FCKDialogCommand('Table',FCKLang.DlgTableTitle,'dialog/fck_table.html?Parent',400,250);break;case 'TableCellProp':oCommand=new FCKDialogCommand('TableCell',FCKLang.DlgCellTitle,'dialog/fck_tablecell.html',500,250);break;case 'UniversalKey':oCommand=new FCKDialogCommand('UniversalKey',FCKLang.UniversalKeyboard,'dialog/fck_universalkey.html',415,300);break;case 'Style':oCommand=new FCKStyleCommand();break;case 'FontName':oCommand=new FCKFontNameCommand();break;case 'FontSize':oCommand=new FCKFontSizeCommand();break;case 'FontFormat':oCommand=new FCKFormatBlockCommand();break;case 'Source':oCommand=new FCKSourceCommand();break;case 'Preview':oCommand=new FCKPreviewCommand();break;case 'Save':oCommand=new FCKSaveCommand();break;case 'NewPage':oCommand=new FCKNewPageCommand();break;case 'TextColor':oCommand=new FCKTextColorCommand('ForeColor');break;case 'BGColor':oCommand=new FCKTextColorCommand('BackColor');break;case 'PasteText':oCommand=new FCKPastePlainTextCommand();break;case 'PasteWord':oCommand=new FCKPasteWordCommand();break;case 'TableInsertRow':oCommand=new FCKTableCommand('TableInsertRow');break;case 'TableDeleteRows':oCommand=new FCKTableCommand('TableDeleteRows');break;case 'TableInsertColumn':oCommand=new FCKTableCommand('TableInsertColumn');break;case 'TableDeleteColumns':oCommand=new FCKTableCommand('TableDeleteColumns');break;case 'TableInsertCell':oCommand=new FCKTableCommand('TableInsertCell');break;case 'TableDeleteCells':oCommand=new FCKTableCommand('TableDeleteCells');break;case 'TableMergeCells':oCommand=new FCKTableCommand('TableMergeCells');break;case 'TableSplitCell':oCommand=new FCKTableCommand('TableSplitCell');break;case 'Form':oCommand=new FCKDialogCommand('Form',FCKLang.Form,'dialog/fck_form.html',380,230);break;case 'Checkbox':oCommand=new FCKDialogCommand('Checkbox',FCKLang.Checkbox,'dialog/fck_checkbox.html',380,230);break;case 'Radio':oCommand=new FCKDialogCommand('Radio',FCKLang.RadioButton,'dialog/fck_radiobutton.html',380,230);break;case 'TextField':oCommand=new FCKDialogCommand('TextField',FCKLang.TextField,'dialog/fck_textfield.html',380,230);break;case 'Textarea':oCommand=new FCKDialogCommand('Textarea',FCKLang.Textarea,'dialog/fck_textarea.html',380,230);break;case 'HiddenField':oCommand=new FCKDialogCommand('HiddenField',FCKLang.HiddenField,'dialog/fck_hiddenfield.html',380,230);break;case 'Button':oCommand=new FCKDialogCommand('Button',FCKLang.Button,'dialog/fck_button.html',380,230);break;case 'Select':oCommand=new FCKDialogCommand('Select',FCKLang.SelectionField,'dialog/fck_select.html',400,380);break;case 'ImageButton':oCommand=new FCKDialogCommand('ImageButton',FCKLang.ImageButton,'dialog/fck_image.html?ImageButton',450,400);break;case 'SpellCheck':oCommand=new FCKSpellCheckCommand();break;case 'Undo':oCommand=new FCKUndoCommand();break;case 'Redo':oCommand=new FCKRedoCommand();break;case 'Undefined':oCommand=new FCKUndefinedCommand();break;default:if (FCKRegexLib.NamedCommands.test(commandName)) oCommand=new FCKNamedCommand(commandName);else{alert(FCKLang.UnknownCommand.replace(/%1/g,commandName));return;};};FCKCommands.LoadedCommands[commandName]=oCommand;return oCommand;};FCKCommands.GetFullPageState=function(){return FCKConfig.FullPage?FCK_TRISTATE_OFF:FCK_TRISTATE_DISABLED;};
-var FCKToolbarButton=function(commandName,label,tooltip,style,sourceView,contextSensitive){this.Command=FCKCommands.GetCommand(commandName);this.Label=label?label:commandName;this.Tooltip=tooltip?tooltip:(label?label:commandName);this.Style=style?style:FCK_TOOLBARITEM_ONLYICON;this.SourceView=sourceView?true:false;this.ContextSensitive=contextSensitive?true:false;this.IconPath=FCKConfig.SkinPath+'toolbar/'+commandName.toLowerCase()+'.gif';this.State=FCK_UNKNOWN;};FCKToolbarButton.prototype.CreateInstance=function(parentToolbar){this.DOMDiv=document.createElement('div');this.DOMDiv.className='TB_Button_Off';this.DOMDiv.FCKToolbarButton=this;var sHtml='<table title="'+this.Tooltip+'" cellspacing="0" cellpadding="0" border="0" unselectable="on">'+'<tr>';if (this.Style!=FCK_TOOLBARITEM_ONLYTEXT) sHtml+='<td class="TB_Icon" unselectable="on"><img src="'+this.IconPath+'" width="21" height="21" unselectable="on"></td>';if (this.Style!=FCK_TOOLBARITEM_ONLYICON) sHtml+='<td class="TB_Text" unselectable="on" nowrap>'+this.Label+'</td>';sHtml+='</tr>'+'</table>';this.DOMDiv.innerHTML=sHtml;var oCell=parentToolbar.DOMRow.insertCell(-1);oCell.appendChild(this.DOMDiv);this.RefreshState();};FCKToolbarButton.prototype.RefreshState=function(){var eState=this.Command.GetState();if (eState==this.State) return;this.State=eState;switch (this.State){case FCK_TRISTATE_ON:this.DOMDiv.className='TB_Button_On';this.DOMDiv.onmouseover=FCKToolbarButton_OnMouseOnOver;this.DOMDiv.onmouseout=FCKToolbarButton_OnMouseOnOut;this.DOMDiv.onclick=FCKToolbarButton_OnClick;break;case FCK_TRISTATE_OFF:this.DOMDiv.className='TB_Button_Off';this.DOMDiv.onmouseover=FCKToolbarButton_OnMouseOffOver;this.DOMDiv.onmouseout=FCKToolbarButton_OnMouseOffOut;this.DOMDiv.onclick=FCKToolbarButton_OnClick;break;default:this.Disable();break;};};function FCKToolbarButton_OnMouseOnOver(){this.className='TB_Button_On TB_Button_On_Over';};function FCKToolbarButton_OnMouseOnOut(){this.className='TB_Button_On';};function FCKToolbarButton_OnMouseOffOver(){this.className='TB_Button_On TB_Button_Off_Over';};function FCKToolbarButton_OnMouseOffOut(){this.className='TB_Button_Off';};function FCKToolbarButton_OnClick(e){this.FCKToolbarButton.Click(e);return false;};FCKToolbarButton.prototype.Click=function(){this.Command.Execute();};FCKToolbarButton.prototype.Enable=function(){this.RefreshState();};FCKToolbarButton.prototype.Disable=function(){this.State=FCK_TRISTATE_DISABLED;this.DOMDiv.className='TB_Button_Disabled';this.DOMDiv.onmouseover=null;this.DOMDiv.onmouseout=null;this.DOMDiv.onclick=null;}
-var FCKSpecialCombo=function(caption){this.FieldWidth=80;this.PanelWidth=130;this.PanelMaxHeight=150;this.Label='&nbsp;';this.Caption=caption;this.Tooltip=caption;this.Style=FCK_TOOLBARITEM_ICONTEXT;this.Enabled=true;this.Items=new Object();this._Panel=new FCKPanel();this._Panel.StyleSheet=FCKConfig.SkinPath+'fck_contextmenu.css';this._Panel.Create();this._Panel.PanelDiv.className+=' SC_Panel';this._Panel.PanelDiv.innerHTML='<table cellpadding="0" cellspacing="0" width="100%" style="TABLE-LAYOUT: fixed"><tr><td nowrap></td></tr></table>';this._ItemsHolderEl=this._Panel.PanelDiv.getElementsByTagName('TD')[0];};function FCKSpecialCombo_ItemOnMouseOver(){this.className+=' SC_ItemOver';};function FCKSpecialCombo_ItemOnMouseOut(){this.className=this.originalClass;};function FCKSpecialCombo_ItemOnClick(){this.FCKSpecialCombo._Panel.Hide();this.FCKSpecialCombo.SetLabel(this.FCKItemLabel);if (typeof(this.FCKSpecialCombo.OnSelect)=='function') this.FCKSpecialCombo.OnSelect(this.FCKItemID,this);};FCKSpecialCombo.prototype.AddItem=function(id,html,label){var oDiv=this._ItemsHolderEl.appendChild(this._Panel.Document.createElement('DIV'));oDiv.className=oDiv.originalClass='SC_Item';oDiv.innerHTML=html;oDiv.FCKItemID=id;oDiv.FCKItemLabel=label?label:id;oDiv.FCKSpecialCombo=this;oDiv.Selected=false;oDiv.onmouseover=FCKSpecialCombo_ItemOnMouseOver;oDiv.onmouseout=FCKSpecialCombo_ItemOnMouseOut;oDiv.onclick=FCKSpecialCombo_ItemOnClick;this.Items[id.toString().toLowerCase()]=oDiv;return oDiv;};FCKSpecialCombo.prototype.SelectItem=function(itemId){itemId=itemId?itemId.toString().toLowerCase():'';var oDiv=this.Items[itemId];if (oDiv){oDiv.className=oDiv.originalClass='SC_ItemSelected';oDiv.Selected=true;};};FCKSpecialCombo.prototype.DeselectAll=function(){for (var i in this.Items){this.Items[i].className=this.Items[i].originalClass='SC_Item';this.Items[i].Selected=false;};};FCKSpecialCombo.prototype.SetLabelById=function(id){id=id?id.toString().toLowerCase():'';var oDiv=this.Items[id];this.SetLabel(oDiv?oDiv.FCKItemLabel:'');};FCKSpecialCombo.prototype.SetLabel=function(text){this.Label=text.length==0?'&nbsp;':text;if (this._LabelEl) this._LabelEl.innerHTML=this.Label;};FCKSpecialCombo.prototype.SetEnabled=function(isEnabled){this.Enabled=isEnabled;this._OuterTable.className=isEnabled?'':'SC_FieldDisabled';};FCKSpecialCombo.prototype.Create=function(targetElement){this._OuterTable=targetElement.appendChild(document.createElement('TABLE'));this._OuterTable.cellPadding=0;this._OuterTable.cellSpacing=0;this._OuterTable.insertRow(-1);var sClass;var bShowLabel;switch (this.Style){case FCK_TOOLBARITEM_ONLYICON:sClass='TB_ButtonType_Icon';bShowLabel=false;break;case FCK_TOOLBARITEM_ONLYTEXT:sClass='TB_ButtonType_Text';bShowLabel=false;break;case FCK_TOOLBARITEM_ICONTEXT:bShowLabel=true;break;};if (this.Caption&&this.Caption.length>0&&bShowLabel){var oCaptionCell=this._OuterTable.rows[0].insertCell(-1);oCaptionCell.unselectable='on';oCaptionCell.innerHTML=this.Caption;oCaptionCell.className='SC_FieldCaption';};var oField=this._OuterTable.rows[0].insertCell(-1).appendChild(document.createElement('DIV'));if (bShowLabel){oField.className='SC_Field';oField.style.width=this.FieldWidth+'px';oField.innerHTML='<table width="100%" cellpadding="0" cellspacing="0" style="TABLE-LAYOUT: fixed;" unselectable="on"><tbody><tr><td class="SC_FieldLabel" unselectable="on"><label unselectable="on">&nbsp;</label></td><td class="SC_FieldButton" unselectable="on">&nbsp;</td></tr></tbody></table>';this._LabelEl=oField.getElementsByTagName('label')[0];this._LabelEl.innerHTML=this.Label;}else{oField.className='TB_Button_Off';oField.innerHTML=/*('<span className="SC_FieldCaption">' + this.Caption + */'<table cellpadding="0" cellspacing="0" style="TABLE-LAYOUT: fixed;" unselectable="on"><tbody><tr><td class="SC_FieldButton" style="border-left: none;" unselectable="on">&nbsp;</td></tr></tbody></table>';oField.innerHTML='<table title="'+this.Tooltip+'" class="'+sClass+'" cellspacing="0" cellpadding="0" border="0" unselectable="on">'+'<tr>'+'<td class="TB_Text" unselectable="on">'+this.Caption+'</td>'+'<td class="TB_ButtonArrow" unselectable="on"><img src="'+FCKConfig.SkinPath+'images/toolbar.buttonarrow.gif" width="5" height="3"></td>'+'</tr>'+'</table>';};oField.SpecialCombo=this;oField.onmouseover=FCKSpecialCombo_OnMouseOver;oField.onmouseout=FCKSpecialCombo_OnMouseOut;oField.onclick=FCKSpecialCombo_OnClick;};function FCKSpecialCombo_OnMouseOver(){if (this.SpecialCombo.Enabled){switch (this.SpecialCombo.Style){case FCK_TOOLBARITEM_ONLYICON:this.className='TB_Button_On';break;case FCK_TOOLBARITEM_ONLYTEXT:this.className='TB_Button_On';break;case FCK_TOOLBARITEM_ICONTEXT:this.className='SC_Field SC_FieldOver';break;};};};function FCKSpecialCombo_OnMouseOut(){switch (this.SpecialCombo.Style){case FCK_TOOLBARITEM_ONLYICON:this.className='TB_Button_Off';break;case FCK_TOOLBARITEM_ONLYTEXT:this.className='TB_Button_Off';break;case FCK_TOOLBARITEM_ICONTEXT:this.className='SC_Field';break;};};function FCKSpecialCombo_OnClick(e){if (e){e.stopPropagation();FCKPanelEventHandlers.OnDocumentClick(e);};if (this.SpecialCombo.Enabled){if (typeof(this.SpecialCombo.OnBeforeClick)=='function') this.SpecialCombo.OnBeforeClick(this.SpecialCombo);if (this.SpecialCombo._ItemsHolderEl.offsetHeight>this.SpecialCombo.PanelMaxHeight) this.SpecialCombo._Panel.PanelDiv.style.height=this.SpecialCombo.PanelMaxHeight+'px';else this.SpecialCombo._Panel.PanelDiv.style.height=this.SpecialCombo._ItemsHolderEl.offsetHeight+'px';this.SpecialCombo._Panel.PanelDiv.style.width=this.SpecialCombo.PanelWidth+'px';if (FCKBrowserInfo.IsGecko) this.SpecialCombo._Panel.PanelDiv.style.overflow='-moz-scrollbars-vertical';this.SpecialCombo._Panel.Show(0,this.offsetHeight,this,null,this.SpecialCombo.PanelMaxHeight,true);};return false;};
-var FCKToolbarSpecialCombo=function(){this.SourceView=false;this.ContextSensitive=true;};function FCKToolbarSpecialCombo_OnSelect(itemId,item){this.Command.Execute(itemId,item);};FCKToolbarSpecialCombo.prototype.CreateInstance=function(parentToolbar){this._Combo=new FCKSpecialCombo(this.GetLabel());this._Combo.FieldWidth=this.FieldWidth!=null?this.FieldWidth:100;this._Combo.PanelWidth=this.PanelWidth!=null?this.PanelWidth:150;this._Combo.PanelMaxHeight=this.PanelMaxHeight!=null?this.PanelMaxHeight:150;this._Combo.Tooltip=this.Tooltip;this._Combo.Style=this.Style;this.CreateItems(this._Combo);this._Combo.Create(parentToolbar.DOMRow.insertCell(-1));this._Combo.Command=this.Command;this._Combo.OnSelect=FCKToolbarSpecialCombo_OnSelect;};function FCKToolbarSpecialCombo_RefreshActiveItems(combo,value){combo.DeselectAll();combo.SelectItem(value);combo.SetLabelById(value);};FCKToolbarSpecialCombo.prototype.RefreshState=function(){var eState;var sValue=this.Command.GetState();if (sValue!=FCK_TRISTATE_DISABLED){eState=FCK_TRISTATE_ON;if (this.RefreshActiveItems) this.RefreshActiveItems(this._Combo,sValue);else FCKToolbarSpecialCombo_RefreshActiveItems(this._Combo,sValue);}else eState=FCK_TRISTATE_DISABLED;if (eState==this.State) return;if (eState==FCK_TRISTATE_DISABLED){this._Combo.DeselectAll();this._Combo.SetLabel('');};this.State=eState;this._Combo.SetEnabled(eState!=FCK_TRISTATE_DISABLED);};FCKToolbarSpecialCombo.prototype.Enable=function(){this.RefreshState();};FCKToolbarSpecialCombo.prototype.Disable=function(){this.State=FCK_TRISTATE_DISABLED;this._Combo.DeselectAll();this._Combo.SetLabel('');this._Combo.SetEnabled(false);}
-var FCKToolbarFontsCombo=function(tooltip,style){this.Command=FCKCommands.GetCommand('FontName');this.Label=this.GetLabel();this.Tooltip=tooltip?tooltip:this.Label;this.Style=style?style:FCK_TOOLBARITEM_ICONTEXT;};FCKToolbarFontsCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarFontsCombo.prototype.GetLabel=function(){return FCKLang.Font;};FCKToolbarFontsCombo.prototype.CreateItems=function(targetSpecialCombo){var aFonts=FCKConfig.FontNames.split(';');for (var i=0;i<aFonts.length;i++) this._Combo.AddItem(aFonts[i],'<span style="font-family: \''+aFonts[i]+'\'; font-size: 12px;">'+aFonts[i]+'</span>');}
-var FCKToolbarFontSizeCombo=function(tooltip,style){this.Command=FCKCommands.GetCommand('FontSize');this.Label=this.GetLabel();this.Tooltip=tooltip?tooltip:this.Label;this.Style=style?style:FCK_TOOLBARITEM_ICONTEXT;};FCKToolbarFontSizeCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarFontSizeCombo.prototype.GetLabel=function(){return FCKLang.FontSize;};FCKToolbarFontSizeCombo.prototype.CreateItems=function(targetSpecialCombo){targetSpecialCombo.FieldWidth=70;var aSizes=FCKConfig.FontSizes.split(';');for (var i=0;i<aSizes.length;i++){var aSizeParts=aSizes[i].split('/');this._Combo.AddItem(aSizeParts[0],'<font size="'+aSizeParts[0]+'">'+aSizeParts[1]+'</font>',aSizeParts[1]);};}
-var FCKToolbarFontFormatCombo=function(tooltip,style){this.Command=FCKCommands.GetCommand('FontFormat');this.Label=this.GetLabel();this.Tooltip=tooltip?tooltip:this.Label;this.Style=style?style:FCK_TOOLBARITEM_ICONTEXT;this.PanelWidth=190;};FCKToolbarFontFormatCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarFontFormatCombo.prototype.GetLabel=function(){return FCKLang.FontFormat;};FCKToolbarFontFormatCombo.prototype.CreateItems=function(targetSpecialCombo){var aNames=FCKLang['FontFormats'].split(';');var oNames={p:aNames[0],pre:aNames[1],address:aNames[2],h1:aNames[3],h2:aNames[4],h3:aNames[5],h4:aNames[6],h5:aNames[7],h6:aNames[8],div:aNames[9]};var aTags=FCKConfig.FontFormats.split(';');for (var i=0;i<aTags.length;i++){if (aTags[i]=='div'&&FCKBrowserInfo.IsGecko) continue;this._Combo.AddItem(aTags[i],'<'+aTags[i]+'>'+oNames[aTags[i]]+'</'+aTags[i]+'>',oNames[aTags[i]]);};}
-var FCKToolbarStyleCombo=function(tooltip,style){this.Command=FCKCommands.GetCommand('Style');this.Label=this.GetLabel();this.Tooltip=tooltip?tooltip:this.Label;this.Style=style?style:FCK_TOOLBARITEM_ICONTEXT;};FCKToolbarStyleCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarStyleCombo.prototype.GetLabel=function(){return FCKLang.Style;};FCKToolbarStyleCombo.prototype.CreateItems=function(targetSpecialCombo){FCKTools.AppendStyleSheet(targetSpecialCombo._Panel.Document,FCKConfig.EditorAreaCSS);if (!FCKBrowserInfo.IsGecko) targetSpecialCombo.OnBeforeClick=this.RefreshVisibleItems;for (var s in this.Command.Styles){var oStyle=this.Command.Styles[s];if (oStyle.IsObjectElement) var oItem=targetSpecialCombo.AddItem(s,s);else var oItem=targetSpecialCombo.AddItem(s,oStyle.GetOpenerTag()+s+oStyle.GetCloserTag());oItem.Style=oStyle;};};FCKToolbarStyleCombo.prototype.RefreshActiveItems=function(targetSpecialCombo){targetSpecialCombo.DeselectAll();var aStyles=this.Command.GetActiveStyles();if (aStyles.length>0){for (var i=0;i<aStyles.length;i++) targetSpecialCombo.SelectItem(aStyles[i].Name);targetSpecialCombo.SetLabelById(aStyles[0].Name);}else targetSpecialCombo.SetLabel('');};FCKToolbarStyleCombo.prototype.RefreshVisibleItems=function(targetSpecialCombo){if (FCKSelection.GetType()=='Control') var sTagName=FCKSelection.GetSelectedElement().tagName;for (var i in targetSpecialCombo.Items){var oItem=targetSpecialCombo.Items[i];if ((sTagName&&oItem.Style.Element==sTagName)||(!sTagName&&!oItem.Style.IsObjectElement)) oItem.style.display='';else oItem.style.display='none';};}
-var FCKToolbarPanelButton=function(commandName,label,tooltip,style){this.Command=FCKCommands.GetCommand(commandName);this.Label=label?label:commandName;this.Tooltip=tooltip?tooltip:(label?label:commandName);this.Style=style?style:FCK_TOOLBARITEM_ONLYICON;this.State=FCK_UNKNOWN;};FCKToolbarPanelButton.prototype.Click=function(e){if (e){e.stopPropagation();FCKPanelEventHandlers.OnDocumentClick(e);};if (this.State!=FCK_TRISTATE_DISABLED){this.Command.Execute(0,this.DOMDiv.offsetHeight,this.DOMDiv);};return false;};FCKToolbarPanelButton.prototype.CreateInstance=function(parentToolbar){this.DOMDiv=document.createElement('div');this.DOMDiv.className='TB_Button_Off';this.DOMDiv.FCKToolbarButton=this;var sHtml='<table title="'+this.Tooltip+'" cellspacing="0" cellpadding="0" border="0" unselectable="on">'+'<tr>';if (this.Style!=FCK_TOOLBARITEM_ONLYTEXT) sHtml+='<td class="TB_Icon" unselectable="on"><img src="'+FCKConfig.SkinPath+'toolbar/'+this.Command.Name.toLowerCase()+'.gif" width="21" height="21" unselectable="on"></td>';if (this.Style!=FCK_TOOLBARITEM_ONLYICON) sHtml+='<td class="TB_Text" unselectable="on" nowrap>'+this.Label+'</td>';sHtml+='<td class="TB_ButtonArrow" unselectable="on"><img src="'+FCKConfig.SkinPath+'images/toolbar.buttonarrow.gif" width="5" height="3"></td>'+'</tr>'+'</table>';this.DOMDiv.innerHTML=sHtml;var oCell=parentToolbar.DOMRow.insertCell(-1);oCell.appendChild(this.DOMDiv);this.RefreshState();};FCKToolbarPanelButton.prototype.RefreshState=FCKToolbarButton.prototype.RefreshState;FCKToolbarPanelButton.prototype.Enable=FCKToolbarButton.prototype.Enable;FCKToolbarPanelButton.prototype.Disable=FCKToolbarButton.prototype.Disable;
-var FCKToolbarItems=new Object();FCKToolbarItems.LoadedItems=new Object();FCKToolbarItems.RegisterItem=function(itemName,item){this.LoadedItems[itemName]=item;};FCKToolbarItems.GetItem=function(itemName){var oItem=FCKToolbarItems.LoadedItems[itemName];if (oItem) return oItem;switch (itemName){case 'Source':oItem=new FCKToolbarButton('Source',FCKLang.Source,null,FCK_TOOLBARITEM_ICONTEXT,true,true);break;case 'DocProps':oItem=new FCKToolbarButton('DocProps',FCKLang.DocProps);break;case 'Templates':oItem=new FCKToolbarButton('Templates',FCKLang.Templates);break;case 'Save':oItem=new FCKToolbarButton('Save',FCKLang.Save,null,null,true);break;case 'NewPage':oItem=new FCKToolbarButton('NewPage',FCKLang.NewPage,null,null,true);break;case 'Preview':oItem=new FCKToolbarButton('Preview',FCKLang.Preview,null,null,true);break;case 'About':oItem=new FCKToolbarButton('About',FCKLang.About,null,null,true);break;case 'Cut':oItem=new FCKToolbarButton('Cut',FCKLang.Cut,null,null,false,true);break;case 'Copy':oItem=new FCKToolbarButton('Copy',FCKLang.Copy,null,null,false,true);break;case 'Paste':oItem=new FCKToolbarButton('Paste',FCKLang.Paste,null,null,false,true);break;case 'PasteText':oItem=new FCKToolbarButton('PasteText',FCKLang.PasteText,null,null,false,true);break;case 'PasteWord':oItem=new FCKToolbarButton('PasteWord',FCKLang.PasteWord,null,null,false,true);break;case 'Print':oItem=new FCKToolbarButton('Print',FCKLang.Print,null,null,false,true);break;case 'SpellCheck':oItem=new FCKToolbarButton('SpellCheck',FCKLang.SpellCheck);break;case 'Undo':oItem=new FCKToolbarButton('Undo',FCKLang.Undo,null,null,false,true);break;case 'Redo':oItem=new FCKToolbarButton('Redo',FCKLang.Redo,null,null,false,true);break;case 'SelectAll':oItem=new FCKToolbarButton('SelectAll',FCKLang.SelectAll);break;case 'RemoveFormat':oItem=new FCKToolbarButton('RemoveFormat',FCKLang.RemoveFormat,null,null,false,true);break;case 'Bold':oItem=new FCKToolbarButton('Bold',FCKLang.Bold,null,null,false,true);break;case 'Italic':oItem=new FCKToolbarButton('Italic',FCKLang.Italic,null,null,false,true);break;case 'Underline':oItem=new FCKToolbarButton('Underline',FCKLang.Underline,null,null,false,true);break;case 'StrikeThrough':oItem=new FCKToolbarButton('StrikeThrough',FCKLang.StrikeThrough,null,null,false,true);break;case 'Subscript':oItem=new FCKToolbarButton('Subscript',FCKLang.Subscript,null,null,false,true);break;case 'Superscript':oItem=new FCKToolbarButton('Superscript',FCKLang.Superscript,null,null,false,true);break;case 'OrderedList':oItem=new FCKToolbarButton('InsertOrderedList',FCKLang.NumberedListLbl,FCKLang.NumberedList,null,false,true);break;case 'UnorderedList':oItem=new FCKToolbarButton('InsertUnorderedList',FCKLang.BulletedListLbl,FCKLang.BulletedList,null,false,true);break;case 'Outdent':oItem=new FCKToolbarButton('Outdent',FCKLang.DecreaseIndent,null,null,false,true);break;case 'Indent':oItem=new FCKToolbarButton('Indent',FCKLang.IncreaseIndent,null,null,false,true);break;case 'Link':oItem=new FCKToolbarButton('Link',FCKLang.InsertLinkLbl,FCKLang.InsertLink,null,false,true);break;case 'Unlink':oItem=new FCKToolbarButton('Unlink',FCKLang.RemoveLink,null,null,false,true);break;case 'Anchor':oItem=new FCKToolbarButton('Anchor',FCKLang.Anchor);break;case 'Image':oItem=new FCKToolbarButton('Image',FCKLang.InsertImageLbl,FCKLang.InsertImage);break;case 'Flash':oItem=new FCKToolbarButton('Flash',FCKLang.InsertFlashLbl,FCKLang.InsertFlash);break;case 'Table':oItem=new FCKToolbarButton('Table',FCKLang.InsertTableLbl,FCKLang.InsertTable);break;case 'SpecialChar':oItem=new FCKToolbarButton('SpecialChar',FCKLang.InsertSpecialCharLbl,FCKLang.InsertSpecialChar);break;case 'Smiley':oItem=new FCKToolbarButton('Smiley',FCKLang.InsertSmileyLbl,FCKLang.InsertSmiley);break;case 'UniversalKey':oItem=new FCKToolbarButton('UniversalKey',FCKLang.UniversalKeyboard);break;case 'Rule':oItem=new FCKToolbarButton('InsertHorizontalRule',FCKLang.InsertLineLbl,FCKLang.InsertLine,null,false,true);break;case 'JustifyLeft':oItem=new FCKToolbarButton('JustifyLeft',FCKLang.LeftJustify,null,null,false,true);break;case 'JustifyCenter':oItem=new FCKToolbarButton('JustifyCenter',FCKLang.CenterJustify,null,null,false,true);break;case 'JustifyRight':oItem=new FCKToolbarButton('JustifyRight',FCKLang.RightJustify,null,null,false,true);break;case 'JustifyFull':oItem=new FCKToolbarButton('JustifyFull',FCKLang.BlockJustify,null,null,false,true);break;case 'Style':oItem=new FCKToolbarStyleCombo();break;case 'FontName':oItem=new FCKToolbarFontsCombo();break;case 'FontSize':oItem=new FCKToolbarFontSizeCombo();break;case 'FontFormat':oItem=new FCKToolbarFontFormatCombo();break;case 'TextColor':oItem=new FCKToolbarPanelButton('TextColor',FCKLang.TextColor);break;case 'BGColor':oItem=new FCKToolbarPanelButton('BGColor',FCKLang.BGColor);break;case 'Find':oItem=new FCKToolbarButton('Find',FCKLang.Find);break;case 'Replace':oItem=new FCKToolbarButton('Replace',FCKLang.Replace);break;case 'Form':oItem=new FCKToolbarButton('Form',FCKLang.Form);break;case 'Checkbox':oItem=new FCKToolbarButton('Checkbox',FCKLang.Checkbox);break;case 'Radio':oItem=new FCKToolbarButton('Radio',FCKLang.RadioButton);break;case 'TextField':oItem=new FCKToolbarButton('TextField',FCKLang.TextField);break;case 'Textarea':oItem=new FCKToolbarButton('Textarea',FCKLang.Textarea);break;case 'HiddenField':oItem=new FCKToolbarButton('HiddenField',FCKLang.HiddenField);break;case 'Button':oItem=new FCKToolbarButton('Button',FCKLang.Button);break;case 'Select':oItem=new FCKToolbarButton('Select',FCKLang.SelectionField);break;case 'ImageButton':oItem=new FCKToolbarButton('ImageButton',FCKLang.ImageButton);break;default:alert(FCKLang.UnknownToolbarItem.replace(/%1/g,itemName));return;};FCKToolbarItems.LoadedItems[itemName]=oItem;return oItem;}
-var FCKToolbar=function(){this.Items=new Array();this.DOMTable=document.createElement('table');this.DOMTable.className='TB_Toolbar';with (this.DOMTable){style.styleFloat=style.cssFloat=FCKLang.Dir=='rtl'?'right':'left';cellPadding=0;cellSpacing=0;border=0;};this.DOMRow=this.DOMTable.insertRow(-1);var oCell=this.DOMRow.insertCell(-1);oCell.className='TB_Start';oCell.innerHTML='<img src="'+FCKConfig.SkinPath+'images/toolbar.start.gif" width="7" height="21" style="VISIBILITY: hidden" onload="this.style.visibility = \'\';" unselectable="on">';FCKToolbarSet.DOMElement.appendChild(this.DOMTable);};FCKToolbar.prototype.AddItem=function(toolbarItem){this.Items[this.Items.length]=toolbarItem;toolbarItem.CreateInstance(this);};FCKToolbar.prototype.AddSeparator=function(){var oCell=this.DOMRow.insertCell(-1);oCell.unselectable='on';oCell.innerHTML='<img src="'+FCKConfig.SkinPath+'images/toolbar.separator.gif" width="5" height="21" style="VISIBILITY: hidden" onload="this.style.visibility = \'\';" unselectable="on">';};FCKToolbar.prototype.AddTerminator=function(){var oCell=this.DOMRow.insertCell(-1);oCell.className='TB_End';oCell.innerHTML='<img src="'+FCKConfig.SkinPath+'images/toolbar.end.gif" width="12" height="21" style="VISIBILITY: hidden" onload="this.style.visibility = \'\';" unselectable="on">';};
-var FCKToolbarBreak=function(){var oBreakDiv=document.createElement('div');oBreakDiv.style.clear=oBreakDiv.style.cssFloat=FCKLang.Dir=='rtl'?'right':'left';FCKToolbarSet.DOMElement.appendChild(oBreakDiv);}
-var FCKToolbarSet=FCK.ToolbarSet=new Object();document.getElementById('ExpandHandle').title=FCKLang.ToolbarExpand;document.getElementById('CollapseHandle').title=FCKLang.ToolbarCollapse;FCKToolbarSet.Toolbars=new Array();FCKToolbarSet.ItemsWysiwygOnly=new Array();FCKToolbarSet.ItemsContextSensitive=new Array();FCKToolbarSet.Expand=function(){document.getElementById('Collapsed').style.display='none';document.getElementById('Expanded').style.display='';if (!FCKBrowserInfo.IsIE){window.setTimeout("window.onresize()",1);};};FCKToolbarSet.Collapse=function(){document.getElementById('Collapsed').style.display='';document.getElementById('Expanded').style.display='none';if (!FCKBrowserInfo.IsIE){window.setTimeout("window.onresize()",1);};};FCKToolbarSet.Restart=function(){if (!FCKConfig.ToolbarCanCollapse||FCKConfig.ToolbarStartExpanded) this.Expand();else this.Collapse();document.getElementById('CollapseHandle').style.display=FCKConfig.ToolbarCanCollapse?'':'none';};FCKToolbarSet.Load=function(toolbarSetName){this.DOMElement=document.getElementById('eToolbar');var ToolbarSet=FCKConfig.ToolbarSets[toolbarSetName];if (!ToolbarSet){alert(FCKLang.UnknownToolbarSet.replace(/%1/g,toolbarSetName));return;};this.Toolbars=new Array();for (var x=0;x<ToolbarSet.length;x++){var oToolbarItems=ToolbarSet[x];var oToolbar;if (typeof(oToolbarItems)=='string'){if (oToolbarItems=='/') oToolbar=new FCKToolbarBreak();}else{var oToolbar=new FCKToolbar();for (var j=0;j<oToolbarItems.length;j++){var sItem=oToolbarItems[j];if (sItem=='-') oToolbar.AddSeparator();else{var oItem=FCKToolbarItems.GetItem(sItem);if (oItem){oToolbar.AddItem(oItem);if (!oItem.SourceView) this.ItemsWysiwygOnly[this.ItemsWysiwygOnly.length]=oItem;if (oItem.ContextSensitive) this.ItemsContextSensitive[this.ItemsContextSensitive.length]=oItem;};};};oToolbar.AddTerminator();};this.Toolbars[this.Toolbars.length]=oToolbar;};};FCKToolbarSet.RefreshModeState=function(){if (FCK.EditMode==FCK_EDITMODE_WYSIWYG){for (var i=0;i<FCKToolbarSet.ItemsWysiwygOnly.length;i++) FCKToolbarSet.ItemsWysiwygOnly[i].Enable();FCKToolbarSet.RefreshItemsState();}else{FCKToolbarSet.RefreshItemsState();for (var i=0;i<FCKToolbarSet.ItemsWysiwygOnly.length;i++) FCKToolbarSet.ItemsWysiwygOnly[i].Disable();};};FCKToolbarSet.RefreshItemsState=function(){for (var i=0;i<FCKToolbarSet.ItemsContextSensitive.length;i++) FCKToolbarSet.ItemsContextSensitive[i].RefreshState();};
-var FCKDialog=new Object();FCKDialog.OpenDialog=function(dialogName,dialogTitle,dialogPage,width,height,customValue,parentWindow,resizable){var oDialogInfo=new Object();oDialogInfo.Title=dialogTitle;oDialogInfo.Page=dialogPage;oDialogInfo.Editor=window;oDialogInfo.CustomValue=customValue;var sUrl=FCKConfig.BasePath+'fckdialog.html';this.Show(oDialogInfo,dialogName,sUrl,width,height,parentWindow,resizable);};
-FCKDialog.Show=function(dialogInfo,dialogName,pageUrl,dialogWidth,dialogHeight,parentWindow,resizable){var iTop=(FCKConfig.ScreenHeight-dialogHeight) / 2;var iLeft=(FCKConfig.ScreenWidth  - dialogWidth)  / 2;var sOption="location=no,menubar=no,toolbar=no,dependent=yes,dialog=yes,minimizable=no,modal=yes,alwaysRaised=yes"+",resizable="+(resizable?'yes':'no')+",width="+dialogWidth+",height="+dialogHeight+",top="+iTop+",left="+iLeft;if (!parentWindow) parentWindow=window;var oWindow=parentWindow.open('','FCKeditorDialog_'+dialogName,sOption,true);oWindow.moveTo(iLeft,iTop);oWindow.resizeTo(dialogWidth,dialogHeight);oWindow.focus();oWindow.location.href=pageUrl;oWindow.dialogArguments=dialogInfo;parentWindow.FCKLastDialogInfo=dialogInfo;this.Window=oWindow;try{window.top.captureEvents(Event.CLICK|Event.MOUSEDOWN|Event.MOUSEUP|Event.FOCUS);window.top.parent.addEventListener('mousedown',this.CheckFocus,true);window.top.parent.addEventListener('mouseup',this.CheckFocus,true);window.top.parent.addEventListener('click',this.CheckFocus,true);window.top.parent.addEventListener('focus',this.CheckFocus,true);}catch (e){};};FCKDialog.CheckFocus=function(){if (typeof(FCKDialog)!="object") return;if (FCKDialog.Window&&!FCKDialog.Window.closed){FCKDialog.Window.focus();return false;}else{try{window.top.releaseEvents(Event.CLICK|Event.MOUSEDOWN|Event.MOUSEUP|Event.FOCUS);window.top.parent.removeEventListener('onmousedown',FCKDialog.CheckFocus,true);window.top.parent.removeEventListener('mouseup',FCKDialog.CheckFocus,true);window.top.parent.removeEventListener('click',FCKDialog.CheckFocus,true);window.top.parent.removeEventListener('onfocus',FCKDialog.CheckFocus,true);}catch (e){};};};
-var FCKContextMenuItem=function(contextMenu,commandName,label,hasIcon){this.ContextMenu=contextMenu;this.Command=FCKCommands.GetCommand(commandName);this.Label=label?label:commandName;this.HasIcon=hasIcon?true:false;};function FCKContextMenuItem_OnMouseOver(){if (this.className!='CM_Disabled') this.className='CM_Over';};function FCKContextMenuItem_OnMouseOut(){if (this.className!='CM_Disabled') this.className='CM_Option';};function FCKContextMenuItem_OnClick(){if (this.className!='CM_Disabled'){this.FCKContextMenuItem.ContextMenu.Hide();this.FCKContextMenuItem.Command.Execute();};return false;};FCKContextMenuItem.prototype.CreateTableRow=function(targetTable){this._Row=targetTable.insertRow(-1);this._Row.className='CM_Disabled';this._Row.FCKContextMenuItem=this;this._Row.onmouseover=FCKContextMenuItem_OnMouseOver;this._Row.onmouseout=FCKContextMenuItem_OnMouseOut;this._Row.onclick=FCKContextMenuItem_OnClick;var oCell=this._Row.insertCell(-1);oCell.className='CM_Icon';if (this.HasIcon) oCell.innerHTML='<img alt="" src="'+FCKConfig.SkinPath+'toolbar/'+this.Command.Name.toLowerCase()+'.gif" width="21" height="20" unselectable="on">';oCell=this._Row.insertCell(-1);oCell.className='CM_Label';oCell.unselectable='on';oCell.noWrap=true;oCell.innerHTML=this.Label;};FCKContextMenuItem.prototype.SetVisible=function(isVisible){this._Row.style.display=isVisible?'':'none';};FCKContextMenuItem.prototype.RefreshState=function(){switch (this.Command.GetState()){case FCK_TRISTATE_ON:case FCK_TRISTATE_OFF:this._Row.className='CM_Option';break;default:this._Row.className='CM_Disabled';break;};};
-var FCKContextMenuSeparator=function(){};FCKContextMenuSeparator.prototype.CreateTableRow=function(targetTable){this._Row=targetTable.insertRow(-1);this._Row.className='CM_Separator';var oCell=this._Row.insertCell(-1);oCell.className='CM_Icon';oCell=this._Row.insertCell(-1);oCell.className='CM_Label';oCell.innerHTML='<div></div>';};FCKContextMenuSeparator.prototype.SetVisible=function(isVisible){this._Row.style.display=isVisible?'':'none';};FCKContextMenuSeparator.prototype.RefreshState=function(){};
-var FCKContextMenuGroup=function(addSeparator,contextMenu,firstItemCommand,firstItemLabel,hasIcon){this.IsVisible=true;this.Items=new Array();if (addSeparator) this.Add(new FCKContextMenuSeparator());if (contextMenu&&firstItemCommand&&firstItemLabel) this.Add(new FCKContextMenuItem(contextMenu,firstItemCommand,firstItemLabel,hasIcon));this.ValidationFunction=null;};FCKContextMenuGroup.prototype.Add=function(contextMenuItem){this.Items[this.Items.length]=contextMenuItem;};FCKContextMenuGroup.prototype.CreateTableRows=function(table){for (var i=0;i<this.Items.length;i++){this.Items[i].CreateTableRow(table);};};FCKContextMenuGroup.prototype.SetVisible=function(isVisible){for (var i=0;i<this.Items.length;i++){this.Items[i].SetVisible(isVisible);};this.IsVisible=isVisible;};FCKContextMenuGroup.prototype.RefreshState=function(){if (!this.IsVisible) return;for (var i=0;i<this.Items.length;i++){this.Items[i].RefreshState();};}
-var FCKContextMenu=new Object();FCKContextMenu._IsLoaded=false;FCKContextMenu.Reload=function(){this._Div=this._Document.createElement('DIV');this._Div.className='CM_ContextMenu';this._Div.style.position='absolute';this._Div.style.visibility='hidden';this._Document.body.appendChild(this._Div);var oTable=this._Document.createElement('TABLE');oTable.cellSpacing=0;oTable.cellPadding=0;oTable.border=0;this._Div.appendChild(oTable);this.Groups=new Object();for (var i=0;i<FCKConfig.ContextMenu.length;i++){var sGroup=FCKConfig.ContextMenu[i];this.Groups[sGroup]=this._GetGroup(sGroup);this.Groups[sGroup].CreateTableRows(oTable);};this._IsLoaded=true;};FCKContextMenu._GetGroup=function(groupName){var oGroup;switch (groupName){case 'Generic':oGroup=new FCKContextMenuGroup();with (oGroup){Add(new FCKContextMenuItem(this,'Cut',FCKLang.Cut,true));Add(new FCKContextMenuItem(this,'Copy',FCKLang.Copy,true));Add(new FCKContextMenuItem(this,'Paste',FCKLang.Paste,true));};break;case 'Link':oGroup=new FCKContextMenuGroup();with (oGroup){Add(new FCKContextMenuSeparator());Add(new FCKContextMenuItem(this,'Link',FCKLang.EditLink,true));Add(new FCKContextMenuItem(this,'Unlink',FCKLang.RemoveLink,true));};break;case 'TableCell':oGroup=new FCKContextMenuGroup();with (oGroup){Add(new FCKContextMenuSeparator());Add(new FCKContextMenuItem(this,'TableInsertRow',FCKLang.InsertRow,true));Add(new FCKContextMenuItem(this,'TableDeleteRows',FCKLang.DeleteRows,true));Add(new FCKContextMenuSeparator());Add(new FCKContextMenuItem(this,'TableInsertColumn',FCKLang.InsertColumn,true));Add(new FCKContextMenuItem(this,'TableDeleteColumns',FCKLang.DeleteColumns,true));Add(new FCKContextMenuSeparator());Add(new FCKContextMenuItem(this,'TableInsertCell',FCKLang.InsertCell,true));Add(new FCKContextMenuItem(this,'TableDeleteCells',FCKLang.DeleteCells,true));Add(new FCKContextMenuItem(this,'TableMergeCells',FCKLang.MergeCells,true));Add(new FCKContextMenuItem(this,'TableSplitCell',FCKLang.SplitCell,true));Add(new FCKContextMenuSeparator());Add(new FCKContextMenuItem(this,'TableCellProp',FCKLang.CellProperties,true));Add(new FCKContextMenuItem(this,'TableProp',FCKLang.TableProperties,true));};break;case 'Table':return new FCKContextMenuGroup(true,this,'Table',FCKLang.TableProperties,true);case 'Image':return new FCKContextMenuGroup(true,this,'Image',FCKLang.ImageProperties,true);case 'Flash':return new FCKContextMenuGroup(true,this,'Flash',FCKLang.FlashProperties,true);case 'Form':return new FCKContextMenuGroup(true,this,'Form',FCKLang.FormProp,true);case 'Checkbox':return new FCKContextMenuGroup(true,this,'Checkbox',FCKLang.CheckboxProp,true);case 'Radio':return new FCKContextMenuGroup(true,this,'Radio',FCKLang.RadioButtonProp,true);case 'TextField':return new FCKContextMenuGroup(true,this,'TextField',FCKLang.TextFieldProp,true);case 'HiddenField':return new FCKContextMenuGroup(true,this,'HiddenField',FCKLang.HiddenFieldProp,true);case 'ImageButton':return new FCKContextMenuGroup(true,this,'ImageButton',FCKLang.ImageButtonProp,true);case 'Button':return new FCKContextMenuGroup(true,this,'Button',FCKLang.ButtonProp,true);case 'Select':return new FCKContextMenuGroup(true,this,'Select',FCKLang.SelectionFieldProp,true);case 'Textarea':return new FCKContextMenuGroup(true,this,'Textarea',FCKLang.TextareaProp,true);case 'BulletedList':return new FCKContextMenuGroup(true,this,'BulletedList',FCKLang.BulletedListProp,true);case 'NumberedList':return new FCKContextMenuGroup(true,this,'NumberedList',FCKLang.NumberedListProp,true);case 'Anchor':return new FCKContextMenuGroup(true,this,'Anchor',FCKLang.AnchorProp,true);};return oGroup;};FCKContextMenu.RefreshState=function(){var oTag=FCKSelection.GetSelectedElement();var sTagName;if (oTag){sTagName=oTag.tagName;};if (this.Groups['Link'])			this.Groups['Link'].SetVisible(/*!bIsAnchor &&*/ FCK.GetNamedCommandState('Unlink')!=FCK_TRISTATE_DISABLED);if (this.Groups['TableCell'])		this.Groups['TableCell'].SetVisible(sTagName!='TABLE'&&FCKSelection.HasAncestorNode('TABLE'));if (this.Groups['Table'])			this.Groups['Table'].SetVisible(sTagName=='TABLE');if (this.Groups['Image'])			this.Groups['Image'].SetVisible(sTagName=='IMG'&&!oTag.getAttribute('_fckflash')&&!oTag.getAttribute('_fckanchor'));if (this.Groups['Flash'])			this.Groups['Flash'].SetVisible(sTagName=='IMG'&&oTag.getAttribute('_fckflash'));if (this.Groups['Anchor'])		this.Groups['Anchor'].SetVisible(sTagName=='IMG'&&oTag.getAttribute('_fckanchor'));if (this.Groups['BulletedList'])	this.Groups['BulletedList'].SetVisible(FCKSelection.HasAncestorNode('UL'));if (this.Groups['NumberedList'])	this.Groups['NumberedList'].SetVisible(FCKSelection.HasAncestorNode('OL'));if (this.Groups['Select'])		this.Groups['Select'].SetVisible(sTagName=='SELECT');if (this.Groups['Textarea'])		this.Groups['Textarea'].SetVisible(sTagName=='TEXTAREA');if (this.Groups['Form'])			this.Groups['Form'].SetVisible(FCKSelection.HasAncestorNode('FORM'));if (this.Groups['Checkbox'])		this.Groups['Checkbox'].SetVisible(sTagName=='INPUT'&&oTag.type=='checkbox');if (this.Groups['Radio'])			this.Groups['Radio'].SetVisible(sTagName=='INPUT'&&oTag.type=='radio');if (this.Groups['TextField'])		this.Groups['TextField'].SetVisible(sTagName=='INPUT'&&(oTag.type=='text'||oTag.type=='password'));if (this.Groups['HiddenField'])	this.Groups['HiddenField'].SetVisible(sTagName=='INPUT'&&oTag.type=='hidden');if (this.Groups['ImageButton'])	this.Groups['ImageButton'].SetVisible(sTagName=='INPUT'&&oTag.type=='image');if (this.Groups['Button'])		this.Groups['Button'].SetVisible(sTagName=='INPUT'&&(oTag.type=='button'||oTag.type=='submit'||oTag.type=='reset'));for (var o in this.Groups){this.Groups[o].RefreshState();};};
-FCKTools.AppendStyleSheet(window.parent.document,FCKConfig.SkinPath+'fck_contextmenu.css');FCKContextMenu.Show=function(x,y){if (!this._Document){this._Document=window.parent.document;};if (!this._IsLoaded){this.Reload();this._Div.style.zIndex=10000;this._Div.oncontextmenu=function() { return false;};};this.RefreshState();var oCoordsA=FCKTools.GetElementPosition(FCK.EditorWindow.frameElement);var oCoordsB=FCKTools.GetElementPosition(window.frameElement);x+=oCoordsA.X+oCoordsB.X;y+=oCoordsA.Y+oCoordsB.Y;var iXSpace=x+this._Div.offsetWidth-this._Div.ownerDocument.defaultView.innerWidth;var iYSpace=y+this._Div.offsetHeight-this._Div.ownerDocument.defaultView.innerHeight;if (iXSpace>0) x-=this._Div.offsetWidth;if (iYSpace>0) y-=this._Div.offsetHeight;this._Div.style.left=x+'px';this._Div.style.top=y+'px';var oActualWindow=FCK.EditorWindow;while (oActualWindow){oActualWindow.document.addEventListener('click',FCKContextMenu._OnDocumentClick,false);if (oActualWindow!=oActualWindow.parent) oActualWindow=oActualWindow.parent;else if (oActualWindow.opener==null) oActualWindow=oActualWindow.opener;else break;};this._Div.style.visibility='';};FCKContextMenu._OnDocumentClick=function(event){var e=event.target;while (e){if (e==FCKContextMenu._Div) return;e=e.parentNode;};FCKContextMenu.Hide();};FCKContextMenu.Hide=function(){this._Div.style.visibility='hidden';this._Div.style.left=this._Div.style.top='1px';}
-if (!FCKConfig.PluginsPath.endsWith('/')) FCKConfig.PluginsPath+='/';var FCKPlugin=function(name,availableLangs,basePath){this.Name=name;this.BasePath=basePath?basePath:FCKConfig.PluginsPath;this.Path=this.BasePath+name+'/';if (!availableLangs||availableLangs.length==0) this.AvailableLangs=new Array();else this.AvailableLangs=availableLangs.split(',');};FCKPlugin.prototype.Load=function(){if (this.AvailableLangs.length>0){if (this.AvailableLangs.indexOf(FCKLanguageManager.ActiveLanguage.Code)>=0) var sLang=FCKLanguageManager.ActiveLanguage.Code;else var sLang=this.AvailableLangs[0];FCKScriptLoader.AddScript(this.Path+'lang/'+sLang+'.js');};FCKScriptLoader.AddScript(this.Path+'fckplugin.js');}
+var FCKTableCommand=function(A){this.Name=A;};FCKTableCommand.prototype.Execute=function(){FCKUndo.SaveUndoStep();switch (this.Name){case 'TableInsertRow':FCKTableHandler.InsertRow();break;case 'TableDeleteRows':FCKTableHandler.DeleteRows();break;case 'TableInsertColumn':FCKTableHandler.InsertColumn();break;case 'TableDeleteColumns':FCKTableHandler.DeleteColumns();break;case 'TableInsertCell':FCKTableHandler.InsertCell();break;case 'TableDeleteCells':FCKTableHandler.DeleteCells();break;case 'TableMergeCells':FCKTableHandler.MergeCells();break;case 'TableSplitCell':FCKTableHandler.SplitCell();break;default:alert(FCKLang.UnknownCommand.replace(/%1/g,this.Name));};};FCKTableCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;}
+var FCKStyleCommand=function(){this.Name='Style';this.StylesLoader=new FCKStylesLoader();this.StylesLoader.Load(FCKConfig.StylesXmlPath);this.Styles=this.StylesLoader.Styles;};FCKStyleCommand.prototype.Execute=function(A,B){if (B.Selected) B.Style.RemoveFromSelection();else B.Style.ApplyToSelection();FCK.Focus();FCK.Events.FireEvent("OnSelectionChange");};FCKStyleCommand.prototype.GetState=function(){var A=FCK.EditorDocument.selection;if (FCKSelection.GetType()=='Control'){var e=FCKSelection.GetSelectedElement();if (e) return this.StylesLoader.StyleGroups[e.tagName]?FCK_TRISTATE_OFF:FCK_TRISTATE_DISABLED;};return FCK_TRISTATE_OFF;};FCKStyleCommand.prototype.GetActiveStyles=function(){var A=new Array();if (FCKSelection.GetType()=='Control') this._CheckStyle(FCKSelection.GetSelectedElement(),A,false);else this._CheckStyle(FCKSelection.GetParentElement(),A,true);return A;};FCKStyleCommand.prototype._CheckStyle=function(A,B,C){if (!A) return;if (A.nodeType==1){var D=this.StylesLoader.StyleGroups[A.tagName];if (D){for (var i=0;i<D.length;i++){if (D[i].IsEqual(A)) B[B.length]=D[i];};};};if (C) this._CheckStyle(A.parentNode,B,C);}
+var FCKCommands=FCK.Commands=new Object();FCKCommands.LoadedCommands=new Object();FCKCommands.RegisterCommand=function(A,B){this.LoadedCommands[A]=B;};FCKCommands.GetCommand=function(A){var B=FCKCommands.LoadedCommands[A];if (B) return B;switch (A){case 'DocProps':B=new FCKDialogCommand('DocProps',FCKLang.DocProps,'dialog/fck_docprops.html',400,390,FCKCommands.GetFullPageState);break;case 'Templates':B=new FCKDialogCommand('Templates',FCKLang.DlgTemplatesTitle,'dialog/fck_template.html',380,450);break;case 'Link':B=new FCKDialogCommand('Link',FCKLang.DlgLnkWindowTitle,'dialog/fck_link.html',400,330,FCK.GetNamedCommandState,'CreateLink');break;case 'Anchor':B=new FCKDialogCommand('Anchor',FCKLang.DlgAnchorTitle,'dialog/fck_anchor.html',370,170);break;case 'BulletedList':B=new FCKDialogCommand('BulletedList',FCKLang.BulletedListProp,'dialog/fck_listprop.html',370,170);break;case 'NumberedList':B=new FCKDialogCommand('NumberedList',FCKLang.NumberedListProp,'dialog/fck_listprop.html',370,170);break;case 'About':B=new FCKDialogCommand('About',FCKLang.About,'dialog/fck_about.html',400,330);break;case 'Find':B=new FCKDialogCommand('Find',FCKLang.DlgFindTitle,'dialog/fck_find.html',340,170);break;case 'Replace':B=new FCKDialogCommand('Replace',FCKLang.DlgReplaceTitle,'dialog/fck_replace.html',340,200);break;case 'Image':B=new FCKDialogCommand('Image',FCKLang.DlgImgTitle,'dialog/fck_image.html',450,400);break;case 'Flash':B=new FCKDialogCommand('Flash',FCKLang.DlgFlashTitle,'dialog/fck_flash.html',450,400);break;case 'SpecialChar':B=new FCKDialogCommand('SpecialChar',FCKLang.DlgSpecialCharTitle,'dialog/fck_specialchar.html',400,300);break;case 'Smiley':B=new FCKDialogCommand('Smiley',FCKLang.DlgSmileyTitle,'dialog/fck_smiley.html',FCKConfig.SmileyWindowWidth,FCKConfig.SmileyWindowHeight);break;case 'Table':B=new FCKDialogCommand('Table',FCKLang.DlgTableTitle,'dialog/fck_table.html',400,250);break;case 'TableProp':B=new FCKDialogCommand('Table',FCKLang.DlgTableTitle,'dialog/fck_table.html?Parent',400,250);break;case 'TableCellProp':B=new FCKDialogCommand('TableCell',FCKLang.DlgCellTitle,'dialog/fck_tablecell.html',500,250);break;case 'UniversalKey':B=new FCKDialogCommand('UniversalKey',FCKLang.UniversalKeyboard,'dialog/fck_universalkey.html',415,300);break;case 'Style':B=new FCKStyleCommand();break;case 'FontName':B=new FCKFontNameCommand();break;case 'FontSize':B=new FCKFontSizeCommand();break;case 'FontFormat':B=new FCKFormatBlockCommand();break;case 'Source':B=new FCKSourceCommand();break;case 'Preview':B=new FCKPreviewCommand();break;case 'Save':B=new FCKSaveCommand();break;case 'NewPage':B=new FCKNewPageCommand();break;case 'TextColor':B=new FCKTextColorCommand('ForeColor');break;case 'BGColor':B=new FCKTextColorCommand('BackColor');break;case 'PasteText':B=new FCKPastePlainTextCommand();break;case 'PasteWord':B=new FCKPasteWordCommand();break;case 'TableInsertRow':B=new FCKTableCommand('TableInsertRow');break;case 'TableDeleteRows':B=new FCKTableCommand('TableDeleteRows');break;case 'TableInsertColumn':B=new FCKTableCommand('TableInsertColumn');break;case 'TableDeleteColumns':B=new FCKTableCommand('TableDeleteColumns');break;case 'TableInsertCell':B=new FCKTableCommand('TableInsertCell');break;case 'TableDeleteCells':B=new FCKTableCommand('TableDeleteCells');break;case 'TableMergeCells':B=new FCKTableCommand('TableMergeCells');break;case 'TableSplitCell':B=new FCKTableCommand('TableSplitCell');break;case 'Form':B=new FCKDialogCommand('Form',FCKLang.Form,'dialog/fck_form.html',380,230);break;case 'Checkbox':B=new FCKDialogCommand('Checkbox',FCKLang.Checkbox,'dialog/fck_checkbox.html',380,230);break;case 'Radio':B=new FCKDialogCommand('Radio',FCKLang.RadioButton,'dialog/fck_radiobutton.html',380,230);break;case 'TextField':B=new FCKDialogCommand('TextField',FCKLang.TextField,'dialog/fck_textfield.html',380,230);break;case 'Textarea':B=new FCKDialogCommand('Textarea',FCKLang.Textarea,'dialog/fck_textarea.html',380,230);break;case 'HiddenField':B=new FCKDialogCommand('HiddenField',FCKLang.HiddenField,'dialog/fck_hiddenfield.html',380,230);break;case 'Button':B=new FCKDialogCommand('Button',FCKLang.Button,'dialog/fck_button.html',380,230);break;case 'Select':B=new FCKDialogCommand('Select',FCKLang.SelectionField,'dialog/fck_select.html',400,380);break;case 'ImageButton':B=new FCKDialogCommand('ImageButton',FCKLang.ImageButton,'dialog/fck_image.html?ImageButton',450,400);break;case 'SpellCheck':B=new FCKSpellCheckCommand();break;case 'Undo':B=new FCKUndoCommand();break;case 'Redo':B=new FCKRedoCommand();break;case 'Undefined':B=new FCKUndefinedCommand();break;default:if (FCKRegexLib.NamedCommands.test(A)) B=new FCKNamedCommand(A);else{alert(FCKLang.UnknownCommand.replace(/%1/g,A));return null;};};FCKCommands.LoadedCommands[A]=B;return B;};FCKCommands.GetFullPageState=function(){return FCKConfig.FullPage?FCK_TRISTATE_OFF:FCK_TRISTATE_DISABLED;};
+var FCKToolbarButton=function(A,B,C,D,E,F){this.Command=FCKCommands.GetCommand(A);this.Label=B?B:A;this.Tooltip=C?C:(B?B:A);this.Style=D?D:FCK_TOOLBARITEM_ONLYICON;this.SourceView=E?true:false;this.ContextSensitive=F?true:false;this.IconPath=FCKConfig.SkinPath+'toolbar/'+A.toLowerCase()+'.gif';this.State=FCK_UNKNOWN;};FCKToolbarButton.prototype.CreateInstance=function(A){this.DOMDiv=document.createElement('div');this.DOMDiv.className='TB_Button_Off';this.DOMDiv.FCKToolbarButton=this;var B='<table title="'+this.Tooltip+'" cellspacing="0" cellpadding="0" border="0" unselectable="on">'+'<tr>';if (this.Style!=FCK_TOOLBARITEM_ONLYTEXT) B+='<td class="TB_Icon" unselectable="on"><img src="'+this.IconPath+'" width="21" height="21" unselectable="on"></td>';if (this.Style!=FCK_TOOLBARITEM_ONLYICON) B+='<td class="TB_Text" unselectable="on" nowrap>'+this.Label+'</td>';B+='</tr>'+'</table>';this.DOMDiv.innerHTML=B;var C=A.DOMRow.insertCell(-1);C.appendChild(this.DOMDiv);this.RefreshState();};FCKToolbarButton.prototype.RefreshState=function(){var A=this.Command.GetState();if (A==this.State) return;this.State=A;switch (this.State){case FCK_TRISTATE_ON:this.DOMDiv.className='TB_Button_On';this.DOMDiv.onmouseover=FCKToolbarButton_OnMouseOnOver;this.DOMDiv.onmouseout=FCKToolbarButton_OnMouseOnOut;this.DOMDiv.onclick=FCKToolbarButton_OnClick;break;case FCK_TRISTATE_OFF:this.DOMDiv.className='TB_Button_Off';this.DOMDiv.onmouseover=FCKToolbarButton_OnMouseOffOver;this.DOMDiv.onmouseout=FCKToolbarButton_OnMouseOffOut;this.DOMDiv.onclick=FCKToolbarButton_OnClick;break;default:this.Disable();break;};};function FCKToolbarButton_OnMouseOnOver(){this.className='TB_Button_On TB_Button_On_Over';};function FCKToolbarButton_OnMouseOnOut(){this.className='TB_Button_On';};function FCKToolbarButton_OnMouseOffOver(){this.className='TB_Button_On TB_Button_Off_Over';};function FCKToolbarButton_OnMouseOffOut(){this.className='TB_Button_Off';};function FCKToolbarButton_OnClick(e){this.FCKToolbarButton.Click(e);return false;};FCKToolbarButton.prototype.Click=function(){this.Command.Execute();};FCKToolbarButton.prototype.Enable=function(){this.RefreshState();};FCKToolbarButton.prototype.Disable=function(){this.State=FCK_TRISTATE_DISABLED;this.DOMDiv.className='TB_Button_Disabled';this.DOMDiv.onmouseover=null;this.DOMDiv.onmouseout=null;this.DOMDiv.onclick=null;}
+var FCKSpecialCombo=function(A){this.FieldWidth=80;this.PanelWidth=130;this.PanelMaxHeight=150;this.Label='&nbsp;';this.Caption=A;this.Tooltip=A;this.Style=FCK_TOOLBARITEM_ICONTEXT;this.Enabled=true;this.Items=new Object();this._Panel=new FCKPanel();this._Panel.StyleSheet=FCKConfig.SkinPath+'fck_contextmenu.css';this._Panel.Create();this._Panel.PanelDiv.className+=' SC_Panel';this._Panel.PanelDiv.innerHTML='<table cellpadding="0" cellspacing="0" width="100%" style="TABLE-LAYOUT: fixed"><tr><td nowrap></td></tr></table>';this._ItemsHolderEl=this._Panel.PanelDiv.getElementsByTagName('TD')[0];};function FCKSpecialCombo_ItemOnMouseOver(){this.className+=' SC_ItemOver';};function FCKSpecialCombo_ItemOnMouseOut(){this.className=this.originalClass;};function FCKSpecialCombo_ItemOnClick(){this.FCKSpecialCombo._Panel.Hide();this.FCKSpecialCombo.SetLabel(this.FCKItemLabel);if (typeof(this.FCKSpecialCombo.OnSelect)=='function') this.FCKSpecialCombo.OnSelect(this.FCKItemID,this);};FCKSpecialCombo.prototype.AddItem=function(A,B,C){var D=this._ItemsHolderEl.appendChild(this._Panel.Document.createElement('DIV'));D.className=D.originalClass='SC_Item';D.innerHTML=B;D.FCKItemID=A;D.FCKItemLabel=C?C:A;D.FCKSpecialCombo=this;D.Selected=false;D.onmouseover=FCKSpecialCombo_ItemOnMouseOver;D.onmouseout=FCKSpecialCombo_ItemOnMouseOut;D.onclick=FCKSpecialCombo_ItemOnClick;this.Items[A.toString().toLowerCase()]=D;return D;};FCKSpecialCombo.prototype.SelectItem=function(A){A=A?A.toString().toLowerCase():'';var B=this.Items[A];if (B){B.className=B.originalClass='SC_ItemSelected';B.Selected=true;};};FCKSpecialCombo.prototype.DeselectAll=function(){for (var i in this.Items){this.Items[i].className=this.Items[i].originalClass='SC_Item';this.Items[i].Selected=false;};};FCKSpecialCombo.prototype.SetLabelById=function(A){A=A?A.toString().toLowerCase():'';var B=this.Items[A];this.SetLabel(B?B.FCKItemLabel:'');};FCKSpecialCombo.prototype.SetLabel=function(A){this.Label=A.length==0?'&nbsp;':A;if (this._LabelEl) this._LabelEl.innerHTML=this.Label;};FCKSpecialCombo.prototype.SetEnabled=function(A){this.Enabled=A;this._OuterTable.className=A?'':'SC_FieldDisabled';};FCKSpecialCombo.prototype.Create=function(A){this._OuterTable=A.appendChild(document.createElement('TABLE'));this._OuterTable.cellPadding=0;this._OuterTable.cellSpacing=0;this._OuterTable.insertRow(-1);var B;var C;switch (this.Style){case FCK_TOOLBARITEM_ONLYICON:B='TB_ButtonType_Icon';C=false;break;case FCK_TOOLBARITEM_ONLYTEXT:B='TB_ButtonType_Text';C=false;break;case FCK_TOOLBARITEM_ICONTEXT:C=true;break;};if (this.Caption&&this.Caption.length>0&&C){var D=this._OuterTable.rows[0].insertCell(-1);D.unselectable='on';D.innerHTML=this.Caption;D.className='SC_FieldCaption';};var E=this._OuterTable.rows[0].insertCell(-1).appendChild(document.createElement('DIV'));if (C){E.className='SC_Field';E.style.width=this.FieldWidth+'px';E.innerHTML='<table width="100%" cellpadding="0" cellspacing="0" style="TABLE-LAYOUT: fixed;" unselectable="on"><tbody><tr><td class="SC_FieldLabel" unselectable="on"><label unselectable="on">&nbsp;</label></td><td class="SC_FieldButton" unselectable="on">&nbsp;</td></tr></tbody></table>';this._LabelEl=E.getElementsByTagName('label')[0];this._LabelEl.innerHTML=this.Label;}else{E.className='TB_Button_Off';E.innerHTML='<table cellpadding="0" cellspacing="0" style="TABLE-LAYOUT: fixed;" unselectable="on"><tbody><tr><td class="SC_FieldButton" style="border-left: none;" unselectable="on">&nbsp;</td></tr></tbody></table>';E.innerHTML='<table title="'+this.Tooltip+'" class="'+B+'" cellspacing="0" cellpadding="0" border="0" unselectable="on">'+'<tr>'+'<td class="TB_Text" unselectable="on">'+this.Caption+'</td>'+'<td class="TB_ButtonArrow" unselectable="on"><img src="'+FCKConfig.SkinPath+'images/toolbar.buttonarrow.gif" width="5" height="3"></td>'+'</tr>'+'</table>';};E.SpecialCombo=this;E.onmouseover=FCKSpecialCombo_OnMouseOver;E.onmouseout=FCKSpecialCombo_OnMouseOut;E.onclick=FCKSpecialCombo_OnClick;};function FCKSpecialCombo_OnMouseOver(){if (this.SpecialCombo.Enabled){switch (this.SpecialCombo.Style){case FCK_TOOLBARITEM_ONLYICON:this.className='TB_Button_On';break;case FCK_TOOLBARITEM_ONLYTEXT:this.className='TB_Button_On';break;case FCK_TOOLBARITEM_ICONTEXT:this.className='SC_Field SC_FieldOver';break;};};};function FCKSpecialCombo_OnMouseOut(){switch (this.SpecialCombo.Style){case FCK_TOOLBARITEM_ONLYICON:this.className='TB_Button_Off';break;case FCK_TOOLBARITEM_ONLYTEXT:this.className='TB_Button_Off';break;case FCK_TOOLBARITEM_ICONTEXT:this.className='SC_Field';break;};};function FCKSpecialCombo_OnClick(e){if (e){e.stopPropagation();FCKPanelEventHandlers.OnDocumentClick(e);};if (this.SpecialCombo.Enabled){var oPanel=this.SpecialCombo._Panel;if (typeof(this.SpecialCombo.OnBeforeClick)=='function') this.SpecialCombo.OnBeforeClick(this.SpecialCombo);if (this.SpecialCombo._ItemsHolderEl.offsetHeight>this.SpecialCombo.PanelMaxHeight) oPanel.PanelDiv.style.height=this.SpecialCombo.PanelMaxHeight+'px';else oPanel.PanelDiv.style.height=this.SpecialCombo._ItemsHolderEl.offsetHeight+'px';oPanel.PanelDiv.style.width=this.SpecialCombo.PanelWidth+'px';if (FCKBrowserInfo.IsGecko) oPanel.PanelDiv.style.overflow='-moz-scrollbars-vertical';oPanel.Show(0,this.offsetHeight,this,null,this.SpecialCombo.PanelMaxHeight,true);};return false;};
+var FCKToolbarSpecialCombo=function(){this.SourceView=false;this.ContextSensitive=true;};function FCKToolbarSpecialCombo_OnSelect(itemId,item){this.Command.Execute(itemId,item);};FCKToolbarSpecialCombo.prototype.CreateInstance=function(A){this._Combo=new FCKSpecialCombo(this.GetLabel());this._Combo.FieldWidth=this.FieldWidth!=null?this.FieldWidth:100;this._Combo.PanelWidth=this.PanelWidth!=null?this.PanelWidth:150;this._Combo.PanelMaxHeight=this.PanelMaxHeight!=null?this.PanelMaxHeight:150;this._Combo.Tooltip=this.Tooltip;this._Combo.Style=this.Style;this.CreateItems(this._Combo);this._Combo.Create(A.DOMRow.insertCell(-1));this._Combo.Command=this.Command;this._Combo.OnSelect=FCKToolbarSpecialCombo_OnSelect;};function FCKToolbarSpecialCombo_RefreshActiveItems(combo,value){combo.DeselectAll();combo.SelectItem(value);combo.SetLabelById(value);};FCKToolbarSpecialCombo.prototype.RefreshState=function(){var A;var B=this.Command.GetState();if (B!=FCK_TRISTATE_DISABLED){A=FCK_TRISTATE_ON;if (this.RefreshActiveItems) this.RefreshActiveItems(this._Combo,B);else FCKToolbarSpecialCombo_RefreshActiveItems(this._Combo,B);}else A=FCK_TRISTATE_DISABLED;if (A==this.State) return;if (A==FCK_TRISTATE_DISABLED){this._Combo.DeselectAll();this._Combo.SetLabel('');};this.State=A;this._Combo.SetEnabled(A!=FCK_TRISTATE_DISABLED);};FCKToolbarSpecialCombo.prototype.Enable=function(){this.RefreshState();};FCKToolbarSpecialCombo.prototype.Disable=function(){this.State=FCK_TRISTATE_DISABLED;this._Combo.DeselectAll();this._Combo.SetLabel('');this._Combo.SetEnabled(false);}
+var FCKToolbarFontsCombo=function(A,B){this.Command=FCKCommands.GetCommand('FontName');this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:FCK_TOOLBARITEM_ICONTEXT;};FCKToolbarFontsCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarFontsCombo.prototype.GetLabel=function(){return FCKLang.Font;};FCKToolbarFontsCombo.prototype.CreateItems=function(A){var B=FCKConfig.FontNames.split(';');for (var i=0;i<B.length;i++) this._Combo.AddItem(B[i],'<span style="font-family: \''+B[i]+'\'; font-size: 12px;">'+B[i]+'</span>');}
+var FCKToolbarFontSizeCombo=function(A,B){this.Command=FCKCommands.GetCommand('FontSize');this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:FCK_TOOLBARITEM_ICONTEXT;};FCKToolbarFontSizeCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarFontSizeCombo.prototype.GetLabel=function(){return FCKLang.FontSize;};FCKToolbarFontSizeCombo.prototype.CreateItems=function(A){A.FieldWidth=70;var B=FCKConfig.FontSizes.split(';');for (var i=0;i<B.length;i++){var C=B[i].split('/');this._Combo.AddItem(C[0],'<font size="'+C[0]+'">'+C[1]+'</font>',C[1]);};}
+var FCKToolbarFontFormatCombo=function(A,B){this.Command=FCKCommands.GetCommand('FontFormat');this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:FCK_TOOLBARITEM_ICONTEXT;this.PanelWidth=190;};FCKToolbarFontFormatCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarFontFormatCombo.prototype.GetLabel=function(){return FCKLang.FontFormat;};FCKToolbarFontFormatCombo.prototype.CreateItems=function(A){var B=FCKLang['FontFormats'].split(';');var C={p:B[0],pre:B[1],address:B[2],h1:B[3],h2:B[4],h3:B[5],h4:B[6],h5:B[7],h6:B[8],div:B[9]};var D=FCKConfig.FontFormats.split(';');for (var i=0;i<D.length;i++){if (D[i]=='div'&&FCKBrowserInfo.IsGecko) continue;this._Combo.AddItem(D[i],'<'+D[i]+'>'+C[D[i]]+'</'+D[i]+'>',C[D[i]]);};}
+var FCKToolbarStyleCombo=function(A,B){this.Command=FCKCommands.GetCommand('Style');this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:FCK_TOOLBARITEM_ICONTEXT;};FCKToolbarStyleCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarStyleCombo.prototype.GetLabel=function(){return FCKLang.Style;};FCKToolbarStyleCombo.prototype.CreateItems=function(A){FCKTools.AppendStyleSheet(A._Panel.Document,FCKConfig.EditorAreaCSS);if (!FCKBrowserInfo.IsGecko) A.OnBeforeClick=this.RefreshVisibleItems;for (var s in this.Command.Styles){var B=this.Command.Styles[s];var C;if (B.IsObjectElement) C=A.AddItem(s,s);else C=A.AddItem(s,B.GetOpenerTag()+s+B.GetCloserTag());C.Style=B;};};FCKToolbarStyleCombo.prototype.RefreshActiveItems=function(A){A.DeselectAll();var B=this.Command.GetActiveStyles();if (B.length>0){for (var i=0;i<B.length;i++) A.SelectItem(B[i].Name);A.SetLabelById(B[0].Name);}else A.SetLabel('');};FCKToolbarStyleCombo.prototype.RefreshVisibleItems=function(A){if (FCKSelection.GetType()=='Control') var B=FCKSelection.GetSelectedElement().tagName;for (var i in A.Items){var C=A.Items[i];if ((B&&C.Style.Element==B)||(!B&&!C.Style.IsObjectElement)) C.style.display='';else C.style.display='none';};}
+var FCKToolbarPanelButton=function(A,B,C,D){this.Command=FCKCommands.GetCommand(A);this.Label=B?B:A;this.Tooltip=C?C:(B?B:A);this.Style=D?D:FCK_TOOLBARITEM_ONLYICON;this.State=FCK_UNKNOWN;};FCKToolbarPanelButton.prototype.Click=function(e){if (e){e.stopPropagation();FCKPanelEventHandlers.OnDocumentClick(e);};if (this.State!=FCK_TRISTATE_DISABLED){this.Command.Execute(0,this.DOMDiv.offsetHeight,this.DOMDiv);};return false;};FCKToolbarPanelButton.prototype.CreateInstance=function(A){this.DOMDiv=document.createElement('div');this.DOMDiv.className='TB_Button_Off';this.DOMDiv.FCKToolbarButton=this;var B='<table title="'+this.Tooltip+'" cellspacing="0" cellpadding="0" border="0" unselectable="on">'+'<tr>';if (this.Style!=FCK_TOOLBARITEM_ONLYTEXT) B+='<td class="TB_Icon" unselectable="on"><img src="'+FCKConfig.SkinPath+'toolbar/'+this.Command.Name.toLowerCase()+'.gif" width="21" height="21" unselectable="on"></td>';if (this.Style!=FCK_TOOLBARITEM_ONLYICON) B+='<td class="TB_Text" unselectable="on" nowrap>'+this.Label+'</td>';B+='<td class="TB_ButtonArrow" unselectable="on"><img src="'+FCKConfig.SkinPath+'images/toolbar.buttonarrow.gif" width="5" height="3"></td>'+'</tr>'+'</table>';this.DOMDiv.innerHTML=B;var C=A.DOMRow.insertCell(-1);C.appendChild(this.DOMDiv);this.RefreshState();};FCKToolbarPanelButton.prototype.RefreshState=FCKToolbarButton.prototype.RefreshState;FCKToolbarPanelButton.prototype.Enable=FCKToolbarButton.prototype.Enable;FCKToolbarPanelButton.prototype.Disable=FCKToolbarButton.prototype.Disable;
+var FCKToolbarItems=new Object();FCKToolbarItems.LoadedItems=new Object();FCKToolbarItems.RegisterItem=function(A,B){this.LoadedItems[A]=B;};FCKToolbarItems.GetItem=function(A){var B=FCKToolbarItems.LoadedItems[A];if (B) return B;switch (A){case 'Source':B=new FCKToolbarButton('Source',FCKLang.Source,null,FCK_TOOLBARITEM_ICONTEXT,true,true);break;case 'DocProps':B=new FCKToolbarButton('DocProps',FCKLang.DocProps);break;case 'Templates':B=new FCKToolbarButton('Templates',FCKLang.Templates);break;case 'Save':B=new FCKToolbarButton('Save',FCKLang.Save,null,null,true);break;case 'NewPage':B=new FCKToolbarButton('NewPage',FCKLang.NewPage,null,null,true);break;case 'Preview':B=new FCKToolbarButton('Preview',FCKLang.Preview,null,null,true);break;case 'About':B=new FCKToolbarButton('About',FCKLang.About,null,null,true);break;case 'Cut':B=new FCKToolbarButton('Cut',FCKLang.Cut,null,null,false,true);break;case 'Copy':B=new FCKToolbarButton('Copy',FCKLang.Copy,null,null,false,true);break;case 'Paste':B=new FCKToolbarButton('Paste',FCKLang.Paste,null,null,false,true);break;case 'PasteText':B=new FCKToolbarButton('PasteText',FCKLang.PasteText,null,null,false,true);break;case 'PasteWord':B=new FCKToolbarButton('PasteWord',FCKLang.PasteWord,null,null,false,true);break;case 'Print':B=new FCKToolbarButton('Print',FCKLang.Print,null,null,false,true);break;case 'SpellCheck':B=new FCKToolbarButton('SpellCheck',FCKLang.SpellCheck);break;case 'Undo':B=new FCKToolbarButton('Undo',FCKLang.Undo,null,null,false,true);break;case 'Redo':B=new FCKToolbarButton('Redo',FCKLang.Redo,null,null,false,true);break;case 'SelectAll':B=new FCKToolbarButton('SelectAll',FCKLang.SelectAll);break;case 'RemoveFormat':B=new FCKToolbarButton('RemoveFormat',FCKLang.RemoveFormat,null,null,false,true);break;case 'Bold':B=new FCKToolbarButton('Bold',FCKLang.Bold,null,null,false,true);break;case 'Italic':B=new FCKToolbarButton('Italic',FCKLang.Italic,null,null,false,true);break;case 'Underline':B=new FCKToolbarButton('Underline',FCKLang.Underline,null,null,false,true);break;case 'StrikeThrough':B=new FCKToolbarButton('StrikeThrough',FCKLang.StrikeThrough,null,null,false,true);break;case 'Subscript':B=new FCKToolbarButton('Subscript',FCKLang.Subscript,null,null,false,true);break;case 'Superscript':B=new FCKToolbarButton('Superscript',FCKLang.Superscript,null,null,false,true);break;case 'OrderedList':B=new FCKToolbarButton('InsertOrderedList',FCKLang.NumberedListLbl,FCKLang.NumberedList,null,false,true);break;case 'UnorderedList':B=new FCKToolbarButton('InsertUnorderedList',FCKLang.BulletedListLbl,FCKLang.BulletedList,null,false,true);break;case 'Outdent':B=new FCKToolbarButton('Outdent',FCKLang.DecreaseIndent,null,null,false,true);break;case 'Indent':B=new FCKToolbarButton('Indent',FCKLang.IncreaseIndent,null,null,false,true);break;case 'Link':B=new FCKToolbarButton('Link',FCKLang.InsertLinkLbl,FCKLang.InsertLink,null,false,true);break;case 'Unlink':B=new FCKToolbarButton('Unlink',FCKLang.RemoveLink,null,null,false,true);break;case 'Anchor':B=new FCKToolbarButton('Anchor',FCKLang.Anchor);break;case 'Image':B=new FCKToolbarButton('Image',FCKLang.InsertImageLbl,FCKLang.InsertImage);break;case 'Flash':B=new FCKToolbarButton('Flash',FCKLang.InsertFlashLbl,FCKLang.InsertFlash);break;case 'Table':B=new FCKToolbarButton('Table',FCKLang.InsertTableLbl,FCKLang.InsertTable);break;case 'SpecialChar':B=new FCKToolbarButton('SpecialChar',FCKLang.InsertSpecialCharLbl,FCKLang.InsertSpecialChar);break;case 'Smiley':B=new FCKToolbarButton('Smiley',FCKLang.InsertSmileyLbl,FCKLang.InsertSmiley);break;case 'UniversalKey':B=new FCKToolbarButton('UniversalKey',FCKLang.UniversalKeyboard);break;case 'Rule':B=new FCKToolbarButton('InsertHorizontalRule',FCKLang.InsertLineLbl,FCKLang.InsertLine,null,false,true);break;case 'JustifyLeft':B=new FCKToolbarButton('JustifyLeft',FCKLang.LeftJustify,null,null,false,true);break;case 'JustifyCenter':B=new FCKToolbarButton('JustifyCenter',FCKLang.CenterJustify,null,null,false,true);break;case 'JustifyRight':B=new FCKToolbarButton('JustifyRight',FCKLang.RightJustify,null,null,false,true);break;case 'JustifyFull':B=new FCKToolbarButton('JustifyFull',FCKLang.BlockJustify,null,null,false,true);break;case 'Style':B=new FCKToolbarStyleCombo();break;case 'FontName':B=new FCKToolbarFontsCombo();break;case 'FontSize':B=new FCKToolbarFontSizeCombo();break;case 'FontFormat':B=new FCKToolbarFontFormatCombo();break;case 'TextColor':B=new FCKToolbarPanelButton('TextColor',FCKLang.TextColor);break;case 'BGColor':B=new FCKToolbarPanelButton('BGColor',FCKLang.BGColor);break;case 'Find':B=new FCKToolbarButton('Find',FCKLang.Find);break;case 'Replace':B=new FCKToolbarButton('Replace',FCKLang.Replace);break;case 'Form':B=new FCKToolbarButton('Form',FCKLang.Form);break;case 'Checkbox':B=new FCKToolbarButton('Checkbox',FCKLang.Checkbox);break;case 'Radio':B=new FCKToolbarButton('Radio',FCKLang.RadioButton);break;case 'TextField':B=new FCKToolbarButton('TextField',FCKLang.TextField);break;case 'Textarea':B=new FCKToolbarButton('Textarea',FCKLang.Textarea);break;case 'HiddenField':B=new FCKToolbarButton('HiddenField',FCKLang.HiddenField);break;case 'Button':B=new FCKToolbarButton('Button',FCKLang.Button);break;case 'Select':B=new FCKToolbarButton('Select',FCKLang.SelectionField);break;case 'ImageButton':B=new FCKToolbarButton('ImageButton',FCKLang.ImageButton);break;default:alert(FCKLang.UnknownToolbarItem.replace(/%1/g,A));return null;};FCKToolbarItems.LoadedItems[A]=B;return B;}
+var FCKToolbar=function(){this.Items=new Array();var e=this.DOMTable=document.createElement('table');e.className='TB_Toolbar';e.style.styleFloat=e.style.cssFloat=FCKLang.Dir=='rtl'?'right':'left';e.cellPadding=0;e.cellSpacing=0;e.border=0;this.DOMRow=e.insertRow(-1);var A=this.DOMRow.insertCell(-1);A.className='TB_Start';A.innerHTML='<img src="'+FCKConfig.SkinPath+'images/toolbar.start.gif" width="7" height="21" style="VISIBILITY: hidden" onload="this.style.visibility = \'\';" unselectable="on">';FCKToolbarSet.DOMElement.appendChild(e);};FCKToolbar.prototype.AddItem=function(A){this.Items[this.Items.length]=A;A.CreateInstance(this);};FCKToolbar.prototype.AddSeparator=function(){var A=this.DOMRow.insertCell(-1);A.unselectable='on';A.innerHTML='<img src="'+FCKConfig.SkinPath+'images/toolbar.separator.gif" width="5" height="21" style="VISIBILITY: hidden" onload="this.style.visibility = \'\';" unselectable="on">';};FCKToolbar.prototype.AddTerminator=function(){var A=this.DOMRow.insertCell(-1);A.className='TB_End';A.innerHTML='<img src="'+FCKConfig.SkinPath+'images/toolbar.end.gif" width="12" height="21" style="VISIBILITY: hidden" onload="this.style.visibility = \'\';" unselectable="on">';};
+var FCKToolbarBreak=function(){var A=document.createElement('div');A.style.clear=A.style.cssFloat=FCKLang.Dir=='rtl'?'right':'left';FCKToolbarSet.DOMElement.appendChild(A);}
+var FCKToolbarSet=FCK.ToolbarSet=new Object();document.getElementById('ExpandHandle').title=FCKLang.ToolbarExpand;document.getElementById('CollapseHandle').title=FCKLang.ToolbarCollapse;FCKToolbarSet.Toolbars=new Array();FCKToolbarSet.ItemsWysiwygOnly=new Array();FCKToolbarSet.ItemsContextSensitive=new Array();FCKToolbarSet.Expand=function(){document.getElementById('Collapsed').style.display='none';document.getElementById('Expanded').style.display='';if (!FCKBrowserInfo.IsIE){window.setTimeout("window.onresize()",1);};};FCKToolbarSet.Collapse=function(){document.getElementById('Collapsed').style.display='';document.getElementById('Expanded').style.display='none';if (!FCKBrowserInfo.IsIE){window.setTimeout("window.onresize()",1);};};FCKToolbarSet.Restart=function(){if (!FCKConfig.ToolbarCanCollapse||FCKConfig.ToolbarStartExpanded) this.Expand();else this.Collapse();document.getElementById('CollapseHandle').style.display=FCKConfig.ToolbarCanCollapse?'':'none';};FCKToolbarSet.Load=function(A){this.DOMElement=document.getElementById('eToolbar');var B=FCKConfig.ToolbarSets[A];if (!B){alert(FCKLang.UnknownToolbarSet.replace(/%1/g,A));return;};this.Toolbars=new Array();for (var x=0;x<B.length;x++){var C=B[x];var D;if (typeof(C)=='string'){if (C=='/') D=new FCKToolbarBreak();}else{D=new FCKToolbar();for (var j=0;j<C.length;j++){var E=C[j];if (E=='-') D.AddSeparator();else{var F=FCKToolbarItems.GetItem(E);if (F){D.AddItem(F);if (!F.SourceView) this.ItemsWysiwygOnly[this.ItemsWysiwygOnly.length]=F;if (F.ContextSensitive) this.ItemsContextSensitive[this.ItemsContextSensitive.length]=F;};};};D.AddTerminator();};this.Toolbars[this.Toolbars.length]=D;};};FCKToolbarSet.RefreshModeState=function(){if (FCK.EditMode==FCK_EDITMODE_WYSIWYG){for (var i=0;i<FCKToolbarSet.ItemsWysiwygOnly.length;i++) FCKToolbarSet.ItemsWysiwygOnly[i].Enable();FCKToolbarSet.RefreshItemsState();}else{FCKToolbarSet.RefreshItemsState();for (var i=0;i<FCKToolbarSet.ItemsWysiwygOnly.length;i++) FCKToolbarSet.ItemsWysiwygOnly[i].Disable();};};FCKToolbarSet.RefreshItemsState=function(){for (var i=0;i<FCKToolbarSet.ItemsContextSensitive.length;i++) FCKToolbarSet.ItemsContextSensitive[i].RefreshState();};
+var FCKDialog=new Object();FCKDialog.OpenDialog=function(A,B,C,D,E,F,G,H){var I=new Object();I.Title=B;I.Page=C;I.Editor=window;I.CustomValue=F;var J=FCKConfig.BasePath+'fckdialog.html';this.Show(I,A,J,D,E,G,H);};
+FCKDialog.Show=function(A,B,C,D,E,F,G){var H=(FCKConfig.ScreenHeight-E)/2;var I=(FCKConfig.ScreenWidth-D)/2;var J="location=no,menubar=no,toolbar=no,dependent=yes,dialog=yes,minimizable=no,modal=yes,alwaysRaised=yes"+",resizable="+(G?'yes':'no')+",width="+D+",height="+E+",top="+H+",left="+I;if (!F) F=window;var K=F.open('','FCKeditorDialog_'+B,J,true);K.moveTo(I,H);K.resizeTo(D,E);K.focus();K.location.href=C;K.dialogArguments=A;F.FCKLastDialogInfo=A;this.Window=K;try{window.top.captureEvents(Event.CLICK|Event.MOUSEDOWN|Event.MOUSEUP|Event.FOCUS);window.top.parent.addEventListener('mousedown',this.CheckFocus,true);window.top.parent.addEventListener('mouseup',this.CheckFocus,true);window.top.parent.addEventListener('click',this.CheckFocus,true);window.top.parent.addEventListener('focus',this.CheckFocus,true);}catch (e){};};FCKDialog.CheckFocus=function(){if (typeof(FCKDialog)!="object") return false;if (FCKDialog.Window&&!FCKDialog.Window.closed) FCKDialog.Window.focus();else{try{window.top.releaseEvents(Event.CLICK|Event.MOUSEDOWN|Event.MOUSEUP|Event.FOCUS);window.top.parent.removeEventListener('onmousedown',FCKDialog.CheckFocus,true);window.top.parent.removeEventListener('mouseup',FCKDialog.CheckFocus,true);window.top.parent.removeEventListener('click',FCKDialog.CheckFocus,true);window.top.parent.removeEventListener('onfocus',FCKDialog.CheckFocus,true);}catch (e){};};return false;};
+var FCKContextMenuItem=function(A,B,C,D){this.ContextMenu=A;this.Command=FCKCommands.GetCommand(B);this.Label=C?C:B;this.HasIcon=D?true:false;};function FCKContextMenuItem_OnMouseOver(){if (this.className!='CM_Disabled') this.className='CM_Over';};function FCKContextMenuItem_OnMouseOut(){if (this.className!='CM_Disabled') this.className='CM_Option';};function FCKContextMenuItem_OnClick(){if (this.className!='CM_Disabled'){this.FCKContextMenuItem.ContextMenu.Hide();this.FCKContextMenuItem.Command.Execute();};return false;};FCKContextMenuItem.prototype.CreateTableRow=function(A){this._Row=A.insertRow(-1);this._Row.className='CM_Disabled';this._Row.FCKContextMenuItem=this;this._Row.onmouseover=FCKContextMenuItem_OnMouseOver;this._Row.onmouseout=FCKContextMenuItem_OnMouseOut;this._Row.onclick=FCKContextMenuItem_OnClick;var B=this._Row.insertCell(-1);B.className='CM_Icon';if (this.HasIcon) B.innerHTML='<img alt="" src="'+FCKConfig.SkinPath+'toolbar/'+this.Command.Name.toLowerCase()+'.gif" width="21" height="20" unselectable="on">';B=this._Row.insertCell(-1);B.className='CM_Label';B.unselectable='on';B.noWrap=true;B.innerHTML=this.Label;};FCKContextMenuItem.prototype.SetVisible=function(A){this._Row.style.display=A?'':'none';};FCKContextMenuItem.prototype.RefreshState=function(){switch (this.Command.GetState()){case FCK_TRISTATE_ON:case FCK_TRISTATE_OFF:this._Row.className='CM_Option';break;default:this._Row.className='CM_Disabled';break;};};
+var FCKContextMenuSeparator=function(){};FCKContextMenuSeparator.prototype.CreateTableRow=function(A){this._Row=A.insertRow(-1);this._Row.className='CM_Separator';var B=this._Row.insertCell(-1);B.className='CM_Icon';B=this._Row.insertCell(-1);B.className='CM_Label';B.innerHTML='<div></div>';};FCKContextMenuSeparator.prototype.SetVisible=function(A){this._Row.style.display=A?'':'none';};FCKContextMenuSeparator.prototype.RefreshState=function(){};
+var FCKContextMenuGroup=function(A,B,C,D,E){this.IsVisible=true;this.Items=new Array();if (A) this.Add(new FCKContextMenuSeparator());if (B&&C&&D) this.Add(new FCKContextMenuItem(B,C,D,E));this.ValidationFunction=null;};FCKContextMenuGroup.prototype.Add=function(A){this.Items[this.Items.length]=A;};FCKContextMenuGroup.prototype.CreateTableRows=function(A){for (var i=0;i<this.Items.length;i++){this.Items[i].CreateTableRow(A);};};FCKContextMenuGroup.prototype.SetVisible=function(A){for (var i=0;i<this.Items.length;i++){this.Items[i].SetVisible(A);};this.IsVisible=A;};FCKContextMenuGroup.prototype.RefreshState=function(){if (!this.IsVisible) return;for (var i=0;i<this.Items.length;i++){this.Items[i].RefreshState();};}
+var FCKContextMenu=new Object();FCKContextMenu._IsLoaded=false;FCKContextMenu.Reload=function(){this._Div=this._Document.createElement('DIV');this._Div.className='CM_ContextMenu';this._Div.style.position='absolute';this._Div.style.visibility='hidden';this._Document.body.appendChild(this._Div);var A=this._Document.createElement('TABLE');A.cellSpacing=0;A.cellPadding=0;A.border=0;this._Div.appendChild(A);this.Groups=new Object();for (var i=0;i<FCKConfig.ContextMenu.length;i++){var B=FCKConfig.ContextMenu[i];this.Groups[B]=this._GetGroup(B);this.Groups[B].CreateTableRows(A);};this._IsLoaded=true;};FCKContextMenu._GetGroup=function(A){var B;switch (A){case 'Generic':B=new FCKContextMenuGroup();B.Add(new FCKContextMenuItem(this,'Cut',FCKLang.Cut,true));B.Add(new FCKContextMenuItem(this,'Copy',FCKLang.Copy,true));B.Add(new FCKContextMenuItem(this,'Paste',FCKLang.Paste,true));break;case 'Link':B=new FCKContextMenuGroup();B.Add(new FCKContextMenuSeparator());B.Add(new FCKContextMenuItem(this,'Link',FCKLang.EditLink,true));B.Add(new FCKContextMenuItem(this,'Unlink',FCKLang.RemoveLink,true));break;case 'TableCell':B=new FCKContextMenuGroup();B.Add(new FCKContextMenuSeparator());B.Add(new FCKContextMenuItem(this,'TableInsertRow',FCKLang.InsertRow,true));B.Add(new FCKContextMenuItem(this,'TableDeleteRows',FCKLang.DeleteRows,true));B.Add(new FCKContextMenuSeparator());B.Add(new FCKContextMenuItem(this,'TableInsertColumn',FCKLang.InsertColumn,true));B.Add(new FCKContextMenuItem(this,'TableDeleteColumns',FCKLang.DeleteColumns,true));B.Add(new FCKContextMenuSeparator());B.Add(new FCKContextMenuItem(this,'TableInsertCell',FCKLang.InsertCell,true));B.Add(new FCKContextMenuItem(this,'TableDeleteCells',FCKLang.DeleteCells,true));B.Add(new FCKContextMenuItem(this,'TableMergeCells',FCKLang.MergeCells,true));B.Add(new FCKContextMenuItem(this,'TableSplitCell',FCKLang.SplitCell,true));B.Add(new FCKContextMenuSeparator());B.Add(new FCKContextMenuItem(this,'TableCellProp',FCKLang.CellProperties,true));B.Add(new FCKContextMenuItem(this,'TableProp',FCKLang.TableProperties,true));break;case 'Table':return new FCKContextMenuGroup(true,this,'Table',FCKLang.TableProperties,true);case 'Image':return new FCKContextMenuGroup(true,this,'Image',FCKLang.ImageProperties,true);case 'Flash':return new FCKContextMenuGroup(true,this,'Flash',FCKLang.FlashProperties,true);case 'Form':return new FCKContextMenuGroup(true,this,'Form',FCKLang.FormProp,true);case 'Checkbox':return new FCKContextMenuGroup(true,this,'Checkbox',FCKLang.CheckboxProp,true);case 'Radio':return new FCKContextMenuGroup(true,this,'Radio',FCKLang.RadioButtonProp,true);case 'TextField':return new FCKContextMenuGroup(true,this,'TextField',FCKLang.TextFieldProp,true);case 'HiddenField':return new FCKContextMenuGroup(true,this,'HiddenField',FCKLang.HiddenFieldProp,true);case 'ImageButton':return new FCKContextMenuGroup(true,this,'ImageButton',FCKLang.ImageButtonProp,true);case 'Button':return new FCKContextMenuGroup(true,this,'Button',FCKLang.ButtonProp,true);case 'Select':return new FCKContextMenuGroup(true,this,'Select',FCKLang.SelectionFieldProp,true);case 'Textarea':return new FCKContextMenuGroup(true,this,'Textarea',FCKLang.TextareaProp,true);case 'BulletedList':return new FCKContextMenuGroup(true,this,'BulletedList',FCKLang.BulletedListProp,true);case 'NumberedList':return new FCKContextMenuGroup(true,this,'NumberedList',FCKLang.NumberedListProp,true);case 'Anchor':return new FCKContextMenuGroup(true,this,'Anchor',FCKLang.AnchorProp,true);};return B;};FCKContextMenu.RefreshState=function(){var A=FCKSelection.GetSelectedElement();var B;if (A) B=A.tagName;if (this.Groups['Link'])			this.Groups['Link'].SetVisible(FCK.GetNamedCommandState('Unlink')!=FCK_TRISTATE_DISABLED);if (this.Groups['TableCell'])		this.Groups['TableCell'].SetVisible(B!='TABLE'&&FCKSelection.HasAncestorNode('TABLE'));if (this.Groups['Table'])			this.Groups['Table'].SetVisible(B=='TABLE');if (this.Groups['Image'])			this.Groups['Image'].SetVisible(B=='IMG'&&!A.getAttribute('_fckflash')&&!A.getAttribute('_fckanchor'));if (this.Groups['Flash'])			this.Groups['Flash'].SetVisible(B=='IMG'&&A.getAttribute('_fckflash'));if (this.Groups['Anchor'])		this.Groups['Anchor'].SetVisible(B=='IMG'&&A.getAttribute('_fckanchor'));if (this.Groups['BulletedList'])	this.Groups['BulletedList'].SetVisible(FCKSelection.HasAncestorNode('UL'));if (this.Groups['NumberedList'])	this.Groups['NumberedList'].SetVisible(FCKSelection.HasAncestorNode('OL'));if (this.Groups['Select'])		this.Groups['Select'].SetVisible(B=='SELECT');if (this.Groups['Textarea'])		this.Groups['Textarea'].SetVisible(B=='TEXTAREA');if (this.Groups['Form'])			this.Groups['Form'].SetVisible(FCKSelection.HasAncestorNode('FORM'));if (this.Groups['Checkbox'])		this.Groups['Checkbox'].SetVisible(B=='INPUT'&&A.type=='checkbox');if (this.Groups['Radio'])			this.Groups['Radio'].SetVisible(B=='INPUT'&&A.type=='radio');if (this.Groups['TextField'])		this.Groups['TextField'].SetVisible(B=='INPUT'&&(A.type=='text'||A.type=='password'));if (this.Groups['HiddenField'])	this.Groups['HiddenField'].SetVisible(B=='INPUT'&&A.type=='hidden');if (this.Groups['ImageButton'])	this.Groups['ImageButton'].SetVisible(B=='INPUT'&&A.type=='image');if (this.Groups['Button'])		this.Groups['Button'].SetVisible(B=='INPUT'&&(A.type=='button'||A.type=='submit'||A.type=='reset'));for (var o in this.Groups){this.Groups[o].RefreshState();};};
+FCKTools.AppendStyleSheet(window.parent.document,FCKConfig.SkinPath+'fck_contextmenu.css');FCKContextMenu.Show=function(x,y){if (!this._Document){this._Document=window.parent.document;};if (!this._IsLoaded){this.Reload();this._Div.style.zIndex=10000;this._Div.oncontextmenu=function() { return false;};};this.RefreshState();var A=FCKTools.GetElementPosition(FCK.EditorWindow.frameElement);var B=FCKTools.GetElementPosition(window.frameElement);x+=A.X+B.X;y+=A.Y+B.Y;var C=x+this._Div.offsetWidth-this._Div.ownerDocument.defaultView.innerWidth;var D=y+this._Div.offsetHeight-this._Div.ownerDocument.defaultView.innerHeight;if (C>0) x-=this._Div.offsetWidth;if (D>0) y-=this._Div.offsetHeight;this._Div.style.left=x+'px';this._Div.style.top=y+'px';var E=FCK.EditorWindow;while (E){E.document.addEventListener('click',FCKContextMenu._OnDocumentClick,false);if (E!=E.parent) E=E.parent;else if (E.opener==null) E=E.opener;else break;};this._Div.style.visibility='';};FCKContextMenu._OnDocumentClick=function(A){var e=A.target;while (e){if (e==FCKContextMenu._Div) return;e=e.parentNode;};FCKContextMenu.Hide();};FCKContextMenu.Hide=function(){this._Div.style.visibility='hidden';this._Div.style.left=this._Div.style.top='1px';}
+if (!FCKConfig.PluginsPath.endsWith('/')) FCKConfig.PluginsPath+='/';var FCKPlugin=function(A,B,C){this.Name=A;this.BasePath=C?C:FCKConfig.PluginsPath;this.Path=this.BasePath+A+'/';if (!B||B.length==0) this.AvailableLangs=new Array();else this.AvailableLangs=B.split(',');};FCKPlugin.prototype.Load=function(){if (this.AvailableLangs.length>0){var A;if (this.AvailableLangs.indexOf(FCKLanguageManager.ActiveLanguage.Code)>=0) A=FCKLanguageManager.ActiveLanguage.Code;else A=this.AvailableLangs[0];FCKScriptLoader.AddScript(this.Path+'lang/'+A+'.js');};FCKScriptLoader.AddScript(this.Path+'fckplugin.js');}
 var FCKPlugins=FCK.Plugins=new Object();FCKPlugins.ItemsCount=0;FCKPlugins.Loaded=false;FCKPlugins.Items=new Object();for (var i=0;i<FCKConfig.Plugins.Items.length;i++){var oItem=FCKConfig.Plugins.Items[i];FCKPlugins.Items[oItem[0]]=new FCKPlugin(oItem[0],oItem[1],oItem[2]);FCKPlugins.ItemsCount++;};FCKPlugins.Load=function(){for (var s in this.Items) this.Items[s].Load();this.Loaded=true;FCKPlugins.Load=null;}
-if (FCKLang&&window.document.dir.toLowerCase()!=FCKLang.Dir.toLowerCase()) window.document.dir=FCKLang.Dir;if (FCKConfig.ForcePasteAsPlainText||FCKConfig.AutoDetectPasteFromWord) FCK.Events.AttachEvent('OnPaste',FCK.Paste);if (FCKPlugins.ItemsCount>0){FCKScriptLoader.OnEmpty=CompleteLoading;FCKPlugins.Load();}else CompleteLoading();function CompleteLoading(){FCKToolbarSet.Name=FCKURLParams['Toolbar']||'Default';FCKToolbarSet.Load(FCKToolbarSet.Name);FCKToolbarSet.Restart();FCK.AttachToOnSelectionChange(FCKToolbarSet.RefreshItemsState);FCK.SetStatus(FCK_STATUS_COMPLETE);if (typeof(window.parent.FCKeditor_OnComplete)=='function') window.parent.FCKeditor_OnComplete(FCK);}
+if (FCKLang&&window.document.dir.toLowerCase()!=FCKLang.Dir.toLowerCase()) window.document.dir=FCKLang.Dir;if (FCKConfig.ForcePasteAsPlainText) FCK.Events.AttachEvent("OnPaste",FCK.Paste);if (FCKBrowserInfo.IsGecko&&!FCKConfig.UseBROnCarriageReturn){FCK.Events.AttachEvent("OnEnter",FCK.Enter);FCK.Events.AttachEvent("OnBackSpace",FCK.BackSpace);};if (FCKPlugins.ItemsCount>0){FCKScriptLoader.OnEmpty=CompleteLoading;FCKPlugins.Load();}else CompleteLoading();function CompleteLoading(){FCKToolbarSet.Name=FCKURLParams['Toolbar']||'Default';FCKToolbarSet.Load(FCKToolbarSet.Name);FCKToolbarSet.Restart();FCK.AttachToOnSelectionChange(FCKToolbarSet.RefreshItemsState);FCK.SetStatus(FCK_STATUS_COMPLETE);if (typeof(window.parent.FCKeditor_OnComplete)=='function') window.parent.FCKeditor_OnComplete(FCK);}
--- a/wiki/htdocs/applets/FCKeditor/editor/js/fckeditorcode_ie_1.js	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/js/fckeditorcode_ie_1.js	Mon Oct 17 20:45:54 2005 +0000
@@ -12,16 +12,16 @@
  * 
  * This file has been compacted for best loading performance.
  */
-var FCKDebug=new Object();if (FCKConfig.Debug){FCKDebug.Output=function(message,color){if (!FCKConfig.Debug) return;if (message!=null&&isNaN(message)) message=message.replace(/</g,"&lt;");if (!this.DebugWindow||this.DebugWindow.closed) this.DebugWindow=window.open('fckdebug.html','FCKeditorDebug','menubar=no,scrollbars=no,resizable=yes,location=no,toolbar=no,width=600,height=500',true);if (this.DebugWindow.Output) this.DebugWindow.Output(message,color);};}else FCKDebug.Output=function() {};
-var FCKTools=new Object();FCKTools.GetLinkedFieldValue=function(){return FCK.LinkedField.value;};FCKTools.AttachToLinkedFieldFormSubmit=function(functionPointer){var oForm=FCK.LinkedField.form;if (!oForm) return;if (FCKBrowserInfo.IsIE) oForm.attachEvent("onsubmit",functionPointer);else oForm.addEventListener('submit',functionPointer,true);if (!oForm.updateFCKeditor) oForm.updateFCKeditor=new Array();oForm.updateFCKeditor[oForm.updateFCKeditor.length]=functionPointer;if (!oForm.originalSubmit&&(typeof(oForm.submit)=='function'||(!oForm.submit.tagName&&!oForm.submit.length))){oForm.originalSubmit=oForm.submit;oForm.submit=FCKTools_SubmitReplacer;};};function FCKTools_SubmitReplacer(){if (this.updateFCKeditor){for (var i=0;i<this.updateFCKeditor.length;i++) this.updateFCKeditor[i]();};this.originalSubmit();};FCKTools.AddSelectOption=function(targetDocument,selectElement,optionText,optionValue){var oOption=targetDocument.createElement("OPTION");oOption.text=optionText;oOption.value=optionValue;selectElement.options.add(oOption);return oOption;};FCKTools.RemoveAllSelectOptions=function(selectElement){for (var i=selectElement.options.length-1;i>=0;i--){selectElement.options.remove(i);};};FCKTools.SelectNoCase=function(selectElement,value,defaultValue){var sNoCaseValue=value.toString().toLowerCase();for (var i=0;i<selectElement.options.length;i++){if (sNoCaseValue==selectElement.options[i].value.toLowerCase()){selectElement.selectedIndex=i;return;};};if (defaultValue!=null) FCKTools.SelectNoCase(selectElement,defaultValue);};FCKTools.HTMLEncode=function(text){if (!text) return '';text=text.replace(/&/g,"&amp;");text=text.replace(/"/g,"&quot;");text=text.replace(/</g,"&lt;");text=text.replace(/>/g,"&gt;");text=text.replace(/'/g,"&#39;");return text;};FCKTools.GetResultingArray=function(arraySource,separator){switch (typeof(arraySource)){case "string":return arraySource.split(separator);case "function":return separator();default:if (isArray(arraySource)) return arraySource;else return new Array();};};FCKTools.GetElementPosition=function(el){var c={ X:0,Y:0 };while (el){c.X+=el.offsetLeft;c.Y+=el.offsetTop;el=el.offsetParent;};return c;};FCKTools.GetElementAscensor=function(element,ascensorTagName){var e=element.parentNode;while (e){if (e.nodeName==ascensorTagName) return e;e=e.parentNode;};};FCKTools.Pause=function(miliseconds){var oStart=new Date();while (true){var oNow=new Date();if (miliseconds<oNow-oStart) return;};};FCKTools.ConvertStyleSizeToHtml=function(size){return size.endsWith('%')?size:parseInt(size);};FCKTools.ConvertHtmlSizeToStyle=function(size){return size.endsWith('%')?size:(size+'px');}
-FCKTools.AppendStyleSheet=function(documentElement,cssFileUrl){return documentElement.createStyleSheet(cssFileUrl);};FCKTools.ClearElementAttributes=function(element){element.clearAttributes();};FCKTools.GetAllChildrenIds=function(parentElement){var aIds=new Array();for (var i=0;i<parentElement.all.length;i++){var sId=parentElement.all[i].id;if (sId&&sId.length>0) aIds[aIds.length]=sId;};return aIds;};FCKTools.RemoveOuterTags=function(e){e.insertAdjacentHTML('beforeBegin',e.innerHTML);e.parentNode.removeChild(e);};FCKTools.CreateXmlObject=function(object){var aObjs;switch (object){case 'XmlHttp':aObjs=['MSXML2.XmlHttp','Microsoft.XmlHttp'];break;case 'DOMDocument':aObjs=['MSXML2.DOMDocument','Microsoft.XmlDom'];break;};for (var i=0;i<2;i++){try { return new ActiveXObject(aObjs[i]);}catch (e) {};};}
-var FCKRegexLib=new Object();FCKRegexLib.AposEntity=/&apos;/gi;FCKRegexLib.ObjectElements=/^(?:IMG|TABLE|TR|TD|INPUT|SELECT|TEXTAREA|HR|OBJECT)$/i;FCKRegexLib.BlockElements=/^(?:P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TD)$/i;FCKRegexLib.EmptyElements=/^(?:BASE|META|LINK|HR|BR|PARAM|IMG|AREA|INPUT)$/i;FCKRegexLib.NamedCommands=/^(?:Cut|Copy|Paste|Print|SelectAll|RemoveFormat|Unlink|Undo|Redo|Bold|Italic|Underline|StrikeThrough|Subscript|Superscript|JustifyLeft|JustifyCenter|JustifyRight|JustifyFull|Outdent|Indent|InsertOrderedList|InsertUnorderedList|InsertHorizontalRule)$/i;FCKRegexLib.BodyContents=/([\s\S]*\<body[^\>]*\>)([\s\S]*)(\<\/body\>[\s\S]*)/i;FCKRegexLib.ToReplace=/___fcktoreplace:([\w]+)/ig;FCKRegexLib.MetaHttpEquiv=/http-equiv\s*=\s*["']?([^"' ]+)/i;FCKRegexLib.HasBaseTag=/<base /i;FCKRegexLib.HeadCloser=/<\/head\s*>/i;FCKRegexLib.TableBorderClass=/\s*FCK__ShowTableBorders\s*/;FCKRegexLib.ElementName=/^[A-Za-z_:][\w.-:]*$/;FCKRegexLib.ForceSimpleAmpersand=/___FCKAmp___/g;FCKRegexLib.SpaceNoClose=/\/>/g;FCKRegexLib.EmptyParagraph=/^<(p|div)>\s*<\/\1>$/i;FCKRegexLib.TagBody=/></;
-FCKLanguageManager.GetActiveLanguage=function(){if (FCKConfig.AutoDetectLanguage){var sUserLang;if (navigator.userLanguage) sUserLang=navigator.userLanguage.toLowerCase();else if (navigator.language) sUserLang=navigator.language.toLowerCase();else{return FCKConfig.DefaultLanguage;};if (sUserLang.length>=5){sUserLang=sUserLang.substr(0,5);if (this.AvailableLanguages[sUserLang]) return sUserLang;};if (sUserLang.length>=2){sUserLang=sUserLang.substr(0,2);if (this.AvailableLanguages[sUserLang]) return sUserLang;};};return this.DefaultLanguage;};FCKLanguageManager.TranslateElements=function(targetDocument,tag,propertyToSet){var aInputs=targetDocument.getElementsByTagName(tag);for (var i=0;i<aInputs.length;i++){var sKey=aInputs[i].getAttribute('fckLang');if (sKey){var s=FCKLang[sKey];if (s) eval('aInputs[i].'+propertyToSet+' = s');};};};FCKLanguageManager.TranslatePage=function(targetDocument){this.TranslateElements(targetDocument,'INPUT','value');this.TranslateElements(targetDocument,'SPAN','innerHTML');this.TranslateElements(targetDocument,'LABEL','innerHTML');this.TranslateElements(targetDocument,'OPTION','innerHTML');};if (FCKLanguageManager.AvailableLanguages[FCKConfig.DefaultLanguage]) FCKLanguageManager.DefaultLanguage=FCKConfig.DefaultLanguage;else FCKLanguageManager.DefaultLanguage='en';FCKLanguageManager.ActiveLanguage=new Object();FCKLanguageManager.ActiveLanguage.Code=FCKLanguageManager.GetActiveLanguage();FCKLanguageManager.ActiveLanguage.Name=FCKLanguageManager.AvailableLanguages[FCKLanguageManager.ActiveLanguage.Code];FCK.Language=FCKLanguageManager;LoadLanguageFile();
-var FCKEvents;if (!(FCKEvents=NS.FCKEvents)){FCKEvents=NS.FCKEvents=function(eventsOwner){this.Owner=eventsOwner;this.RegisteredEvents=new Object();};FCKEvents.prototype.AttachEvent=function(eventName,functionPointer){if (!this.RegisteredEvents[eventName]) this.RegisteredEvents[eventName]=new Array();this.RegisteredEvents[eventName][this.RegisteredEvents[eventName].length]=functionPointer;};FCKEvents.prototype.FireEvent=function(eventName,params){var bReturnValue=true;var oCalls=this.RegisteredEvents[eventName];if (oCalls){for (var i=0;i<oCalls.length;i++) bReturnValue=(oCalls[i](this.Owner,params)&&bReturnValue);};return bReturnValue;};}
-if (FCKConfig.ProcessHTMLEntities){FCKXHtmlEntities=new Object();FCKXHtmlEntities.Entities={' ':'nbsp','¡':'iexcl','¢':'cent','£':'pound','¤':'curren','¥':'yen','¦':'brvbar','§':'sect','¨':'uml','©':'copy','ª':'ordf','«':'laquo','¬':'not','­':'shy','®':'reg','¯':'macr','°':'deg','±':'plusmn','²':'sup2','³':'sup3','´':'acute','µ':'micro','¶':'para','·':'middot','¸':'cedil','¹':'sup1','º':'ordm','»':'raquo','¼':'frac14','½':'frac12','¾':'frac34','¿':'iquest','×':'times','÷':'divide','ƒ':'fnof','•':'bull','…':'hellip','′':'prime','″':'Prime','‾':'oline','⁄':'frasl','℘':'weierp','ℑ':'image','ℜ':'real','™':'trade','ℵ':'alefsym','←':'larr','↑':'uarr','→':'rarr','↓':'darr','↔':'harr','↵':'crarr','⇐':'lArr','⇑':'uArr','⇒':'rArr','⇓':'dArr','⇔':'hArr','∀':'forall','∂':'part','∃':'exist','∅':'empty','∇':'nabla','∈':'isin','∉':'notin','∋':'ni','∏':'prod','∑':'sum','−':'minus','∗':'lowast','√':'radic','∝':'prop','∞':'infin','∠':'ang','∧':'and','∨':'or','∩':'cap','∪':'cup','∫':'int','∴':'there4','∼':'sim','≅':'cong','≈':'asymp','≠':'ne','≡':'equiv','≤':'le','≥':'ge','⊂':'sub','⊃':'sup','⊄':'nsub','⊆':'sube','⊇':'supe','⊕':'oplus','⊗':'otimes','⊥':'perp','⋅':'sdot','◊':'loz','♠':'spades','♣':'clubs','♥':'hearts','♦':'diams','"':'quot','ˆ':'circ','˜':'tilde',' ':'ensp',' ':'emsp',' ':'thinsp','‌':'zwnj','‍':'zwj','‎':'lrm','‏':'rlm','–':'ndash','—':'mdash','‘':'lsquo','’':'rsquo','‚':'sbquo','“':'ldquo','”':'rdquo','„':'bdquo','†':'dagger','‡':'Dagger','‰':'permil','‹':'lsaquo','›':'rsaquo','€':'euro'};FCKXHtmlEntities.Chars='';for (var e in FCKXHtmlEntities.Entities) FCKXHtmlEntities.Chars+=e;if (FCKConfig.IncludeLatinEntities){var oEntities={'À':'Agrave','Á':'Aacute','Â':'Acirc','Ã':'Atilde','Ä':'Auml','Å':'Aring','Æ':'AElig','Ç':'Ccedil','È':'Egrave','É':'Eacute','Ê':'Ecirc','Ë':'Euml','Ì':'Igrave','Í':'Iacute','Î':'Icirc','Ï':'Iuml','Ð':'ETH','Ñ':'Ntilde','Ò':'Ograve','Ó':'Oacute','Ô':'Ocirc','Õ':'Otilde','Ö':'Ouml','Ø':'Oslash','Ù':'Ugrave','Ú':'Uacute','Û':'Ucirc','Ü':'Uuml','Ý':'Yacute','Þ':'THORN','ß':'szlig','à':'agrave','á':'aacute','â':'acirc','ã':'atilde','ä':'auml','å':'aring','æ':'aelig','ç':'ccedil','è':'egrave','é':'eacute','ê':'ecirc','ë':'euml','ì':'igrave','í':'iacute','î':'icirc','ï':'iuml','ð':'eth','ñ':'ntilde','ò':'ograve','ó':'oacute','ô':'ocirc','õ':'otilde','ö':'ouml','ø':'oslash','ù':'ugrave','ú':'uacute','û':'ucirc','ü':'uuml','ý':'yacute','þ':'thorn','ÿ':'yuml','Œ':'OElig','œ':'oelig','Š':'Scaron','š':'scaron','Ÿ':'Yuml'};for (var e in oEntities){FCKXHtmlEntities.Entities[e]=oEntities[e];FCKXHtmlEntities.Chars+=e;};oEntities=null;};if (FCKConfig.IncludeGreekEntities){var oEntities={'Α':'Alpha','Β':'Beta','Γ':'Gamma','Δ':'Delta','Ε':'Epsilon','Ζ':'Zeta','Η':'Eta','Θ':'Theta','Ι':'Iota','Κ':'Kappa','Λ':'Lambda','Μ':'Mu','Ν':'Nu','Ξ':'Xi','Ο':'Omicron','Π':'Pi','Ρ':'Rho','Σ':'Sigma','Τ':'Tau','Υ':'Upsilon','Φ':'Phi','Χ':'Chi','Ψ':'Psi','Ω':'Omega','α':'alpha','β':'beta','γ':'gamma','δ':'delta','ε':'epsilon','ζ':'zeta','η':'eta','θ':'theta','ι':'iota','κ':'kappa','λ':'lambda','μ':'mu','ν':'nu','ξ':'xi','ο':'omicron','π':'pi','ρ':'rho','ς':'sigmaf','σ':'sigma','τ':'tau','υ':'upsilon','φ':'phi','χ':'chi','ψ':'psi','ω':'omega'};for (var e in oEntities){FCKXHtmlEntities.Entities[e]=oEntities[e];FCKXHtmlEntities.Chars+=e;};oEntities=null;};FCKXHtmlEntities.EntitiesRegex=new RegExp('','');FCKXHtmlEntities.EntitiesRegex.compile('['+FCKXHtmlEntities.Chars+']|[^'+FCKXHtmlEntities.Chars+']+','g');FCKXHtmlEntities.GeckoEntitiesMarkerRegex=/#\?-\:/g;}
-var FCKXHtml=new Object();FCKXHtml.CurrentJobNum=0;FCKXHtml.GetXHTML=function(node,includeNode,format){FCKXHtml.SpecialBlocks=new Array();this.XML=FCKTools.CreateXmlObject('DOMDocument');this.MainNode=this.XML.appendChild(this.XML.createElement('xhtml'));FCKXHtml.CurrentJobNum++;if (includeNode) this._AppendNode(this.MainNode,node);else this._AppendChildNodes(this.MainNode,node,false);var sXHTML=this._GetMainXmlString();sXHTML=sXHTML.substr(7,sXHTML.length-15).trim();if (FCKBrowserInfo.IsGecko) sXHTML=sXHTML.replace(/<br\/>$/,'');sXHTML=sXHTML.replace(FCKRegexLib.SpaceNoClose,' />');if (FCKConfig.ForceSimpleAmpersand) sXHTML=sXHTML.replace(FCKRegexLib.ForceSimpleAmpersand,'&');if (format) sXHTML=FCKCodeFormatter.Format(sXHTML);for (var i=0;i<FCKXHtml.SpecialBlocks.length;i++){var oRegex=new RegExp('___FCKsi___'+i);sXHTML=sXHTML.replace(oRegex,FCKXHtml.SpecialBlocks[i]);};this.XML=null;return sXHTML};FCKXHtml._AppendAttribute=function(xmlNode,attributeName,attributeValue){try{var oXmlAtt=this.XML.createAttribute(attributeName);oXmlAtt.value=attributeValue?attributeValue:'';xmlNode.attributes.setNamedItem(oXmlAtt);}catch (e){};};FCKXHtml._AppendChildNodes=function(xmlNode,htmlNode,isBlockElement){var iCount=0;if (htmlNode.hasChildNodes()){var oChildren=htmlNode.childNodes;for (var i=0;i<oChildren.length;i++){if (this._AppendNode(xmlNode,oChildren[i])) iCount++;};};if (iCount==0){if (isBlockElement&&FCKConfig.FillEmptyBlocks){this._AppendEntity(xmlNode,'nbsp');return;};if (!FCKRegexLib.EmptyElements.test(htmlNode.nodeName)) xmlNode.appendChild(this.XML.createTextNode(''));};};FCKXHtml._AppendNode=function(xmlNode,htmlNode){switch (htmlNode.nodeType){case 1:if (htmlNode.getAttribute('_fckfakelement')) return FCKXHtml._AppendNode(xmlNode,FCK.GetRealElement(htmlNode));if (FCKBrowserInfo.IsGecko&&htmlNode.hasAttribute('_moz_editor_bogus_node')) return false;if (htmlNode.getAttribute('_fckdelete')) return false;var sNodeName=htmlNode.nodeName;if (!FCKRegexLib.ElementName.test(sNodeName)) return false;sNodeName=sNodeName.toLowerCase();if (FCKBrowserInfo.IsGecko&&sNodeName=='br'&&htmlNode.hasAttribute('type')&&htmlNode.getAttribute('type',2)=='_moz') return false;if (htmlNode._fckxhtmljob==FCKXHtml.CurrentJobNum) return false;else htmlNode._fckxhtmljob=FCKXHtml.CurrentJobNum;var oNode=this.XML.createElement(sNodeName);FCKXHtml._AppendAttributes(xmlNode,htmlNode,oNode,sNodeName);var oTagProcessor=FCKXHtml.TagProcessors[sNodeName];if (oTagProcessor){oNode=oTagProcessor(oNode,htmlNode);if (!oNode) break;}else this._AppendChildNodes(oNode,htmlNode,FCKRegexLib.BlockElements.test(sNodeName));xmlNode.appendChild(oNode);break;case 3:this._AppendTextNode(xmlNode,htmlNode.nodeValue.replaceNewLineChars(' '));break;case 8:try { xmlNode.appendChild(this.XML.createComment(htmlNode.nodeValue));}catch (e) { /* Do nothing... probably this is a wrong format comment. */};break;default:xmlNode.appendChild(this.XML.createComment("Element not supported - Type: "+htmlNode.nodeType+" Name: "+htmlNode.nodeName));break;};return true;};FCKXHtml._AppendSpecialItem=function(item){return '___FCKsi___'+FCKXHtml.SpecialBlocks.addItem(item);};if (FCKConfig.ProcessHTMLEntities){FCKXHtml._AppendTextNode=function(targetNode,textValue){var asPieces=textValue.match(FCKXHtmlEntities.EntitiesRegex);if (asPieces){for (var i=0;i<asPieces.length;i++){if (asPieces[i].length==1){var sEntity=FCKXHtmlEntities.Entities[asPieces[i]];if (sEntity!=null){this._AppendEntity(targetNode,sEntity);continue;};};targetNode.appendChild(this.XML.createTextNode(asPieces[i]));};};};}else{FCKXHtml._AppendTextNode=function(targetNode,textValue){targetNode.appendChild(this.XML.createTextNode(textValue));};};FCKXHtml.TagProcessors=new Object();FCKXHtml.TagProcessors['img']=function(node){if (!node.attributes.getNamedItem('alt')) FCKXHtml._AppendAttribute(node,'alt','');return node;};FCKXHtml.TagProcessors['script']=function(node,htmlNode){if (!node.attributes.getNamedItem('type')) FCKXHtml._AppendAttribute(node,'type','text/javascript');node.appendChild(FCKXHtml.XML.createTextNode(FCKXHtml._AppendSpecialItem(htmlNode.text)));return node;};FCKXHtml.TagProcessors['style']=function(node,htmlNode){if (htmlNode.getAttribute('_fcktemp')) return null;if (!node.attributes.getNamedItem('type')) FCKXHtml._AppendAttribute(node,'type','text/css');node.appendChild(FCKXHtml.XML.createTextNode(FCKXHtml._AppendSpecialItem(htmlNode.innerHTML)));return node;};FCKXHtml.TagProcessors['title']=function(node,htmlNode){node.appendChild(FCKXHtml.XML.createTextNode(FCK.EditorDocument.title));return node;};FCKXHtml.TagProcessors['base']=function(node,htmlNode){if (htmlNode.getAttribute('_fcktemp')) return null;return node;};FCKXHtml.TagProcessors['link']=function(node,htmlNode){if (htmlNode.getAttribute('_fcktemp')) return null;return node;};FCKXHtml.TagProcessors['table']=function(node,htmlNode){var oClassAtt=node.attributes.getNamedItem('class');if (oClassAtt&&FCKRegexLib.TableBorderClass.test(oClassAtt.nodeValue)){var sClass=oClassAtt.nodeValue.replace(FCKRegexLib.TableBorderClass,'');if (sClass.length==0) node.attributes.removeNamedItem('class');else FCKXHtml._AppendAttribute(node,'class',sClass);};FCKXHtml._AppendChildNodes(node,htmlNode,false);return node;}
-FCKXHtml._GetMainXmlString=function(){return this.MainNode.xml;};FCKXHtml._AppendEntity=function(xmlNode,entity){xmlNode.appendChild(this.XML.createEntityReference(entity));};FCKXHtml._AppendAttributes=function(xmlNode,htmlNode,node,nodeName){var aAttributes=htmlNode.attributes;for (var n=0;n<aAttributes.length;n++){var oAttribute=aAttributes[n];if (oAttribute.specified){var sAttName=oAttribute.nodeName.toLowerCase();var sAttValue;if (sAttName=='_fckxhtmljob') continue;else if (sAttName=='style') sAttValue=htmlNode.style.cssText;else if (sAttName=='class'||sAttName.indexOf('on')==0) sAttValue=oAttribute.nodeValue;else if (nodeName=='body'&&sAttName=='contenteditable') continue;else if (oAttribute.nodeValue===true) sAttValue=sAttName;else if (!(sAttValue=htmlNode.getAttribute(sAttName,2))) sAttValue=oAttribute.nodeValue;if (FCKConfig.ForceSimpleAmpersand&&sAttValue.replace) sAttValue=sAttValue.replace(/&/g,'___FCKAmp___');this._AppendAttribute(node,sAttName,sAttValue);};};};FCKXHtml.TagProcessors['meta']=function(node,htmlNode){var oHttpEquiv=node.attributes.getNamedItem('http-equiv');if (oHttpEquiv==null||oHttpEquiv.value.length==0){var sHttpEquiv=htmlNode.outerHTML.match(FCKRegexLib.MetaHttpEquiv);if (sHttpEquiv){sHttpEquiv=sHttpEquiv[1];FCKXHtml._AppendAttribute(node,'http-equiv',sHttpEquiv);};};return node;};FCKXHtml.TagProcessors['font']=function(node,htmlNode){if (node.attributes.length==0) node=FCKXHtml.XML.createDocumentFragment();FCKXHtml._AppendChildNodes(node,htmlNode);return node;};FCKXHtml.TagProcessors['input']=function(node,htmlNode){if (htmlNode.name) FCKXHtml._AppendAttribute(node,'name',htmlNode.name);if (htmlNode.value&&!node.attributes.getNamedItem('value')) FCKXHtml._AppendAttribute(node,'value',htmlNode.value);return node;};FCKXHtml.TagProcessors['option']=function(node,htmlNode){if (htmlNode.selected&&!node.attributes.getNamedItem('selected')) FCKXHtml._AppendAttribute(node,'selected','selected');FCKXHtml._AppendChildNodes(node,htmlNode);return node;};FCKXHtml.TagProcessors['abbr']=function(node,htmlNode){var oNextNode=htmlNode.nextSibling;while (true){if (oNextNode&&oNextNode.nodeName!='/ABBR'){FCKXHtml._AppendNode(node,oNextNode);oNextNode=oNextNode.nextSibling;}else break;};return node;};FCKXHtml.TagProcessors['area']=function(node,htmlNode){if (!node.attributes.getNamedItem('coords')){var sCoords=htmlNode.getAttribute('coords',2);if (sCoords&&sCoords!='0,0,0') FCKXHtml._AppendAttribute(node,'coords',sCoords);};if (!node.attributes.getNamedItem('shape')){var sCoords=htmlNode.getAttribute('shape',2);if (sCoords&&sCoords.length>0) FCKXHtml._AppendAttribute(node,'shape',sCoords);};return node;};FCKXHtml.TagProcessors['label']=function(node,htmlNode){if (htmlNode.htmlFor.length>0) FCKXHtml._AppendAttribute(node,'for',htmlNode.htmlFor);FCKXHtml._AppendChildNodes(node,htmlNode);return node;};FCKXHtml.TagProcessors['form']=function(node,htmlNode){if (htmlNode.acceptCharset.length>0&&htmlNode.acceptCharset!='UNKNOWN') FCKXHtml._AppendAttribute(node,'accept-charset',htmlNode.acceptCharset);if (htmlNode.name) FCKXHtml._AppendAttribute(node,'name',htmlNode.name);FCKXHtml._AppendChildNodes(node,htmlNode);return node;};FCKXHtml.TagProcessors['textarea']=FCKXHtml.TagProcessors['select']=function(node,htmlNode){if (htmlNode.name) FCKXHtml._AppendAttribute(node,'name',htmlNode.name);FCKXHtml._AppendChildNodes(node,htmlNode);return node;} 
-var FCKCodeFormatter;if (!(FCKCodeFormatter=NS.FCKCodeFormatter)){FCKCodeFormatter=NS.FCKCodeFormatter=new Object();FCKCodeFormatter.Regex=new Object();FCKCodeFormatter.Regex.BlocksOpener=/\<(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TITLE|META|LINK|BASE|SCRIPT|LINK|TD|AREA|OPTION)[^\>]*\>/gi;FCKCodeFormatter.Regex.BlocksCloser=/\<\/(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TITLE|META|LINK|BASE|SCRIPT|LINK|TD|AREA|OPTION)[^\>]*\>/gi;FCKCodeFormatter.Regex.NewLineTags=/\<(BR|HR)[^\>]\>/gi;FCKCodeFormatter.Regex.MainTags=/\<\/?(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR)[^\>]*\>/gi;FCKCodeFormatter.Regex.LineSplitter=/\s*\n+\s*/g;FCKCodeFormatter.Regex.IncreaseIndent=/^\<(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR|UL|OL)[ \/\>]/i;FCKCodeFormatter.Regex.DecreaseIndent=/^\<\/(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR|UL|OL)[ \>]/i;FCKCodeFormatter.Regex.FormatIndentatorRemove=new RegExp(FCKConfig.FormatIndentator);FCKCodeFormatter.Format=function(html){var sFormatted=html.replace(this.Regex.BlocksOpener,'\n$&');;sFormatted=sFormatted.replace(this.Regex.BlocksCloser,'$&\n');sFormatted=sFormatted.replace(this.Regex.NewLineTags,'$&\n');sFormatted=sFormatted.replace(this.Regex.MainTags,'\n$&\n');var sIndentation='';var asLines=sFormatted.split(this.Regex.LineSplitter);sFormatted='';for (var i=0;i<asLines.length;i++){var sLine=asLines[i];if (sLine.length==0) continue;if (this.Regex.DecreaseIndent.test(sLine)) sIndentation=sIndentation.replace(this.Regex.FormatIndentatorRemove,'');sFormatted+=sIndentation+sLine+'\n';if (this.Regex.IncreaseIndent.test(sLine)) sIndentation+=FCKConfig.FormatIndentator;};return sFormatted.trim();};}
-var FCKUndo=new Object();FCKUndo.SavedData=new Array();FCKUndo.CurrentIndex=-1;FCKUndo.TypesCount=FCKUndo.MaxTypes=25;FCKUndo.Typing=false;FCKUndo.SaveUndoStep=function(){FCKUndo.SavedData=FCKUndo.SavedData.slice(0,FCKUndo.CurrentIndex+1);var sHtml=FCK.EditorDocument.body.innerHTML;if (FCKUndo.CurrentIndex>=0&&sHtml==FCKUndo.SavedData[FCKUndo.CurrentIndex][0]) return;if (FCKUndo.CurrentIndex+1>=FCKConfig.MaxUndoLevels) FCKUndo.SavedData.shift();else FCKUndo.CurrentIndex++;var sBookmark;if (FCK.EditorDocument.selection.type=='Text') sBookmark=FCK.EditorDocument.selection.createRange().getBookmark();FCKUndo.SavedData[FCKUndo.CurrentIndex]=[sHtml,sBookmark];FCK.Events.FireEvent("OnSelectionChange");};FCKUndo.Undo=function(){if (FCKUndo.CurrentIndex>=0){if (FCKUndo.CurrentIndex==(FCKUndo.SavedData.length-1)){FCKUndo.SaveUndoStep();};FCKUndo._ApplyUndoLevel(--FCKUndo.CurrentIndex);FCK.Events.FireEvent("OnSelectionChange");};};FCKUndo.Redo=function(){if (FCKUndo.CurrentIndex<(FCKUndo.SavedData.length-1)){FCKUndo._ApplyUndoLevel(++FCKUndo.CurrentIndex);FCK.Events.FireEvent("OnSelectionChange");};};FCKUndo._ApplyUndoLevel=function(level){var oData=FCKUndo.SavedData[level];FCK.EditorDocument.body.innerHTML=oData[0];if (oData[1]){var oRange=FCK.EditorDocument.selection.createRange();oRange.moveToBookmark(oData[1]);oRange.select();};FCKUndo.TypesCount=0;FCKUndo.Typing=false;}
-FCK.Events=new FCKEvents(FCK);FCK.Toolbar=null;FCK.TempBaseTag=FCKConfig.BaseHref.length>0?'<base href="'+FCKConfig.BaseHref+'" _fcktemp="true"></base>':'';FCK.StartEditor=function(){this.EditorWindow=window.frames['eEditorArea'];this.EditorDocument=this.EditorWindow.document;this.SetHTML(FCKTools.GetLinkedFieldValue());FCKTools.AttachToLinkedFieldFormSubmit(this.UpdateLinkedField);FCKUndo.SaveUndoStep();this.SetStatus(FCK_STATUS_ACTIVE);};function Window_OnFocus(){FCK.Focus();};FCK.SetStatus=function(newStatus){this.Status=newStatus;if (newStatus==FCK_STATUS_ACTIVE){window.onfocus=window.document.body.onfocus=Window_OnFocus;if (FCKConfig.StartupFocus) FCK.Focus();if (FCKBrowserInfo.IsIE) FCKScriptLoader.AddScript('js/fckeditorcode_ie_2.js');else FCKScriptLoader.AddScript('js/fckeditorcode_gecko_2.js');};this.Events.FireEvent('OnStatusChange',newStatus);};FCK.GetHTML=function(format){var sHTML;if (FCK.EditMode==FCK_EDITMODE_WYSIWYG){if (FCKBrowserInfo.IsIE) sHTML=this.EditorDocument.body.innerHTML.replace(FCKRegexLib.ToReplace,'$1');else sHTML=this.EditorDocument.body.innerHTML;}else sHTML=document.getElementById('eSourceField').value;if (format) return FCKCodeFormatter.Format(sHTML);else return sHTML;};FCK.GetXHTML=function(format){var bSource=(FCK.EditMode==FCK_EDITMODE_SOURCE);if (bSource) this.SwitchEditMode();if (FCKConfig.FullPage) var sXHTML=FCKXHtml.GetXHTML(this.EditorDocument.getElementsByTagName('html')[0],true,format);else{if (FCKConfig.IgnoreEmptyParagraphValue&&this.EditorDocument.body.innerHTML=='<P>&nbsp;</P>') var sXHTML='';else var sXHTML=FCKXHtml.GetXHTML(this.EditorDocument.body,false,format);};if (bSource) this.SwitchEditMode();if (FCKBrowserInfo.IsIE) sXHTML=sXHTML.replace(FCKRegexLib.ToReplace,'$1');if (FCK.DocTypeDeclaration&&FCK.DocTypeDeclaration.length>0) sXHTML=FCK.DocTypeDeclaration+'\n'+sXHTML;if (FCK.XmlDeclaration&&FCK.XmlDeclaration.length>0) sXHTML=FCK.XmlDeclaration+'\n'+sXHTML;return FCKConfig.ProtectedSource.Revert(sXHTML);};FCK.UpdateLinkedField=function(){if (FCKConfig.EnableXHTML) FCK.LinkedField.value=FCK.GetXHTML(FCKConfig.FormatOutput);else FCK.LinkedField.value=FCK.GetHTML(FCKConfig.FormatOutput);FCK.Events.FireEvent('OnAfterLinkedFieldUpdate');};FCK.ShowContextMenu=function(x,y){if (this.Status!=FCK_STATUS_COMPLETE) return;FCKContextMenu.Show(x,y);this.Events.FireEvent("OnContextMenu");};FCK.RegisteredDoubleClickHandlers=new Object();FCK.OnDoubleClick=function(element){var oHandler=FCK.RegisteredDoubleClickHandlers[element.tagName];if (oHandler) oHandler(element);};FCK.RegisterDoubleClickHandler=function(handlerFunction,tag){FCK.RegisteredDoubleClickHandlers[tag.toUpperCase()]=handlerFunction;};FCK.OnAfterSetHTML=function(){var oProcessor,i=0;while(oProcessor=FCKDocumentProcessors[i++]) oProcessor.ProcessDocument(FCK.EditorDocument);this.Events.FireEvent('OnAfterSetHTML');};var FCKDocumentProcessors=new Array();var FCKDocumentProcessors_CreateFakeImage=function(fakeClass,realElement){var oImg=FCK.EditorDocument.createElement('IMG');oImg.className=fakeClass;oImg.src=FCKConfig.FullBasePath+'images/spacer.gif';oImg.setAttribute('_fckfakelement','true',0);oImg.setAttribute('_fckrealelement',FCKTempBin.AddElement(realElement),0);return oImg;};var FCKAnchorsProcessor=new Object();FCKAnchorsProcessor.ProcessDocument=function(document){var aLinks=document.getElementsByTagName('A');var oLink;var i=aLinks.length-1;while (i>=0&&(oLink=aLinks[i--])){if (oLink.name.length>0&&(!oLink.getAttribute('href')||oLink.getAttribute('href').length==0)){var oImg=FCKDocumentProcessors_CreateFakeImage('FCK__Anchor',oLink.cloneNode(true));oImg.setAttribute('_fckanchor','true',0);oLink.parentNode.insertBefore(oImg,oLink);oLink.parentNode.removeChild(oLink);};};};FCKDocumentProcessors.addItem(FCKAnchorsProcessor);var FCKFlashProcessor=new Object();FCKFlashProcessor.ProcessDocument=function(document){var aEmbeds=document.getElementsByTagName('EMBED');var oEmbed;var i=aEmbeds.length-1;while (i>=0&&(oEmbed=aEmbeds[i--])){if (oEmbed.src.endsWith('.swf',true)){var oImg=FCKDocumentProcessors_CreateFakeImage('FCK__Flash',oEmbed.cloneNode(true));oImg.setAttribute('_fckflash','true',0);FCKFlashProcessor.RefreshView(oImg,oEmbed);oEmbed.parentNode.insertBefore(oImg,oEmbed);oEmbed.parentNode.removeChild(oEmbed);};};};FCKFlashProcessor.RefreshView=function(placholderImage,originalEmbed){if (originalEmbed.width>0) placholderImage.style.width=FCKTools.ConvertHtmlSizeToStyle(originalEmbed.width);if (originalEmbed.height>0) placholderImage.style.height=FCKTools.ConvertHtmlSizeToStyle(originalEmbed.height);};FCKDocumentProcessors.addItem(FCKFlashProcessor);FCK.GetRealElement=function(fakeElement){var e=FCKTempBin.Elements[fakeElement.getAttribute('_fckrealelement')];if (fakeElement.getAttribute('_fckflash')){if (fakeElement.style.width.length>0) e.width=FCKTools.ConvertStyleSizeToHtml(fakeElement.style.width);if (fakeElement.style.height.length>0) e.height=FCKTools.ConvertStyleSizeToHtml(fakeElement.style.height);};return e;}
-FCK.Description="FCKeditor for Internet Explorer 5.5+";FCK._BehaviorsStyle='<style type="text/css" _fcktemp="true"> \ INPUT		{ behavior: url('+FCKConfig.FullBasePath+'css/behaviors/hiddenfield.htc) ; } \ INPUT		{ behavior: url('+FCKConfig.FullBasePath+'css/behaviors/disablehandles.htc) ; } \ TEXTAREA	{ behavior: url('+FCKConfig.FullBasePath+'css/behaviors/disablehandles.htc) ; } \ SELECT		{ behavior: url('+FCKConfig.FullBasePath+'css/behaviors/disablehandles.htc) ; }';if (FCKConfig.ShowBorders) FCK._BehaviorsStyle+='TABLE { behavior: url('+FCKConfig.FullBasePath+'css/behaviors/showtableborders.htc) ; }';if (FCKConfig.DisableImageHandles) FCK._BehaviorsStyle+='IMG { behavior: url('+FCKConfig.FullBasePath+'css/behaviors/disablehandles.htc) ; }';if (FCKConfig.DisableTableHandles) FCK._BehaviorsStyle+='TABLE { behavior: url('+FCKConfig.FullBasePath+'css/behaviors/disablehandles.htc) ; }';FCK._BehaviorsStyle+='.FCK__Anchor { behavior: url('+FCKConfig.FullBasePath+'css/behaviors/disablehandles.htc) ; }';FCK._BehaviorsStyle+='</style>';function Doc_OnMouseDown(){FCK.Focus();FCK.EditorWindow.event.cancelBubble=true;FCK.EditorWindow.event.returnValue=false;};function Doc_OnPaste(){if (FCK.Status==FCK_STATUS_COMPLETE) return FCK.Events.FireEvent("OnPaste");else return false;};function Doc_OnContextMenu(){var e=FCK.EditorWindow.event;FCK.ShowContextMenu(e.screenX,e.screenY);return false;};function Doc_OnKeyDown(){var e=FCK.EditorWindow.event;if (e.keyCode==13&&FCKConfig.UseBROnCarriageReturn){if ((e.ctrlKey||e.altKey||e.shiftKey)) return true;else{if (FCK.EditorDocument.queryCommandState('InsertOrderedList')||FCK.EditorDocument.queryCommandState('InsertUnorderedList')) return true;FCK.InsertHtml("<br>&nbsp;");var oRange=FCK.EditorDocument.selection.createRange();oRange.moveStart('character',-1);oRange.select();FCK.EditorDocument.selection.clear();return false;};}else if (e.keyCode==9&&FCKConfig.TabSpaces>0&&!(e.ctrlKey||e.altKey||e.shiftKey)){FCK.InsertHtml(window.FCKTabHTML);return false;};return true;};function Doc_OnKeyDownUndo(){if (!FCKUndo.Typing){FCKUndo.SaveUndoStep();FCKUndo.Typing=true;FCK.Events.FireEvent("OnSelectionChange");};FCKUndo.TypesCount++;if (FCKUndo.TypesCount>FCKUndo.MaxTypes){FCKUndo.TypesCount=0;FCKUndo.SaveUndoStep();};};function Doc_OnDblClick(){FCK.OnDoubleClick(FCK.EditorWindow.event.srcElement);FCK.EditorWindow.event.cancelBubble=true;};function Doc_OnSelectionChange(){FCK.Events.FireEvent("OnSelectionChange");};FCK.InitializeBehaviors=function(dontReturn){this.EditorDocument.attachEvent('onmousedown',Doc_OnMouseDown);this.EditorDocument.attachEvent('onmouseup',Doc_OnMouseDown);this.EditorDocument.body.attachEvent('onpaste',Doc_OnPaste);this.EditorDocument.attachEvent('oncontextmenu',Doc_OnContextMenu);if (FCKConfig.UseBROnCarriageReturn||FCKConfig.TabSpaces>0){if (FCKConfig.TabSpaces>0){window.FCKTabHTML='';for (i=0;i<FCKConfig.TabSpaces;i++) window.FCKTabHTML+="&nbsp;";};this.EditorDocument.attachEvent("onkeydown",Doc_OnKeyDown);};this.EditorDocument.attachEvent("onkeydown",Doc_OnKeyDownUndo);this.EditorDocument.attachEvent("ondblclick",Doc_OnDblClick);this.EditorDocument.attachEvent("onselectionchange",Doc_OnSelectionChange);};FCK.Focus=function(){try{if (FCK.EditMode==FCK_EDITMODE_WYSIWYG) FCK.EditorDocument.body.focus();else document.getElementById('eSourceField').focus();}catch(e) {};};FCK.SetHTML=function(html,forceWYSIWYG){if (forceWYSIWYG||FCK.EditMode==FCK_EDITMODE_WYSIWYG){html=FCKConfig.ProtectedSource.Protect(html);var sHtml;if (FCKConfig.FullPage){var sHtml=FCK._BehaviorsStyle+'<link href="'+FCKConfig.FullBasePath+'css/fck_internal.css'+'" rel="stylesheet" type="text/css" _fcktemp="true" />';if (FCK.TempBaseTag.length>0&&!FCKRegexLib.HasBaseTag.test(html)) sHtml+=FCK.TempBaseTag;sHtml=html.replace(FCKRegexLib.HeadCloser,sHtml+'</head>');}else{sHtml=FCKConfig.DocType+'<html dir="'+FCKConfig.ContentLangDirection+'"';if (FCKConfig.IEForceVScroll) sHtml+=' style="overflow-y: scroll"';sHtml+='><head><title></title>'+'<link href="'+FCKConfig.EditorAreaCSS+'" rel="stylesheet" type="text/css" />'+'<link href="'+FCKConfig.FullBasePath+'css/fck_internal.css'+'" rel="stylesheet" type="text/css" _fcktemp="true" />';sHtml+=FCK._BehaviorsStyle;sHtml+=FCK.TempBaseTag;sHtml+='</head><body>'+html+'</body></html>';};this.EditorDocument.open('','_self','',true);this.EditorDocument.write(sHtml);this.EditorDocument.close();this.InitializeBehaviors();this.EditorDocument.body.contentEditable=true;FCK.OnAfterSetHTML();}else document.getElementById('eSourceField').value=html;};FCK.InsertHtml=function(html){FCK.Focus();FCKUndo.SaveUndoStep();var oSel=FCK.EditorDocument.selection;if (oSel.type.toLowerCase()!="none") oSel.clear();oSel.createRange().pasteHTML(html);}
+var FCKDebug=new Object();if (FCKConfig.Debug){FCKDebug.Output=function(A,B){if (!FCKConfig.Debug) return;if (A!=null&&isNaN(A)) A=A.replace(/</g,"&lt;");if (!this.DebugWindow||this.DebugWindow.closed) this.DebugWindow=window.open('fckdebug.html','FCKeditorDebug','menubar=no,scrollbars=no,resizable=yes,location=no,toolbar=no,width=600,height=500',true);if (this.DebugWindow.Output) this.DebugWindow.Output(A,B);};}else FCKDebug.Output=function() {};
+var FCKTools=new Object();FCKTools.GetLinkedFieldValue=function(){return FCK.LinkedField.value;};FCKTools.AttachToLinkedFieldFormSubmit=function(A){var B=FCK.LinkedField.form;if (!B) return;if (FCKBrowserInfo.IsIE) B.attachEvent("onsubmit",A);else B.addEventListener('submit',A,true);if (!B.updateFCKeditor) B.updateFCKeditor=new Array();B.updateFCKeditor[B.updateFCKeditor.length]=A;if (!B.originalSubmit&&(typeof(B.submit)=='function'||(!B.submit.tagName&&!B.submit.length))){B.originalSubmit=B.submit;B.submit=FCKTools_SubmitReplacer;};};function FCKTools_SubmitReplacer(){if (this.updateFCKeditor){for (var i=0;i<this.updateFCKeditor.length;i++) this.updateFCKeditor[i]();};this.originalSubmit();};FCKTools.AddSelectOption=function(A,B,C,D){var E=A.createElement("OPTION");E.text=C;E.value=D;B.options.add(E);return E;};FCKTools.RemoveAllSelectOptions=function(A){for (var i=A.options.length-1;i>=0;i--){A.options.remove(i);};};FCKTools.SelectNoCase=function(A,B,C){var D=B.toString().toLowerCase();for (var i=0;i<A.options.length;i++){if (D==A.options[i].value.toLowerCase()){A.selectedIndex=i;return;};};if (C!=null) FCKTools.SelectNoCase(A,C);};FCKTools.HTMLEncode=function(A){if (!A) return '';A=A.replace(/&/g,"&amp;");A=A.replace(/"/g,"&quot;");A=A.replace(/</g,"&lt;");A=A.replace(/>/g,"&gt;");A=A.replace(/'/g,"&#39;");return A;};FCKTools.GetResultingArray=function(A,B){switch (typeof(A)){case "string":return A.split(B);case "function":return B();default:if (isArray(A)) return A;else return new Array();};};FCKTools.GetElementPosition=function(A){var c={ X:0,Y:0 };while (A){c.X+=A.offsetLeft;c.Y+=A.offsetTop;A=A.offsetParent;};return c;};FCKTools.GetElementAscensor=function(A,B){var e=A;var C=","+B.toUpperCase()+",";while (e){if (C.indexOf(","+e.nodeName.toUpperCase()+",")!=-1) return e;e=e.parentNode;};return null;};FCKTools.Pause=function(A){var B=new Date();while (true){var C=new Date();if (A<C-B) return;};};FCKTools.ConvertStyleSizeToHtml=function(A){return A.endsWith('%')?A:parseInt(A);};FCKTools.ConvertHtmlSizeToStyle=function(A){return A.endsWith('%')?A:(A+'px');};FCKTools.SetElementAttributes=function(A,B){for (var i=0;i<B.length;i++){if (B[i].specified) A.setAttribute(B[i].nodeName,B[i].nodeValue,0);};};FCKTools.GetParentBlockNode=function(A){if (A.nodeName.toUpperCase()=="BODY") return null;else if (A.nodeType==1&&FCKRegexLib.BlockElements.test(A.tagName)) return A;else return FCKTools.GetParentBlockNode(A.parentNode);};FCKTools.NodeIsEmpty=function(A){var B=A.childNodes[0];while (B){if ((B.nodeType!=1&&B.nodeType!=3)||(B.nodeType==1&&B.nodeName.toUpperCase()!="BR")||(B.nodeType==3&&B.nodeValue&&B.nodeValue.trim()!='')) return false;B=B.nextSibling;};return true;};FCKTools.GetDocumentFragment=function(A,B,C,D,E,F){if (typeof D=="undefined")  D=true;if (typeof E=="undefined")  E=true;if (typeof F=="undefined")  F=true;var G=FCK.EditorDocument.createDocumentFragment();var H=B;while (H&&H!=C){if (H!=B||D) G.appendChild(F?H.cloneNode(true):H);H=H.nextSibling;};if (H&&(B!=C&&E)) G.appendChild(F?H.cloneNode(true):H);return G;};
+FCKTools.AppendStyleSheet=function(A,B){return A.createStyleSheet(B);};FCKTools.ClearElementAttributes=function(A){A.clearAttributes();};FCKTools.GetAllChildrenIds=function(A){var B=new Array();for (var i=0;i<A.all.length;i++){var C=A.all[i].id;if (C&&C.length>0) B[B.length]=C;};return B;};FCKTools.RemoveOuterTags=function(e){e.insertAdjacentHTML('beforeBegin',e.innerHTML);e.parentNode.removeChild(e);};FCKTools.CreateXmlObject=function(A){var B;switch (A){case 'XmlHttp':B=['MSXML2.XmlHttp','Microsoft.XmlHttp'];break;case 'DOMDocument':B=['MSXML2.DOMDocument','Microsoft.XmlDom'];break;};for (var i=0;i<2;i++){try { return new ActiveXObject(B[i]);}catch (e){};};if (FCKLang.NoActiveX){alert(FCKLang.NoActiveX);FCKLang.NoActiveX=null;};}
+var FCKRegexLib=new Object();FCKRegexLib.AposEntity=/&apos;/gi;FCKRegexLib.ObjectElements=/^(?:IMG|TABLE|TR|TD|INPUT|SELECT|TEXTAREA|HR|OBJECT)$/i;FCKRegexLib.BlockElements=/^(?:P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TD|TABLE|CAPTION)$/i;FCKRegexLib.EmptyElements=/^(?:BASE|META|LINK|HR|BR|PARAM|IMG|AREA|INPUT)$/i;FCKRegexLib.NamedCommands=/^(?:Cut|Copy|Paste|Print|SelectAll|RemoveFormat|Unlink|Undo|Redo|Bold|Italic|Underline|StrikeThrough|Subscript|Superscript|JustifyLeft|JustifyCenter|JustifyRight|JustifyFull|Outdent|Indent|InsertOrderedList|InsertUnorderedList|InsertHorizontalRule)$/i;FCKRegexLib.BodyContents=/([\s\S]*\<body[^\>]*\>)([\s\S]*)(\<\/body\>[\s\S]*)/i;FCKRegexLib.ToReplace=/___fcktoreplace:([\w]+)/ig;FCKRegexLib.MetaHttpEquiv=/http-equiv\s*=\s*["']?([^"' ]+)/i;FCKRegexLib.HasBaseTag=/<base /i;FCKRegexLib.HeadOpener=/<head\s?[^>]*>/i;FCKRegexLib.HeadCloser=/<\/head\s*>/i;FCKRegexLib.TableBorderClass=/\s*FCK__ShowTableBorders\s*/;FCKRegexLib.ElementName=/^[A-Za-z_:][\w.-:]*$/;FCKRegexLib.ForceSimpleAmpersand=/___FCKAmp___/g;FCKRegexLib.SpaceNoClose=/\/>/g;FCKRegexLib.EmptyParagraph=/^<(p|div)>\s*<\/\1>$/i;FCKRegexLib.TagBody=/></;FCKRegexLib.TableCellElements=/^(?:TD|TH)$/i;FCKRegexLib.SpecialBlockElements=/^(?:BODY|TH|TD|CAPTION)$/i;FCKRegexLib.TableBlockElements=/^(?:BODY|DIV|LI|TD|TH)$/i;FCKRegexLib.ListElements=/^(?:OL|UL)$/i;FCKRegexLib.EmptyElement=/<(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|SPAN|A)[^\>]*>\s*<\/\1>/gi;FCKRegexLib.StrongOpener=/<STRONG([ \>])/gi;FCKRegexLib.StrongCloser=/<\/STRONG>/gi;FCKRegexLib.EmOpener=/<EM([ \>])/gi;FCKRegexLib.EmCloser=/<\/EM>/gi;
+FCKLanguageManager.GetActiveLanguage=function(){if (FCKConfig.AutoDetectLanguage){var A;if (navigator.userLanguage) A=navigator.userLanguage.toLowerCase();else if (navigator.language) A=navigator.language.toLowerCase();else{return FCKConfig.DefaultLanguage;};if (A.length>=5){A=A.substr(0,5);if (this.AvailableLanguages[A]) return A;};if (A.length>=2){A=A.substr(0,2);if (this.AvailableLanguages[A]) return A;};};return this.DefaultLanguage;};FCKLanguageManager.TranslateElements=function(A,B,C){var e=A.getElementsByTagName(B);for (var i=0;i<e.length;i++){var D=e[i].getAttribute('fckLang');if (D){var s=FCKLang[D];if (s) eval('e[i].'+C+' = s');};};};FCKLanguageManager.TranslatePage=function(A){this.TranslateElements(A,'INPUT','value');this.TranslateElements(A,'SPAN','innerHTML');this.TranslateElements(A,'LABEL','innerHTML');this.TranslateElements(A,'OPTION','innerHTML');};if (FCKLanguageManager.AvailableLanguages[FCKConfig.DefaultLanguage]) FCKLanguageManager.DefaultLanguage=FCKConfig.DefaultLanguage;else FCKLanguageManager.DefaultLanguage='en';FCKLanguageManager.ActiveLanguage=new Object();FCKLanguageManager.ActiveLanguage.Code=FCKLanguageManager.GetActiveLanguage();FCKLanguageManager.ActiveLanguage.Name=FCKLanguageManager.AvailableLanguages[FCKLanguageManager.ActiveLanguage.Code];FCK.Language=FCKLanguageManager;LoadLanguageFile();
+var FCKEvents;if (!(FCKEvents=NS.FCKEvents)){FCKEvents=NS.FCKEvents=function(A){this.Owner=A;this.RegisteredEvents=new Object();};FCKEvents.prototype.AttachEvent=function(A,B){if (!this.RegisteredEvents[A]) this.RegisteredEvents[A]=new Array();this.RegisteredEvents[A][this.RegisteredEvents[A].length]=B;};FCKEvents.prototype.FireEvent=function(A,B){var C=true;var D=this.RegisteredEvents[A];if (D){for (var i=0;i<D.length;i++) C=(D[i](this.Owner,B)&&C);};return C;};}
+if (FCKConfig.ProcessHTMLEntities){var FCKXHtmlEntities=new Object();FCKXHtmlEntities.Entities={' ':'nbsp','¡':'iexcl','¢':'cent','£':'pound','¤':'curren','¥':'yen','¦':'brvbar','§':'sect','¨':'uml','©':'copy','ª':'ordf','«':'laquo','¬':'not','­':'shy','®':'reg','¯':'macr','°':'deg','±':'plusmn','²':'sup2','³':'sup3','´':'acute','µ':'micro','¶':'para','·':'middot','¸':'cedil','¹':'sup1','º':'ordm','»':'raquo','¼':'frac14','½':'frac12','¾':'frac34','¿':'iquest','×':'times','÷':'divide','ƒ':'fnof','•':'bull','…':'hellip','′':'prime','″':'Prime','‾':'oline','⁄':'frasl','℘':'weierp','ℑ':'image','ℜ':'real','™':'trade','ℵ':'alefsym','←':'larr','↑':'uarr','→':'rarr','↓':'darr','↔':'harr','↵':'crarr','⇐':'lArr','⇑':'uArr','⇒':'rArr','⇓':'dArr','⇔':'hArr','∀':'forall','∂':'part','∃':'exist','∅':'empty','∇':'nabla','∈':'isin','∉':'notin','∋':'ni','∏':'prod','∑':'sum','−':'minus','∗':'lowast','√':'radic','∝':'prop','∞':'infin','∠':'ang','∧':'and','∨':'or','∩':'cap','∪':'cup','∫':'int','∴':'there4','∼':'sim','≅':'cong','≈':'asymp','≠':'ne','≡':'equiv','≤':'le','≥':'ge','⊂':'sub','⊃':'sup','⊄':'nsub','⊆':'sube','⊇':'supe','⊕':'oplus','⊗':'otimes','⊥':'perp','⋅':'sdot','◊':'loz','♠':'spades','♣':'clubs','♥':'hearts','♦':'diams','"':'quot','ˆ':'circ','˜':'tilde',' ':'ensp',' ':'emsp',' ':'thinsp','‌':'zwnj','‍':'zwj','‎':'lrm','‏':'rlm','–':'ndash','—':'mdash','‘':'lsquo','’':'rsquo','‚':'sbquo','“':'ldquo','”':'rdquo','„':'bdquo','†':'dagger','‡':'Dagger','‰':'permil','‹':'lsaquo','›':'rsaquo','€':'euro'};FCKXHtmlEntities.Chars='';for (var e in FCKXHtmlEntities.Entities) FCKXHtmlEntities.Chars+=e;if (FCKConfig.IncludeLatinEntities){var oEntities={'À':'Agrave','Á':'Aacute','Â':'Acirc','Ã':'Atilde','Ä':'Auml','Å':'Aring','Æ':'AElig','Ç':'Ccedil','È':'Egrave','É':'Eacute','Ê':'Ecirc','Ë':'Euml','Ì':'Igrave','Í':'Iacute','Î':'Icirc','Ï':'Iuml','Ð':'ETH','Ñ':'Ntilde','Ò':'Ograve','Ó':'Oacute','Ô':'Ocirc','Õ':'Otilde','Ö':'Ouml','Ø':'Oslash','Ù':'Ugrave','Ú':'Uacute','Û':'Ucirc','Ü':'Uuml','Ý':'Yacute','Þ':'THORN','ß':'szlig','à':'agrave','á':'aacute','â':'acirc','ã':'atilde','ä':'auml','å':'aring','æ':'aelig','ç':'ccedil','è':'egrave','é':'eacute','ê':'ecirc','ë':'euml','ì':'igrave','í':'iacute','î':'icirc','ï':'iuml','ð':'eth','ñ':'ntilde','ò':'ograve','ó':'oacute','ô':'ocirc','õ':'otilde','ö':'ouml','ø':'oslash','ù':'ugrave','ú':'uacute','û':'ucirc','ü':'uuml','ý':'yacute','þ':'thorn','ÿ':'yuml','Œ':'OElig','œ':'oelig','Š':'Scaron','š':'scaron','Ÿ':'Yuml'};for (var e in oEntities){FCKXHtmlEntities.Entities[e]=oEntities[e];FCKXHtmlEntities.Chars+=e;};oEntities=null;};if (FCKConfig.IncludeGreekEntities){var oEntities={'Α':'Alpha','Β':'Beta','Γ':'Gamma','Δ':'Delta','Ε':'Epsilon','Ζ':'Zeta','Η':'Eta','Θ':'Theta','Ι':'Iota','Κ':'Kappa','Λ':'Lambda','Μ':'Mu','Ν':'Nu','Ξ':'Xi','Ο':'Omicron','Π':'Pi','Ρ':'Rho','Σ':'Sigma','Τ':'Tau','Υ':'Upsilon','Φ':'Phi','Χ':'Chi','Ψ':'Psi','Ω':'Omega','α':'alpha','β':'beta','γ':'gamma','δ':'delta','ε':'epsilon','ζ':'zeta','η':'eta','θ':'theta','ι':'iota','κ':'kappa','λ':'lambda','μ':'mu','ν':'nu','ξ':'xi','ο':'omicron','π':'pi','ρ':'rho','ς':'sigmaf','σ':'sigma','τ':'tau','υ':'upsilon','φ':'phi','χ':'chi','ψ':'psi','ω':'omega'};for (var e in oEntities){FCKXHtmlEntities.Entities[e]=oEntities[e];FCKXHtmlEntities.Chars+=e;};oEntities=null;};FCKXHtmlEntities.EntitiesRegex=new RegExp('','');FCKXHtmlEntities.EntitiesRegex.compile('['+FCKXHtmlEntities.Chars+']|[^'+FCKXHtmlEntities.Chars+']+','g');FCKXHtmlEntities.GeckoEntitiesMarkerRegex=/#\?-\:/g;}
+var FCKXHtml=new Object();FCKXHtml.CurrentJobNum=0;FCKXHtml.GetXHTML=function(A,B,C){FCKXHtml.SpecialBlocks=new Array();this.XML=FCKTools.CreateXmlObject('DOMDocument');this.MainNode=this.XML.appendChild(this.XML.createElement('xhtml'));FCKXHtml.CurrentJobNum++;if (B) this._AppendNode(this.MainNode,A);else this._AppendChildNodes(this.MainNode,A,false);var D=this._GetMainXmlString();D=D.substr(7,D.length-15).trim();if (FCKBrowserInfo.IsGecko) D=D.replace(/<br\/>$/,'');D=D.replace(FCKRegexLib.SpaceNoClose,' />');if (FCKConfig.ForceSimpleAmpersand) D=D.replace(FCKRegexLib.ForceSimpleAmpersand,'&');if (C) D=FCKCodeFormatter.Format(D);for (var i=0;i<FCKXHtml.SpecialBlocks.length;i++){var E=new RegExp('___FCKsi___'+i);D=D.replace(E,FCKXHtml.SpecialBlocks[i]);};this.XML=null;return D};FCKXHtml._AppendAttribute=function(A,B,C){try{var D=this.XML.createAttribute(B);D.value=C?C:'';A.attributes.setNamedItem(D);}catch (e){};};FCKXHtml._AppendChildNodes=function(A,B,C){var D=0;if (B.hasChildNodes()){var E=B.childNodes;for (var i=0;i<E.length;i++){if (this._AppendNode(A,E[i])) D++;};};if (D==0){if (C&&FCKConfig.FillEmptyBlocks){this._AppendEntity(A,'nbsp');return;};if (!FCKRegexLib.EmptyElements.test(B.nodeName)) A.appendChild(this.XML.createTextNode(''));};};FCKXHtml._AppendNode=function(A,B){switch (B.nodeType){case 1:if (B.getAttribute('_fckfakelement')) return FCKXHtml._AppendNode(A,FCK.GetRealElement(B));if (FCKBrowserInfo.IsGecko&&B.hasAttribute('_moz_editor_bogus_node')) return false;if (B.getAttribute('_fckdelete')) return false;var C=B.nodeName;if (!FCKRegexLib.ElementName.test(C)) return false;C=C.toLowerCase();if (FCKBrowserInfo.IsGecko&&C=='br'&&B.hasAttribute('type')&&B.getAttribute('type',2)=='_moz') return false;if (B._fckxhtmljob&&B._fckxhtmljob==FCKXHtml.CurrentJobNum) return false;else B._fckxhtmljob=FCKXHtml.CurrentJobNum;var D=this._CreateNode(C);FCKXHtml._AppendAttributes(A,B,D,C);var E=FCKXHtml.TagProcessors[C];if (E){D=E(D,B);if (!D) break;}else this._AppendChildNodes(D,B,FCKRegexLib.BlockElements.test(C));A.appendChild(D);break;case 3:this._AppendTextNode(A,B.nodeValue.replaceNewLineChars(' '));break;case 8:try { A.appendChild(this.XML.createComment(B.nodeValue));}catch (e) { /* Do nothing... probably this is a wrong format comment. */};break;default:A.appendChild(this.XML.createComment("Element not supported - Type: "+B.nodeType+" Name: "+B.nodeName));break;};return true;};if (FCKConfig.ForceStrongEm){FCKXHtml._CreateNode=function(A){switch (A){case 'b':A='strong';break;case 'i':A='em';break;};return this.XML.createElement(A);};}else{FCKXHtml._CreateNode=function(A){return this.XML.createElement(A);};};FCKXHtml._AppendSpecialItem=function(A){return '___FCKsi___'+FCKXHtml.SpecialBlocks.addItem(A);};if (FCKConfig.ProcessHTMLEntities){FCKXHtml._AppendTextNode=function(A,B){var C=B.match(FCKXHtmlEntities.EntitiesRegex);if (C){for (var i=0;i<C.length;i++){if (C[i].length==1){var D=FCKXHtmlEntities.Entities[C[i]];if (D!=null){this._AppendEntity(A,D);continue;};};A.appendChild(this.XML.createTextNode(C[i]));};};};}else{FCKXHtml._AppendTextNode=function(A,B){A.appendChild(this.XML.createTextNode(B));};};FCKXHtml.TagProcessors=new Object();FCKXHtml.TagProcessors['img']=function(A){if (!A.attributes.getNamedItem('alt')) FCKXHtml._AppendAttribute(A,'alt','');return A;};FCKXHtml.TagProcessors['script']=function(A,B){if (!A.attributes.getNamedItem('type')) FCKXHtml._AppendAttribute(A,'type','text/javascript');A.appendChild(FCKXHtml.XML.createTextNode(FCKXHtml._AppendSpecialItem(B.text)));return A;};FCKXHtml.TagProcessors['style']=function(A,B){if (B.getAttribute('_fcktemp')) return null;if (!A.attributes.getNamedItem('type')) FCKXHtml._AppendAttribute(A,'type','text/css');A.appendChild(FCKXHtml.XML.createTextNode(FCKXHtml._AppendSpecialItem(B.innerHTML)));return A;};FCKXHtml.TagProcessors['title']=function(A,B){A.appendChild(FCKXHtml.XML.createTextNode(FCK.EditorDocument.title));return A;};FCKXHtml.TagProcessors['base']=function(A,B){if (B.getAttribute('_fcktemp')) return null;return A;};FCKXHtml.TagProcessors['link']=function(A,B){if (B.getAttribute('_fcktemp')) return null;return A;};FCKXHtml.TagProcessors['table']=function(A,B){var C=A.attributes.getNamedItem('class');if (C&&FCKRegexLib.TableBorderClass.test(C.nodeValue)){var D=C.nodeValue.replace(FCKRegexLib.TableBorderClass,'');if (D.length==0) A.attributes.removeNamedItem('class');else FCKXHtml._AppendAttribute(A,'class',D);};FCKXHtml._AppendChildNodes(A,B,false);return A;}
+FCKXHtml._GetMainXmlString=function(){return this.MainNode.xml;};FCKXHtml._AppendEntity=function(A,B){A.appendChild(this.XML.createEntityReference(B));};FCKXHtml._AppendAttributes=function(A,B,C,D){var E=B.attributes;for (var n=0;n<E.length;n++){var F=E[n];if (F.specified){var G=F.nodeName.toLowerCase();var H;if (G=='_fckxhtmljob') continue;else if (G=='style') H=B.style.cssText;else if (G=='class'||G.indexOf('on')==0) H=F.nodeValue;else if (D=='body'&&G=='contenteditable') continue;else if (F.nodeValue===true) H=G;else if (!(H=B.getAttribute(G,2))) H=F.nodeValue;if (FCKConfig.ForceSimpleAmpersand&&H.replace) H=H.replace(/&/g,'___FCKAmp___');this._AppendAttribute(C,G,H);};};};FCKXHtml.TagProcessors['meta']=function(A,B){var C=A.attributes.getNamedItem('http-equiv');if (C==null||C.value.length==0){var D=B.outerHTML.match(FCKRegexLib.MetaHttpEquiv);if (D){D=D[1];FCKXHtml._AppendAttribute(A,'http-equiv',D);};};return A;};FCKXHtml.TagProcessors['font']=function(A,B){if (A.attributes.length==0) A=FCKXHtml.XML.createDocumentFragment();FCKXHtml._AppendChildNodes(A,B);return A;};FCKXHtml.TagProcessors['input']=function(A,B){if (B.name) FCKXHtml._AppendAttribute(A,'name',B.name);if (B.value&&!A.attributes.getNamedItem('value')) FCKXHtml._AppendAttribute(A,'value',B.value);return A;};FCKXHtml.TagProcessors['option']=function(A,B){if (B.selected&&!A.attributes.getNamedItem('selected')) FCKXHtml._AppendAttribute(A,'selected','selected');FCKXHtml._AppendChildNodes(A,B);return A;};FCKXHtml.TagProcessors['abbr']=function(A,B){var C=B.nextSibling;while (true){if (C&&C.nodeName!='/ABBR'){FCKXHtml._AppendNode(A,C);C=C.nextSibling;}else break;};return A;};FCKXHtml.TagProcessors['area']=function(A,B){if (!A.attributes.getNamedItem('coords')){var C=B.getAttribute('coords',2);if (C&&C!='0,0,0') FCKXHtml._AppendAttribute(A,'coords',C);};if (!A.attributes.getNamedItem('shape')){var C=B.getAttribute('shape',2);if (C&&C.length>0) FCKXHtml._AppendAttribute(A,'shape',C);};return A;};FCKXHtml.TagProcessors['label']=function(A,B){if (B.htmlFor.length>0) FCKXHtml._AppendAttribute(A,'for',B.htmlFor);FCKXHtml._AppendChildNodes(A,B);return A;};FCKXHtml.TagProcessors['form']=function(A,B){if (B.acceptCharset.length>0&&B.acceptCharset!='UNKNOWN') FCKXHtml._AppendAttribute(A,'accept-charset',B.acceptCharset);if (B.name) FCKXHtml._AppendAttribute(A,'name',B.name);FCKXHtml._AppendChildNodes(A,B);return A;};FCKXHtml.TagProcessors['textarea']=FCKXHtml.TagProcessors['select']=function(A,B){if (B.name) FCKXHtml._AppendAttribute(A,'name',B.name);FCKXHtml._AppendChildNodes(A,B);return A;} 
+var FCKCodeFormatter;if (!(FCKCodeFormatter=NS.FCKCodeFormatter)){FCKCodeFormatter=NS.FCKCodeFormatter=new Object();FCKCodeFormatter.Regex=new Object();FCKCodeFormatter.Regex.BlocksOpener=/\<(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TITLE|META|LINK|BASE|SCRIPT|LINK|TD|AREA|OPTION)[^\>]*\>/gi;FCKCodeFormatter.Regex.BlocksCloser=/\<\/(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TITLE|META|LINK|BASE|SCRIPT|LINK|TD|AREA|OPTION)[^\>]*\>/gi;FCKCodeFormatter.Regex.NewLineTags=/\<(BR|HR)[^\>]\>/gi;FCKCodeFormatter.Regex.MainTags=/\<\/?(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR)[^\>]*\>/gi;FCKCodeFormatter.Regex.LineSplitter=/\s*\n+\s*/g;FCKCodeFormatter.Regex.IncreaseIndent=/^\<(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR|UL|OL)[ \/\>]/i;FCKCodeFormatter.Regex.DecreaseIndent=/^\<\/(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR|UL|OL)[ \>]/i;FCKCodeFormatter.Regex.FormatIndentatorRemove=new RegExp(FCKConfig.FormatIndentator);FCKCodeFormatter.Format=function(A){var B=A.replace(this.Regex.BlocksOpener,'\n$&');;B=B.replace(this.Regex.BlocksCloser,'$&\n');B=B.replace(this.Regex.NewLineTags,'$&\n');B=B.replace(this.Regex.MainTags,'\n$&\n');var C='';var D=B.split(this.Regex.LineSplitter);B='';for (var i=0;i<D.length;i++){var E=D[i];if (E.length==0) continue;if (this.Regex.DecreaseIndent.test(E)) C=C.replace(this.Regex.FormatIndentatorRemove,'');B+=C+E+'\n';if (this.Regex.IncreaseIndent.test(E)) C+=FCKConfig.FormatIndentator;};return B.trim();};}
+var FCKUndo=new Object();FCKUndo.SavedData=new Array();FCKUndo.CurrentIndex=-1;FCKUndo.TypesCount=FCKUndo.MaxTypes=25;FCKUndo.Typing=false;FCKUndo.SaveUndoStep=function(){FCKUndo.SavedData=FCKUndo.SavedData.slice(0,FCKUndo.CurrentIndex+1);var A=FCK.EditorDocument.body.innerHTML;if (FCKUndo.CurrentIndex>=0&&A==FCKUndo.SavedData[FCKUndo.CurrentIndex][0]) return;if (FCKUndo.CurrentIndex+1>=FCKConfig.MaxUndoLevels) FCKUndo.SavedData.shift();else FCKUndo.CurrentIndex++;var B;if (FCK.EditorDocument.selection.type=='Text') B=FCK.EditorDocument.selection.createRange().getBookmark();FCKUndo.SavedData[FCKUndo.CurrentIndex]=[A,B];FCK.Events.FireEvent("OnSelectionChange");};FCKUndo.CheckUndoState=function(){return (FCKUndo.Typing||FCKUndo.CurrentIndex>0);};FCKUndo.CheckRedoState=function(){return (!FCKUndo.Typing&&FCKUndo.CurrentIndex<(FCKUndo.SavedData.length-1));};FCKUndo.Undo=function(){if (FCKUndo.CheckUndoState()){if (FCKUndo.CurrentIndex==(FCKUndo.SavedData.length-1)){FCKUndo.SaveUndoStep();};FCKUndo._ApplyUndoLevel(--FCKUndo.CurrentIndex);FCK.Events.FireEvent("OnSelectionChange");};};FCKUndo.Redo=function(){if (FCKUndo.CheckRedoState()){FCKUndo._ApplyUndoLevel(++FCKUndo.CurrentIndex);FCK.Events.FireEvent("OnSelectionChange");};};FCKUndo._ApplyUndoLevel=function(A){var B=FCKUndo.SavedData[A];if (!B) return;FCK.EditorDocument.body.innerHTML=B[0];if (B[1]){var C=FCK.EditorDocument.selection.createRange();C.moveToBookmark(B[1]);C.select();};FCKUndo.TypesCount=0;FCKUndo.Typing=false;}
+FCK.Events=new FCKEvents(FCK);FCK.Toolbar=null;FCK.TempBaseTag=FCKConfig.BaseHref.length>0?'<base href="'+FCKConfig.BaseHref+'" _fcktemp="true"></base>':'';FCK.StartEditor=function(){this.EditorWindow=window.frames['eEditorArea'];this.EditorDocument=this.EditorWindow.document;this.SetHTML(FCKTools.GetLinkedFieldValue());FCKTools.AttachToLinkedFieldFormSubmit(this.UpdateLinkedField);FCKUndo.SaveUndoStep();this.SetStatus(FCK_STATUS_ACTIVE);};function Window_OnFocus(){FCK.Focus();};FCK.SetStatus=function(A){this.Status=A;if (A==FCK_STATUS_ACTIVE){window.onfocus=window.document.body.onfocus=Window_OnFocus;if (FCKConfig.StartupFocus) FCK.Focus();if (FCKBrowserInfo.IsIE) FCKScriptLoader.AddScript('js/fckeditorcode_ie_2.js');else FCKScriptLoader.AddScript('js/fckeditorcode_gecko_2.js');};this.Events.FireEvent('OnStatusChange',A);};FCK.GetHTML=function(A){var B;if (FCK.EditMode==FCK_EDITMODE_WYSIWYG){if (FCKBrowserInfo.IsIE) B=this.EditorDocument.body.innerHTML.replace(FCKRegexLib.ToReplace,'$1');else B=this.EditorDocument.body.innerHTML;}else B=document.getElementById('eSourceField').value;if (A) return FCKCodeFormatter.Format(B);else return B;};FCK.GetXHTML=function(A){var B=(FCK.EditMode==FCK_EDITMODE_SOURCE);if (B) this.SwitchEditMode();var C;if (FCKConfig.FullPage) C=FCKXHtml.GetXHTML(this.EditorDocument.getElementsByTagName('html')[0],true,A);else{if (FCKConfig.IgnoreEmptyParagraphValue&&this.EditorDocument.body.innerHTML=='<P>&nbsp;</P>') C='';else C=FCKXHtml.GetXHTML(this.EditorDocument.body,false,A);};if (B) this.SwitchEditMode();if (FCKBrowserInfo.IsIE) C=C.replace(FCKRegexLib.ToReplace,'$1');if (FCK.DocTypeDeclaration&&FCK.DocTypeDeclaration.length>0) C=FCK.DocTypeDeclaration+'\n'+C;if (FCK.XmlDeclaration&&FCK.XmlDeclaration.length>0) C=FCK.XmlDeclaration+'\n'+C;return FCKConfig.ProtectedSource.Revert(C);};FCK.UpdateLinkedField=function(){if (FCKConfig.EnableXHTML) FCK.LinkedField.value=FCK.GetXHTML(FCKConfig.FormatOutput);else FCK.LinkedField.value=FCK.GetHTML(FCKConfig.FormatOutput);FCK.Events.FireEvent('OnAfterLinkedFieldUpdate');};FCK.ShowContextMenu=function(x,y){if (this.Status!=FCK_STATUS_COMPLETE) return;FCKContextMenu.Show(x,y);this.Events.FireEvent("OnContextMenu");};FCK.RegisteredDoubleClickHandlers=new Object();FCK.OnDoubleClick=function(A){var B=FCK.RegisteredDoubleClickHandlers[A.tagName];if (B) B(A);};FCK.RegisterDoubleClickHandler=function(A,B){FCK.RegisteredDoubleClickHandlers[B.toUpperCase()]=A;};FCK.OnAfterSetHTML=function(){var A,i=0;while((A=FCKDocumentProcessors[i++])) A.ProcessDocument(FCK.EditorDocument);this.Events.FireEvent('OnAfterSetHTML');};var FCKDocumentProcessors=new Array();var FCKDocumentProcessors_CreateFakeImage=function(A,B){var C=FCK.EditorDocument.createElement('IMG');C.className=A;C.src=FCKConfig.FullBasePath+'images/spacer.gif';C.setAttribute('_fckfakelement','true',0);C.setAttribute('_fckrealelement',FCKTempBin.AddElement(B),0);return C;};var FCKAnchorsProcessor=new Object();FCKAnchorsProcessor.ProcessDocument=function(A){var B=A.getElementsByTagName('A');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){if (C.name.length>0&&(!C.getAttribute('href')||C.getAttribute('href').length==0)){var D=FCKDocumentProcessors_CreateFakeImage('FCK__Anchor',C.cloneNode(true));D.setAttribute('_fckanchor','true',0);C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);};};};FCKDocumentProcessors.addItem(FCKAnchorsProcessor);var FCKFlashProcessor=new Object();FCKFlashProcessor.ProcessDocument=function(A){var B=A.getElementsByTagName('EMBED');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){if (C.src.endsWith('.swf',true)){var D=FCKDocumentProcessors_CreateFakeImage('FCK__Flash',C.cloneNode(true));D.setAttribute('_fckflash','true',0);FCKFlashProcessor.RefreshView(D,C);C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);};};};FCKFlashProcessor.RefreshView=function(A,B){if (B.width>0) A.style.width=FCKTools.ConvertHtmlSizeToStyle(B.width);if (B.height>0) A.style.height=FCKTools.ConvertHtmlSizeToStyle(B.height);};FCKDocumentProcessors.addItem(FCKFlashProcessor);FCK.GetRealElement=function(A){var e=FCKTempBin.Elements[A.getAttribute('_fckrealelement')];if (A.getAttribute('_fckflash')){if (A.style.width.length>0) e.width=FCKTools.ConvertStyleSizeToHtml(A.style.width);if (A.style.height.length>0) e.height=FCKTools.ConvertStyleSizeToHtml(A.style.height);};return e;};var FCKTablesProcessor=new Object();FCKTablesProcessor.ProcessDocument=function(A){FCKTablesProcessor.CheckTablesNesting(A);};FCKTablesProcessor.CheckTablesNesting=function(A){var B=A.getElementsByTagName("TABLE");var C;for (var i=0;i<B.length;i++){FCKTablesProcessor.CheckTableNesting(B[i]);};};FCKTablesProcessor.CheckTableNesting=function(A){var B=FCKTools.GetParentBlockNode(A.parentNode);if (B&&!FCKRegexLib.TableBlockElements.test(B.nodeName)){var C=FCK.EditorDocument.createElement(B.tagName);var D=FCKTools.GetDocumentFragment(B,B.firstChild,A,true,false,true);C.appendChild(D);FCKTools.SetElementAttributes(C,B.attributes);var E=FCK.EditorDocument.createElement(B.tagName);var F=FCKTools.GetDocumentFragment(B,A,B.lastChild,false,true,true);E.appendChild(F);FCKTools.SetElementAttributes(E,B.attributes);var G=FCK.EditorDocument.createDocumentFragment();if (!FCKTools.NodeIsEmpty(C)) G.appendChild(C);G.appendChild(A);if (!FCKTools.NodeIsEmpty(E)) G.appendChild(E);B.parentNode.replaceChild(G,B);};};FCKDocumentProcessors.addItem(FCKTablesProcessor);
+FCK.Description="FCKeditor for Internet Explorer 5.5+";FCK._BehaviorsStyle='<style type="text/css" _fcktemp="true">\ INPUT		{ behavior:url(' + FCKConfig.FullBasePath + 'css/behaviors/hiddenfield.htc);} \ INPUT		{ behavior:url(' + FCKConfig.FullBasePath + 'css/behaviors/disablehandles.htc);} \ TEXTAREA	{ behavior:url(' + FCKConfig.FullBasePath + 'css/behaviors/disablehandles.htc);} \ SELECT		{ behavior:url(' + FCKConfig.FullBasePath + 'css/behaviors/disablehandles.htc);}';if (FCKConfig.ShowBorders) FCK._BehaviorsStyle+='TABLE { behavior: url('+FCKConfig.FullBasePath+'css/behaviors/showtableborders.htc) ; }';if (FCKConfig.DisableImageHandles) FCK._BehaviorsStyle+='IMG { behavior: url('+FCKConfig.FullBasePath+'css/behaviors/disablehandles.htc) ; }';if (FCKConfig.DisableTableHandles) FCK._BehaviorsStyle+='TABLE { behavior: url('+FCKConfig.FullBasePath+'css/behaviors/disablehandles.htc) ; }';FCK._BehaviorsStyle+='.FCK__Anchor { behavior: url('+FCKConfig.FullBasePath+'css/behaviors/disablehandles.htc) ; }';FCK._BehaviorsStyle+='</style>';function Doc_OnMouseUp(){if (FCK.EditorWindow.event.srcElement.tagName=='HTML'){FCK.Focus();FCK.EditorWindow.event.cancelBubble=true;FCK.EditorWindow.event.returnValue=false;};};function Doc_OnPaste(){if (FCK.Status==FCK_STATUS_COMPLETE) return FCK.Events.FireEvent("OnPaste");else return false;};function Doc_OnContextMenu(){var e=FCK.EditorWindow.event;FCK.ShowContextMenu(e.screenX,e.screenY);return false;};function Doc_OnKeyDown(){var e=FCK.EditorWindow.event;switch (e.keyCode){case 13:if (FCKConfig.UseBROnCarriageReturn&&!(e.ctrlKey||e.altKey||e.shiftKey)){Doc_OnKeyDownUndo();if (FCK.EditorDocument.queryCommandState('InsertOrderedList')||FCK.EditorDocument.queryCommandState('InsertUnorderedList')) return true;FCK.InsertHtml('<br>&nbsp;');var oRange=FCK.EditorDocument.selection.createRange();oRange.moveStart('character',-1);oRange.select();FCK.EditorDocument.selection.clear();return false;};break;case 9:if (FCKConfig.TabSpaces>0&&!(e.ctrlKey||e.altKey||e.shiftKey)){Doc_OnKeyDownUndo();FCK.InsertHtml(window.FCKTabHTML);return false;};break;case 90:if (e.ctrlKey&&!(e.altKey||e.shiftKey)){FCKUndo.Undo();return false;};break;case 89:if (e.ctrlKey&&!(e.altKey||e.shiftKey)){FCKUndo.Redo();return false;};break;};if (!(e.keyCode>=16&&e.keyCode<=18)) Doc_OnKeyDownUndo();return true;};function Doc_OnKeyDownUndo(){if (!FCKUndo.Typing){FCKUndo.SaveUndoStep();FCKUndo.Typing=true;FCK.Events.FireEvent("OnSelectionChange");};FCKUndo.TypesCount++;if (FCKUndo.TypesCount>FCKUndo.MaxTypes){FCKUndo.TypesCount=0;FCKUndo.SaveUndoStep();};};function Doc_OnDblClick(){FCK.OnDoubleClick(FCK.EditorWindow.event.srcElement);FCK.EditorWindow.event.cancelBubble=true;};function Doc_OnSelectionChange(){FCK.Events.FireEvent("OnSelectionChange");};FCK.InitializeBehaviors=function(A){this.EditorDocument.attachEvent('onmouseup',Doc_OnMouseUp);this.EditorDocument.body.attachEvent('onpaste',Doc_OnPaste);this.EditorDocument.attachEvent('oncontextmenu',Doc_OnContextMenu);if (FCKConfig.TabSpaces>0){window.FCKTabHTML='';for (i=0;i<FCKConfig.TabSpaces;i++) window.FCKTabHTML+="&nbsp;";};this.EditorDocument.attachEvent("onkeydown",Doc_OnKeyDown);this.EditorDocument.attachEvent("ondblclick",Doc_OnDblClick);this.EditorDocument.attachEvent("onselectionchange",Doc_OnSelectionChange);};FCK.Focus=function(){try{if (FCK.EditMode==FCK_EDITMODE_WYSIWYG) FCK.EditorDocument.body.focus();else document.getElementById('eSourceField').focus();}catch(e) {};};FCK.SetHTML=function(A,B){if (B||FCK.EditMode==FCK_EDITMODE_WYSIWYG){A=FCKConfig.ProtectedSource.Protect(A);var C;if (FCKConfig.FullPage){var C=FCK._BehaviorsStyle+'<link href="'+FCKConfig.FullBasePath+'css/fck_internal.css'+'" rel="stylesheet" type="text/css" _fcktemp="true" />';if (FCK.TempBaseTag.length>0&&!FCKRegexLib.HasBaseTag.test(A)) C+=FCK.TempBaseTag;C=A.replace(FCKRegexLib.HeadOpener,'$&'+C);}else{C=FCKConfig.DocType+'<html dir="'+FCKConfig.ContentLangDirection+'"';if (FCKConfig.IEForceVScroll) C+=' style="overflow-y: scroll"';C+='><head><title></title>'+'<link href="'+FCKConfig.EditorAreaCSS+'" rel="stylesheet" type="text/css" />'+'<link href="'+FCKConfig.FullBasePath+'css/fck_internal.css'+'" rel="stylesheet" type="text/css" _fcktemp="true" />';C+=FCK._BehaviorsStyle;C+=FCK.TempBaseTag;C+='</head><body>'+A+'</body></html>';};this.EditorDocument.open('','_self','',true);this.EditorDocument.write(C);this.EditorDocument.close();this.InitializeBehaviors();this.EditorDocument.body.contentEditable=true;FCK.OnAfterSetHTML();}else document.getElementById('eSourceField').value=A;};FCK.InsertHtml=function(A){FCK.Focus();FCKUndo.SaveUndoStep();var B=FCK.EditorDocument.selection;if (B.type.toLowerCase()!="none") B.clear();B.createRange().pasteHTML(A);}
--- a/wiki/htdocs/applets/FCKeditor/editor/js/fckeditorcode_ie_2.js	Sun Oct 16 16:01:50 2005 +0000
+++ b/wiki/htdocs/applets/FCKeditor/editor/js/fckeditorcode_ie_2.js	Mon Oct 17 20:45:54 2005 +0000
@@ -12,45 +12,45 @@
  * 
  * This file has been compacted for best loading performance.
  */
-FCK.RedirectNamedCommands=new Object();FCK.ExecuteNamedCommand=function(commandName,commandParameter){FCKUndo.SaveUndoStep();if (FCK.RedirectNamedCommands[commandName]!=null) FCK.ExecuteRedirectedNamedCommand(commandName,commandParameter);else{FCK.Focus();FCK.EditorDocument.execCommand(commandName,false,commandParameter);FCK.Events.FireEvent('OnSelectionChange');};};FCK.GetNamedCommandState=function(commandName){try{if (!FCK.EditorDocument.queryCommandEnabled(commandName)) return FCK_TRISTATE_DISABLED;else return FCK.EditorDocument.queryCommandState(commandName)?FCK_TRISTATE_ON:FCK_TRISTATE_OFF;}catch (e){return FCK_TRISTATE_OFF;};};FCK.GetNamedCommandValue=function(commandName){var sValue='';var eState=FCK.GetNamedCommandState(commandName);if (eState==FCK_TRISTATE_DISABLED) return null;try{sValue=this.EditorDocument.queryCommandValue(commandName);}catch(e) {};return sValue?sValue:'';};FCK.PasteFromWord=function(){FCKDialog.OpenDialog('FCKDialog_Paste',FCKLang.PasteFromWord,'dialog/fck_paste.html',400,330,'Word');};FCK.Preview=function(){var iWidth=FCKConfig.ScreenWidth*0.8;var iHeight=FCKConfig.ScreenHeight*0.7;var iLeft=(FCKConfig.ScreenWidth-iWidth) / 2;var oWindow=window.open('', null, 'toolbar=yes,location=no,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width=' + iWidth + ',height=' + iHeight + ',left=' + iLeft);var sHTML;if (FCKConfig.FullPage){if (FCK.TempBaseTag.length > 0) sHTML=FCK.GetXHTML().replace( FCKRegexLib.HeadCloser, FCK.TempBaseTag + '</head>');else sHTML=FCK.GetXHTML();}else{sHTML=FCKConfig.DocType + '<html dir="' + FCKConfig.ContentLangDirection + '">' + '<head><title>' + FCKLang.Preview + '</title>' + '<link href="' + FCKConfig.EditorAreaCSS + '" rel="stylesheet" type="text/css" />' + FCK.TempBaseTag + '</head><body>' + FCK.GetXHTML() + '</body></html>';};oWindow.document.write(sHTML);oWindow.document.close();};FCK.SwitchEditMode=function(){var bWYSIWYG=(FCK.EditMode==FCK_EDITMODE_WYSIWYG);document.getElementById('eWysiwyg').style.display	= bWYSIWYG ? 'none' : '';document.getElementById('eSource').style.display	= bWYSIWYG ? '' : 'none';if (bWYSIWYG){if (FCKBrowserInfo.IsIE) FCKUndo.SaveUndoStep();document.getElementById('eSourceField').value = ( FCKConfig.EnableXHTML && FCKConfig.EnableSourceXHTML ? FCK.GetXHTML( FCKConfig.FormatSource ) : FCK.GetHTML( FCKConfig.FormatSource ));}else FCK.SetHTML(FCK.GetHTML(), true);FCK.EditMode=bWYSIWYG ? FCK_EDITMODE_SOURCE : FCK_ED