changeset 5617:9c27b8589342

updated FCKeditor from 2.6.4.1 to 2.6.6
author Thomas Waldmann <tw AT waldmann-edv DOT de>
date Sun, 07 Mar 2010 22:18:01 +0100
parents ae929978d755
children 92e6d4ce7049
files MoinMoin/web/static/htdocs/applets/FCKeditor/_documentation.html MoinMoin/web/static/htdocs/applets/FCKeditor/_upgrade.html MoinMoin/web/static/htdocs/applets/FCKeditor/_whatsnew.html MoinMoin/web/static/htdocs/applets/FCKeditor/_whatsnew_history.html MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckcontextmenu.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckdataprocessor.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckdocumentfragment_gecko.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckdocumentfragment_ie.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckdomrange.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckdomrange_gecko.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckdomrange_ie.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckdomrangeiterator.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckeditingarea.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckelementpath.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckenterkey.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckevents.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckhtmliterator.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckicon.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckiecleanup.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckimagepreloader.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckkeystrokehandler.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckmenublock.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckmenublockpanel.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckmenuitem.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckpanel.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckplugin.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckspecialcombo.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckstyle.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fcktoolbar.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fcktoolbarbreak_gecko.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fcktoolbarbreak_ie.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fcktoolbarbutton.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fcktoolbarbuttonui.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fcktoolbarfontformatcombo.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fcktoolbarfontscombo.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fcktoolbarfontsizecombo.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fcktoolbarpanelbutton.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fcktoolbarspecialcombo.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fcktoolbarstylecombo.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckw3crange.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckxml.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckxml_gecko.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckxml_ie.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fck_othercommands.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fckblockquotecommand.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fckcorestylecommand.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fckfitwindow.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fckindentcommands.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fckjustifycommands.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fcklistcommands.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fcknamedcommand.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fckpasteplaintextcommand.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fckpastewordcommand.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fckremoveformatcommand.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fckshowblocks.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fckspellcheckcommand_gecko.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fckspellcheckcommand_ie.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fckstylecommand.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fcktablecommand.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fcktextcolorcommand.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/fckconstants.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/fckeditorapi.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/fckjscoreextensions.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/fckscriptloader.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fck.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fck_contextmenu.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fck_gecko.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fck_ie.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckbrowserinfo.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckcodeformatter.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckcommands.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckconfig.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckdebug.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckdebug_empty.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckdialog.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckdocumentprocessor.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckdomtools.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fcklanguagemanager.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fcklisthandler.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fcklistslib.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckplugins.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckregexlib.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckscayt.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckselection.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckselection_gecko.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckselection_ie.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckstyles.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fcktablehandler.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fcktablehandler_gecko.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fcktablehandler_ie.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fcktoolbaritems.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fcktoolbarset.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fcktools.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fcktools_gecko.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fcktools_ie.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckundo.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckurlparams.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckxhtml.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckxhtml_gecko.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckxhtml_ie.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckxhtmlentities.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/css/fck_editorarea.css MoinMoin/web/static/htdocs/applets/FCKeditor/editor/css/fck_internal.css MoinMoin/web/static/htdocs/applets/FCKeditor/editor/css/fck_showtableborders_gecko.css MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/common/fck_dialog_common.css MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/common/fck_dialog_common.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_about.html MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_anchor.html MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_button.html MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_checkbox.html MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_colorselector.html MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_div.html MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_docprops.html MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_docprops/fck_document_preview.html MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_flash.html MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_flash/fck_flash.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_flash/fck_flash_preview.html MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_form.html MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_hiddenfield.html MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_image.html MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_image/fck_image.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_image/fck_image_preview.html MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_link.html MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_link/fck_link.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_listprop.html MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_paste.html MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_radiobutton.html MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_replace.html MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_scayt.html MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_scayt/scayt_dialog.css MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_select.html MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_select/fck_select.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_smiley.html MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_source.html MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_specialchar.html MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_spellerpages.html MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.pl MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_table.html MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_tablecell.html MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_template.html MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_textarea.html MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_textfield.html MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dtd/fck_xhtml10strict.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dtd/fck_xhtml10transitional.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/fckdebug.html MoinMoin/web/static/htdocs/applets/FCKeditor/editor/fckdialog.html MoinMoin/web/static/htdocs/applets/FCKeditor/editor/fckeditor.html MoinMoin/web/static/htdocs/applets/FCKeditor/editor/fckeditor.original.html MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/browser.css MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/browser.html MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/frmactualfolder.html MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/frmcreatefolder.html MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/frmfolders.html MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/frmresourceslist.html MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/frmresourcetype.html MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/frmupload.html MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/js/common.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/js/fckxml.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/asp/basexml.asp MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/asp/class_upload.asp MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/asp/commands.asp MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/asp/config.asp MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/asp/connector.asp MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/asp/io.asp MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/asp/upload.asp MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/asp/util.asp MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/aspx/config.ascx MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/aspx/connector.aspx MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/aspx/upload.aspx MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/cfm/cf5_connector.cfm MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/cfm/cf5_upload.cfm MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/cfm/cf_basexml.cfm MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/cfm/cf_commands.cfm MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/cfm/cf_connector.cfm MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/cfm/cf_io.cfm MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/cfm/cf_upload.cfm MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/cfm/cf_util.cfm MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/cfm/config.cfm MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/cfm/connector.cfm MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/cfm/upload.cfm MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/lasso/config.lasso MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/lasso/connector.lasso MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/lasso/upload.lasso MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/perl/basexml.pl MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/perl/commands.pl MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/perl/config.pl MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/perl/connector.cgi MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/perl/io.pl MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/perl/upload.cgi MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/perl/upload_fck.pl MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/perl/util.pl MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/php/basexml.php MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/php/commands.php MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/php/config.php MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/php/connector.php MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/php/io.php MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/php/upload.php MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/php/util.php MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/config.py MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/connector.py MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/fckcommands.py MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/fckconnector.py MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/fckoutput.py MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/fckutil.py MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/upload.py MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/wsgi.py MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/zope.py MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/test.html MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/uploadtest.html MoinMoin/web/static/htdocs/applets/FCKeditor/editor/js/fckadobeair.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/js/fckeditorcode_gecko.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/js/fckeditorcode_ie.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/_translationstatus.txt MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/af.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/ar.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/bg.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/bn.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/bs.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/ca.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/cs.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/da.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/de.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/el.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/en-au.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/en-ca.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/en-uk.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/en.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/eo.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/es.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/et.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/eu.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/fa.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/fi.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/fo.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/fr-ca.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/fr.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/gl.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/gu.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/he.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/hi.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/hr.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/hu.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/is.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/it.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/ja.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/km.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/ko.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/lt.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/lv.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/mn.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/ms.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/nb.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/nl.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/no.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/pl.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/pt-br.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/pt.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/ro.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/ru.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/sk.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/sl.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/sr-latn.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/sr.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/sv.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/th.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/tr.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/uk.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/vi.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/zh-cn.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/zh.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/plugins/autogrow/fckplugin.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/plugins/bbcode/_sample/sample.config.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/plugins/bbcode/_sample/sample.html MoinMoin/web/static/htdocs/applets/FCKeditor/editor/plugins/bbcode/fckplugin.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/plugins/placeholder/fck_placeholder.html MoinMoin/web/static/htdocs/applets/FCKeditor/editor/plugins/placeholder/fckplugin.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/plugins/placeholder/lang/de.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/plugins/placeholder/lang/en.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/plugins/placeholder/lang/es.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/plugins/placeholder/lang/fr.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/plugins/placeholder/lang/it.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/plugins/placeholder/lang/pl.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/plugins/simplecommands/fckplugin.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/plugins/tablecommands/fckplugin.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/_fckviewstrips.html MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/default/fck_dialog.css MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/default/fck_dialog_ie6.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/default/fck_editor.css MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/office2003/fck_dialog.css MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/office2003/fck_dialog_ie6.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/office2003/fck_editor.css MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/silver/fck_dialog.css MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/silver/fck_dialog_ie6.js MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/silver/fck_editor.css MoinMoin/web/static/htdocs/applets/FCKeditor/editor/wsc/ciframe.html MoinMoin/web/static/htdocs/applets/FCKeditor/editor/wsc/tmpFrameset.html MoinMoin/web/static/htdocs/applets/FCKeditor/editor/wsc/w.html MoinMoin/web/static/htdocs/applets/FCKeditor/fckconfig.js MoinMoin/web/static/htdocs/applets/FCKeditor/fckeditor.afp MoinMoin/web/static/htdocs/applets/FCKeditor/fckeditor.asp MoinMoin/web/static/htdocs/applets/FCKeditor/fckeditor.cfc MoinMoin/web/static/htdocs/applets/FCKeditor/fckeditor.cfm MoinMoin/web/static/htdocs/applets/FCKeditor/fckeditor.js MoinMoin/web/static/htdocs/applets/FCKeditor/fckeditor.lasso MoinMoin/web/static/htdocs/applets/FCKeditor/fckeditor.php MoinMoin/web/static/htdocs/applets/FCKeditor/fckeditor.pl MoinMoin/web/static/htdocs/applets/FCKeditor/fckeditor.py MoinMoin/web/static/htdocs/applets/FCKeditor/fckeditor_php4.php MoinMoin/web/static/htdocs/applets/FCKeditor/fckeditor_php5.php MoinMoin/web/static/htdocs/applets/FCKeditor/fckpackager.xml MoinMoin/web/static/htdocs/applets/FCKeditor/fckstyles.xml MoinMoin/web/static/htdocs/applets/FCKeditor/fcktemplates.xml MoinMoin/web/static/htdocs/applets/FCKeditor/fckutils.cfm MoinMoin/web/static/htdocs/applets/FCKeditor/license.txt docs/REQUIREMENTS
diffstat 315 files changed, 4535 insertions(+), 2625 deletions(-) [+]
line wrap: on
line diff
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/_documentation.html	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/_documentation.html	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <!--
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/_upgrade.html	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/_upgrade.html	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <!--
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/_whatsnew.html	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/_whatsnew.html	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <!--
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
@@ -33,143 +33,28 @@
 	<h1>
 		FCKeditor ChangeLog - What's New?</h1>
 	<h3>
-		Version 2.6.4.1</h3>
-	<p>
-		Fixed Bugs:</p>
-	<ul>
-		<li><strong>Security release, upgrade is highly recommended.</strong></li>
-	</ul>
-	<h3>
-		Version 2.6.4</h3>
-	<p>
-		Fixed Bugs:</p>
-	<ul>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2777">#2777</a>] Merging
-			cells between table header and body is no longer possible.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2815">#2815</a>] Fixed
-			WSC issues at slow connection speed. Added SSL support.</li>
-		<li>Language file updates for the following languages:
-			<ul>
-				<li>Chinese (Traditional)</li>
-				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2846">#2846</a>] French</li>
-				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2801">#2801</a>] Hebrew</li>
-				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2824">#2824</a>] Russian</li>
-				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2811">#2811</a>] Turkish</li>
-			</ul>
-		</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2757">#2757</a>] Fixed
-			a minor bug which causes selection positions to be improperly restored during undos
-			and redos.</li>
-	</ul>
-	<h3>
-		Version 2.6.4 Beta</h3>
+		Version 2.6.6</h3>
 	<p>
 		New Features and Improvements:</p>
 	<ul>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2685">#2685</a>] Integration
-			with "WebSpellChecker", a <strong>zero installation and free spell checker</strong>
-			provided by SpellChecker.net. This is now the default spell checker in the editor
-			(requires internet connection). All previous spell checking solutions are still
-			available.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2430">#2430</a>] In the
-			table dialog it's possible to create header cells in the first row (included in
-			a thead element) or the first column of the table. </li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/822">#822</a>] The table
-			cell dialog allows switching between normal data cells or header cells (TD vs. TH).
-		</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2515">#2515</a>] New language
-			file for Icelandic.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/5104">#5104</a>] Fixed
+			compatibility with Gecko browsers released in 2010 in the ColdFusion server side integration files.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/4765">#4765</a>] Fixed
+			a potential function name clash in the built-in file browser with future versions of ColdFusion.</li>
 	</ul>
 	<p>
 		Fixed Bugs:</p>
 	<ul>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2381">#2381</a>] Protected
-			the editor from duplicate iframes</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1752">#1752</a>] Fixed
-			the issue with tablecommands plugin and undefined tagName.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2333">#2333</a>] The &amp;gt;
-			character inside text wasn't encoded in Opera and Safari.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2467">#2467</a>] Fixed
-			JavaScript error with the fit window command in source mode.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2472">#2472</a>] Splitting
-			a TH will create a two TH, not a TH and a TD.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1891">#1891</a>] Removed
-			unnecessary name attributes in dialogs. </li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/798">#798</a>, <a target="_blank"
-			href="http://dev.fckeditor.net/ticket/2495">#2495</a>] If an image was placed inside
-			a container with dimensions or floating it wasn't possible to edit its properties
-			from the toolbar or context menu.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1982">#1982</a>] Submenus
-			in IE7 now are shown properly.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2496">#2496</a>] Using
-			the Paste dialogs in IE might insert the content at the start of the editor.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2349">#2496</a>] Fixed
-			RTL dialog layout in Internet Explorer.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2488">#2488</a>] Fixed
-			the issue where email links in IE would take the browser to a new page in addition
-			to calling up the email client.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2519">#2519</a>] Fixed
-			race condition at registering the FCKeditorAPI object in multiple editor scenarios.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2525">#2525</a>] Fixed
-			JavaScript error in Google Chrome when StartupShowBlocks is set to true.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/4642">#4642</a>] Avoided infinite 
+			loop in IE with invalid HTML.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/4487">#4487</a>] The editor was not loading properly in Safari 3.</li>
 		<li>Language file updates for the following languages:
 			<ul>
-				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2440">#2440</a>] Dutch</li>
-				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2451">#2451</a>] Basque</li>
-				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2451">#2650</a>] Danish</li>
-				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2208">#2535</a>] German
-				</li>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/4465">#4465</a>] Czech </li>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/4759">#4759</a>] Swedish </li>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2939">#2939</a>] Finnish </li>
 			</ul>
 		</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2531">#2531</a>] The ENTER
-			key will properly scroll to the cursor position when breaking long paragraphs.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2573">#2573</a>] The type
-			name in configurations for the ASP connector are now case sensitive.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2503">#2503</a>] DL, DT
-			and DD where missing the formatting in the generated HTML.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2516">#2516</a>] Replaced
-			the extension AddItem of Array with the standard "push" method.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2486">#2486</a>] Vertically
-			splitting cell with colspan &gt; 1 breaks table layout.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2597">#2597</a>] Fixed
-			the issue where dropping contents from outside of the editor doesn't work in Safari.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2412">#2412</a>] Fixed
-			the issue where FCK.InsertHtml() is no longer removing selected contents after content
-			insertion in Firefox.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2407">#2407</a>] Fixed
-			the issue where the Div container command and the blockquote command would break
-			lists.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2469">#2469</a>] Fixed
-			a minor issue where FCK.SetData() may cause the editor to become unresponsive to
-			the first click after being defocused.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2611">#2611</a>] Fixed
-			an extra slash on quickupload of the asp connector.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2616">#2616</a>] Fixed
-			another situation where new elements were inserted at the beginning of the content
-			in IE.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2634">#2634</a>] Fixed
-			two obsolete references to Array::AddItem() instances still in the code.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2679">#2679</a>] Fixed
-			infinite loop problems with FCKDomRangeIterator class which causes some commands
-			to hang when applied to certain document structures.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2649">#2649</a>] Fixed
-			a JavaScript error in IE when user tries to search with the "Match whole word" option
-			enabled and the matched word is at exactly the end of document.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2603">#2603</a>] Changed
-			the <a href="http://docs.fckeditor.net/EMailProtection">EMailProtection</a> to "none"
-			for better compatibility.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2612">#2612</a>] The 'ForcePasteAsPlainText'
-			configuration option didn't work correctly in Safari and Chrome.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2696">#2696</a>] Fixed
-			non-working autogrow plugin.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2753">#2753</a>] Fixed
-			occasional exceptions in the dragersizetable plugin with IE.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2653">#2653</a>] and [<a
-			target="_blank" href="http://dev.fckeditor.net/ticket/2733">#2733</a>] Enable undo
-			of changes to tables and table cells.</li>
-		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1865">#1865</a>] The context
-			menu is now working properly over the last row in a table with thead. Thanks to
-			Koen Willems.</li>
 	</ul>
 	<p>
 		<a href="_whatsnew_history.html">See previous versions history</a></p>
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/_whatsnew_history.html	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/_whatsnew_history.html	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <!--
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
@@ -33,6 +33,214 @@
 	<h1>
 		FCKeditor ChangeLog - What's New?</h1>
 	<h3>
+		Version 2.6.5</h3>
+	<p>
+		New Features and Improvements:</p>
+	<ul>
+		<li>Introduced the Spell Check As You Type (SCAYT) spell checking option.</li>
+	</ul>
+	<p>
+		Fixed Bugs:</p>
+	<ul>
+		<li><strong>Security release, upgrade is highly recommended</strong> (fixed security issues in ASP and ColdFusion scripts).
+			</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2856">#2856</a>] Fixed
+			problem with inches in paste dialog.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/3120">#3120</a>]
+			# (pound sign) is not correctly escaped in file urls.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2915">#2915</a>]
+			About plugin shows misleading user language.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2821">#2821</a>] Configuration
+			items that used floating point numbers were parsed as integers.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2604">#2064</a>] The asp
+			connector didn't work correctly in windows 2000 servers.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/3429">#3429</a>] Fixed
+			problem in IE8 with XHTML doctype. Thanks to duncansimey.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/3446">#3446</a>] Fixed self-closed
+ 			&lt;option&gt; in the table cell dialog.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/3181">#3181</a>] Node selection
+			could raise an error in IE8.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2156">#2156</a>]
+			After calling GetData() the style removal operations didn't work in IE. Thanks to
+			Compendium Blogware.</li>
+	  <li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/3427">#3427</a>] Improved
+ 			compatibility of Document properties dialog with Eclipse.</li>
+		<li>Language file updates for the following languages:
+			<ul>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2908">#2908</a>] Czech </li>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2849">#2849</a>] Lithuanian</li>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/3636">#3636</a>] Polish</li>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/3741">#3741</a>] Korean</li>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2861">#2861</a>] Slovenian</li>
+			</ul>
+		</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/3439">#3439</a>] IgnoreEmptyParagraphValue
+			had no effect if ProcessHTMLEntities is false.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/3880">#3880</a>] Fixed some minor
+			logical and typing mistakes in fckdomrange_ie.js.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2689">#2689</a>] If a
+			custom connector tried to use the "url" attribute for files it was always reencoded.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1537">#1537</a>] Fixed extra
+			&lt;p&gt; tag added before pasted contents from Paste From Word dialog.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2874">#2874</a>] Fixed wrong position
+			of caption tag in tables with table headers.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/3818">#3818</a>] Fixed layout error
+			in text and background color popups when more colors button is disabled.</li>
+ 		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/3481">#3481</a>] Fixed an issue in
+ 			WebKit where paste actions inside table cells may leak outside of the table cell.</li>
+ 		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/3677">#3677</a>] Fixed JavaScript
+ 			error when trying to create link for images inside floating div containers.</li>
+ 		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/3925">#3925</a>] Removed obsolete
+ 			parentWindow reference from FCKDialog.OpenDialog().</li>
+ 		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2936">#2936</a>] Added protection
+			in the PHP upload if the destination folder is placed at the root and doesn't exit.</li>
+ 		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/4357">#4357</a>] Avoid problem in
+			the paste dialog if IIS is set to process HTML files as Asp.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2201">#2201</a>] Fixed a crash in IE
+ 			in an object is selected (with handles) on unload of the editor.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/3053">#3053</a>] Fixed problems with
+			the height of the content area in Safari and Chrome.</li>
+	</ul>
+	<h3>
+		Version 2.6.4.1</h3>
+	<p>
+		Fixed Bugs:</p>
+	<ul>
+		<li><strong>Security release, upgrade is highly recommended.</strong></li>
+	</ul>
+	<h3>
+		Version 2.6.4</h3>
+	<p>
+		Fixed Bugs:</p>
+	<ul>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2777">#2777</a>] Merging
+			cells between table header and body is no longer possible.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2815">#2815</a>] Fixed
+			WSC issues at slow connection speed. Added SSL support.</li>
+		<li>Language file updates for the following languages:
+			<ul>
+				<li>Chinese (Traditional)</li>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2846">#2846</a>] French</li>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2801">#2801</a>] Hebrew</li>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2824">#2824</a>] Russian</li>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2811">#2811</a>] Turkish</li>
+			</ul>
+		</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2757">#2757</a>] Fixed
+			a minor bug which causes selection positions to be improperly restored during undos
+			and redos.</li>
+	</ul>
+	<h3>
+		Version 2.6.4 Beta</h3>
+	<p>
+		New Features and Improvements:</p>
+	<ul>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2685">#2685</a>] Integration
+			with "WebSpellChecker", a <strong>zero installation and free spell checker</strong>
+			provided by SpellChecker.net. This is now the default spell checker in the editor
+			(requires internet connection). All previous spell checking solutions are still
+			available.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2430">#2430</a>] In the
+			table dialog it's possible to create header cells in the first row (included in
+			a thead element) or the first column of the table. </li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/822">#822</a>] The table
+			cell dialog allows switching between normal data cells or header cells (TD vs. TH).
+		</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2515">#2515</a>] New language
+			file for Icelandic.</li>
+	</ul>
+	<p>
+		Fixed Bugs:</p>
+	<ul>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2381">#2381</a>] Protected
+			the editor from duplicate iframes</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1752">#1752</a>] Fixed
+			the issue with tablecommands plugin and undefined tagName.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2333">#2333</a>] The &amp;gt;
+			character inside text wasn't encoded in Opera and Safari.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2467">#2467</a>] Fixed
+			JavaScript error with the fit window command in source mode.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2472">#2472</a>] Splitting
+			a TH will create a two TH, not a TH and a TD.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1891">#1891</a>] Removed
+			unnecessary name attributes in dialogs. </li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/798">#798</a>, <a target="_blank"
+			href="http://dev.fckeditor.net/ticket/2495">#2495</a>] If an image was placed inside
+			a container with dimensions or floating it wasn't possible to edit its properties
+			from the toolbar or context menu.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1982">#1982</a>] Submenus
+			in IE7 now are shown properly.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2496">#2496</a>] Using
+			the Paste dialogs in IE might insert the content at the start of the editor.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2349">#2496</a>] Fixed
+			RTL dialog layout in Internet Explorer.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2488">#2488</a>] Fixed
+			the issue where email links in IE would take the browser to a new page in addition
+			to calling up the email client.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2519">#2519</a>] Fixed
+			race condition at registering the FCKeditorAPI object in multiple editor scenarios.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2525">#2525</a>] Fixed
+			JavaScript error in Google Chrome when StartupShowBlocks is set to true.</li>
+		<li>Language file updates for the following languages:
+			<ul>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2440">#2440</a>] Dutch</li>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2451">#2451</a>] Basque</li>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2451">#2650</a>] Danish</li>
+				<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2208">#2535</a>] German
+				</li>
+			</ul>
+		</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2531">#2531</a>] The ENTER
+			key will properly scroll to the cursor position when breaking long paragraphs.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2573">#2573</a>] The type
+			name in configurations for the ASP connector are now case sensitive.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2503">#2503</a>] DL, DT
+			and DD where missing the formatting in the generated HTML.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2516">#2516</a>] Replaced
+			the extension AddItem of Array with the standard "push" method.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2486">#2486</a>] Vertically
+			splitting cell with colspan &gt; 1 breaks table layout.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2597">#2597</a>] Fixed
+			the issue where dropping contents from outside of the editor doesn't work in Safari.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2412">#2412</a>] Fixed
+			the issue where FCK.InsertHtml() is no longer removing selected contents after content
+			insertion in Firefox.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2407">#2407</a>] Fixed
+			the issue where the Div container command and the blockquote command would break
+			lists.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2469">#2469</a>] Fixed
+			a minor issue where FCK.SetData() may cause the editor to become unresponsive to
+			the first click after being defocused.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2611">#2611</a>] Fixed
+			an extra slash on quickupload of the asp connector.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2616">#2616</a>] Fixed
+			another situation where new elements were inserted at the beginning of the content
+			in IE.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2634">#2634</a>] Fixed
+			two obsolete references to Array::AddItem() instances still in the code.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2679">#2679</a>] Fixed
+			infinite loop problems with FCKDomRangeIterator class which causes some commands
+			to hang when applied to certain document structures.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2649">#2649</a>] Fixed
+			a JavaScript error in IE when user tries to search with the "Match whole word" option
+			enabled and the matched word is at exactly the end of document.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2603">#2603</a>] Changed
+			the <a href="http://docs.fckeditor.net/EMailProtection">EMailProtection</a> to "none"
+			for better compatibility.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2612">#2612</a>] The 'ForcePasteAsPlainText'
+			configuration option didn't work correctly in Safari and Chrome.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2696">#2696</a>] Fixed
+			non-working autogrow plugin.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2753">#2753</a>] Fixed
+			occasional exceptions in the dragersizetable plugin with IE.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2653">#2653</a>] and [<a
+			target="_blank" href="http://dev.fckeditor.net/ticket/2733">#2733</a>] Enable undo
+			of changes to tables and table cells.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/1865">#1865</a>] The context
+			menu is now working properly over the last row in a table with thead. Thanks to
+			Koen Willems.</li>
+	</ul>
+	<h3>
 		Version 2.6.3</h3>
 	<p>
 		Fixed Bugs:</p>
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckcontextmenu.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckcontextmenu.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckdataprocessor.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckdataprocessor.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckdocumentfragment_gecko.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckdocumentfragment_gecko.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckdocumentfragment_ie.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckdocumentfragment_ie.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckdomrange.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckdomrange.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckdomrange_gecko.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckdomrange_gecko.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckdomrange_ie.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckdomrange_ie.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
@@ -77,7 +77,7 @@
 FCKDomRange.prototype.SelectBookmark = function( bookmark, forceExpand )
 {
 	var bIsCollapsed = this.CheckIsCollapsed() ;
-	var bIsStartMakerAlone ;
+	var bIsStartMarkerAlone ;
 	var dummySpan ;
 
 	// Create marker tags for the start and end boundaries.
@@ -111,7 +111,7 @@
 	}
 	else
 	{
-		bIsStartMakerAlone = ( forceExpand || !eStartMarker.previousSibling || eStartMarker.previousSibling.nodeName.toLowerCase() == 'br' ) && !eStartMarker.nextSibing ;
+		bIsStartMarkerAlone = forceExpand || !eStartMarker.previousSibling || eStartMarker.previousSibling.nodeName.toLowerCase() == 'br';
 
 		// Append a temporary <span>&#65279;</span> before the selection.
 		// This is needed to avoid IE destroying selections inside empty
@@ -122,7 +122,7 @@
 		dummySpan.innerHTML = '&#65279;' ;	// Zero Width No-Break Space (U+FEFF). See #1359.
 		eStartMarker.parentNode.insertBefore( dummySpan, eStartMarker ) ;
 
-		if ( bIsStartMakerAlone )
+		if ( bIsStartMarkerAlone )
 		{
 			// To expand empty blocks or line spaces after <br>, we need
 			// instead to have any char, which will be later deleted using the
@@ -141,7 +141,7 @@
 
 	if ( bIsCollapsed )
 	{
-		if ( bIsStartMakerAlone )
+		if ( bIsStartMarkerAlone )
 		{
 			// Move the selection start to include the temporary &#65279;.
 			oIERange.moveStart( 'character', -1 ) ;
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckdomrangeiterator.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckdomrangeiterator.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckeditingarea.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckeditingarea.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
@@ -354,7 +354,11 @@
 function FCKEditingArea_Cleanup()
 {
 	if ( this.Document )
+	{
+		// Avoid IE crash if an object is selected on unload #2201
+		this.Document.selection.empty() ;
 		this.Document.body.innerHTML = "" ;
+	}
 	this.TargetElement = null ;
 	this.IFrame = null ;
 	this.Document = null ;
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckelementpath.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckelementpath.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckenterkey.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckenterkey.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckevents.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckevents.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckhtmliterator.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckhtmliterator.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
@@ -71,7 +71,7 @@
 } ;
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckicon.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckicon.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckiecleanup.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckiecleanup.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckimagepreloader.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckimagepreloader.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckkeystrokehandler.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckkeystrokehandler.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckmenublock.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckmenublock.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckmenublockpanel.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckmenublockpanel.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckmenuitem.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckmenuitem.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckpanel.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckpanel.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
@@ -231,6 +231,9 @@
 			this.RelativeElement = relElement ;
 		}
 
+		// Save the popup related arguments so they can be used by others (e.g. SCAYT).
+		this._PopupArgs = [x, y, iMainWidth, eMainNode.offsetHeight, relElement];
+
 		// Second call: Show the Popup at the specified location, with the correct size.
 		this._Popup.show( x, y, iMainWidth, eMainNode.offsetHeight, relElement ) ;
 
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckplugin.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckplugin.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckspecialcombo.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckspecialcombo.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckstyle.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckstyle.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fcktoolbar.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fcktoolbar.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fcktoolbarbreak_gecko.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fcktoolbarbreak_gecko.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fcktoolbarbreak_ie.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fcktoolbarbreak_ie.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fcktoolbarbutton.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fcktoolbarbutton.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fcktoolbarbuttonui.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fcktoolbarbuttonui.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fcktoolbarfontformatcombo.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fcktoolbarfontformatcombo.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fcktoolbarfontscombo.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fcktoolbarfontscombo.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fcktoolbarfontsizecombo.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fcktoolbarfontsizecombo.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fcktoolbarpanelbutton.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fcktoolbarpanelbutton.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fcktoolbarspecialcombo.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fcktoolbarspecialcombo.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fcktoolbarstylecombo.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fcktoolbarstylecombo.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckw3crange.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckw3crange.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckxml.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckxml.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckxml_gecko.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckxml_gecko.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckxml_ie.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckxml_ie.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fck_othercommands.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fck_othercommands.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
@@ -40,7 +40,7 @@
 
 FCKDialogCommand.prototype.Execute = function()
 {
-	FCKDialog.OpenDialog( 'FCKDialog_' + this.Name , this.Title, this.Url, this.Width, this.Height, this.CustomValue, null, this.Resizable ) ;
+	FCKDialog.OpenDialog( 'FCKDialog_' + this.Name , this.Title, this.Url, this.Width, this.Height, this.CustomValue, this.Resizable ) ;
 }
 
 FCKDialogCommand.prototype.GetState = function()
@@ -186,7 +186,7 @@
 	{
 		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 ) ;
+		FCKDialog.OpenDialog( 'FCKDialog_Source', FCKLang.Source, 'dialog/fck_source.html', iWidth, iHeight, null, true ) ;
 	}
 	else
 	    FCK.SwitchEditMode() ;
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fckblockquotecommand.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fckblockquotecommand.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fckcorestylecommand.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fckcorestylecommand.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fckfitwindow.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fckfitwindow.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fckindentcommands.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fckindentcommands.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fckjustifycommands.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fckjustifycommands.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fcklistcommands.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fcklistcommands.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fcknamedcommand.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fcknamedcommand.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fckpasteplaintextcommand.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fckpasteplaintextcommand.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fckpastewordcommand.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fckpastewordcommand.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fckremoveformatcommand.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fckremoveformatcommand.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fckshowblocks.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fckshowblocks.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fckspellcheckcommand_gecko.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fckspellcheckcommand_gecko.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fckspellcheckcommand_ie.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fckspellcheckcommand_ie.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fckstylecommand.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fckstylecommand.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fcktablecommand.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fcktablecommand.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fcktextcolorcommand.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fcktextcolorcommand.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
@@ -193,9 +193,9 @@
 		oDiv.innerHTML = '<table width="100%" cellpadding="0" cellspacing="0" border="0"><tr><td nowrap align="center">' + FCKLang.ColorMoreColors + '</td></tr></table>' ;
 
 		FCKTools.AddEventListenerEx( oDiv, 'click', FCKTextColorCommand_MoreOnClick, this ) ;
-	}
 
-	// Dirty hack for Opera, Safari and Firefox 3.
-	if ( !FCKBrowserInfo.IsIE )
-		oDiv.style.width = '96%' ;
+		// Dirty hack for Opera, Safari and Firefox 3.
+		if ( !FCKBrowserInfo.IsIE )
+			oDiv.style.width = '96%' ;
+	}
 }
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/fckconstants.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/fckconstants.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/fckeditorapi.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/fckeditorapi.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
@@ -40,8 +40,8 @@
 		// objects that aren't really FCKeditor instances.
 		var sScript =
 			'window.FCKeditorAPI = {' +
-				'Version : "2.6.4.1",' +
-				'VersionBuild : "23187",' +
+				'Version : "2.6.6",' +
+				'VersionBuild : "25427",' +
 				'Instances : window.FCKeditorAPI && window.FCKeditorAPI.Instances || {},' +
 
 				'GetInstance : function( name )' +
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/fckjscoreextensions.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/fckjscoreextensions.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/fckscriptloader.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/fckscriptloader.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fck.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fck.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
@@ -235,6 +235,8 @@
 
 	GetData : function( format )
 	{
+		FCK.Events.FireEvent("OnBeforeGetData") ;
+
 		// We assume that if the user is in source editing, the editor value must
 		// represent the exact contents of the source, as the user wanted it to be.
 		if ( FCK.EditMode == FCK_EDITMODE_SOURCE )
@@ -270,7 +272,11 @@
 				data = FCK.XmlDeclaration + '\n' + data ;
 		}
 
-		return FCKConfig.ProtectedSource.Revert( data ) ;
+		data = FCKConfig.ProtectedSource.Revert( data ) ;
+
+		setTimeout( function() { FCK.Events.FireEvent("OnAfterGetData") ; }, 0 ) ;
+
+		return data ;
 	},
 
 	UpdateLinkedField : function()
@@ -494,7 +500,7 @@
 			FCK.Events.FireEvent( 'OnAfterSetHTML' ) ;
 		}
 
-		if ( FCKBrowserInfo.IsGecko )
+		if ( window.onresize )
 			window.onresize() ;
 	},
 
@@ -955,6 +961,38 @@
 	FCKTools.AddEventListener( FCK.EditorDocument, 'mousemove', _FCK_MouseEventsListener ) ;
 	FCKTools.AddEventListener( FCK.EditorDocument, 'mousedown', _FCK_MouseEventsListener ) ;
 	FCKTools.AddEventListener( FCK.EditorDocument, 'mouseup', _FCK_MouseEventsListener ) ;
+	if ( FCKBrowserInfo.IsSafari )
+	{
+		// #3481: WebKit has a bug with paste where the paste contents may leak
+		// outside table cells. So add padding nodes before and after the paste.
+		FCKTools.AddEventListener( FCK.EditorDocument, 'paste', function( evt )
+		{
+			var range = new FCKDomRange( FCK.EditorWindow );
+			var nodeBefore = FCK.EditorDocument.createTextNode( '\ufeff' );
+			var nodeAfter = FCK.EditorDocument.createElement( 'a' );
+			nodeAfter.id = 'fck_paste_padding';
+			nodeAfter.innerHTML = '&#65279;';
+			range.MoveToSelection();
+			range.DeleteContents();
+
+			// Insert padding nodes.
+			range.InsertNode( nodeBefore );
+			range.Collapse();
+			range.InsertNode( nodeAfter );
+
+			// Move the selection to between the padding nodes.
+			range.MoveToPosition( nodeAfter, 3 );
+			range.Select();
+
+			// Remove the padding nodes after the paste is done.
+			setTimeout( function()
+				{
+					nodeBefore.parentNode.removeChild( nodeBefore );
+					nodeAfter = FCK.EditorDocument.getElementById( 'fck_paste_padding' );
+					nodeAfter.parentNode.removeChild( nodeAfter );
+				}, 0 );
+		} );
+	}
 
 	// Most of the CTRL key combos do not work under Safari for onkeydown and onkeypress (See #1119)
 	// But we can use the keyup event to override some of these...
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fck_contextmenu.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fck_contextmenu.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fck_gecko.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fck_gecko.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
@@ -375,6 +375,16 @@
 
 		range = new FCKDomRange( this.EditorWindow ) ;
 		range.MoveToSelection() ;
+
+		// If the first element (if exists) of the document fragment is a block
+		// element, then split the current block. (#1537)
+		var currentNode = docFrag.RootNode.firstChild ;
+		while ( currentNode && currentNode.nodeType != 1 )
+			currentNode = currentNode.nextSibling ;
+
+		if ( currentNode && FCKListsLib.BlockElements[ currentNode.nodeName.toLowerCase() ] )
+			range.SplitBlock() ;
+
 		range.DeleteContents() ;
 		range.InsertNode( docFrag.RootNode ) ;
 
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fck_ie.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fck_ie.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
@@ -172,7 +172,12 @@
 	oSel.createRange().pasteHTML( html ) ;
 
 	// Remove the fake node
-	FCK.EditorDocument.getElementById('__fakeFCKRemove__').removeNode( true ) ;
+	var fake = FCK.EditorDocument.getElementById('__fakeFCKRemove__') ;
+	// If the span is the only child of a node (so the inserted HTML is beyond that),
+	// remove also that parent that isn't needed. #1537
+	if (fake.parentNode.childNodes.length == 1)
+		fake = fake.parentNode ;
+	fake.removeNode( true ) ;
 
 	FCKDocumentProcessor.Process( FCK.EditorDocument ) ;
 
@@ -373,22 +378,27 @@
 {
 	// Creates the array that will be returned. It contains one or more created links (see #220).
 	var aCreatedLinks = new Array() ;
+	var isControl = FCKSelection.GetType() == 'Control' ;
+	var selectedElement = isControl && FCKSelection.GetSelectedElement() ;
 
 	// Remove any existing link in the selection.
-	FCK.ExecuteNamedCommand( 'Unlink', null, false, !!noUndo ) ;
+	// IE BUG: Unlinking a floating control selection that is not inside a link
+	// will collapse the selection. (#3677)
+	if ( !( isControl && !FCKTools.GetElementAscensor( selectedElement, 'a' ) ) )
+		FCK.ExecuteNamedCommand( 'Unlink', null, false, !!noUndo ) ;
 
 	if ( url.length > 0 )
 	{
 		// If there are several images, and you try to link each one, all the images get inside the link:
 		// <img><img> -> <a><img></a><img> -> <a><img><img></a> due to the call to 'CreateLink' (bug in IE)
-		if (FCKSelection.GetType() == 'Control')
+		if ( isControl )
 		{
 			// Create a link
 			var oLink = this.EditorDocument.createElement( 'A' ) ;
 			oLink.href = url ;
 
 			// Get the selected object
-			var oControl = FCKSelection.GetSelectedElement() ;
+			var oControl = selectedElement ;
 			// Put the link just before the object
 			oControl.parentNode.insertBefore(oLink, oControl) ;
 			// Move the object inside the link
@@ -448,7 +458,7 @@
 	// Radio buttons and checkboxes should not be allowed to be triggered in IE
 	// in editable mode. Otherwise the whole browser window may be locked by
 	// the buttons. (#1782)
-	if ( e.nodeName.IEquals( 'input' ) && e.type.IEquals( ['radio', 'checkbox'] ) && !e.disabled )
+	if ( e.nodeName && e.nodeName.IEquals( 'input' ) && e.type.IEquals( ['radio', 'checkbox'] ) && !e.disabled )
 	{
 		e.disabled = true ;
 		FCKTools.SetTimeout( _FCK_RemoveDisabledAtt, 1, e ) ;
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckbrowserinfo.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckbrowserinfo.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
@@ -58,4 +58,8 @@
 			browserInfo.IsGecko19 = ( geckoVersion > 1.8 ) ;
 		}
 	}
+
+	if ( browserInfo.IsSafari )
+		browserInfo.IsSafari3 = ( parseFloat( s.match( / applewebkit\/(\d+)/ )[1] ) < 526 ) ;
+
 })(FCKBrowserInfo) ;
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckcodeformatter.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckcodeformatter.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckcommands.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckcommands.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
@@ -142,6 +142,9 @@
 		// Generic Undefined command (usually used when a command is under development).
 		case 'Undefined'	: oCommand = new FCKUndefinedCommand() ; break ;
 
+		case 'Scayt' : oCommand = FCKScayt.CreateCommand() ; break ;
+		case 'ScaytContext' : oCommand = FCKScayt.CreateContextCommand() ; break ;
+
 		// By default we assume that it is a named command.
 		default:
 			if ( FCKRegexLib.NamedCommands.test( commandName ) )
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckconfig.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckconfig.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
@@ -97,7 +97,7 @@
 			this.PageConfig[ sKey ] = false ;
 
 		else if ( sVal.length > 0 && !isNaN( sVal ) )	// If it is a number.
-			this.PageConfig[ sKey ] = parseInt( sVal, 10 ) ;
+			this.PageConfig[ sKey ] = parseFloat( sVal ) ;
 
 		else										// In any other case it is a string.
 			this.PageConfig[ sKey ] = sVal ;
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckdebug.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckdebug.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckdebug_empty.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckdebug_empty.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckdialog.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckdialog.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
@@ -79,7 +79,7 @@
 		/**
 		 * Opens a dialog window using the standard dialog template.
 		 */
-		OpenDialog : function( dialogName, dialogTitle, dialogPage, width, height, customValue, parentWindow, resizable )
+		OpenDialog : function( dialogName, dialogTitle, dialogPage, width, height, customValue, resizable )
 		{
 			if ( !topDialog )
 				this.DisplayMainCover() ;
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckdocumentprocessor.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckdocumentprocessor.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckdomtools.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckdomtools.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
@@ -488,18 +488,46 @@
 
 		for ( var i = 0 ; i < attributes.length ; i++ )
 		{
-			if ( FCKBrowserInfo.IsIE && attributes[i].nodeName == 'class' )
+			if ( FCKBrowserInfo.IsIE )
 			{
-				// IE has a strange bug. If calling removeAttribute('className'),
-				// the attributes collection will still contain the "class"
-				// attribute, which will be marked as "specified", even if the
-				// outerHTML of the element is not displaying the class attribute.
-				// Note : I was not able to reproduce it outside the editor,
-				// but I've faced it while working on the TC of #1391.
-				if ( element.className.length > 0 )
-					return true ;
+				var attributeNodeName = attributes[i].nodeName ;
+
+				if ( attributeNodeName.StartsWith( '_fck' ) )
+				{
+					/**
+					 * There are places in the FCKeditor code where HTML element objects
+					 * get values stored as properties (e.g. _fckxhtmljob).  In Internet
+					 * Explorer, these are interpreted as attempts to set attributes on
+					 * the element.
+					 *
+					 * http://msdn.microsoft.com/en-us/library/ms533026(VS.85).aspx#Accessing_Element_Pr
+					 *
+					 * Counting these as HTML attributes cripples
+					 * FCK.Style.RemoveFromRange() once FCK.GetData() has been called.
+					 *
+					 * The above conditional prevents these internal properties being
+					 * counted as attributes.
+					 *
+					 * refs #2156 and #2834
+					 */
+
+					continue ;
+				}
+
+				if ( attributeNodeName == 'class' )
+				{
+					// IE has a strange bug. If calling removeAttribute('className'),
+					// the attributes collection will still contain the "class"
+					// attribute, which will be marked as "specified", even if the
+					// outerHTML of the element is not displaying the class attribute.
+					// Note : I was not able to reproduce it outside the editor,
+					// but I've faced it while working on the TC of #1391.
+					if ( element.className.length > 0 )
+						return true ;
+					continue ;
+				}
 			}
-			else if ( attributes[i].specified )
+			if ( attributes[i].specified )
 				return true ;
 		}
 
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fcklanguagemanager.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fcklanguagemanager.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fcklisthandler.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fcklisthandler.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fcklistslib.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fcklistslib.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckplugins.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckplugins.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckregexlib.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckregexlib.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
@@ -63,7 +63,7 @@
 // Empty elements may be <p></p> or even a simple opening <p> (see #211).
 EmptyParagraph	: /^<(p|div|address|h\d|center)(?=[ >])[^>]*>\s*(<\/\1>)?$/ ,
 
-EmptyOutParagraph : /^<(p|div|address|h\d|center)(?=[ >])[^>]*>(?:\s*|&nbsp;)(<\/\1>)?$/ ,
+EmptyOutParagraph : /^<(p|div|address|h\d|center)(?=[ >])[^>]*>(?:\s*|&nbsp;|&#160;)(<\/\1>)?$/ ,
 
 TagBody			: /></ ,
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckscayt.js	Sun Mar 07 22:18:01 2010 +0100
@@ -0,0 +1,447 @@
+/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ */
+
+var FCKScayt;
+
+(function()
+{
+	var scaytOnLoad = [] ;
+	var isEngineLoaded = ( FCK && FCK.EditorWindow && FCK.EditorWindow.parent.parent.scayt)
+						? true : false ;
+	var scaytEnable = false;
+	var scaytReady  = false;
+
+	function ScaytEngineLoad( callback )
+	{
+		if ( isEngineLoaded )
+			return ;
+
+		isEngineLoaded = true ;
+		var top = FCK.EditorWindow.parent.parent;
+
+		var init = function ()
+		{
+			window.scayt = top.scayt ;
+			InitScayt() ;
+			var ScaytCombobox =  FCKToolbarItems.LoadedItems[ 'ScaytCombobox' ] ;
+			ScaytCombobox && ScaytCombobox.SetEnabled( scyt_control && scyt_control.disabled ) ;
+			InitSetup() ;
+		};
+
+		if ( top.scayt )
+		{
+			init() ;
+			return ;
+		}
+
+		// Compose the scayt url.
+		if (FCK.Config.ScaytCustomUrl)
+			FCK.Config.ScaytCustomUrl = new String(FCK.Config.ScaytCustomUrl).replace( new RegExp( "^http[s]*:\/\/"),"") ;
+
+		var protocol	= document.location.protocol ;
+		var baseUrl		= FCK.Config.ScaytCustomUrl ||'svc.spellchecker.net/spellcheck3/lf/scayt/scayt4.js' ;
+		var scaytUrl	= protocol + '//' + baseUrl ;
+		var scaytConfigBaseUrl =  ParseUrl( scaytUrl ).path +  '/' ;
+
+		// SCAYT is targetted to CKEditor, so we need this trick to make it work here.
+		var CKEDITOR = top.window.CKEDITOR || ( top.window.CKEDITOR = {} ) ;
+		CKEDITOR._djScaytConfig =
+		{
+			baseUrl : scaytConfigBaseUrl,
+			addOnLoad : function()
+			{
+				init();
+			},
+			isDebug : false
+		};
+
+
+		if ( callback )
+			scaytOnLoad.push( callback ) ;
+
+		DoLoadScript( scaytUrl ) ;
+	}
+
+	/**
+	 * DoLoadScript - load scripts with dinamic tag script creating
+	 * @param string url
+	 */
+	function DoLoadScript( url )
+	{
+		if (!url)
+            return false ;
+		var top = FCK.EditorWindow.parent.parent;
+        var s = top.document.createElement('script') ;
+        s.type = 'text/javascript' ;
+        s.src = url ;
+        top.document.getElementsByTagName('head')[0].appendChild(s) ;
+
+        return true ;
+	}
+
+	function ParseUrl( data )
+	{
+		var m = data.match(/(.*)[\/\\]([^\/\\]+\.\w+)$/) ;
+		return m ? { path: m[1], file: m[2] } : data ;
+	}
+
+	function createScaytControl ()
+	{
+		// Get public scayt params.
+		var oParams = {} ;
+		var top = FCK.EditorWindow.parent.parent;
+		oParams.srcNodeRef				= FCK.EditingArea.IFrame; 		// Get the iframe.
+		// syntax : AppName.AppVersion@AppRevision
+		//oParams.assocApp  = "FCKEDITOR." + FCKeditorAPI.Varsion + "@" + FCKeditorAPI.VersionBuild;
+		oParams.customerid 				= FCK.Config.ScaytCustomerid ;
+		oParams.customDictionaryName 	= FCK.Config.ScaytCustomDictionaryName ;
+		oParams.userDictionaryName 		= FCK.Config.ScaytUserDictionaryName ;
+		oParams.defLang 				= FCK.Config.ScaytDefLang ;
+
+		var scayt = top.scayt;
+		var scayt_control = window.scayt_control = new scayt( oParams ) ;
+	}
+
+	function InitScayt()
+	{
+		createScaytControl();
+
+		var scayt_control = window.scayt_control ;
+
+		if ( scayt_control )
+		{
+			scayt_control.setDisabled( false ) ;
+			scaytReady = true;
+			scaytEnable = !scayt_control.disabled ;
+
+			// set default scayt status
+			var ScaytCombobox = FCKToolbarItems.LoadedItems[ 'ScaytCombobox' ] ;
+			ScaytCombobox && ScaytCombobox.Enable() ;
+			ShowScaytState() ;
+		}
+
+		for ( var i = 0 ; i < scaytOnLoad.length ; i++ )
+		{
+			try
+			{
+				scaytOnLoad[i].call( this ) ;
+			}
+			catch(err)
+			{}
+		}
+	}
+
+	// ###
+	// SCAYT command class.
+	var ScaytCommand  = function()
+	{
+		name = 'Scayt' ;
+	}
+
+	ScaytCommand.prototype.Execute = function( action )
+	{
+		switch ( action )
+		{
+			case 'Options' :
+			case 'Langs' :
+			case 'About' :
+				if ( isEngineLoaded && scaytReady && !scaytEnable )
+				{
+					ScaytMessage( 'SCAYT is not enabled' );
+					break;
+				}
+
+				if ( isEngineLoaded && scaytReady )
+					FCKDialog.OpenDialog( 'Scayt', 'SCAYT Settings', 'dialog/fck_scayt.html?' + action.toLowerCase(), 343, 343 );
+				break;
+
+			default :
+				if ( !isEngineLoaded )
+				{
+					var me = this;
+					ScaytEngineLoad( function ()
+						{
+							me.SetEnabled( !window.scayt_control.disabled ) ;
+						}) ;
+
+					return true;
+				}
+				else if ( scaytReady )
+				{
+					// Switch the current scayt state.
+					if ( scaytEnable )
+						this.Disable() ;
+					else
+						this.Enable() ;
+
+					ShowScaytState() ;
+				}
+
+		}
+
+		if ( !isEngineLoaded )
+			return ScaytMessage( 'SCAYT is not loaded' ) || false;
+
+		if ( !scaytReady )
+			return ScaytMessage( 'SCAYT is not ready' ) || false;
+
+
+		return true;
+	}
+
+	ScaytCommand.prototype.Enable = function()
+	{
+		window.scayt_control.setDisabled( false ) ;
+		scaytEnable = true;
+	}
+
+	ScaytCommand.prototype.Disable = function()
+	{
+		window.scayt_control.setDisabled( true ) ;
+		scaytEnable = false;
+	}
+
+	ScaytCommand.prototype.SetEnabled = function( state )
+	{
+		if ( state )
+			this.Enable() ;
+		else
+			this.Disable() ;
+
+		ShowScaytState() ;
+		return true;
+	}
+
+	ScaytCommand.prototype.GetState = function()
+	{
+		return FCK_TRISTATE_OFF;
+	}
+
+	function ShowScaytState()
+	{
+		var combo = FCKToolbarItems.GetItem( 'SpellCheck' ) ;
+
+		if ( !combo || !combo._Combo || !combo._Combo._OuterTable )
+			return;
+
+		var bItem = combo._Combo._OuterTable.getElementsByTagName( 'img' )[1] ;
+		var dNode = combo._Combo.Items['trigger'] ;
+
+		if ( scaytEnable )
+		{
+			bItem.style.opacity = '1' ;
+			dNode.innerHTML = GetStatusLabel() ;
+		}
+		else
+		{
+			bItem.style.opacity = '0.5' ;
+			dNode.innerHTML = GetStatusLabel() ;
+		}
+	}
+
+	function GetStatusLabel()
+	{
+		if ( !scaytReady )
+			return  '<b>Enable SCAYT</b>' ;
+
+		return scaytEnable ? '<b>Disable SCAYT</b>' : '<b>Enable SCAYT</b>' ;
+	}
+
+	// ###
+	// Class for the toolbar item.
+	var ToolbarScaytComboBox = function( tooltip, style )
+	{
+		this.Command = FCKCommands.GetCommand( 'Scayt' ) ;
+		this.CommandName = 'Scayt' ;
+		this.Label = this.GetLabel() ;
+		this.Tooltip = FCKLang.ScaytTitle ;
+		this.Style = FCK_TOOLBARITEM_ONLYTEXT ; //FCK_TOOLBARITEM_ICONTEXT OR FCK_TOOLBARITEM_ONLYTEXT
+	}
+
+	ToolbarScaytComboBox.prototype = new FCKToolbarSpecialCombo ;
+
+	//Add the items to the combo list
+	ToolbarScaytComboBox.prototype.CreateItems = function()
+	{
+		this._Combo.AddItem( 'Trigger', '<b>Enable SCAYT</b>' );
+		this._Combo.AddItem( 'Options', FCKLang.ScaytTitleOptions || "Options"  );
+		this._Combo.AddItem( 'Langs', FCKLang.ScaytTitleLangs || "Languages");
+		this._Combo.AddItem( 'About', FCKLang.ScaytTitleAbout || "About");
+	}
+
+	// Label shown in the toolbar.
+	ToolbarScaytComboBox.prototype.GetLabel = function()
+	{
+		var strip = FCKConfig.SkinPath + 'fck_strip.gif';
+
+		return FCKBrowserInfo.IsIE ?
+				'<div class="TB_Button_Image"><img src="' + strip + '" style="top:-192px"></div>'
+			:
+				'<img class="TB_Button_Image" src="' + FCK_SPACER_PATH + '" style="background-position: 0px -192px;background-image: url(' + strip + ');">';
+	}
+
+	function ScaytMessage( m )
+	{
+		m && alert( m ) ;
+	}
+
+	var ScaytContextCommand = function()
+	{
+		name = 'ScaytContext' ;
+	}
+
+	ScaytContextCommand.prototype.Execute = function( contextInfo )
+	{
+		var action = contextInfo && contextInfo.action,
+			node = action && contextInfo.node,
+			scayt_control = window.scayt_control;
+
+		if ( node )
+		{
+			switch ( action )
+			{
+				case 'Suggestion' :
+					scayt_control.replace( node, contextInfo.suggestion ) ;
+					break ;
+				case 'Ignore' :
+					scayt_control.ignore( node ) ;
+					break ;
+				case 'Ignore All' :
+					scayt_control.ignoreAll( node ) ;
+					break ;
+				case 'Add Word' :
+					var top = FCK.EditorWindow.parent.parent ;
+					top.scayt.addWordToUserDictionary( node ) ;
+					break ;
+			}
+		}
+	}
+
+	// Register context menu listeners.
+	function InitSetup()
+	{
+		FCK.ContextMenu.RegisterListener(
+			{
+				AddItems : function( menu )
+				{
+					var top = FCK.EditorWindow.parent.parent;
+
+					var scayt_control = window.scayt_control,
+						scayt = top.scayt;
+
+					if ( !scayt_control )
+						return;
+
+					var node = scayt_control.getScaytNode() ;
+
+					if ( !node )
+						return;
+
+					var suggestions = scayt.getSuggestion( scayt_control.getWord( node ), scayt_control.getLang() ) ;
+
+					if ( !suggestions || !suggestions.length )
+						return;
+
+					menu.AddSeparator() ;
+
+					var maxSuggestions = FCK.Config.ScaytMaxSuggestions || 5 ;
+					var suggAveCount = ( maxSuggestions == -1 ) ? suggestions.length : maxSuggestions ;
+
+					for ( var i = 0 ; i < suggAveCount ; i += 1 )
+					{
+						if ( suggestions[i] )
+						{
+							menu.AddItem( 'ScaytContext', suggestions[i], null, false, {
+								'action' : 'Suggestion',
+								'node' : node,
+								'suggestion' : suggestions[i] } ) ;
+						}
+					}
+
+					menu.AddSeparator() ;
+
+					menu.AddItem( 'ScaytContext', 'Ignore', null, false, { 'action' : 'Ignore', 'node' : node } );
+					menu.AddItem( 'ScaytContext', 'Ignore All', null, false, { 'action' : 'Ignore All', 'node' : node } );
+					menu.AddItem( 'ScaytContext', 'Add Word', null, false, { 'action' : 'Add Word', 'node' : node } );
+					try
+					{
+						if (scaytReady && scaytEnable)
+							scayt_control.fireOnContextMenu( null, FCK.ContextMenu._InnerContextMenu);
+
+					}
+					catch( err ) {}
+				}
+			}) ;
+
+		FCK.Events.AttachEvent( 'OnPaste', function()
+			{
+					window.scayt_control.refresh() ;
+					return true;
+			} ) ;
+	}
+
+	// ##
+	// Register event listeners.
+
+ 	FCK.Events.AttachEvent( 'OnAfterSetHTML', function()
+		{
+			if ( FCKConfig.SpellChecker == 'SCAYT' )
+			{
+				if ( !isEngineLoaded && FCK.Config.ScaytAutoStartup )
+					ScaytEngineLoad() ;
+
+				if ( FCK.EditMode == FCK_EDITMODE_WYSIWYG && isEngineLoaded && scaytReady )
+					createScaytControl();
+
+				ShowScaytState() ;
+			}
+		} ) ;
+
+	FCK.Events.AttachEvent( 'OnBeforeGetData', function()
+		{
+			scaytReady && window.scayt_control.reset();
+		} ) ;
+
+	FCK.Events.AttachEvent( 'OnAfterGetData', function()
+		{
+			scaytReady && window.scayt_control.refresh();
+		} ) ;
+
+	// ###
+	// The main object that holds the SCAYT interaction in the code.
+	FCKScayt =
+	{
+		CreateCommand : function()
+		{
+			return new ScaytCommand();
+		},
+
+		CreateContextCommand : function()
+		{
+			return new ScaytContextCommand();
+		},
+
+		CreateToolbarItem : function()
+		{
+			return new ToolbarScaytComboBox() ;
+		}
+	} ;
+})() ;
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckselection.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckselection.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckselection_gecko.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckselection_gecko.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckselection_ie.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckselection_ie.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
@@ -108,15 +108,16 @@
 		// Try to select the node as a control.
 		oRange = FCK.EditorDocument.body.createControlRange() ;
 		oRange.addElement( node ) ;
+		oRange.select() ;
 	}
 	catch(e)
 	{
 		// If failed, select it as a text range.
 		oRange = FCK.EditorDocument.body.createTextRange() ;
 		oRange.moveToElementText( node ) ;
+		oRange.select() ;
 	}
 
-	oRange.select() ;
 } ;
 
 FCKSelection.Collapse = function( toStart )
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckstyles.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckstyles.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fcktablehandler.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fcktablehandler.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fcktablehandler_gecko.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fcktablehandler_gecko.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fcktablehandler_ie.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fcktablehandler_ie.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fcktoolbaritems.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fcktoolbaritems.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
@@ -52,7 +52,6 @@
 		case 'PasteText'		: oItem = new FCKToolbarButton( 'PasteText'	, FCKLang.PasteText, null, null, false, true, 10 ) ; break ;
 		case 'PasteWord'		: oItem = new FCKToolbarButton( 'PasteWord'	, FCKLang.PasteWord, null, null, false, true, 11 ) ; break ;
 		case 'Print'			: oItem = new FCKToolbarButton( 'Print'		, FCKLang.Print, null, null, false, true, 12 ) ; break ;
-		case 'SpellCheck'		: oItem = new FCKToolbarButton( 'SpellCheck', FCKLang.SpellCheck, null, null, null, null, 13 ) ; break ;
 		case 'Undo'				: oItem = new FCKToolbarButton( 'Undo'		, FCKLang.Undo, null, null, false, true, 14 ) ; break ;
 		case 'Redo'				: oItem = new FCKToolbarButton( 'Redo'		, FCKLang.Redo, null, null, false, true, 15 ) ; break ;
 		case 'SelectAll'		: oItem = new FCKToolbarButton( 'SelectAll'	, FCKLang.SelectAll, null, null, true, null, 18 ) ; break ;
@@ -113,6 +112,14 @@
 		case 'ImageButton'		: oItem = new FCKToolbarButton( 'ImageButton'	, FCKLang.ImageButton, null, null, null, null, 55 ) ; break ;
 		case 'ShowBlocks'		: oItem = new FCKToolbarButton( 'ShowBlocks'	, FCKLang.ShowBlocks, null, null, null, true, 72 ) ; break ;
 
+		case 'SpellCheck' :
+			if ( FCKConfig.SpellChecker == 'SCAYT' )
+				oItem = FCKScayt.CreateToolbarItem() ;
+			else
+				oItem = new FCKToolbarButton( 'SpellCheck', FCKLang.SpellCheck, null, null, null, null, 13 ) ;
+
+			 break ;
+
 		default:
 			alert( FCKLang.UnknownToolbarItem.replace( /%1/g, itemName ) ) ;
 			return null ;
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fcktoolbarset.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fcktoolbarset.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
@@ -239,7 +239,7 @@
 	this._Document.getElementById( 'xCollapsed' ).style.display = collapse ? '' : 'none' ;
 	this._Document.getElementById( 'xExpanded' ).style.display = collapse ? 'none' : '' ;
 
-	if ( FCKBrowserInfo.IsGecko )
+	if ( window.onresize )
 	{
 		// I had to use "setTimeout" because Gecko was not responding in a right
 		// way when calling window.onresize() directly.
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fcktools.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fcktools.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fcktools_gecko.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fcktools_gecko.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fcktools_ie.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fcktools_ie.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckundo.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckundo.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckurlparams.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckurlparams.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckxhtml.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckxhtml.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
@@ -56,6 +56,23 @@
 	else
 		this._AppendChildNodes( this.MainNode, node, false ) ;
 
+	/**
+	 * FCKXHtml._AppendNode() marks DOM element objects it has
+	 * processed by adding a property called _fckxhtmljob,
+	 * setting it equal to the value of FCKXHtml.CurrentJobNum.
+	 * On Internet Explorer, if an element object has such a
+	 * property,  it will show up in the object's attributes
+	 * NamedNodeMap, and the corresponding Attr object in
+	 * that collection  will have is specified property set
+	 * to true.  This trips up code elsewhere that checks to
+	 * see if an element is free of attributes before proceeding
+	 * with an edit operation (c.f. FCK.Style.RemoveFromRange())
+	 *
+	 * refs #2156 and #2834
+	 */
+	if ( FCKBrowserInfo.IsIE )
+		FCKXHtml._RemoveXHtmlJobProperties( node ) ;
+
 	// Get the resulting XHTML as a string.
 	var sXHTML = this._GetMainXmlString() ;
 
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckxhtml_gecko.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckxhtml_gecko.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckxhtml_ie.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckxhtml_ie.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
@@ -92,6 +92,48 @@
 	}
 }
 
+/**
+ * Used to clean up HTML that has been processed FCKXHtml._AppendNode().
+ *
+ * For objects corresponding to HTML elements, Internet Explorer will
+ * treat a property as if it were an attribute set on that element.
+ *
+ * http://msdn.microsoft.com/en-us/library/ms533026(VS.85).aspx#Accessing_Element_Pr
+ *
+ * FCKXHtml._AppendNode() sets the property _fckxhtmljob on node objects
+ * corresponding HTML elements to mark them as having been processed.
+ * Counting these properties as attributes will cripple style removal
+ * because FCK.Styles.RemoveFromSelection() will not remove an element
+ * as long as it still has attributes.
+ *
+ * refs #2156 and #2834
+ */
+
+FCKXHtml._RemoveXHtmlJobProperties = function ( node )
+{
+	// Select only nodes of type ELEMENT_NODE
+	if (!node || !node.nodeType || node.nodeType != 1)
+		return ;
+
+	// Clear the _fckhtmljob attribute.
+	if ( typeof node._fckxhtmljob == 'undefined' && node.tagName !== 'BODY')
+		return;
+
+	node.removeAttribute('_fckxhtmljob') ;
+	// Recurse upon child nodes.
+	if ( node.hasChildNodes() )
+	{
+		var childNodes = node.childNodes ;
+		for ( var i = childNodes.length - 1 ; i >= 0 ; i-- )
+		{
+			var child = childNodes[i];
+			// Funny IE. #4642. It say that it has child nodes but their parent is not this node. Skip them
+			if (child.parentNode == node)
+				FCKXHtml._RemoveXHtmlJobProperties( child ) ;
+		}
+	}
+}
+
 // On very rare cases, IE is loosing the "align" attribute for DIV. (right align and apply bulleted list)
 FCKXHtml.TagProcessors['div'] = function( node, htmlNode )
 {
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckxhtmlentities.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckxhtmlentities.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/css/fck_editorarea.css	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/css/fck_editorarea.css	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/css/fck_internal.css	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/css/fck_internal.css	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/css/fck_showtableborders_gecko.css	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/css/fck_showtableborders_gecko.css	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/common/fck_dialog_common.css	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/common/fck_dialog_common.css	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/common/fck_dialog_common.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/common/fck_dialog_common.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_about.html	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_about.html	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 <!--
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
@@ -78,8 +78,8 @@
 								border-left: #000000 1px solid; border-bottom: #000000 1px solid">
 								<span fcklang="DlgAboutVersion">version</span>
 								<br />
-								<b>2.6.4.1</b><br />
-								Build 23187</td>
+								<b>2.6.6</b><br />
+								Build 25427</td>
 						</tr>
 					</table>
 				</td>
@@ -105,7 +105,7 @@
 					<span fcklang="DlgAboutInfo">For further information go to</span> <a href="http://www.fckeditor.net/?About"
 						target="_blank">http://www.fckeditor.net/</a>.
 					<br />
-					Copyright &copy; 2003-2009 <a href="#" onclick="SendEMail();">Frederico Caldeira Knabben</a>
+					Copyright &copy; 2003-2010 <a href="#" onclick="SendEMail();">Frederico Caldeira Knabben</a>
 				</td>
 				<td align="center">
 					<a href="http://www.fckeditor.net/sponsors/apply" target="_blank">Become a Sponsor</a>
@@ -146,11 +146,11 @@
 var sUserLang = '?' ;
 
 if ( window.navigator.language )
-	sUserLang = window.navigator.language.toLowerCase() ;
+	sUserLang = window.navigator.language ;
 else if ( window.navigator.userLanguage )
-	sUserLang = window.navigator.userLanguage.toLowerCase() ;
+	sUserLang = window.navigator.userLanguage ;
 
-document.write( '<b>User Language<\/b><br />' + sUserLang ) ;
+document.write( '<b>Language<\/b><br />' + sUserLang ) ;
 //-->
 					</script>
 				</td>
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_anchor.html	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_anchor.html	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
 <!--
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_button.html	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_button.html	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
 <!--
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_checkbox.html	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_checkbox.html	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
 <!--
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_colorselector.html	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_colorselector.html	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
 <!--
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_div.html	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_div.html	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
 <!--
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_docprops.html	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_docprops.html	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 <!--
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
@@ -21,11 +21,11 @@
  *
  * Link dialog window.
 -->
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
 <head>
 	<title></title>
-	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-	<meta content="noindex, nofollow" name="robots" />
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" >
+	<meta content="noindex, nofollow" name="robots" >
 	<script src="common/fck_dialog_common.js" type="text/javascript"></script>
 	<script type="text/javascript">
 
@@ -374,11 +374,11 @@
 {
 	switch ( wich )
 	{
-		case 'Back'			: oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 410, 320, SelectBackColor, window ) ; return ;
-		case 'ColorText'	: oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 410, 320, SelectColorText, window ) ; return ;
-		case 'ColorLink'	: oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 410, 320, SelectColorLink, window ) ; return ;
-		case 'ColorVisited'	: oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 410, 320, SelectColorVisited, window ) ; return ;
-		case 'ColorActive'	: oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 410, 320, SelectColorActive, window ) ; return ;
+		case 'Back'			: oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 410, 320, SelectBackColor ) ; return ;
+		case 'ColorText'	: oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 410, 320, SelectColorText ) ; return ;
+		case 'ColorLink'	: oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 410, 320, SelectColorLink ) ; return ;
+		case 'ColorVisited'	: oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 410, 320, SelectColorVisited ) ; return ;
+		case 'ColorActive'	: oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 410, 320, SelectColorActive ) ; return ;
 	}
 }
 
@@ -458,22 +458,22 @@
 								<span fcklang="DlgDocDocType">Document Type Heading</span><br />
 								<select id="selDocType" onchange="CheckOther( this, 'txtDocType' );">
 									<option value="" selected="selected"></option>
-									<option value='<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">'>HTML
+									<option value='&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&gt;'>HTML
 										4.01 Transitional</option>
-									<option value='<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">'>
+									<option value='&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"&gt;'>
 										HTML 4.01 Strict</option>
-									<option value='<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">'>
+									<option value='&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"&gt;'>
 										HTML 4.01 Frameset</option>
-									<option value='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">'>
+									<option value='&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;'>
 										XHTML 1.0 Transitional</option>
-									<option value='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">'>
+									<option value='&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;'>
 										XHTML 1.0 Strict</option>
-									<option value='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">'>
+									<option value='&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"&gt;'>
 										XHTML 1.0 Frameset</option>
-									<option value='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">'>
+									<option value='&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"&gt;'>
 										XHTML 1.1</option>
-									<option value='<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">'>HTML 3.2</option>
-									<option value='<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">'>HTML 2.0</option>
+									<option value='&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"&gt;'>HTML 3.2</option>
+									<option value='&lt;!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"&gt;'>HTML 2.0</option>
 									<option value="..." fcklang="DlgOpOther">&lt;Other&gt;</option>
 								</select>
 							</td>
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_docprops/fck_document_preview.html	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_docprops/fck_document_preview.html	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 <!--
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
@@ -26,7 +26,7 @@
 		<title>Document Properties - Preview</title>
 		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 		<meta name="robots" content="noindex, nofollow">
-		<script language="javascript">
+		<script type="text/javascript">
 
 var eBase = parent.FCK.EditorDocument.getElementsByTagName( 'BASE' ) ;
 if ( eBase.length > 0 && eBase[0].href.length > 0 )
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_flash.html	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_flash.html	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 <!--
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_flash/fck_flash.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_flash/fck_flash.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_flash/fck_flash_preview.html	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_flash/fck_flash_preview.html	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 <!--
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_form.html	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_form.html	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
 <!--
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_hiddenfield.html	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_hiddenfield.html	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
 <!--
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_image.html	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_image.html	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 <!--
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_image/fck_image.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_image/fck_image.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_image/fck_image_preview.html	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_image/fck_image_preview.html	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 <!--
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_link.html	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_link.html	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 <!--
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_link/fck_link.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_link/fck_link.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_listprop.html	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_listprop.html	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
 <!--
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_paste.html	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_paste.html	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 <!--
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
@@ -56,7 +56,7 @@
 			'javascript:void( (function(){' +
 				'document.open() ;' +
 				'document.domain=\'' + document.domain + '\' ;' +
-				'document.write(\'<html><head><script>window.onerror = function() { return true ; };<\/script><\/head><body><\/body><\/html>\') ;' +
+				'document.write(\'<html><head><scr' + 'ipt>window.onerror = function() { return true ; };<\/script><\/head><body><\/body><\/html>\') ;' +
 				'document.close() ;' +
 				'document.body.contentEditable = true ;' +
 				'window.focus() ;' +
@@ -73,7 +73,7 @@
 			// Avoid errors if the pasted content has any script that fails: #389
 			var oDoc = oFrame.contentWindow.document ;
 			oDoc.open() ;
-			oDoc.write('<html><head><script>window.onerror = function() { return true ; };<\/script><\/head><body><\/body><\/html>') ;
+			oDoc.write('<html><head><scr' + 'ipt>window.onerror = function() { return true ; };<\/script><\/head><body><\/body><\/html>') ;
 			oDoc.close() ;
 
 			if ( FCKBrowserInfo.IsIE )
@@ -194,11 +194,11 @@
 	html = html.replace( /\s*mso-[^:]+:[^;"]+;?/gi, '' ) ;
 
 	// Remove margin styles.
-	html = html.replace( /\s*MARGIN: 0cm 0cm 0pt\s*;/gi, '' ) ;
-	html = html.replace( /\s*MARGIN: 0cm 0cm 0pt\s*"/gi, "\"" ) ;
+	html = html.replace( /\s*MARGIN: 0(?:cm|in) 0(?:cm|in) 0pt\s*;/gi, '' ) ;
+	html = html.replace( /\s*MARGIN: 0(?:cm|in) 0(?:cm|in) 0pt\s*"/gi, "\"" ) ;
 
-	html = html.replace( /\s*TEXT-INDENT: 0cm\s*;/gi, '' ) ;
-	html = html.replace( /\s*TEXT-INDENT: 0cm\s*"/gi, "\"" ) ;
+	html = html.replace( /\s*TEXT-INDENT: 0(?:cm|in)\s*;/gi, '' ) ;
+	html = html.replace( /\s*TEXT-INDENT: 0(?:cm|in)\s*"/gi, "\"" ) ;
 
 	html = html.replace( /\s*TEXT-ALIGN: [^\s;]+;?"/gi, "\"" ) ;
 
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_radiobutton.html	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_radiobutton.html	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
 <!--
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_replace.html	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_replace.html	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 <!--
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_scayt.html	Sun Mar 07 22:18:01 2010 +0100
@@ -0,0 +1,746 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+-->
+<html>
+	<head>
+		<title>SCAYT Properties</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta content="noindex, nofollow" name="robots">
+		<script src="common/fck_dialog_common.js" type="text/javascript"></script>
+		<link type="text/css" href="fck_scayt/scayt_dialog.css" rel="stylesheet" />
+		<script type="text/javascript">
+
+			var dialog	= window.parent ;
+			var oEditor	= dialog.InnerDialogLoaded() ;
+			var FCKLang = oEditor.FCKLang;
+			var scayt = oEditor.scayt;
+			var scayt_control = oEditor.scayt_control;
+			var lang_list = {};
+            var	sLang;
+			var	fckLang;
+            var chosed_lang;
+			var options;
+			var	tabs = scayt_control.uiTags || [1,1,0,1];
+			var	userDicActive = tabs[2] == 1;
+			var	captions;
+			var dic_buttons = [
+				// [0] contains buttons for creating
+				"dic_create,dic_restore",
+				// [1] contains buton for manipulation
+				"dic_rename,dic_delete"
+			];
+
+			var get =
+				new function(){
+
+					var mergeObjs = function(obj1, obj2)
+					{
+						for (var k in obj1)
+							obj2[k] = obj1[k];
+
+						return obj2;
+					};
+
+					var removeWhitespaces = function( s )
+					{
+						s = s.replace( new RegExp("^ +| +$"), '' ) ;
+						return s ;
+					};
+
+					var addEvent = function( el ,sEventName, fTodo )
+					{
+						if (el.addEventListener) {
+							el.addEventListener (sEventName,fTodo,false);
+
+						} else if (el.attachEvent) {
+							el.attachEvent ("on"+sEventName,fTodo);
+
+						} else {
+							el["on"+sEventName] = fTodo;
+						}
+					};
+
+					var getElementsByClassName = function (node,classname ,strTag) {
+						strTag = strTag || "*";
+					  	node = node || document;
+						if (node.getElementsByClassName)
+							return node.getElementsByClassName(classname);
+						else {
+							var objColl = node.getElementsByTagName(strTag);
+							if (!objColl.length &&  strTag == "*" &&  node.all) objColl = node.all;
+							var arr = new Array();
+							var delim = classname.indexOf('|') != -1  ? '|' : ' ';
+							var arrClass = classname.split(delim);
+							for (var i = 0, j = objColl.length; i < j; i++) {
+								var arrObjClass = objColl[i].className.split(' ');
+								if (delim == ' ' && arrClass.length > arrObjClass.length) continue;
+								var c = 0;
+								comparisonLoop:
+									for ( var k = 0, l = arrObjClass.length ; k < l ; k++ )
+									{
+										for ( var m = 0, n = arrClass.length ; m < n ; m++ )
+										{
+											if ( arrClass[m] == arrObjClass[k] )
+												c++ ;
+
+											if ( ( delim == '|' && c == 1 ) || ( delim == ' ' && c == arrClass.length ) )
+											{
+												arr.push( objColl[i] ) ;
+												break comparisonLoop ;
+											}
+										}
+									}
+							}
+							return arr;
+						}
+					};
+
+					var hasClassName = function ( sClassName, elem ) {
+						//.split(/\s+/);
+						var aCnames = elem.className.split(/\s+/) || [];
+						for (var i=0, l=aCnames.length; i<l ; i++){
+							if (sClassName == aCnames[i])
+								return true;
+						}
+						return false;
+					}
+
+					var single = {
+						addClass 	: function ( sClassName ) {
+							//console.info( sClassName, this.className, );
+							if ( hasClassName(sClassName , this) )
+								return this;
+							var s = removeWhitespaces(this.className + " " +sClassName);
+							this.className = s;
+							return this;
+
+						},
+						removeClass : function ( sClassName ) {
+							var s = removeWhitespaces(this.className.replace(sClassName,""));
+							this.className = s;
+							return this;
+						},
+						setStyle : function( oStyles )
+						{
+							for ( var style in oStyles )
+							{
+								this.style[style] = oStyles[style] ;
+							}
+							return this ;
+						},
+						bindOnclick		: function ( handler ) {
+							//addEvent( this, "click" , handler);
+							this.onclick = handler;
+							return this;
+						},
+						bindOnchange	: function ( handler ) {
+							//addEvent( this, "change" , handler);
+							this.onchange = handler;
+							return this;
+						},
+						getAttr : function ( sAttrName )
+						{
+							if ( !sAttrName )
+								return null;
+
+							return this[sAttrName];
+						},
+						setAttr : function ( sAttrName , attrVal )
+						{
+							if ( !sAttrName || !attrVal )
+								return null;
+
+							this[sAttrName] = attrVal;
+
+							return this;
+						},
+						remAttr : function ( sAttrName )
+						{
+							if ( !sAttrName )
+								return null;
+						}
+					};
+
+					var singleCaller = function ( sMethod,args ) {
+						for ( var i=0, l=this.length; i<l ; i++ ){
+							var oItem = mergeObjs( single, this[i] );
+							oItem[sMethod].apply(this[i],args);
+						}
+					};
+
+
+					var collection = {
+
+						addClass 	: function ( sClassName ){
+							singleCaller.call(this, "addClass", [sClassName])
+							return this;
+						},
+						removeClass 	: function ( sClassName ) {
+							singleCaller.call(this, "removeClass", [sClassName])
+							return this;
+						},
+						setStyle		: function ( oStyles ) {
+							singleCaller.call(this, "setStyle", [oStyles])
+							return this;
+						},
+						bindOnclick		: function ( f ) {
+							singleCaller.call(this, "bindOnclick", [f])
+							return this;
+						},
+						bindOnchange	: function ( f ) {
+							singleCaller.call(this, "bindOnchange", [f])
+							return this;
+						},
+
+						forEach : function ( fTodo ) {
+							//el,i
+							for (var i=0, l=this.length; i<l ; i++){
+								fTodo.apply(this[i], [this[i],i ]);
+							}
+							return this;
+						}
+
+					};
+
+
+
+					this.byClass = function( sClassName ){
+						var o = getElementsByClassName(document, sClassName );
+						return o ? mergeObjs( collection, o ) : o;
+					};
+
+					this.byId = function( sId ){
+						var o = document.getElementById( sId );
+						return o ? mergeObjs( single, o ) : o;
+					};
+
+					this.gup = function ( name ){
+				        name = name.replace( /[\[]/, '\\\[' ).replace( /[\]]/, '\\\]' ) ;
+				        var regexS = '[\\?&]' + name + '=([^&#]*)' ;
+				        var regex = new RegExp( regexS ) ;
+				        var results = regex.exec( window.location.href ) ;
+
+				        if( results == null )
+				            return '' ;
+				        else
+				            return results[ 1 ] ;
+					};
+					this.wrap = function ( o ) {
+						return o ? mergeObjs( single, o ) : o;
+					};
+					this.forEach = function ( oScope, fTodo ){
+						collection.forEach.apply( oScope,[fTodo] );
+					};
+
+				 };
+
+
+
+			// Add the dialog tabs.
+			tabs[0] == 1 && dialog.AddTab( 'options', 'Options' ) ;
+			tabs[1] == 1 && dialog.AddTab( 'langs', 'Languages' ) ;
+			tabs[2] == 1 && dialog.AddTab( 'dictionary', 'Dictionary' ) ;
+			tabs[3] == 1 && dialog.AddTab( 'about', 'About' ) ;
+
+			// Function called when a dialog tab is selected.
+			function OnDialogTabChange( tabCode )
+			{
+				ShowE('inner_options'	, ( tabCode == 'options' ) ) ;
+				ShowE('inner_langs'	, ( tabCode == 'langs' ) ) ;
+				ShowE('inner_dictionary'		, ( tabCode == 'dictionary' ) ) ;
+				ShowE('inner_about'	, ( tabCode == 'about' ) ) ;
+			}
+
+
+
+
+
+			window.onload = function()
+			{
+				// Things to do when the page is loaded.
+
+				if ( document.location.search.length )
+					dialog.SetSelectedTab( document.location.search.substr(1) ) ;
+
+				dialog.SetOkButton( true ) ;
+
+
+	                if (!scayt) throw "SCAYT is undefined";
+	                if (!scayt_control) throw "SCAYT_CONTROL is undefined";
+
+					// show alowed tabs
+					tabs = scayt_control.uiTags || [1,1,1,0];
+
+
+					sLang = scayt_control.getLang();
+	                fckLang = "en";
+					options = scayt_control.option();
+					// apply captions
+					scayt.getCaption( fckLang, function( caps )
+					{
+						//console.info( "scayt.getCaption runned" )
+						captions = caps;
+						apllyCaptions();
+						//lang_list = scayt.getLangList();
+		                lang_list = scayt.getLangList() ;//|| {ltr: {"en_US" : "English","en_GB" : "British English","pt_BR" : "Brazilian Portuguese","da_DK" : "Danish","nl_NL" : "Dutch","en_CA" : "English Canadian","fi_FI" : "Finnish","fr_FR" : "French","fr_CA" : "French Canadian","de_DE" : "German","el_GR" : "Greek","hu_HU" : "Hungarian","it_IT" : "Italian","nb_NO" : "Norwegian","pl_PL" : "Polish","pt_PT" : "Portuguese","ru_RU" : "Russian","es_ES" : "Spanish","sv_SE" : "Swedish","tr_TR" : "Turkish","uk_UA" : "Ukrainian","cy_GB" : "Welsh"},rtl: {"ar_EG" : "Arabic"}};
+
+
+
+
+		                // ** animate options
+		                get.byClass("_scayt_option").forEach(function(el,i){
+
+							if ('undefined' != typeof(options[el.name])) {
+		                        // *** set default values
+
+		                        if ( 1 == options[ el.name ] ){
+		                           //el.setAttribute("checked","true");
+								   get.wrap(el).setAttr("checked" ,true)
+								   //document.all_options[el.name].checked = "true";
+								   //el.checked = true;
+								   //alert( options[ dojo.attr(el ,'name') ] + " el " )
+		                        }
+								//console.info(options)
+		                        // *** bind events
+		                        get.wrap(el).bindOnclick( function(ev){
+
+									var that = get.wrap(this);
+									var isCheck = that.getAttr("checked");
+									//console.info(isCheck)
+		                            if ( isCheck == false ) {
+
+										//that.setAttr("checked",false);
+										options[ this.name ] = 0;
+		                            }else{
+		                                //that.setAttr("checked",true);
+										options[ this.name ] = 1;
+		                            }
+									//console.info(options)
+		                        });
+		                    }
+		                });
+
+
+		                // * Create languages tab
+		                // ** convert langs obj to array
+		                var lang_arr = [];
+
+		                for (var k in lang_list.rtl){
+		                    // find curent lang
+		                    if ( k == sLang)
+		                        chosed_lang = lang_list.rtl[k] + "::" + k;
+		                    lang_arr[lang_arr.length] = lang_list.rtl[k] + "::" + k;
+
+		                }
+		                for (var k in lang_list.ltr){
+		                     // find curent lang
+		                     if ( k == sLang)
+		                        chosed_lang = lang_list.ltr[k] + "::" + k;
+		                    lang_arr[lang_arr.length] = lang_list.ltr[k] + "::" + k;
+		                }
+		                lang_arr.sort();
+
+		                // ** find lang containers
+
+		                var lcol = get.byId("lcolid");
+		                var rcol = get.byId("rcolid");
+		                // ** place langs in DOM
+
+		                get.forEach(lang_arr , function( l , i ){
+
+							//console.info( l,i );
+
+							var l_arr = l.split('::');
+		                    var l_name = l_arr[0];
+		                    var l_code = l_arr[1];
+		                    var row = document.createElement('div');
+		                    row.id = l_code;
+		                    row.className = "li";
+		                    // split langs on half
+		                    var col = ( i < lang_arr.length/2 ) ? lcol:rcol ;
+
+		                    // append row
+		                    //console.dir( col )
+		                    col.appendChild(row);
+		                    var row_dom = get.byId( l_code )
+		                    row_dom.innerHTML = l_name;
+
+		                    var checkActiveLang = function( id ){
+		                        return chosed_lang.split("::")[1] == id;
+		                    };
+		                    // bind click
+		                    row_dom.bindOnclick(function(ev){
+
+		                        if ( checkActiveLang(this.id) ) return false;
+		                        var elId = this.id;
+								get.byId(this.id)
+	                            	.addClass("Button")
+	                            	.removeClass("DarkBackground");
+
+		                        window.setTimeout( function (){ get.byId(elId).setStyle({opacity:"0.5",cursor:"no-drop"});  } ,300 );
+
+		                        get.byId(chosed_lang.split("::")[1])
+		                            .addClass("DarkBackground")
+		                            .removeClass("Button")
+		                            .setStyle({opacity:"1",cursor:"pointer"});
+
+		                        chosed_lang = this.innerHTML + "::" + this.id;
+		                        return true;
+		                    })
+							.setStyle({
+		                        cursor:"pointer"
+		                    });
+		                    // select current lang
+		                    if (l == chosed_lang)
+		                        row_dom.addClass("Button").setStyle({opacity:"0.5",cursor:"no-drop"});
+		                    else
+		                        row_dom.addClass("DarkBackground").setStyle({opacity:"1"});
+
+		                });
+						// * user dictionary
+						if ( userDicActive ){
+							initUserDictionary()
+
+						}
+					});
+
+
+
+			}
+
+
+
+
+			var buttons = [ 'dic_create','dic_delete','dic_rename','dic_restore' ];
+			var labels  = [ 'mixedCase','mixedWithDigits','allCaps','ignoreDomainNames' ];
+
+
+			function apllyCaptions ( )
+			{
+
+				// fill tabs headers
+				// add missing captions
+
+				get.byClass("PopupTab").forEach(function(el,i){
+
+					if ( tabs[i] == 1 ){
+						el.style.display = "block";
+					}
+					el.innerHTML = captions['tab_'+el.id];
+
+				});
+
+				// Fill options labels.
+				for ( i in labels )
+				{
+					var label = 'label_' + labels[ i ],
+						labelElement = document.getElementById( label );
+
+					if (  'undefined' != typeof labelElement
+					   && 'undefined' != typeof captions[ label ] && captions[ label ] !== ""
+					   && 'undefined' != typeof options[labels[ i ]] )
+					{
+						labelElement.innerHTML = captions[ label ];
+						var labelParent = labelElement.parentNode;
+						labelParent.style.display = "block";
+					}
+				}
+				// fill dictionary section
+				for ( var i in buttons )
+				{
+					var button = buttons[ i ];
+					get.byId( button ).innerHTML = '<span>' + captions[ 'button_' + button]  +'</span>' ;
+				}
+				get.byId("dname").innerHTML = captions['label_dname'];
+				get.byId( 'dic_info' ).innerHTML = captions[ 'dic_info' ];
+
+				// fill about tab
+				var about = '<p>' + captions[ 'about_throwt_image' ] + '</p>'+
+					'<p>' + captions[ 'version' ]  + scayt.version.toString() + '</p>' +
+					'<p>' + captions[ 'about_throwt_copy' ] + '</p>';
+
+				get.byId( 'scayt_about' ).innerHTML = about;
+
+			}
+
+
+			function initUserDictionary () {
+
+				scayt.getNameUserDictionary(
+					function( o )
+					{
+						var dic_name = o.dname;
+						if ( dic_name )
+						{
+							get.byId( 'dic_name' ).value = dic_name;
+							display_dic_buttons( dic_buttons[1] );
+						}
+						else
+							display_dic_buttons( dic_buttons[0] );
+
+					},
+					function ()
+					{
+						get.byId( 'dic_name' ).value("");
+						dic_error_message(captions["err_dic_enable"] || "Used dictionary are unaveilable now.")
+					}
+				);
+
+				dic_success_message("");
+
+				 // ** bind event listeners
+                get.byClass("button").bindOnclick(function( ){
+
+					// get dic name
+					var dic_name = get.byId('dic_name').value ;
+					// check common dictionary rules
+					if (!dic_name) {
+						dic_error_message(" Dictionary name should not be empty. ");
+						return false;
+					}
+					//apply handler
+					window[this.id].apply( window, [this, dic_name, dic_buttons ] );
+
+					//console.info( typeof window[this.id], window[this.id].calle )
+					return false;
+				});
+
+			}
+
+			dic_create = function( el, dic_name , dic_buttons )
+			{
+				// comma separated button's ids include repeats if exists
+				var all_buttons = dic_buttons[0] + ',' + dic_buttons[1];
+
+				var err_massage = captions["err_dic_create"];
+				var suc_massage = captions["succ_dic_create"];
+				//console.info("--plugin ");
+
+				scayt.createUserDictionary(dic_name,
+					function(arg)
+						{
+							//console.info( "dic_create callback called with args" , arg );
+							hide_dic_buttons ( all_buttons );
+							display_dic_buttons ( dic_buttons[1] );
+							suc_massage = suc_massage.replace("%s" , arg.dname );
+							dic_success_message (suc_massage);
+						},
+					function(arg)
+						{
+							//console.info( "dic_create errorback called with args" , arg )
+							err_massage = err_massage.replace("%s" ,arg.dname );
+							dic_error_message ( err_massage + "( "+ (arg.message || "") +")");
+						});
+
+			};
+
+			dic_rename = function( el, dic_name , dic_buttons )
+			{
+				//
+				// try to rename dictionary
+				// @TODO: rename dict
+				//console.info ( captions["err_dic_rename"] )
+				var err_massage = captions["err_dic_rename"] || "";
+				var suc_massage = captions["succ_dic_rename"] || "";
+				scayt.renameUserDictionary(dic_name,
+					function(arg)
+						{
+							//console.info( "dic_rename callback called with args" , arg );
+							suc_massage = suc_massage.replace("%s" , arg.dname );
+							set_dic_name( dic_name );
+							dic_success_message ( suc_massage );
+						},
+					function(arg)
+						{
+							//console.info( "dic_rename errorback called with args" , arg )
+							err_massage = err_massage.replace("%s" , arg.dname  );
+							set_dic_name( dic_name );
+							dic_error_message( err_massage + "( " + ( arg.message || "" ) + " )" );
+						});
+			};
+
+			dic_delete = function ( el, dic_name , dic_buttons )
+			{
+				var all_buttons = dic_buttons[0] + ',' + dic_buttons[1];
+				var err_massage = captions["err_dic_delete"];
+				var suc_massage = captions["succ_dic_delete"];
+
+				// try to delete dictionary
+				// @TODO: delete dict
+				scayt.deleteUserDictionary(
+					function(arg)
+						{
+							//console.info( "dic_delete callback " , dic_name ,arg );
+							suc_massage = suc_massage.replace("%s" , arg.dname );
+							hide_dic_buttons ( all_buttons );
+							display_dic_buttons ( dic_buttons[0] );
+							set_dic_name( "" ); // empty input field
+							dic_success_message( suc_massage );
+						},
+					function(arg)
+						{
+							//console.info( " dic_delete errorback called with args" , arg )
+							err_massage = err_massage.replace("%s" , arg.dname );
+							dic_error_message(err_massage);
+						});
+			};
+
+			dic_restore = dialog.dic_restore || function ( el, dic_name , dic_buttons )
+			{
+				// try to restore existing dictionary
+				var all_buttons = dic_buttons[0] + ',' + dic_buttons[1];
+				var err_massage = captions["err_dic_restore"];
+				var suc_massage = captions["succ_dic_restore"];
+
+				scayt.restoreUserDictionary(dic_name,
+					function(arg)
+						{
+							//console.info( "dic_restore callback called with args" , arg );
+							suc_massage = suc_massage.replace("%s" , arg.dname );
+							hide_dic_buttons ( all_buttons );
+							display_dic_buttons(dic_buttons[1]);
+							dic_success_message( suc_massage );
+						},
+					function(arg)
+						{
+							//console.info( " dic_restore errorback called with args" , arg )
+							err_massage = err_massage.replace("%s" , arg.dname );
+							dic_error_message( err_massage );
+						});
+			};
+
+			function dic_error_message( m )
+			{
+				if ( !m )
+					return ;
+
+				get.byId('dic_message').innerHTML =  '<span class="error">' + m + '</span>' ;
+			}
+
+            function dic_success_message( m )
+            {
+				if ( !m )
+					return ;
+
+				get.byId('dic_message').innerHTML = '<span class="success">' + m + '</span>' ;
+			}
+
+			function display_dic_buttons ( sIds ){
+				sIds = new String( sIds );
+				get.forEach( sIds.split(','), function ( id,i) {
+					get.byId(id).setStyle({display:"inline"});
+				});
+			}
+			function hide_dic_buttons ( sIds ){
+				sIds = new String( sIds );
+				get.forEach( sIds.split(','), function ( id,i) {
+					get.byId(id).setStyle({display:"none"});
+				});
+			}
+			function set_dic_name ( dic_name ) {
+				get.byId('dic_name').value = dic_name;
+			}
+			function display_dic_tab () {
+				get.byId("dic_tab").style.display = "block";
+			}
+
+			function Ok()
+			{
+				// Things to do when the Ok button is clicked.
+				var c = 0;
+			    // set upp options if any was set
+			    var o = scayt_control.option();
+				//console.info(options)
+			    for ( var oN in options ) {
+
+			        if ( o[oN] != options[oN] && c == 0){
+						//console.info( "set option " )
+			            scayt_control.option( options );
+			            c++;
+			        }
+			    }
+			    //setup languge if it was change
+			    var csLang = chosed_lang.split("::")[1];
+			    if ( csLang && sLang != csLang ){
+			        scayt_control.setLang( csLang );
+					//console.info(sLang+" -> "+csLang , scayt_control)
+			        c++;
+			    }
+
+			    if ( c > 0 )  scayt_control.refresh();
+
+			    return dialog.Cancel();
+
+			}
+
+		</script>
+	</head>
+	<body style="OVERFLOW: hidden" scroll="no">
+		<div class="tab_container" id="inner_options">
+
+           <ul id="scayt_options">
+               <li class="_scayt_options">
+                   <input class="_scayt_option" type="checkbox" value="0" name="allCaps" />
+                   <label for="allCaps" id="label_allCaps"></label>
+               </li>
+               <li>
+                   <input class="_scayt_option" type="checkbox" value="0" name="ignoreDomainNames" />
+                   <label for="ignoreDomainNames" id="label_ignoreDomainNames"></label>
+               </li>
+               <li>
+                   <input class="_scayt_option" type="checkbox" value="0" name="mixedCase" />
+                   <label for="mixedCase" id="label_mixedCase"></label>
+               </li>
+               <li>
+                   <input class="_scayt_option" type="checkbox" value="0" name="mixedWithDigits" />
+                   <label for="mixedWithDigits" id="label_mixedWithDigits"></label>
+               </li>
+           </ul>
+		</div>
+		<div class="tab_container" id="inner_langs">
+
+		   <div class="lcol" id="lcolid"></div>
+           <div class="rcol" id="rcolid"></div>
+		</div>
+		<div class="tab_container" id="inner_dictionary">
+
+		   <div id="dic_message"></div>
+			<div id="_off_dic_tab" class="dictionary" >
+				<div style="padding-left:10px;">
+							<label id="dname" for="dname"></label>
+							<input type="text" size="14" maxlength="15" value="" id="dic_name" name="dic_name"/>
+						</div>
+						<div class="dic_buttons">
+							<a href="#" id="dic_create" class="button">  </a>
+							<a href="#" id="dic_delete" class="button">  </a>
+							<a href="#" id="dic_rename" class="button">  </a>
+							<a href="#" id="dic_restore" class="button">  </a>
+						</div>
+
+						<div id="dic_info"></div>
+
+			</div>
+		</div>
+		<div id="inner_about" class="tab_container">
+		   <div id="scayt_about"></div>
+		</div>
+	</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_scayt/scayt_dialog.css	Sun Mar 07 22:18:01 2010 +0100
@@ -0,0 +1,169 @@
+html, body
+{
+	background-color: transparent;
+	margin: 0px;
+	padding: 0px;
+}
+
+body
+{
+	padding: 10px;
+}
+
+body, td, input, select, textarea
+{
+	font-size: 11px;
+	font-family: 'Microsoft Sans Serif' , Arial, Helvetica, Verdana;
+}
+
+.midtext
+{
+	padding:0px;
+	margin:10px;
+}
+
+.midtext p
+{
+	padding:0px;
+	margin:10px;
+}
+
+.Button
+{
+	border: #737357 1px solid;
+	color: #3b3b1f;
+	background-color: #c7c78f;
+}
+
+.PopupTabArea , .button
+{
+	color: #737357;
+	background-color: #e3e3c7;
+}
+
+.PopupTitleBorder
+{
+	border-bottom: #d5d59d 1px solid;
+}
+.PopupTabEmptyArea
+{
+	padding-left: 10px;
+	border-bottom: #d5d59d 1px solid;
+}
+
+.PopupTab, .PopupTabSelected
+{
+	border-right: #d5d59d 1px solid;
+	border-top: #d5d59d 1px solid;
+	border-left: #d5d59d 1px solid;
+	padding: 3px 5px 3px 5px;
+	color: #737357;
+}
+
+.PopupTab
+{
+	margin-top: 1px;
+	border-bottom: #d5d59d 1px solid;
+	cursor: pointer;
+	cursor: hand;
+}
+
+.PopupTabSelected
+{
+	font-weight: bold;
+	cursor: default;
+	padding-top: 4px;
+	border-bottom: #f1f1e3 1px solid;
+	background-color: #f1f1e3;
+}
+
+ul {
+    padding:0;
+    margin:0px 0px 12px 0px;
+    list-style-type:none;
+}
+ul.tabs {
+    height:20px;
+    margin:10px 0px;
+}
+ul.tabs li {
+    float: left;
+	display:none;
+}
+div.tab_container {
+    /*display:none;*/
+    padding: 0px 5px ;
+}
+.lcol {
+    float:left;
+    width:47%;
+    margin-left:5px;
+}
+.rcol {
+    float:right;
+    width:47%;
+    margin-right:5px;
+}
+div.tabs-container{
+	height:220px;
+	overflow-x:hidden;
+	overflow-y:auto;
+}
+
+div.tabs-container h3{
+    margin:5px 15px 7px 15px;
+    background-color:transparent;
+    font-size: 14px ;
+}
+
+.li {
+    border: 1px solid transparent;
+}
+
+#dic_message{
+	height: 24px;
+}
+#dic_message .error{
+	color: red ;
+}
+#dic_message .success{
+	color: blue ;
+}
+
+.dic_buttons {
+	margin-top: 5px;
+	padding-left:10px;
+}
+.dic_buttons a {
+	display: none;
+}
+a.button {
+	border: #d5d59d 1px solid;
+	padding: 2px 4px;
+	margin-right: 4px;
+	text-decoration: none;
+}
+
+a.button:hover,
+a.button:active,
+a.button:visited{
+	padding: 2px 4px;
+	margin-right: 4px;
+	text-decoration: none;
+}
+a.button:hover {
+	border: #d5d59d 1px solid;
+	color: #e3e3c7;
+	background-color: #737357;
+}
+
+#scayt_options li {
+	display: none;
+}
+
+#dic_info {
+	margin:10px;
+}
+#dic_tab {
+	display:none;
+}
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_select.html	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_select.html	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
 <!--
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_select/fck_select.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_select/fck_select.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_smiley.html	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_smiley.html	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
 <!--
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_source.html	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_source.html	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
 <!--
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_specialchar.html	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_specialchar.html	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
 <!--
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_spellerpages.html	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_spellerpages.html	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
 <!--
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.pl	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.pl	Sun Mar 07 22:18:01 2010 +0100
@@ -1,181 +1,181 @@
-#!/usr/bin/perl
-
-use CGI qw/ :standard /;
-use File::Temp qw/ tempfile tempdir /;
-
-# my $spellercss = '/speller/spellerStyle.css';					# by FredCK
-my $spellercss = '../spellerStyle.css';							# by FredCK
-# my $wordWindowSrc = '/speller/wordWindow.js';					# by FredCK
-my $wordWindowSrc = '../wordWindow.js';							# by FredCK
-my @textinputs = param( 'textinputs[]' ); # array
-# my $aspell_cmd = 'aspell';									# by FredCK (for Linux)
-my $aspell_cmd = '"C:\Program Files\Aspell\bin\aspell.exe"';	# by FredCK (for Windows)
-my $lang = 'en_US';
-# my $aspell_opts = "-a --lang=$lang --encoding=utf-8";			# by FredCK
-my $aspell_opts = "-a --lang=$lang --encoding=utf-8 -H --rem-sgml-check=alt";		# by FredCK
-my $input_separator = "A";
-
-# set the 'wordtext' JavaScript variable to the submitted text.
-sub printTextVar {
-	for( my $i = 0; $i <= $#textinputs; $i++ ) {
-	        print "textinputs[$i] = decodeURIComponent('" . escapeQuote( $textinputs[$i] ) . "')\n";
-	}
-}
-
-sub printTextIdxDecl {
-	my $idx = shift;
-	print "words[$idx] = [];\n";
-	print "suggs[$idx] = [];\n";
-}
-
-sub printWordsElem {
-	my( $textIdx, $wordIdx, $word ) = @_;
-	print "words[$textIdx][$wordIdx] = '" . escapeQuote( $word ) . "';\n";
-}
-
-sub printSuggsElem {
-	my( $textIdx, $wordIdx, @suggs ) = @_;
-	print "suggs[$textIdx][$wordIdx] = [";
-	for my $i ( 0..$#suggs ) {
-		print "'" . escapeQuote( $suggs[$i] ) . "'";
-		if( $i < $#suggs ) {
-			print ", ";
-		}
-	}
-	print "];\n";
-}
-
-sub printCheckerResults {
-	my $textInputIdx = -1;
-	my $wordIdx = 0;
-	my $unhandledText;
-	# create temp file
-	my $dir = tempdir( CLEANUP => 1 );
-	my( $fh, $tmpfilename ) = tempfile( DIR => $dir );
-
-	# temp file was created properly?
-
-	# open temp file, add the submitted text.
-	for( my $i = 0; $i <= $#textinputs; $i++ ) {
-		$text = url_decode( $textinputs[$i] );
-		# Strip all tags for the text. (by FredCK - #339 / #681)
-		$text =~ s/<[^>]+>/ /g;
-		@lines = split( /\n/, $text );
-		print $fh "\%\n"; # exit terse mode
-		print $fh "^$input_separator\n";
-		print $fh "!\n";  # enter terse mode
-		for my $line ( @lines ) {
-			# use carat on each line to escape possible aspell commands
-			print $fh "^$line\n";
-		}
-
-	}
-	# exec aspell command
-	my $cmd = "$aspell_cmd $aspell_opts < $tmpfilename 2>&1";
-	open ASPELL, "$cmd |" or handleError( "Could not execute `$cmd`\\n$!" ) and return;
-	# parse each line of aspell return
-	for my $ret ( <ASPELL> ) {
-		chomp( $ret );
-		# if '&', then not in dictionary but has suggestions
-		# if '#', then not in dictionary and no suggestions
-		# if '*', then it is a delimiter between text inputs
-		if( $ret =~ /^\*/ ) {
-			$textInputIdx++;
-			printTextIdxDecl( $textInputIdx );
-			$wordIdx = 0;
-
-		} elsif( $ret =~ /^(&|#)/ ) {
-			my @tokens = split( " ", $ret, 5 );
-			printWordsElem( $textInputIdx, $wordIdx, $tokens[1] );
-			my @suggs = ();
-			if( $tokens[4] ) {
-				@suggs = split( ", ", $tokens[4] );
-			}
-			printSuggsElem( $textInputIdx, $wordIdx, @suggs );
-			$wordIdx++;
-		} else {
-			$unhandledText .= $ret;
-		}
-	}
-	close ASPELL or handleError( "Error executing `$cmd`\\n$unhandledText" ) and return;
-}
-
-sub escapeQuote {
-	my $str = shift;
-	$str =~ s/'/\\'/g;
-	return $str;
-}
-
-sub handleError {
-	my $err = shift;
-	print "error = '" . escapeQuote( $err ) . "';\n";
-}
-
-sub url_decode {
-	local $_ = @_ ? shift : $_;
-	defined or return;
-	# change + signs to spaces
-	tr/+/ /;
-	# change hex escapes to the proper characters
-	s/%([a-fA-F0-9]{2})/pack "H2", $1/eg;
-	return $_;
-}
-
-# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
-# Display HTML
-# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
-
-print <<EOF;
-Content-type: text/html; charset=utf-8
-
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<link rel="stylesheet" type="text/css" href="$spellercss"/>
-<script src="$wordWindowSrc"></script>
-<script type="text/javascript">
-var suggs = new Array();
-var words = new Array();
-var textinputs = new Array();
-var error;
-EOF
-
-printTextVar();
-
-printCheckerResults();
-
-print <<EOF;
-var wordWindowObj = new wordWindow();
-wordWindowObj.originalSpellings = words;
-wordWindowObj.suggestions = suggs;
-wordWindowObj.textInputs = textinputs;
-
-
-function init_spell() {
-	// check if any error occured during server-side processing
-	if( error ) {
-		alert( error );
-	} else {
-		// call the init_spell() function in the parent frameset
-		if (parent.frames.length) {
-			parent.init_spell( wordWindowObj );
-		} else {
-			error = "This page was loaded outside of a frameset. ";
-			error += "It might not display properly";
-			alert( error );
-		}
-	}
-}
-
-</script>
-
-</head>
-<body onLoad="init_spell();">
-
-<script type="text/javascript">
-wordWindowObj.writeBody();
-</script>
-
-</body>
-</html>
-EOF
+#!/usr/bin/perl
+
+use CGI qw/ :standard /;
+use File::Temp qw/ tempfile tempdir /;
+
+# my $spellercss = '/speller/spellerStyle.css';					# by FredCK
+my $spellercss = '../spellerStyle.css';							# by FredCK
+# my $wordWindowSrc = '/speller/wordWindow.js';					# by FredCK
+my $wordWindowSrc = '../wordWindow.js';							# by FredCK
+my @textinputs = param( 'textinputs[]' ); # array
+# my $aspell_cmd = 'aspell';									# by FredCK (for Linux)
+my $aspell_cmd = '"C:\Program Files\Aspell\bin\aspell.exe"';	# by FredCK (for Windows)
+my $lang = 'en_US';
+# my $aspell_opts = "-a --lang=$lang --encoding=utf-8";			# by FredCK
+my $aspell_opts = "-a --lang=$lang --encoding=utf-8 -H --rem-sgml-check=alt";		# by FredCK
+my $input_separator = "A";
+
+# set the 'wordtext' JavaScript variable to the submitted text.
+sub printTextVar {
+	for( my $i = 0; $i <= $#textinputs; $i++ ) {
+	        print "textinputs[$i] = decodeURIComponent('" . escapeQuote( $textinputs[$i] ) . "')\n";
+	}
+}
+
+sub printTextIdxDecl {
+	my $idx = shift;
+	print "words[$idx] = [];\n";
+	print "suggs[$idx] = [];\n";
+}
+
+sub printWordsElem {
+	my( $textIdx, $wordIdx, $word ) = @_;
+	print "words[$textIdx][$wordIdx] = '" . escapeQuote( $word ) . "';\n";
+}
+
+sub printSuggsElem {
+	my( $textIdx, $wordIdx, @suggs ) = @_;
+	print "suggs[$textIdx][$wordIdx] = [";
+	for my $i ( 0..$#suggs ) {
+		print "'" . escapeQuote( $suggs[$i] ) . "'";
+		if( $i < $#suggs ) {
+			print ", ";
+		}
+	}
+	print "];\n";
+}
+
+sub printCheckerResults {
+	my $textInputIdx = -1;
+	my $wordIdx = 0;
+	my $unhandledText;
+	# create temp file
+	my $dir = tempdir( CLEANUP => 1 );
+	my( $fh, $tmpfilename ) = tempfile( DIR => $dir );
+
+	# temp file was created properly?
+
+	# open temp file, add the submitted text.
+	for( my $i = 0; $i <= $#textinputs; $i++ ) {
+		$text = url_decode( $textinputs[$i] );
+		# Strip all tags for the text. (by FredCK - #339 / #681)
+		$text =~ s/<[^>]+>/ /g;
+		@lines = split( /\n/, $text );
+		print $fh "\%\n"; # exit terse mode
+		print $fh "^$input_separator\n";
+		print $fh "!\n";  # enter terse mode
+		for my $line ( @lines ) {
+			# use carat on each line to escape possible aspell commands
+			print $fh "^$line\n";
+		}
+
+	}
+	# exec aspell command
+	my $cmd = "$aspell_cmd $aspell_opts < $tmpfilename 2>&1";
+	open ASPELL, "$cmd |" or handleError( "Could not execute `$cmd`\\n$!" ) and return;
+	# parse each line of aspell return
+	for my $ret ( <ASPELL> ) {
+		chomp( $ret );
+		# if '&', then not in dictionary but has suggestions
+		# if '#', then not in dictionary and no suggestions
+		# if '*', then it is a delimiter between text inputs
+		if( $ret =~ /^\*/ ) {
+			$textInputIdx++;
+			printTextIdxDecl( $textInputIdx );
+			$wordIdx = 0;
+
+		} elsif( $ret =~ /^(&|#)/ ) {
+			my @tokens = split( " ", $ret, 5 );
+			printWordsElem( $textInputIdx, $wordIdx, $tokens[1] );
+			my @suggs = ();
+			if( $tokens[4] ) {
+				@suggs = split( ", ", $tokens[4] );
+			}
+			printSuggsElem( $textInputIdx, $wordIdx, @suggs );
+			$wordIdx++;
+		} else {
+			$unhandledText .= $ret;
+		}
+	}
+	close ASPELL or handleError( "Error executing `$cmd`\\n$unhandledText" ) and return;
+}
+
+sub escapeQuote {
+	my $str = shift;
+	$str =~ s/'/\\'/g;
+	return $str;
+}
+
+sub handleError {
+	my $err = shift;
+	print "error = '" . escapeQuote( $err ) . "';\n";
+}
+
+sub url_decode {
+	local $_ = @_ ? shift : $_;
+	defined or return;
+	# change + signs to spaces
+	tr/+/ /;
+	# change hex escapes to the proper characters
+	s/%([a-fA-F0-9]{2})/pack "H2", $1/eg;
+	return $_;
+}
+
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+# Display HTML
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+
+print <<EOF;
+Content-type: text/html; charset=utf-8
+
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link rel="stylesheet" type="text/css" href="$spellercss"/>
+<script src="$wordWindowSrc"></script>
+<script type="text/javascript">
+var suggs = new Array();
+var words = new Array();
+var textinputs = new Array();
+var error;
+EOF
+
+printTextVar();
+
+printCheckerResults();
+
+print <<EOF;
+var wordWindowObj = new wordWindow();
+wordWindowObj.originalSpellings = words;
+wordWindowObj.suggestions = suggs;
+wordWindowObj.textInputs = textinputs;
+
+
+function init_spell() {
+	// check if any error occured during server-side processing
+	if( error ) {
+		alert( error );
+	} else {
+		// call the init_spell() function in the parent frameset
+		if (parent.frames.length) {
+			parent.init_spell( wordWindowObj );
+		} else {
+			error = "This page was loaded outside of a frameset. ";
+			error += "It might not display properly";
+			alert( error );
+		}
+	}
+}
+
+</script>
+
+</head>
+<body onLoad="init_spell();">
+
+<script type="text/javascript">
+wordWindowObj.writeBody();
+</script>
+
+</body>
+</html>
+EOF
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_table.html	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_table.html	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
 <!--
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
@@ -155,28 +155,6 @@
 	SetAttribute( table, 'cellSpacing'	, GetE('txtCellSpacing').value ) ;
 	SetAttribute( table, 'summary'		, GetE('txtSummary').value ) ;
 
-	var eCaption = oEditor.FCKDomTools.GetFirstChild( table, 'CAPTION' ) ;
-
-	if ( document.getElementById('txtCaption').value != '')
-	{
-		if ( !eCaption )
-		{
-			eCaption = oDoc.createElement( 'CAPTION' ) ;
-			table.insertBefore( eCaption, table.firstChild ) ;
-		}
-
-		eCaption.innerHTML = document.getElementById('txtCaption').value ;
-	}
-	else if ( bExists && eCaption )
-	{
-		// TODO: It causes an IE internal error if using removeChild or
-		// table.deleteCaption() (see #505).
-		if ( oEditor.FCKBrowserInfo.IsIE )
-			eCaption.innerHTML = '' ;
-		else
-			eCaption.parentNode.removeChild( eCaption ) ;
-	}
-
 	var headers = GetE('selHeaders').value ;
 	if ( bExists )
 	{
@@ -307,6 +285,29 @@
 		oEditor.FCK.InsertElement( table ) ;
 	}
 
+	var eCaption = oEditor.FCKDomTools.GetFirstChild( table, 'CAPTION' ) ;
+
+	if ( eCaption && !oEditor.FCKBrowserInfo.IsIE )
+		eCaption.parentNode.removeChild( eCaption ) ;
+
+	if ( document.getElementById('txtCaption').value != '' )
+	{
+		if ( !eCaption || !oEditor.FCKBrowserInfo.IsIE )
+		{
+			eCaption = oDoc.createElement( 'CAPTION' ) ;
+			table.insertBefore( eCaption, table.firstChild ) ;
+		}
+
+		eCaption.innerHTML = document.getElementById('txtCaption').value ;
+	}
+	else if ( bExists && eCaption )
+	{
+		// TODO: It causes an IE internal error if using removeChild or
+		// table.deleteCaption() (see #505).
+		if ( oEditor.FCKBrowserInfo.IsIE )
+			eCaption.innerHTML = '' ;
+	}
+
 	return true ;
 }
 
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_tablecell.html	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_tablecell.html	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
 <!--
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
@@ -139,7 +139,7 @@
 
 function SelectColor( wich )
 {
-	oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', oEditor.FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 410, 320, wich == 'Back' ? SelectBackColor : SelectBorderColor, window ) ;
+	oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', oEditor.FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 410, 320, wich == 'Back' ? SelectBackColor : SelectBorderColor ) ;
 }
 
 	</script>
@@ -224,8 +224,8 @@
 									 <span fcklang="DlgCellType">Cell Type</span>:</td>
 									<td colspan="2">
 										&nbsp; <select id="selCellType">
-											<option fcklang="DlgCellTypeData" value="td" />Data
-											<option fcklang="DlgCellTypeHeader" value="th" />Header
+											<option fcklang="DlgCellTypeData" value="td">Data</option>
+											<option fcklang="DlgCellTypeHeader" value="th">Header</option>
 										</select>
 								</tr>
 								<tr>
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_template.html	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_template.html	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 <!--
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_textarea.html	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_textarea.html	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
 <!--
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_textfield.html	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_textfield.html	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
 <!--
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dtd/fck_xhtml10strict.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dtd/fck_xhtml10strict.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dtd/fck_xhtml10transitional.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dtd/fck_xhtml10transitional.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/fckdebug.html	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/fckdebug.html	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 <!--
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/fckdialog.html	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/fckdialog.html	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <!--
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/fckeditor.html	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/fckeditor.html	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 <!--
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
@@ -265,16 +265,16 @@
 	}
 }
 
-// Gecko browsers doesn't calculate well the IFRAME size so we must
+// Gecko and Webkit browsers don't calculate well the IFRAME size so we must
 // recalculate it every time the window size changes.
-if ( FCKBrowserInfo.IsGecko && !FCKBrowserInfo.IsOpera )
+if ( FCKBrowserInfo.IsGecko || ( FCKBrowserInfo.IsSafari && !FCKBrowserInfo.IsSafari3 ) )
 {
 	window.onresize = function( e )
 	{
-		// Running in Chrome makes the window receive the event including subframes.
+		// Running in Firefox's chrome makes the window receive the event including subframes.
 		// we care only about this window. Ticket #1642.
 		// #2002: The originalTarget from the event can be the current document, the window, or the editing area.
-		if ( e && e.originalTarget !== document && e.originalTarget !== window && (!e.originalTarget.ownerDocument || e.originalTarget.ownerDocument != document ))
+		if ( e && e.originalTarget && e.originalTarget !== document && e.originalTarget !== window && (!e.originalTarget.ownerDocument || e.originalTarget.ownerDocument != document ))
 			return ;
 
 		var oCell = document.getElementById( 'xEditingArea' ) ;
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/fckeditor.original.html	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/fckeditor.original.html	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 <!--
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
@@ -202,6 +202,7 @@
 LoadScript( '_source/classes/fcktoolbarfontscombo.js' ) ;
 LoadScript( '_source/classes/fcktoolbarfontsizecombo.js' ) ;
 LoadScript( '_source/classes/fcktoolbarpanelbutton.js' ) ;
+LoadScript( '_source/internals/fckscayt.js' ) ;
 LoadScript( '_source/internals/fcktoolbaritems.js' ) ;
 LoadScript( '_source/classes/fcktoolbar.js' ) ;
 LoadScript( '_source/classes/fcktoolbarbreak_' + sSuffix + '.js' ) ;
@@ -372,16 +373,16 @@
 	}
 }
 
-// Gecko browsers doesn't calculate well the IFRAME size so we must
+// Gecko and Webkit browsers don't calculate well the IFRAME size so we must
 // recalculate it every time the window size changes.
-if ( FCKBrowserInfo.IsGecko && !FCKBrowserInfo.IsOpera )
+if ( FCKBrowserInfo.IsGecko || ( FCKBrowserInfo.IsSafari && !FCKBrowserInfo.IsSafari3 ) )
 {
 	window.onresize = function( e )
 	{
-		// Running in Chrome makes the window receive the event including subframes.
+		// Running in Firefox's chrome makes the window receive the event including subframes.
 		// we care only about this window. Ticket #1642.
 		// #2002: The originalTarget from the event can be the current document, the window, or the editing area.
-		if ( e && e.originalTarget !== document && e.originalTarget !== window && (!e.originalTarget.ownerDocument || e.originalTarget.ownerDocument != document ))
+		if ( e && e.originalTarget && e.originalTarget !== document && e.originalTarget !== window && (!e.originalTarget.ownerDocument || e.originalTarget.ownerDocument != document ))
 			return ;
 
 		var oCell = document.getElementById( 'xEditingArea' ) ;
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/browser.css	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/browser.css	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/browser.html	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/browser.html	Sun Mar 07 22:18:01 2010 +0100
@@ -2,7 +2,7 @@
    "http://www.w3.org/TR/html4/frameset.dtd">
 <!--
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/frmactualfolder.html	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/frmactualfolder.html	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 <!--
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/frmcreatefolder.html	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/frmcreatefolder.html	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 <!--
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/frmfolders.html	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/frmfolders.html	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 <!--
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/frmresourceslist.html	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/frmresourceslist.html	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 <!--
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
@@ -89,7 +89,7 @@
 
 function OpenFile( fileUrl )
 {
-	window.top.opener.SetUrl( encodeURI( fileUrl ).replace( '#', '%23' ) ) ;
+	window.top.opener.SetUrl( fileUrl ) ;
 	window.top.close() ;
 	window.top.opener.focus() ;
 }
@@ -145,7 +145,7 @@
 
 		// Get the optional "url" attribute. If not available, build the url.
 		var oFileUrlAtt = oNodes[j].attributes.getNamedItem('url') ;
-		var sFileUrl = oFileUrlAtt != null ? oFileUrlAtt.value : sCurrentFolderUrl + sFileName ;
+		var sFileUrl = oFileUrlAtt != null ? oFileUrlAtt.value : encodeURI( sCurrentFolderUrl + sFileName ).replace( /#/g, '%23' ) ;
 
 		oHtml.Append( oListManager.GetFileRowHtml( sFileName, sFileUrl, sFileSize ) ) ;
 	}
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/frmresourcetype.html	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/frmresourcetype.html	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 <!--
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/frmupload.html	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/frmupload.html	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 <!--
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/js/common.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/js/common.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/js/fckxml.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/js/fckxml.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/asp/basexml.asp	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/asp/basexml.asp	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 <%
  ' FCKeditor - The text editor for Internet - http://www.fckeditor.net
- ' Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ ' Copyright (C) 2003-2010 Frederico Caldeira Knabben
  '
  ' == BEGIN LICENSE ==
  '
@@ -30,7 +30,11 @@
 	Response.CacheControl = "no-cache"
 
 	' Set the response format.
+	on error resume next
+	' The CodePage property isn't supported in Windows 2000. #2604
 	Response.CodePage 		= 65001
+	on error goto 0
+
 	Response.CharSet		= "UTF-8"
 	Response.ContentType	= "text/xml"
 End Sub
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/asp/class_upload.asp	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/asp/class_upload.asp	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 <%
  ' FCKeditor - The text editor for Internet - http://www.fckeditor.net
- ' Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ ' Copyright (C) 2003-2010 Frederico Caldeira Knabben
  '
  ' == BEGIN LICENSE ==
  '
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/asp/commands.asp	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/asp/commands.asp	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 <%
  ' FCKeditor - The text editor for Internet - http://www.fckeditor.net
- ' Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ ' Copyright (C) 2003-2010 Frederico Caldeira Knabben
  '
  ' == BEGIN LICENSE ==
  '
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/asp/config.asp	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/asp/config.asp	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 <%
  ' FCKeditor - The text editor for Internet - http://www.fckeditor.net
- ' Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ ' Copyright (C) 2003-2010 Frederico Caldeira Knabben
  '
  ' == BEGIN LICENSE ==
  '
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/asp/connector.asp	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/asp/connector.asp	Sun Mar 07 22:18:01 2010 +0100
@@ -5,7 +5,7 @@
 %>
 <%
  ' FCKeditor - The text editor for Internet - http://www.fckeditor.net
- ' Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ ' Copyright (C) 2003-2010 Frederico Caldeira Knabben
  '
  ' == BEGIN LICENSE ==
  '
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/asp/io.asp	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/asp/io.asp	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 <%
  ' FCKeditor - The text editor for Internet - http://www.fckeditor.net
- ' Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ ' Copyright (C) 2003-2010 Frederico Caldeira Knabben
  '
  ' == BEGIN LICENSE ==
  '
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/asp/upload.asp	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/asp/upload.asp	Sun Mar 07 22:18:01 2010 +0100
@@ -5,7 +5,7 @@
 %>
 <%
  ' FCKeditor - The text editor for Internet - http://www.fckeditor.net
- ' Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ ' Copyright (C) 2003-2010 Frederico Caldeira Knabben
  '
  ' == BEGIN LICENSE ==
  '
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/asp/util.asp	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/asp/util.asp	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 <%
  ' FCKeditor - The text editor for Internet - http://www.fckeditor.net
- ' Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ ' Copyright (C) 2003-2010 Frederico Caldeira Knabben
  '
  ' == BEGIN LICENSE ==
  '
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/aspx/config.ascx	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/aspx/config.ascx	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <%@ Control Language="C#" EnableViewState="false" AutoEventWireup="false" Inherits="FredCK.FCKeditorV2.FileBrowser.Config" %>
 <%--
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/aspx/connector.aspx	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/aspx/connector.aspx	Sun Mar 07 22:18:01 2010 +0100
@@ -2,7 +2,7 @@
 <%@ Register Src="config.ascx" TagName="Config" TagPrefix="FCKeditor" %>
 <%--
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/aspx/upload.aspx	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/aspx/upload.aspx	Sun Mar 07 22:18:01 2010 +0100
@@ -2,7 +2,7 @@
 <%@ Register Src="config.ascx" TagName="Config" TagPrefix="FCKeditor" %>
 <%--
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/cfm/cf5_connector.cfm	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/cfm/cf5_connector.cfm	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <cfsetting enablecfoutputonly="yes" showdebugoutput="no">
 <!---
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
@@ -35,12 +35,18 @@
  *
 --->
 
+<!--- disable connector for ColdFusion > CF5 --->
+<cfif Left(SERVER.COLDFUSION.PRODUCTVERSION,Find(",",SERVER.COLDFUSION.PRODUCTVERSION)-1) gt 5>
+	<cfabort>
+</cfif>
+
 <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">
+<cfset REQUEST.Config = Config>
 
 <cfscript>
 	userFilesPath = config.userFilesPath;
@@ -196,7 +202,7 @@
 	<cfswitch expression="#url.command#">
 
 		<cfcase value="FileUpload">
-			<cfset config_included = true >
+			<cfset REQUEST.config_included = true>
 			<cfinclude template="cf5_upload.cfm">
 			<cfabort>
 		</cfcase>
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/cfm/cf5_upload.cfm	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/cfm/cf5_upload.cfm	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <cfsetting enablecfoutputonly="Yes">
 <!---
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
@@ -35,15 +35,26 @@
  *
 --->
 
+<!--- disable connector for ColdFusion > CF5 --->
+<cfif Left(SERVER.COLDFUSION.PRODUCTVERSION,Find(",",SERVER.COLDFUSION.PRODUCTVERSION)-1) gt 5>
+	<cfabort>
+</cfif>
+
 <cfparam name="url.command" default="QuickUpload">
 <cfparam name="url.type" default="File">
 <cfparam name="url.currentFolder" default="/">
 
+<cfif find( "/", getBaseTemplatePath() ) >
+	<cfset REQUEST.Fs = "/">
+<cfelse>
+	<cfset REQUEST.Fs = "\">
+</cfif>
+
 <cfif url.command eq "QuickUpload">
 	<cfset url.currentFolder = "/">
 </cfif>
 
-<cfif not isDefined("config_included")>
+<cfif not isDefined("REQUEST.config_included") or isDefined("URL.config_included")>
 	<cfinclude template="config.cfm">
 </cfif>
 
@@ -75,12 +86,12 @@
 </cfif>
 
 <cfif find( "..", url.currentFolder) or find( "\", url.currentFolder)>
-	<cfset SendUploadResults(102)>
+	<cfset SendUploadResults(102, "", "", "")>
 	<cfabort>
 </cfif>
 
 <cfif REFind('(/\.)|(//)|[[:cntrl:]]|([\\:\*\?\"<>])', url.currentFolder)>
-	<cfset SendUploadResults(102)>
+	<cfset SendUploadResults(102, "", "", "")>
 	<cfabort>
 </cfif>
 
@@ -198,7 +209,7 @@
 	<cfcatch type="any">
 
 		<!--- this should only occur as a result of a permissions problem --->
-		<cfset SendUploadResults(103)>
+		<cfset SendUploadResults(103, "", "", "")>
 		<cfabort>
 
 	</cfcatch>
@@ -216,29 +227,34 @@
 <cfset customMsg = "">
 
 <cftry>
+	<cfif isDefined( "REQUEST.Config.TempDirectory" )>
+		<cfset sTempDir = REQUEST.Config.TempDirectory>
+	<cfelse>
+		<cfset sTempDir = GetTempDirectory()>
+	</cfif>
+
 	<!--- first upload the file with an unique filename --->
 	<cffile action="upload"
 		fileField="NewFile"
-		destination="#currentFolderPath#"
+		destination="#sTempDir#"
 		nameConflict="makeunique"
 		mode="644"
 		attributes="normal">
 
 	<cfif cffile.fileSize EQ 0>
+		<cffile action="delete" file="#cffile.ServerDirectory##fs##cffile.ServerFile#">
 		<cfthrow>
 	</cfif>
 
+	<cfset sTempFilePath = CFFILE.ServerDirectory & REQUEST.fs & CFFILE.ServerFile>
 	<cfset lAllowedExtensions = config.allowedExtensions[#resourceType#]>
 	<cfset lDeniedExtensions = config.deniedExtensions[#resourceType#]>
 
 	<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 ;
@@ -258,32 +274,31 @@
 			fileName = replace( fileName, '.', "_", "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#") ) {
-				fileExisted = true ;
-				counter = counter + 1 ;
-				fileName = tmpFileName & '(#counter#)' ;
-			}
+		counter = 0;
+		tmpFileName = fileName;
+		while( fileExists("#currentFolderPath##fileName#.#fileExt#") ) {
+			fileExisted = true ;
+			counter = counter + 1 ;
+			fileName = tmpFileName & '(#counter#)' ;
 		}
 		</cfscript>
 
-		<!--- Rename the uploaded file, if neccessary --->
-		<cfif compare(cffile.ServerFileName,fileName)>
-
-			<cfif fileExisted>
-				<cfset errorNumber = "201">
-			</cfif>
-			<cffile
-				action="rename"
-				source="#currentFolderPath##cffile.ServerFileName#.#cffile.ServerFileExt#"
-				destination="#currentFolderPath##fileName#.#fileExt#"
-				mode="644"
-				attributes="normal">
-
+		<cfset destination = currentFolderPath & fileName & "." & fileExt>
+		<cfif fileExisted>
+			<cfset errorNumber = "201">
 		</cfif>
 
+		<cftry>
+			<cffile action="copy" source="#sTempFilePath#" destination="#destination#" mode="755">
+			<cfcatch type="any">
+				<cfset errorNumber = 102>
+			</cfcatch>
+		</cftry>
+		<cftry>
+			<cffile action="delete" file="#sTempFilePath#">
+			<cfcatch type="any">
+			</cfcatch>
+		</cftry>
 	</cfif>
 
 	<cfcatch type="any">
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/cfm/cf_basexml.cfm	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/cfm/cf_basexml.cfm	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <cfsetting enablecfoutputonly="Yes">
 <!---
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/cfm/cf_commands.cfm	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/cfm/cf_commands.cfm	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <cfsetting enablecfoutputonly="Yes">
 <!---
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
@@ -23,7 +23,7 @@
  * in the ColdFusion Connector (MX 6.0 and above).
 --->
 
-<cffunction name="FileUpload" returntype="void" output="true">
+<cffunction name="FCKeditorFileUpload" returntype="void" output="true">
 	<cfargument name="resourceType" type="string" required="yes" default="">
 	<cfargument name="currentFolder" type="string" required="yes" default="">
 	<cfargument name="sCommand" type="string" required="yes" default="">
@@ -108,7 +108,17 @@
 			<cffile action="move" source="#sTempFilePath#" destination="#destination#" mode="755">
 			<!--- omit CF 6.1 error during moving uploaded file, just copy that file instead of moving --->
 			<cfcatch type="any">
-				<cffile action="copy" source="#sTempFilePath#" destination="#destination#" mode="755">
+				<cftry>
+					<cffile action="copy" source="#sTempFilePath#" destination="#destination#" mode="755">
+					<cfcatch type="any">
+						<cfset errorNumber = 102>
+					</cfcatch>
+				</cftry>
+				<cftry>
+					<cffile action="delete" file="#sTempFilePath#">
+					<cfcatch type="any">
+					</cfcatch>
+				</cftry>
 			</cfcatch>
 		</cftry>
 		</cflock>
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/cfm/cf_connector.cfm	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/cfm/cf_connector.cfm	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <cfsetting enablecfoutputonly="yes" showdebugoutput="no">
 <!---
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
@@ -68,7 +68,7 @@
 
 	<!--- File Upload doesn't have to Return XML, so it must be intercepted before anything. --->
 	<cfif sCommand eq "FileUpload">
-		<cfset FileUpload( sResourceType, sCurrentFolder, sCommand )>
+		<cfset FCKeditorFileUpload( sResourceType, sCurrentFolder, sCommand )>
 		<cfabort>
 	</cfif>
 
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/cfm/cf_io.cfm	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/cfm/cf_io.cfm	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <cfsetting enablecfoutputonly="Yes">
 <!---
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/cfm/cf_upload.cfm	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/cfm/cf_upload.cfm	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <cfsetting enablecfoutputonly="yes" showdebugoutput="no">
 <!---
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
@@ -68,4 +68,4 @@
 	<cfset SendUploadResults( "1", "", "", "Invalid type specified" ) >
 </cfif>
 
-<cfset FileUpload( sType, sCurrentFolder, sCommand )>
+<cfset FCKeditorFileUpload( sType, sCurrentFolder, sCommand )>
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/cfm/cf_util.cfm	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/cfm/cf_util.cfm	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <cfsetting enablecfoutputonly="Yes">
 <!---
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/cfm/config.cfm	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/cfm/config.cfm	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <cfsetting enablecfoutputonly="Yes">
 <!---
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
@@ -61,7 +61,22 @@
 	//instead of using the GetTempDirectory function
 	//(used by MX 6.0 and above)
 	Config.TempDirectory = GetTempDirectory();
+</cfscript>
 
+<cftry>
+<!--- code to maintain backwards compatibility with previous version of cfm connector --->
+	<cfif isDefined("application.userFilesPath")>
+		<cflock scope="application" type="readonly" timeout="20">
+			<cfset config.userFilesPath = application.userFilesPath>
+		</cflock>
+	</cfif>
+
+	<!--- catch potential "The requested scope application has not been enabled" exception --->
+	<cfcatch type="any">
+	</cfcatch>
+</cftry>
+
+<cfscript>
 //	Configuration settings for each Resource Type
 //
 //	- AllowedExtensions: the possible extensions that can be allowed.
@@ -133,56 +148,3 @@
 	Config.QuickUploadPath["Media"] 		= Config.FileTypesPath["Media"] ;
 	Config.QuickUploadAbsolutePath["Media"] = Config.FileTypesAbsolutePath["Media"] ;
 </cfscript>
-
-<cftry>
-<!--- 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 application and server scopes --->
-<cfif 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>
-	<!--- catch potential "The requested scope application has not been enabled" exception --->
-	<cfcatch type="any">
-	</cfcatch>
-</cftry>
-
-<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/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/cfm/connector.cfm	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/cfm/connector.cfm	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <cfsetting enablecfoutputonly="Yes">
 <!---
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/cfm/upload.cfm	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/cfm/upload.cfm	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <cfsetting enablecfoutputonly="Yes">
 <!---
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/lasso/config.lasso	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/lasso/config.lasso	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 [//lasso
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/lasso/connector.lasso	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/lasso/connector.lasso	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 [//lasso
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/lasso/upload.lasso	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/lasso/upload.lasso	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 [//lasso
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/perl/basexml.pl	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/perl/basexml.pl	Sun Mar 07 22:18:01 2010 +0100
@@ -1,68 +1,68 @@
-#####
-#  FCKeditor - The text editor for Internet - http://www.fckeditor.net
-#  Copyright (C) 2003-2009 Frederico Caldeira Knabben
-#
-#  == BEGIN LICENSE ==
-#
-#  Licensed under the terms of any of the following licenses at your
-#  choice:
-#
-#   - GNU General Public License Version 2 or later (the "GPL")
-#     http://www.gnu.org/licenses/gpl.html
-#
-#   - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
-#     http://www.gnu.org/licenses/lgpl.html
-#
-#   - Mozilla Public License Version 1.1 or later (the "MPL")
-#     http://www.mozilla.org/MPL/MPL-1.1.html
-#
-#  == END LICENSE ==
-#
-#  This is the File Manager Connector for Perl.
-#####
-
-sub CreateXmlHeader
-{
-	local($command,$resourceType,$currentFolder) = @_;
-
-	# Create the XML document header.
-	print '<?xml version="1.0" encoding="utf-8" ?>';
-
-	# Create the main "Connector" node.
-	print '<Connector command="' . $command . '" resourceType="' . $resourceType . '">';
-
-	# Add the current folder node.
-	print '<CurrentFolder path="' . ConvertToXmlAttribute($currentFolder) . '" url="' . ConvertToXmlAttribute(GetUrlFromPath($resourceType,$currentFolder)) . '" />';
-}
-
-sub CreateXmlFooter
-{
-	print '</Connector>';
-}
-
-sub SendError
-{
-	local( $number, $text ) = @_;
-
-	print << "_HTML_HEAD_";
-Content-Type:text/xml; charset=utf-8
-Pragma: no-cache
-Cache-Control: no-cache
-Expires: Thu, 01 Dec 1994 16:00:00 GMT
-
-_HTML_HEAD_
-
-	# Create the XML document header
-	print '<?xml version="1.0" encoding="utf-8" ?>' ;
-
-	if ($text) {
-		print '<Connector><Error number="' . $number . '" text="' . &specialchar_cnv( $text ) . '" /></Connector>' ;
-	}
-	else {
-		print '<Connector><Error number="' . $number . '" /></Connector>' ;
-	}
-
-	exit ;
-}
-
-1;
+#####
+#  FCKeditor - The text editor for Internet - http://www.fckeditor.net
+#  Copyright (C) 2003-2010 Frederico Caldeira Knabben
+#
+#  == BEGIN LICENSE ==
+#
+#  Licensed under the terms of any of the following licenses at your
+#  choice:
+#
+#   - GNU General Public License Version 2 or later (the "GPL")
+#     http://www.gnu.org/licenses/gpl.html
+#
+#   - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+#     http://www.gnu.org/licenses/lgpl.html
+#
+#   - Mozilla Public License Version 1.1 or later (the "MPL")
+#     http://www.mozilla.org/MPL/MPL-1.1.html
+#
+#  == END LICENSE ==
+#
+#  This is the File Manager Connector for Perl.
+#####
+
+sub CreateXmlHeader
+{
+	local($command,$resourceType,$currentFolder) = @_;
+
+	# Create the XML document header.
+	print '<?xml version="1.0" encoding="utf-8" ?>';
+
+	# Create the main "Connector" node.
+	print '<Connector command="' . $command . '" resourceType="' . $resourceType . '">';
+
+	# Add the current folder node.
+	print '<CurrentFolder path="' . ConvertToXmlAttribute($currentFolder) . '" url="' . ConvertToXmlAttribute(GetUrlFromPath($resourceType,$currentFolder)) . '" />';
+}
+
+sub CreateXmlFooter
+{
+	print '</Connector>';
+}
+
+sub SendError
+{
+	local( $number, $text ) = @_;
+
+	print << "_HTML_HEAD_";
+Content-Type:text/xml; charset=utf-8
+Pragma: no-cache
+Cache-Control: no-cache
+Expires: Thu, 01 Dec 1994 16:00:00 GMT
+
+_HTML_HEAD_
+
+	# Create the XML document header
+	print '<?xml version="1.0" encoding="utf-8" ?>' ;
+
+	if ($text) {
+		print '<Connector><Error number="' . $number . '" text="' . &specialchar_cnv( $text ) . '" /></Connector>' ;
+	}
+	else {
+		print '<Connector><Error number="' . $number . '" /></Connector>' ;
+	}
+
+	exit ;
+}
+
+1;
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/perl/commands.pl	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/perl/commands.pl	Sun Mar 07 22:18:01 2010 +0100
@@ -1,200 +1,200 @@
-#####
-#  FCKeditor - The text editor for Internet - http://www.fckeditor.net
-#  Copyright (C) 2003-2009 Frederico Caldeira Knabben
-#
-#  == BEGIN LICENSE ==
-#
-#  Licensed under the terms of any of the following licenses at your
-#  choice:
-#
-#   - GNU General Public License Version 2 or later (the "GPL")
-#     http://www.gnu.org/licenses/gpl.html
-#
-#   - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
-#     http://www.gnu.org/licenses/lgpl.html
-#
-#   - Mozilla Public License Version 1.1 or later (the "MPL")
-#     http://www.mozilla.org/MPL/MPL-1.1.html
-#
-#  == END LICENSE ==
-#
-#  This is the File Manager Connector for Perl.
-#####
-
-sub GetFolders
-{
-
-	local($resourceType, $currentFolder) = @_;
-
-	# Map the virtual path to the local server path.
-	$sServerDir = &ServerMapFolder($resourceType, $currentFolder);
-	print "<Folders>";			# Open the "Folders" node.
-
-	opendir(DIR,"$sServerDir");
-	@files = grep(!/^\.\.?$/,readdir(DIR));
-	closedir(DIR);
-
-	foreach $sFile (@files) {
-		if($sFile != '.' && $sFile != '..' && (-d "$sServerDir$sFile")) {
-			$cnv_filename = &ConvertToXmlAttribute($sFile);
-			print '<Folder name="' . $cnv_filename . '" />';
-		}
-	}
-	print "</Folders>";			# Close the "Folders" node.
-}
-
-sub GetFoldersAndFiles
-{
-
-	local($resourceType, $currentFolder) = @_;
-	# Map the virtual path to the local server path.
-	$sServerDir = &ServerMapFolder($resourceType,$currentFolder);
-
-	# Initialize the output buffers for "Folders" and "Files".
-	$sFolders	= '<Folders>';
-	$sFiles		= '<Files>';
-
-	opendir(DIR,"$sServerDir");
-	@files = grep(!/^\.\.?$/,readdir(DIR));
-	closedir(DIR);
-
-	foreach $sFile (@files) {
-		if($sFile ne '.' && $sFile ne '..') {
-			if(-d "$sServerDir$sFile") {
-				$cnv_filename = &ConvertToXmlAttribute($sFile);
-				$sFolders .= '<Folder name="' . $cnv_filename . '" />' ;
-			} else {
-				($iFileSize,$refdate,$filedate,$fileperm) = (stat("$sServerDir$sFile"))[7,8,9,2];
-				if($iFileSize > 0) {
-					$iFileSize = int($iFileSize / 1024);
-					if($iFileSize < 1) {
-						$iFileSize = 1;
-					}
-				}
-				$cnv_filename = &ConvertToXmlAttribute($sFile);
-				$sFiles	.= '<File name="' . $cnv_filename . '" size="' . $iFileSize . '" />' ;
-			}
-		}
-	}
-	print $sFolders ;
-	print '</Folders>';			# Close the "Folders" node.
-	print $sFiles ;
-	print '</Files>';			# Close the "Files" node.
-}
-
-sub CreateFolder
-{
-
-	local($resourceType, $currentFolder) = @_;
-	$sErrorNumber	= '0' ;
-	$sErrorMsg		= '' ;
-
-	if($FORM{'NewFolderName'} ne "") {
-		$sNewFolderName = $FORM{'NewFolderName'};
-		$sNewFolderName =~ s/\.|\\|\/|\||\:|\?|\*|\"|<|>|[[:cntrl:]]/_/g;
-		# Map the virtual path to the local server path of the current folder.
-		$sServerDir = &ServerMapFolder($resourceType, $currentFolder);
-		if(-w $sServerDir) {
-			$sServerDir .= $sNewFolderName;
-			$sErrorMsg = &CreateServerFolder($sServerDir);
-			if($sErrorMsg == 0) {
-				$sErrorNumber = '0';
-			} elsif($sErrorMsg eq 'Invalid argument' || $sErrorMsg eq 'No such file or directory') {
-				$sErrorNumber = '102';		#// Path too long.
-			} else {
-				$sErrorNumber = '110';
-			}
-		} else {
-			$sErrorNumber = '103';
-		}
-	} else {
-		$sErrorNumber = '102' ;
-	}
-	# Create the "Error" node.
-	$cnv_errmsg = &ConvertToXmlAttribute($sErrorMsg);
-	print '<Error number="' . $sErrorNumber . '" />';
-}
-
-sub FileUpload
-{
-eval("use File::Copy;");
-
-	local($resourceType, $currentFolder) = @_;
-	$allowedExtensions = $allowedExtensions{$resourceType};
-
-	$sErrorNumber = '0' ;
-	$sFileName = '' ;
-	if($new_fname) {
-		# Map the virtual path to the local server path.
-		$sServerDir = &ServerMapFolder($resourceType,$currentFolder);
-
-		# Get the uploaded file name.
-		$sFileName = $new_fname;
-		$sFileName =~ s/\\|\/|\||\:|\?|\*|\"|<|>|[[:cntrl:]]/_/g;
-		$sFileName =~ s/\.(?![^.]*$)/_/g;
-
-		$ext = '';
-		if($sFileName =~ /([^\\\/]*)\.(.*)$/) {
-			$ext  = $2;
-		}
-
-		$allowedRegex = qr/^($allowedExtensions)$/i;
-		if (!($ext =~ $allowedRegex)) {
-			SendUploadResults('202', '', '', '');
-		}
-
-		$sOriginalFileName = $sFileName;
-
-		$iCounter = 0;
-		while(1) {
-			$sFilePath = $sServerDir . $sFileName;
-			if(-e $sFilePath) {
-				$iCounter++ ;
-				($path,$BaseName,$ext) = &RemoveExtension($sOriginalFileName);
-				$sFileName = $BaseName . '(' . $iCounter . ').' . $ext;
-				$sErrorNumber = '201';
-			} else {
-				copy("$img_dir/$new_fname","$sFilePath");
-				if (defined $CHMOD_ON_UPLOAD) {
-					if ($CHMOD_ON_UPLOAD) {
-						umask(000);
-						chmod($CHMOD_ON_UPLOAD,$sFilePath);
-					}
-				}
-				else {
-					umask(000);
-					chmod(0777,$sFilePath);
-				}
-				unlink("$img_dir/$new_fname");
-				last;
-			}
-		}
-	} else {
-		$sErrorNumber = '202' ;
-	}
-	$sFileName	=~ s/"/\\"/g;
-
-	SendUploadResults($sErrorNumber, $GLOBALS{'UserFilesPath'}.$resourceType.$currentFolder.$sFileName, $sFileName, '');
-}
-
-sub SendUploadResults
-{
-
-	local($sErrorNumber, $sFileUrl, $sFileName, $customMsg) = @_;
-
-	# Minified version of the document.domain automatic fix script (#1919).
-	# The original script can be found at _dev/domain_fix_template.js
-	# Note: in Perl replace \ with \\ and $ with \$
-	print <<EOF;
-Content-type: text/html
-
-<script type="text/javascript">
-(function(){var d=document.domain;while (true){try{var A=window.parent.document.domain;break;}catch(e) {};d=d.replace(/.*?(?:\\.|\$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})();
-
-EOF
-	print 'window.parent.OnUploadCompleted(' . $sErrorNumber . ',"' . JS_cnv($sFileUrl) . '","' . JS_cnv($sFileName) . '","' . JS_cnv($customMsg) . '") ;';
-	print '</script>';
-	exit ;
-}
-
-1;
+#####
+#  FCKeditor - The text editor for Internet - http://www.fckeditor.net
+#  Copyright (C) 2003-2010 Frederico Caldeira Knabben
+#
+#  == BEGIN LICENSE ==
+#
+#  Licensed under the terms of any of the following licenses at your
+#  choice:
+#
+#   - GNU General Public License Version 2 or later (the "GPL")
+#     http://www.gnu.org/licenses/gpl.html
+#
+#   - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+#     http://www.gnu.org/licenses/lgpl.html
+#
+#   - Mozilla Public License Version 1.1 or later (the "MPL")
+#     http://www.mozilla.org/MPL/MPL-1.1.html
+#
+#  == END LICENSE ==
+#
+#  This is the File Manager Connector for Perl.
+#####
+
+sub GetFolders
+{
+
+	local($resourceType, $currentFolder) = @_;
+
+	# Map the virtual path to the local server path.
+	$sServerDir = &ServerMapFolder($resourceType, $currentFolder);
+	print "<Folders>";			# Open the "Folders" node.
+
+	opendir(DIR,"$sServerDir");
+	@files = grep(!/^\.\.?$/,readdir(DIR));
+	closedir(DIR);
+
+	foreach $sFile (@files) {
+		if($sFile != '.' && $sFile != '..' && (-d "$sServerDir$sFile")) {
+			$cnv_filename = &ConvertToXmlAttribute($sFile);
+			print '<Folder name="' . $cnv_filename . '" />';
+		}
+	}
+	print "</Folders>";			# Close the "Folders" node.
+}
+
+sub GetFoldersAndFiles
+{
+
+	local($resourceType, $currentFolder) = @_;
+	# Map the virtual path to the local server path.
+	$sServerDir = &ServerMapFolder($resourceType,$currentFolder);
+
+	# Initialize the output buffers for "Folders" and "Files".
+	$sFolders	= '<Folders>';
+	$sFiles		= '<Files>';
+
+	opendir(DIR,"$sServerDir");
+	@files = grep(!/^\.\.?$/,readdir(DIR));
+	closedir(DIR);
+
+	foreach $sFile (@files) {
+		if($sFile ne '.' && $sFile ne '..') {
+			if(-d "$sServerDir$sFile") {
+				$cnv_filename = &ConvertToXmlAttribute($sFile);
+				$sFolders .= '<Folder name="' . $cnv_filename . '" />' ;
+			} else {
+				($iFileSize,$refdate,$filedate,$fileperm) = (stat("$sServerDir$sFile"))[7,8,9,2];
+				if($iFileSize > 0) {
+					$iFileSize = int($iFileSize / 1024);
+					if($iFileSize < 1) {
+						$iFileSize = 1;
+					}
+				}
+				$cnv_filename = &ConvertToXmlAttribute($sFile);
+				$sFiles	.= '<File name="' . $cnv_filename . '" size="' . $iFileSize . '" />' ;
+			}
+		}
+	}
+	print $sFolders ;
+	print '</Folders>';			# Close the "Folders" node.
+	print $sFiles ;
+	print '</Files>';			# Close the "Files" node.
+}
+
+sub CreateFolder
+{
+
+	local($resourceType, $currentFolder) = @_;
+	$sErrorNumber	= '0' ;
+	$sErrorMsg		= '' ;
+
+	if($FORM{'NewFolderName'} ne "") {
+		$sNewFolderName = $FORM{'NewFolderName'};
+		$sNewFolderName =~ s/\.|\\|\/|\||\:|\?|\*|\"|<|>|[[:cntrl:]]/_/g;
+		# Map the virtual path to the local server path of the current folder.
+		$sServerDir = &ServerMapFolder($resourceType, $currentFolder);
+		if(-w $sServerDir) {
+			$sServerDir .= $sNewFolderName;
+			$sErrorMsg = &CreateServerFolder($sServerDir);
+			if($sErrorMsg == 0) {
+				$sErrorNumber = '0';
+			} elsif($sErrorMsg eq 'Invalid argument' || $sErrorMsg eq 'No such file or directory') {
+				$sErrorNumber = '102';		#// Path too long.
+			} else {
+				$sErrorNumber = '110';
+			}
+		} else {
+			$sErrorNumber = '103';
+		}
+	} else {
+		$sErrorNumber = '102' ;
+	}
+	# Create the "Error" node.
+	$cnv_errmsg = &ConvertToXmlAttribute($sErrorMsg);
+	print '<Error number="' . $sErrorNumber . '" />';
+}
+
+sub FileUpload
+{
+eval("use File::Copy;");
+
+	local($resourceType, $currentFolder) = @_;
+	$allowedExtensions = $allowedExtensions{$resourceType};
+
+	$sErrorNumber = '0' ;
+	$sFileName = '' ;
+	if($new_fname) {
+		# Map the virtual path to the local server path.
+		$sServerDir = &ServerMapFolder($resourceType,$currentFolder);
+
+		# Get the uploaded file name.
+		$sFileName = $new_fname;
+		$sFileName =~ s/\\|\/|\||\:|\?|\*|\"|<|>|[[:cntrl:]]/_/g;
+		$sFileName =~ s/\.(?![^.]*$)/_/g;
+
+		$ext = '';
+		if($sFileName =~ /([^\\\/]*)\.(.*)$/) {
+			$ext  = $2;
+		}
+
+		$allowedRegex = qr/^($allowedExtensions)$/i;
+		if (!($ext =~ $allowedRegex)) {
+			SendUploadResults('202', '', '', '');
+		}
+
+		$sOriginalFileName = $sFileName;
+
+		$iCounter = 0;
+		while(1) {
+			$sFilePath = $sServerDir . $sFileName;
+			if(-e $sFilePath) {
+				$iCounter++ ;
+				($path,$BaseName,$ext) = &RemoveExtension($sOriginalFileName);
+				$sFileName = $BaseName . '(' . $iCounter . ').' . $ext;
+				$sErrorNumber = '201';
+			} else {
+				copy("$img_dir/$new_fname","$sFilePath");
+				if (defined $CHMOD_ON_UPLOAD) {
+					if ($CHMOD_ON_UPLOAD) {
+						umask(000);
+						chmod($CHMOD_ON_UPLOAD,$sFilePath);
+					}
+				}
+				else {
+					umask(000);
+					chmod(0777,$sFilePath);
+				}
+				unlink("$img_dir/$new_fname");
+				last;
+			}
+		}
+	} else {
+		$sErrorNumber = '202' ;
+	}
+	$sFileName	=~ s/"/\\"/g;
+
+	SendUploadResults($sErrorNumber, $GLOBALS{'UserFilesPath'}.$resourceType.$currentFolder.$sFileName, $sFileName, '');
+}
+
+sub SendUploadResults
+{
+
+	local($sErrorNumber, $sFileUrl, $sFileName, $customMsg) = @_;
+
+	# Minified version of the document.domain automatic fix script (#1919).
+	# The original script can be found at _dev/domain_fix_template.js
+	# Note: in Perl replace \ with \\ and $ with \$
+	print <<EOF;
+Content-type: text/html
+
+<script type="text/javascript">
+(function(){var d=document.domain;while (true){try{var A=window.parent.document.domain;break;}catch(e) {};d=d.replace(/.*?(?:\\.|\$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})();
+
+EOF
+	print 'window.parent.OnUploadCompleted(' . $sErrorNumber . ',"' . JS_cnv($sFileUrl) . '","' . JS_cnv($sFileName) . '","' . JS_cnv($customMsg) . '") ;';
+	print '</script>';
+	exit ;
+}
+
+1;
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/perl/config.pl	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/perl/config.pl	Sun Mar 07 22:18:01 2010 +0100
@@ -1,39 +1,39 @@
-#####
-#  FCKeditor - The text editor for Internet - http://www.fckeditor.net
-#  Copyright (C) 2003-2009 Frederico Caldeira Knabben
-#
-#  == BEGIN LICENSE ==
-#
-#  Licensed under the terms of any of the following licenses at your
-#  choice:
-#
-#   - GNU General Public License Version 2 or later (the "GPL")
-#     http://www.gnu.org/licenses/gpl.html
-#
-#   - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
-#     http://www.gnu.org/licenses/lgpl.html
-#
-#   - Mozilla Public License Version 1.1 or later (the "MPL")
-#     http://www.mozilla.org/MPL/MPL-1.1.html
-#
-#  == END LICENSE ==
-#
-#  This is the File Manager Connector for Perl.
-#####
-
-##
-# SECURITY: REMOVE/COMMENT THE FOLLOWING LINE TO ENABLE THIS CONNECTOR.
-##
-&SendError( 1, 'This connector is disabled. Please check the "editor/filemanager/connectors/perl/config.cgi" file' ) ;
-
-$GLOBALS{'UserFilesPath'} = '/userfiles/';
-
-# Map the "UserFiles" path to a local directory.
-$rootpath = &GetRootPath();
-$GLOBALS{'UserFilesDirectory'} = $rootpath . $GLOBALS{'UserFilesPath'};
-
-%allowedExtensions =  ("File", "7z|aiff|asf|avi|bmp|csv|doc|fla|flv|gif|gz|gzip|jpeg|jpg|mid|mov|mp3|mp4|mpc|mpeg|mpg|ods|odt|pdf|png|ppt|pxd|qt|ram|rar|rm|rmi|rmvb|rtf|sdc|sitd|swf|sxc|sxw|tar|tgz|tif|tiff|txt|vsd|wav|wma|wmv|xls|xml|zip",
-"Image", "bmp|gif|jpeg|jpg|png",
-"Flash", "swf|flv",
-"Media", "aiff|asf|avi|bmp|fla|flv|gif|jpeg|jpg|mid|mov|mp3|mp4|mpc|mpeg|mpg|png|qt|ram|rm|rmi|rmvb|swf|tif|tiff|wav|wma|wmv"
-);
+#####
+#  FCKeditor - The text editor for Internet - http://www.fckeditor.net
+#  Copyright (C) 2003-2010 Frederico Caldeira Knabben
+#
+#  == BEGIN LICENSE ==
+#
+#  Licensed under the terms of any of the following licenses at your
+#  choice:
+#
+#   - GNU General Public License Version 2 or later (the "GPL")
+#     http://www.gnu.org/licenses/gpl.html
+#
+#   - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+#     http://www.gnu.org/licenses/lgpl.html
+#
+#   - Mozilla Public License Version 1.1 or later (the "MPL")
+#     http://www.mozilla.org/MPL/MPL-1.1.html
+#
+#  == END LICENSE ==
+#
+#  This is the File Manager Connector for Perl.
+#####
+
+##
+# SECURITY: REMOVE/COMMENT THE FOLLOWING LINE TO ENABLE THIS CONNECTOR.
+##
+&SendError( 1, 'This connector is disabled. Please check the "editor/filemanager/connectors/perl/config.cgi" file' ) ;
+
+$GLOBALS{'UserFilesPath'} = '/userfiles/';
+
+# Map the "UserFiles" path to a local directory.
+$rootpath = &GetRootPath();
+$GLOBALS{'UserFilesDirectory'} = $rootpath . $GLOBALS{'UserFilesPath'};
+
+%allowedExtensions =  ("File", "7z|aiff|asf|avi|bmp|csv|doc|fla|flv|gif|gz|gzip|jpeg|jpg|mid|mov|mp3|mp4|mpc|mpeg|mpg|ods|odt|pdf|png|ppt|pxd|qt|ram|rar|rm|rmi|rmvb|rtf|sdc|sitd|swf|sxc|sxw|tar|tgz|tif|tiff|txt|vsd|wav|wma|wmv|xls|xml|zip",
+"Image", "bmp|gif|jpeg|jpg|png",
+"Flash", "swf|flv",
+"Media", "aiff|asf|avi|bmp|fla|flv|gif|jpeg|jpg|mid|mov|mp3|mp4|mpc|mpeg|mpg|png|qt|ram|rm|rmi|rmvb|swf|tif|tiff|wav|wma|wmv"
+);
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/perl/connector.cgi	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/perl/connector.cgi	Sun Mar 07 22:18:01 2010 +0100
@@ -1,129 +1,129 @@
-#!/usr/bin/env perl
-
-#####
-#  FCKeditor - The text editor for Internet - http://www.fckeditor.net
-#  Copyright (C) 2003-2009 Frederico Caldeira Knabben
-#
-#  == BEGIN LICENSE ==
-#
-#  Licensed under the terms of any of the following licenses at your
-#  choice:
-#
-#   - GNU General Public License Version 2 or later (the "GPL")
-#     http://www.gnu.org/licenses/gpl.html
-#
-#   - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
-#     http://www.gnu.org/licenses/lgpl.html
-#
-#   - Mozilla Public License Version 1.1 or later (the "MPL")
-#     http://www.mozilla.org/MPL/MPL-1.1.html
-#
-#  == END LICENSE ==
-#
-#  This is the File Manager Connector for Perl.
-#####
-
-##
-# ATTENTION: To enable this connector, look for the "SECURITY" comment in config.pl.
-##
-
-## START: Hack for Windows (Not important to understand the editor code... Perl specific).
-if(Windows_check()) {
-	chdir(GetScriptPath($0));
-}
-
-sub Windows_check
-{
-	# IIS,PWS(NT/95)
-	$www_server_os = $^O;
-	# Win98 & NT(SP4)
-	if($www_server_os eq "") { $www_server_os= $ENV{'OS'}; }
-	# AnHTTPd/Omni/IIS
-	if($ENV{'SERVER_SOFTWARE'} =~ /AnWeb|Omni|IIS\//i) { $www_server_os= 'win'; }
-	# Win Apache
-	if($ENV{'WINDIR'} ne "") { $www_server_os= 'win'; }
-	if($www_server_os=~ /win/i) { return(1); }
-	return(0);
-}
-
-sub GetScriptPath {
-	local($path) = @_;
-	if($path =~ /[\:\/\\]/) { $path =~ s/(.*?)[\/\\][^\/\\]+$/$1/; } else { $path = '.'; }
-	$path;
-}
-## END: Hack for IIS
-
-require 'util.pl';
-require 'io.pl';
-require 'basexml.pl';
-require 'commands.pl';
-require 'upload_fck.pl';
-require 'config.pl';
-
-&read_input();
-&DoResponse();
-
-sub DoResponse
-{
-
-	if($FORM{'Command'} eq "" || $FORM{'Type'} eq "" || $FORM{'CurrentFolder'} eq "") {
-		return ;
-	}
-	# Get the main request informaiton.
-	$sCommand		= &specialchar_cnv($FORM{'Command'});
-	$sResourceType	= &specialchar_cnv($FORM{'Type'});
-	$sCurrentFolder	= $FORM{'CurrentFolder'};
-
-	if ( !($sCommand =~ /^(FileUpload|GetFolders|GetFoldersAndFiles|CreateFolder)$/) ) {
-		SendError( 1, "Command not allowed" ) ;
-	}
-
-	if ( !($sResourceType =~ /^(File|Image|Flash|Media)$/) ) {
-		SendError( 1, "Invalid type specified" ) ;
-	}
-
-	# Check the current folder syntax (must begin and start with a slash).
-	if(!($sCurrentFolder =~ /\/$/)) {
-		$sCurrentFolder .= '/';
-	}
-	if(!($sCurrentFolder =~ /^\//)) {
-		$sCurrentFolder = '/' . $sCurrentFolder;
-	}
-
-	# Check for invalid folder paths (..)
-	if ( $sCurrentFolder =~ /(?:\.\.|\\)/ ) {
-		SendError( 102, "" ) ;
-	}
-	if ( $sCurrentFolder =~ /(\/\.)|[[:cntrl:]]|(\/\/)|(\\\\)|([\:\*\?\"\<\>\|])/ ) {
-		SendError( 102, "" ) ;
-	}
-
-	# File Upload doesn't have to Return XML, so it must be intercepted before anything.
-	if($sCommand eq 'FileUpload') {
-		FileUpload($sResourceType,$sCurrentFolder);
-		return ;
-	}
-
-	print << "_HTML_HEAD_";
-Content-Type:text/xml; charset=utf-8
-Pragma: no-cache
-Cache-Control: no-cache
-Expires: Thu, 01 Dec 1994 16:00:00 GMT
-
-_HTML_HEAD_
-
-	&CreateXmlHeader($sCommand,$sResourceType,$sCurrentFolder);
-
-	# Execute the required command.
-	if($sCommand eq 'GetFolders') {
-		&GetFolders($sResourceType,$sCurrentFolder);
-	} elsif($sCommand eq 'GetFoldersAndFiles') {
-		&GetFoldersAndFiles($sResourceType,$sCurrentFolder);
-	} elsif($sCommand eq 'CreateFolder') {
-		&CreateFolder($sResourceType,$sCurrentFolder);
-	}
-
-	&CreateXmlFooter();
-
-	exit ;
-}
+#!/usr/bin/env perl
+
+#####
+#  FCKeditor - The text editor for Internet - http://www.fckeditor.net
+#  Copyright (C) 2003-2010 Frederico Caldeira Knabben
+#
+#  == BEGIN LICENSE ==
+#
+#  Licensed under the terms of any of the following licenses at your
+#  choice:
+#
+#   - GNU General Public License Version 2 or later (the "GPL")
+#     http://www.gnu.org/licenses/gpl.html
+#
+#   - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+#     http://www.gnu.org/licenses/lgpl.html
+#
+#   - Mozilla Public License Version 1.1 or later (the "MPL")
+#     http://www.mozilla.org/MPL/MPL-1.1.html
+#
+#  == END LICENSE ==
+#
+#  This is the File Manager Connector for Perl.
+#####
+
+##
+# ATTENTION: To enable this connector, look for the "SECURITY" comment in config.pl.
+##
+
+## START: Hack for Windows (Not important to understand the editor code... Perl specific).
+if(Windows_check()) {
+	chdir(GetScriptPath($0));
+}
+
+sub Windows_check
+{
+	# IIS,PWS(NT/95)
+	$www_server_os = $^O;
+	# Win98 & NT(SP4)
+	if($www_server_os eq "") { $www_server_os= $ENV{'OS'}; }
+	# AnHTTPd/Omni/IIS
+	if($ENV{'SERVER_SOFTWARE'} =~ /AnWeb|Omni|IIS\//i) { $www_server_os= 'win'; }
+	# Win Apache
+	if($ENV{'WINDIR'} ne "") { $www_server_os= 'win'; }
+	if($www_server_os=~ /win/i) { return(1); }
+	return(0);
+}
+
+sub GetScriptPath {
+	local($path) = @_;
+	if($path =~ /[\:\/\\]/) { $path =~ s/(.*?)[\/\\][^\/\\]+$/$1/; } else { $path = '.'; }
+	$path;
+}
+## END: Hack for IIS
+
+require 'util.pl';
+require 'io.pl';
+require 'basexml.pl';
+require 'commands.pl';
+require 'upload_fck.pl';
+require 'config.pl';
+
+&read_input();
+&DoResponse();
+
+sub DoResponse
+{
+
+	if($FORM{'Command'} eq "" || $FORM{'Type'} eq "" || $FORM{'CurrentFolder'} eq "") {
+		return ;
+	}
+	# Get the main request informaiton.
+	$sCommand		= &specialchar_cnv($FORM{'Command'});
+	$sResourceType	= &specialchar_cnv($FORM{'Type'});
+	$sCurrentFolder	= $FORM{'CurrentFolder'};
+
+	if ( !($sCommand =~ /^(FileUpload|GetFolders|GetFoldersAndFiles|CreateFolder)$/) ) {
+		SendError( 1, "Command not allowed" ) ;
+	}
+
+	if ( !($sResourceType =~ /^(File|Image|Flash|Media)$/) ) {
+		SendError( 1, "Invalid type specified" ) ;
+	}
+
+	# Check the current folder syntax (must begin and start with a slash).
+	if(!($sCurrentFolder =~ /\/$/)) {
+		$sCurrentFolder .= '/';
+	}
+	if(!($sCurrentFolder =~ /^\//)) {
+		$sCurrentFolder = '/' . $sCurrentFolder;
+	}
+
+	# Check for invalid folder paths (..)
+	if ( $sCurrentFolder =~ /(?:\.\.|\\)/ ) {
+		SendError( 102, "" ) ;
+	}
+	if ( $sCurrentFolder =~ /(\/\.)|[[:cntrl:]]|(\/\/)|(\\\\)|([\:\*\?\"\<\>\|])/ ) {
+		SendError( 102, "" ) ;
+	}
+
+	# File Upload doesn't have to Return XML, so it must be intercepted before anything.
+	if($sCommand eq 'FileUpload') {
+		FileUpload($sResourceType,$sCurrentFolder);
+		return ;
+	}
+
+	print << "_HTML_HEAD_";
+Content-Type:text/xml; charset=utf-8
+Pragma: no-cache
+Cache-Control: no-cache
+Expires: Thu, 01 Dec 1994 16:00:00 GMT
+
+_HTML_HEAD_
+
+	&CreateXmlHeader($sCommand,$sResourceType,$sCurrentFolder);
+
+	# Execute the required command.
+	if($sCommand eq 'GetFolders') {
+		&GetFolders($sResourceType,$sCurrentFolder);
+	} elsif($sCommand eq 'GetFoldersAndFiles') {
+		&GetFoldersAndFiles($sResourceType,$sCurrentFolder);
+	} elsif($sCommand eq 'CreateFolder') {
+		&CreateFolder($sResourceType,$sCurrentFolder);
+	}
+
+	&CreateXmlFooter();
+
+	exit ;
+}
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/perl/io.pl	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/perl/io.pl	Sun Mar 07 22:18:01 2010 +0100
@@ -1,141 +1,141 @@
-#####
-#  FCKeditor - The text editor for Internet - http://www.fckeditor.net
-#  Copyright (C) 2003-2009 Frederico Caldeira Knabben
-#
-#  == BEGIN LICENSE ==
-#
-#  Licensed under the terms of any of the following licenses at your
-#  choice:
-#
-#   - GNU General Public License Version 2 or later (the "GPL")
-#     http://www.gnu.org/licenses/gpl.html
-#
-#   - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
-#     http://www.gnu.org/licenses/lgpl.html
-#
-#   - Mozilla Public License Version 1.1 or later (the "MPL")
-#     http://www.mozilla.org/MPL/MPL-1.1.html
-#
-#  == END LICENSE ==
-#
-#  This is the File Manager Connector for Perl.
-#####
-
-sub GetUrlFromPath
-{
-	local($resourceType, $folderPath) = @_;
-
-	if($resourceType eq '') {
-		$rmpath = &RemoveFromEnd($GLOBALS{'UserFilesPath'},'/');
-		return("$rmpath$folderPath");
-	} else {
-		return("$GLOBALS{'UserFilesPath'}$resourceType$folderPath");
-	}
-}
-
-sub RemoveExtension
-{
-	local($fileName) = @_;
-	local($path, $base, $ext);
-	if($fileName !~ /\./) {
-		$fileName .= '.';
-	}
-	if($fileName =~ /([^\\\/]*)\.(.*)$/) {
-		$base = $1;
-		$ext  = $2;
-		if($fileName =~ /(.*)$base\.$ext$/) {
-			$path = $1;
-		}
-	}
-	return($path,$base,$ext);
-
-}
-
-sub ServerMapFolder
-{
-	local($resourceType,$folderPath) = @_;
-
-	# Get the resource type directory.
-	$sResourceTypePath = $GLOBALS{'UserFilesDirectory'} . $resourceType . '/';
-
-	# Ensure that the directory exists.
-	&CreateServerFolder($sResourceTypePath);
-
-	# Return the resource type directory combined with the required path.
-	$rmpath = &RemoveFromStart($folderPath,'/');
-	return("$sResourceTypePath$rmpath");
-}
-
-sub GetParentFolder
-{
-	local($folderPath) = @_;
-
-	$folderPath =~ s/[\/][^\/]+[\/]?$//g;
-	return $folderPath;
-}
-
-sub CreateServerFolder
-{
-	local($folderPath) = @_;
-
-	$sParent = &GetParentFolder($folderPath);
-	# Check if the parent exists, or create it.
-	if(!(-e $sParent)) {
-		$sErrorMsg = &CreateServerFolder($sParent);
-		if($sErrorMsg == 1) {
-			return(1);
-		}
-	}
-	if(!(-e $folderPath)) {
-		if (defined $CHMOD_ON_FOLDER_CREATE && !$CHMOD_ON_FOLDER_CREATE) {
-			mkdir("$folderPath");
-		}
-		else {
-			umask(000);
-			if (defined $CHMOD_ON_FOLDER_CREATE) {
-				mkdir("$folderPath",$CHMOD_ON_FOLDER_CREATE);
-			}
-			else {
-				mkdir("$folderPath",0777);
-			}
-		}
-
-		return(0);
-	} else {
-		return(1);
-	}
-}
-
-sub GetRootPath
-{
-#use Cwd;
-
-#	my $dir = getcwd;
-#	print $dir;
-#	$dir  =~ s/$ENV{'DOCUMENT_ROOT'}//g;
-#	print $dir;
-#	return($dir);
-
-#	$wk = $0;
-#	$wk =~ s/\/connector\.cgi//g;
-#	if($wk) {
-#		$current_dir = $wk;
-#	} else {
-#		$current_dir = `pwd`;
-#	}
-#	return($current_dir);
-use Cwd;
-
-	if($ENV{'DOCUMENT_ROOT'}) {
-		$dir = $ENV{'DOCUMENT_ROOT'};
-	} else {
-		my $dir = getcwd;
-		$workdir =~ s/\/connector\.cgi//g;
-		$dir  =~ s/$workdir//g;
-	}
-	return($dir);
-
-
-
-}
-1;
+#####
+#  FCKeditor - The text editor for Internet - http://www.fckeditor.net
+#  Copyright (C) 2003-2010 Frederico Caldeira Knabben
+#
+#  == BEGIN LICENSE ==
+#
+#  Licensed under the terms of any of the following licenses at your
+#  choice:
+#
+#   - GNU General Public License Version 2 or later (the "GPL")
+#     http://www.gnu.org/licenses/gpl.html
+#
+#   - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+#     http://www.gnu.org/licenses/lgpl.html
+#
+#   - Mozilla Public License Version 1.1 or later (the "MPL")
+#     http://www.mozilla.org/MPL/MPL-1.1.html
+#
+#  == END LICENSE ==
+#
+#  This is the File Manager Connector for Perl.
+#####
+
+sub GetUrlFromPath
+{
+	local($resourceType, $folderPath) = @_;
+
+	if($resourceType eq '') {
+		$rmpath = &RemoveFromEnd($GLOBALS{'UserFilesPath'},'/');
+		return("$rmpath$folderPath");
+	} else {
+		return("$GLOBALS{'UserFilesPath'}$resourceType$folderPath");
+	}
+}
+
+sub RemoveExtension
+{
+	local($fileName) = @_;
+	local($path, $base, $ext);
+	if($fileName !~ /\./) {
+		$fileName .= '.';
+	}
+	if($fileName =~ /([^\\\/]*)\.(.*)$/) {
+		$base = $1;
+		$ext  = $2;
+		if($fileName =~ /(.*)$base\.$ext$/) {
+			$path = $1;
+		}
+	}
+	return($path,$base,$ext);
+
+}
+
+sub ServerMapFolder
+{
+	local($resourceType,$folderPath) = @_;
+
+	# Get the resource type directory.
+	$sResourceTypePath = $GLOBALS{'UserFilesDirectory'} . $resourceType . '/';
+
+	# Ensure that the directory exists.
+	&CreateServerFolder($sResourceTypePath);
+
+	# Return the resource type directory combined with the required path.
+	$rmpath = &RemoveFromStart($folderPath,'/');
+	return("$sResourceTypePath$rmpath");
+}
+
+sub GetParentFolder
+{
+	local($folderPath) = @_;
+
+	$folderPath =~ s/[\/][^\/]+[\/]?$//g;
+	return $folderPath;
+}
+
+sub CreateServerFolder
+{
+	local($folderPath) = @_;
+
+	$sParent = &GetParentFolder($folderPath);
+	# Check if the parent exists, or create it.
+	if(!(-e $sParent)) {
+		$sErrorMsg = &CreateServerFolder($sParent);
+		if($sErrorMsg == 1) {
+			return(1);
+		}
+	}
+	if(!(-e $folderPath)) {
+		if (defined $CHMOD_ON_FOLDER_CREATE && !$CHMOD_ON_FOLDER_CREATE) {
+			mkdir("$folderPath");
+		}
+		else {
+			umask(000);
+			if (defined $CHMOD_ON_FOLDER_CREATE) {
+				mkdir("$folderPath",$CHMOD_ON_FOLDER_CREATE);
+			}
+			else {
+				mkdir("$folderPath",0777);
+			}
+		}
+
+		return(0);
+	} else {
+		return(1);
+	}
+}
+
+sub GetRootPath
+{
+#use Cwd;
+
+#	my $dir = getcwd;
+#	print $dir;
+#	$dir  =~ s/$ENV{'DOCUMENT_ROOT'}//g;
+#	print $dir;
+#	return($dir);
+
+#	$wk = $0;
+#	$wk =~ s/\/connector\.cgi//g;
+#	if($wk) {
+#		$current_dir = $wk;
+#	} else {
+#		$current_dir = `pwd`;
+#	}
+#	return($current_dir);
+use Cwd;
+
+	if($ENV{'DOCUMENT_ROOT'}) {
+		$dir = $ENV{'DOCUMENT_ROOT'};
+	} else {
+		my $dir = getcwd;
+		$workdir =~ s/\/connector\.cgi//g;
+		$dir  =~ s/$workdir//g;
+	}
+	return($dir);
+
+
+
+}
+1;
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/perl/upload.cgi	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/perl/upload.cgi	Sun Mar 07 22:18:01 2010 +0100
@@ -1,87 +1,87 @@
-#!/usr/bin/env perl
-
-#####
-#  FCKeditor - The text editor for Internet - http://www.fckeditor.net
-#  Copyright (C) 2003-2009 Frederico Caldeira Knabben
-#
-#  == BEGIN LICENSE ==
-#
-#  Licensed under the terms of any of the following licenses at your
-#  choice:
-#
-#   - GNU General Public License Version 2 or later (the "GPL")
-#     http://www.gnu.org/licenses/gpl.html
-#
-#   - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
-#     http://www.gnu.org/licenses/lgpl.html
-#
-#   - Mozilla Public License Version 1.1 or later (the "MPL")
-#     http://www.mozilla.org/MPL/MPL-1.1.html
-#
-#  == END LICENSE ==
-#
-#  This is the File Manager Connector for Perl.
-#####
-
-##
-# ATTENTION: To enable this connector, look for the "SECURITY" comment in config.pl.
-##
-
-## START: Hack for Windows (Not important to understand the editor code... Perl specific).
-if(Windows_check()) {
-	chdir(GetScriptPath($0));
-}
-
-sub Windows_check
-{
-	# IIS,PWS(NT/95)
-	$www_server_os = $^O;
-	# Win98 & NT(SP4)
-	if($www_server_os eq "") { $www_server_os= $ENV{'OS'}; }
-	# AnHTTPd/Omni/IIS
-	if($ENV{'SERVER_SOFTWARE'} =~ /AnWeb|Omni|IIS\//i) { $www_server_os= 'win'; }
-	# Win Apache
-	if($ENV{'WINDIR'} ne "") { $www_server_os= 'win'; }
-	if($www_server_os=~ /win/i) { return(1); }
-	return(0);
-}
-
-sub GetScriptPath {
-	local($path) = @_;
-	if($path =~ /[\:\/\\]/) { $path =~ s/(.*?)[\/\\][^\/\\]+$/$1/; } else { $path = '.'; }
-	$path;
-}
-## END: Hack for IIS
-
-require 'util.pl';
-require 'io.pl';
-require 'basexml.pl';
-require 'commands.pl';
-require 'upload_fck.pl';
-require 'config.pl';
-
-&read_input();
-&DoResponse();
-
-sub DoResponse
-{
-	# Get the main request information.
-	$sCommand		= 'FileUpload';
-	$sResourceType	= &specialchar_cnv($FORM{'Type'});
-	$sCurrentFolder	= "/";
-
-	if ($sResourceType eq '') {
-		$sResourceType = 'File' ;
-	}
-
-	if ( !($sResourceType =~ /^(File|Image|Flash|Media)$/) ) {
-		SendError( 1, "Invalid type specified" ) ;
-	}
-
-	# File Upload doesn't have to Return XML, so it must be intercepted before anything.
-	if($sCommand eq 'FileUpload') {
-		FileUpload($sResourceType,$sCurrentFolder);
-		return ;
-	}
-
-}
+#!/usr/bin/env perl
+
+#####
+#  FCKeditor - The text editor for Internet - http://www.fckeditor.net
+#  Copyright (C) 2003-2010 Frederico Caldeira Knabben
+#
+#  == BEGIN LICENSE ==
+#
+#  Licensed under the terms of any of the following licenses at your
+#  choice:
+#
+#   - GNU General Public License Version 2 or later (the "GPL")
+#     http://www.gnu.org/licenses/gpl.html
+#
+#   - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+#     http://www.gnu.org/licenses/lgpl.html
+#
+#   - Mozilla Public License Version 1.1 or later (the "MPL")
+#     http://www.mozilla.org/MPL/MPL-1.1.html
+#
+#  == END LICENSE ==
+#
+#  This is the File Manager Connector for Perl.
+#####
+
+##
+# ATTENTION: To enable this connector, look for the "SECURITY" comment in config.pl.
+##
+
+## START: Hack for Windows (Not important to understand the editor code... Perl specific).
+if(Windows_check()) {
+	chdir(GetScriptPath($0));
+}
+
+sub Windows_check
+{
+	# IIS,PWS(NT/95)
+	$www_server_os = $^O;
+	# Win98 & NT(SP4)
+	if($www_server_os eq "") { $www_server_os= $ENV{'OS'}; }
+	# AnHTTPd/Omni/IIS
+	if($ENV{'SERVER_SOFTWARE'} =~ /AnWeb|Omni|IIS\//i) { $www_server_os= 'win'; }
+	# Win Apache
+	if($ENV{'WINDIR'} ne "") { $www_server_os= 'win'; }
+	if($www_server_os=~ /win/i) { return(1); }
+	return(0);
+}
+
+sub GetScriptPath {
+	local($path) = @_;
+	if($path =~ /[\:\/\\]/) { $path =~ s/(.*?)[\/\\][^\/\\]+$/$1/; } else { $path = '.'; }
+	$path;
+}
+## END: Hack for IIS
+
+require 'util.pl';
+require 'io.pl';
+require 'basexml.pl';
+require 'commands.pl';
+require 'upload_fck.pl';
+require 'config.pl';
+
+&read_input();
+&DoResponse();
+
+sub DoResponse
+{
+	# Get the main request information.
+	$sCommand		= 'FileUpload';
+	$sResourceType	= &specialchar_cnv($FORM{'Type'});
+	$sCurrentFolder	= "/";
+
+	if ($sResourceType eq '') {
+		$sResourceType = 'File' ;
+	}
+
+	if ( !($sResourceType =~ /^(File|Image|Flash|Media)$/) ) {
+		SendError( 1, "Invalid type specified" ) ;
+	}
+
+	# File Upload doesn't have to Return XML, so it must be intercepted before anything.
+	if($sCommand eq 'FileUpload') {
+		FileUpload($sResourceType,$sCurrentFolder);
+		return ;
+	}
+
+}
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/perl/upload_fck.pl	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/perl/upload_fck.pl	Sun Mar 07 22:18:01 2010 +0100
@@ -1,686 +1,686 @@
-#####
-#  FCKeditor - The text editor for Internet - http://www.fckeditor.net
-#  Copyright (C) 2003-2009 Frederico Caldeira Knabben
-#
-#  == BEGIN LICENSE ==
-#
-#  Licensed under the terms of any of the following licenses at your
-#  choice:
-#
-#   - GNU General Public License Version 2 or later (the "GPL")
-#     http://www.gnu.org/licenses/gpl.html
-#
-#   - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
-#     http://www.gnu.org/licenses/lgpl.html
-#
-#   - Mozilla Public License Version 1.1 or later (the "MPL")
-#     http://www.mozilla.org/MPL/MPL-1.1.html
-#
-#  == END LICENSE ==
-#
-#  This is the File Manager Connector for Perl.
-#####
-
-# image data save dir
-$img_dir	= './temp/';
-
-
-# File size max(unit KB)
-$MAX_CONTENT_SIZE =  30000;
-
-# After file is uploaded, sometimes it is required to change its permissions
-# so that it was possible to access it at the later time.
-# If possible, it is recommended to set more restrictive permissions, like 0755.
-# Set to 0 to disable this feature.
-$CHMOD_ON_UPLOAD = 0777;
-
-# See comments above.
-# Used when creating folders that does not exist.
-$CHMOD_ON_FOLDER_CREATE = 0755;
-
-# Filelock (1=use,0=not use)
-$PM{'flock'}		= '1';
-
-
-# upload Content-Type list
-my %UPLOAD_CONTENT_TYPE_LIST = (
-	'image/(x-)?png'						=>	'png',	# PNG image
-	'image/p?jpe?g'							=>	'jpg',	# JPEG image
-	'image/gif'								=>	'gif',	# GIF image
-	'image/x-xbitmap'						=>	'xbm',	# XBM image
-
-	'image/(x-(MS-)?)?bmp'					=>	'bmp',	# Windows BMP image
-	'image/pict'							=>	'pict',	# Macintosh PICT image
-	'image/tiff'							=>	'tif',	# TIFF image
-	'application/pdf'						=>	'pdf',	# PDF image
-	'application/x-shockwave-flash'			=>	'swf',	# Shockwave Flash
-
-	'video/(x-)?msvideo'					=>	'avi',	# Microsoft Video
-	'video/quicktime'						=>	'mov',	# QuickTime Video
-	'video/mpeg'							=>	'mpeg',	# MPEG Video
-	'video/x-mpeg2'							=>	'mpv2', # MPEG2 Video
-
-	'audio/(x-)?midi?'						=>	'mid',	# MIDI Audio
-	'audio/(x-)?wav'						=>	'wav',	# WAV Audio
-	'audio/basic'							=>	'au',	# ULAW Audio
-	'audio/mpeg'							=>	'mpga',	# MPEG Audio
-
-	'application/(x-)?zip(-compressed)?'	=>	'zip',	# ZIP Compress
-
-	'text/html'								=>	'html', # HTML
-	'text/plain'							=>	'txt',	# TEXT
-	'(?:application|text)/(?:rtf|richtext)'	=>	'rtf',	# RichText
-
-	'application/msword'					=>	'doc',	# Microsoft Word
-	'application/vnd.ms-excel'				=>	'xls',	# Microsoft Excel
-
-	''
-);
-
-# Upload is permitted.
-# A regular expression is possible.
-my %UPLOAD_EXT_LIST = (
-	'png'					=>	'PNG image',
-	'p?jpe?g|jpe|jfif|pjp'	=>	'JPEG image',
-	'gif'					=>	'GIF image',
-	'xbm'					=>	'XBM image',
-
-	'bmp|dib|rle'			=>	'Windows BMP image',
-	'pi?ct'					=>	'Macintosh PICT image',
-	'tiff?'					=>	'TIFF image',
-	'pdf'					=>	'PDF image',
-	'swf'					=>	'Shockwave Flash',
-
-	'avi'					=>	'Microsoft Video',
-	'moo?v|qt'				=>	'QuickTime Video',
-	'm(p(e?gv?|e|v)|1v)'	=>	'MPEG Video',
-	'mp(v2|2v)'				=>	'MPEG2 Video',
-
-	'midi?|kar|smf|rmi|mff'	=>	'MIDI Audio',
-	'wav'					=>	'WAVE Audio',
-	'au|snd'				=>	'ULAW Audio',
-	'mp(e?ga|2|a|3)|abs'	=>	'MPEG Audio',
-
-	'zip'					=>	'ZIP Compress',
-	'lzh'					=>	'LZH Compress',
-	'cab'					=>	'CAB Compress',
-
-	'd?html?'				=>	'HTML',
-	'rtf|rtx'				=>	'RichText',
-	'txt|text'				=>	'Text',
-
-	''
-);
-
-
-# sjis or euc
-my $CHARCODE = 'sjis';
-
-$TRANS_2BYTE_CODE = 0;
-
-##############################################################################
-# Summary
-#
-# Form Read input
-#
-# Parameters
-# Returns
-# Memo
-##############################################################################
-sub read_input
-{
-eval("use File::Copy;");
-eval("use File::Path;");
-
-	my ($FORM) = @_;
-
-	if (defined $CHMOD_ON_FOLDER_CREATE && !$CHMOD_ON_FOLDER_CREATE) {
-		mkdir("$img_dir");
-	}
-	else {
-		umask(000);
-		if (defined $CHMOD_ON_FOLDER_CREATE) {
-			mkdir("$img_dir",$CHMOD_ON_FOLDER_CREATE);
-		}
-		else {
-			mkdir("$img_dir",0777);
-		}
-	}
-
-	undef $img_data_exists;
-	undef @NEWFNAMES;
-	undef @NEWFNAME_DATA;
-
-	if($ENV{'CONTENT_LENGTH'} > 10000000 || $ENV{'CONTENT_LENGTH'} > $MAX_CONTENT_SIZE * 1024) {
-		&upload_error(
-			'Size Error',
-			sprintf(
-				"Transmitting size is too large.MAX <strong>%d KB</strong> Now Size <strong>%d KB</strong>(<strong>%d bytes</strong> Over)",
-				$MAX_CONTENT_SIZE,
-				int($ENV{'CONTENT_LENGTH'} / 1024),
-				$ENV{'CONTENT_LENGTH'} - $MAX_CONTENT_SIZE * 1024
-			)
-		);
-	}
-
-	my $Buffer;
-	if($ENV{'CONTENT_TYPE'} =~ /multipart\/form-data/) {
-		# METHOD POST only
-		return	unless($ENV{'CONTENT_LENGTH'});
-
-		binmode(STDIN);
-		# STDIN A pause character is detected.'(MacIE3.0 boundary of $ENV{'CONTENT_TYPE'} cannot be trusted.)
-		my $Boundary = <STDIN>;
-		$Boundary =~ s/\x0D\x0A//;
-		$Boundary = quotemeta($Boundary);
-		while(<STDIN>) {
-			if(/^\s*Content-Disposition:/i) {
-				my($name,$ContentType,$FileName);
-				# form data get
-				if(/\bname="([^"]+)"/i || /\bname=([^\s:;]+)/i) {
-					$name = $1;
-					$name	=~ tr/+/ /;
-					$name	=~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
-					&Encode(\$name);
-				}
-				if(/\bfilename="([^"]*)"/i || /\bfilename=([^\s:;]*)/i) {
-					$FileName = $1 || 'unknown';
-				}
-				# head read
-				while(<STDIN>) {
-					last	if(! /\w/);
-					if(/^\s*Content-Type:\s*"([^"]+)"/i || /^\s*Content-Type:\s*([^\s:;]+)/i) {
-						$ContentType = $1;
-					}
-				}
-				# body read
-				$value = "";
-				while(<STDIN>) {
-					last	if(/^$Boundary/o);
-					$value .= $_;
-				};
-				$lastline = $_;
-				$value =~s /\x0D\x0A$//;
-				if($value ne '') {
-					if($FileName || $ContentType) {
-						$img_data_exists = 1;
-						(
-							$FileName,		#
-							$Ext,			#
-							$Length,		#
-							$ImageWidth,	#
-							$ImageHeight,	#
-							$ContentName	#
-						) = &CheckContentType(\$value,$FileName,$ContentType);
-
-						$FORM{$name}	= $FileName;
-						$new_fname		= $FileName;
-						push(@NEWFNAME_DATA,"$FileName\t$Ext\t$Length\t$ImageWidth\t$ImageHeight\t$ContentName");
-
-						# Multi-upload correspondence
-						push(@NEWFNAMES,$new_fname);
-						open(OUT,">$img_dir/$new_fname");
-						binmode(OUT);
-						eval "flock(OUT,2);" if($PM{'flock'} == 1);
-						print OUT $value;
-						eval "flock(OUT,8);" if($PM{'flock'} == 1);
-						close(OUT);
-
-					} elsif($name) {
-						$value	=~ tr/+/ /;
-						$value	=~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
-						&Encode(\$value,'trans');
-						$FORM{$name} .= "\0"			if(defined($FORM{$name}));
-						$FORM{$name} .= $value;
-					}
-				}
-			};
-			last if($lastline =~ /^$Boundary\-\-/o);
-		}
-	} elsif($ENV{'CONTENT_LENGTH'}) {
-		read(STDIN,$Buffer,$ENV{'CONTENT_LENGTH'});
-	}
-	foreach(split(/&/,$Buffer),split(/&/,$ENV{'QUERY_STRING'})) {
-		my($name, $value) = split(/=/);
-		$name	=~ tr/+/ /;
-		$name	=~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
-		$value	=~ tr/+/ /;
-		$value	=~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
-
-		&Encode(\$name);
-		&Encode(\$value,'trans');
-		$FORM{$name} .= "\0"			if(defined($FORM{$name}));
-		$FORM{$name} .= $value;
-
-	}
-
-}
-
-##############################################################################
-# Summary
-#
-#	CheckContentType
-#
-# Parameters
-# Returns
-# Memo
-##############################################################################
-sub CheckContentType
-{
-
-	my($DATA,$FileName,$ContentType) = @_;
-	my($Ext,$ImageWidth,$ImageHeight,$ContentName,$Infomation);
-	my $DataLength = length($$DATA);
-
-	# An unknown file type
-
-	$_ = $ContentType;
-	my $UnknownType = (
-		!$_
-		|| /^application\/(x-)?macbinary$/i
-		|| /^application\/applefile$/i
-		|| /^application\/octet-stream$/i
-		|| /^text\/plane$/i
-		|| /^x-unknown-content-type/i
-	);
-
-	# MacBinary(Mac Unnecessary data are deleted.)
-	if($UnknownType || $ENV{'HTTP_USER_AGENT'} =~ /Macintosh|Mac_/) {
-		if($DataLength > 128 && !unpack("C",substr($$DATA,0,1)) && !unpack("C",substr($$DATA,74,1)) && !unpack("C",substr($$DATA,82,1)) ) {
-			my $MacBinary_ForkLength = unpack("N", substr($$DATA, 83, 4));		# ForkLength Get
-			my $MacBinary_FileName = quotemeta(substr($$DATA, 2, unpack("C",substr($$DATA, 1, 1))));
-			if($MacBinary_FileName && $MacBinary_ForkLength && $DataLength >= $MacBinary_ForkLength + 128
-					&& ($FileName =~ /$MacBinary_FileName/i || substr($$DATA,102,4) eq 'mBIN')) {	# DATA TOP 128byte MacBinary!!
-				$$DATA				= substr($$DATA,128,$MacBinary_ForkLength);
-				my $ResourceLength	= $DataLength - $MacBinary_ForkLength - 128;
-				$DataLength			= $MacBinary_ForkLength;
-			}
-		}
-	}
-
-	# A file name is changed into EUC.
-#	&jcode::convert(\$FileName,'euc',$FormCodeDefault);
-#	&jcode::h2z_euc(\$FileName);
-	$FileName =~ s/^.*\\//;					# Windows, Mac
-	$FileName =~ s/^.*\///;					# UNIX
-	$FileName =~ s/&/&amp;/g;
-	$FileName =~ s/"/&quot;/g;
-	$FileName =~ s/</&lt;/g;
-	$FileName =~ s/>/&gt;/g;
-#
-#	if($CHARCODE ne 'euc') {
-#		&jcode::convert(\$FileName,$CHARCODE,'euc');
-#	}
-
-	# An extension is extracted and it changes into a small letter.
-	my $FileExt;
-	if($FileName =~ /\.(\w+)$/) {
-		$FileExt = $1;
-		$FileExt =~ tr/A-Z/a-z/;
-	}
-
-	# Executable file detection (ban on upload)
-	if($$DATA =~ /^MZ/) {
-		$Ext = 'exe';
-	}
-	# text
-	if(!$Ext && ($UnknownType || $ContentType =~ /^text\//i || $ContentType =~ /^application\/(?:rtf|richtext)$/i || $ContentType =~ /^image\/x-xbitmap$/i)
-				&& ! $$DATA =~ /[\000-\006\177\377]/) {
-#		$$DATA =~ s/\x0D\x0A/\n/g;
-#		$$DATA =~ tr/\x0D\x0A/\n\n/;
-#
-#		if(
-#			$$DATA =~ /<\s*SCRIPT(?:.|\n)*?>/i
-#				|| $$DATA =~ /<\s*(?:.|\n)*?\bONLOAD\s*=(?:.|\n)*?>/i
-#				|| $$DATA =~ /<\s*(?:.|\n)*?\bONCLICK\s*=(?:.|\n)*?>/i
-#				) {
-#			$Infomation = '(JavaScript contains)';
-#		}
-#		if($$DATA =~ /<\s*TABLE(?:.|\n)*?>/i
-#				|| $$DATA =~ /<\s*BLINK(?:.|\n)*?>/i
-#				|| $$DATA =~ /<\s*MARQUEE(?:.|\n)*?>/i
-#				|| $$DATA =~ /<\s*OBJECT(?:.|\n)*?>/i
-#				|| $$DATA =~ /<\s*EMBED(?:.|\n)*?>/i
-#				|| $$DATA =~ /<\s*FRAME(?:.|\n)*?>/i
-#				|| $$DATA =~ /<\s*APPLET(?:.|\n)*?>/i
-#				|| $$DATA =~ /<\s*FORM(?:.|\n)*?>/i
-#				|| $$DATA =~ /<\s*(?:.|\n)*?\bSRC\s*=(?:.|\n)*?>/i
-#				|| $$DATA =~ /<\s*(?:.|\n)*?\bDYNSRC\s*=(?:.|\n)*?>/i
-#				) {
-#			$Infomation = '(the HTML tag which is not safe is included)';
-#		}
-
-		if($FileExt =~ /^txt$/i || $FileExt =~ /^cgi$/i || $FileExt =~ /^pl$/i) {								# Text File
-			$Ext = 'txt';
-		} elsif($ContentType =~ /^text\/html$/i || $FileExt =~ /html?/i || $$DATA =~ /<\s*HTML(?:.|\n)*?>/i) {	# HTML File
-			$Ext = 'html';
-		} elsif($ContentType =~ /^image\/x-xbitmap$/i || $FileExt =~ /^xbm$/i) {								# XBM(x-BitMap) Image
-			my $XbmName = $1;
-			my ($XbmWidth, $XbmHeight);
-			if($$DATA =~ /\#define\s*$XbmName\_width\s*(\d+)/i) {
-				$XbmWidth = $1;
-			}
-			if($$DATA =~ /\#define\s*$XbmName\_height\s*(\d+)/i) {
-				$XbmHeight = $1;
-			}
-			if($XbmWidth && $XbmHeight) {
-				$Ext = 'xbm';
-				$ImageWidth		= $XbmWidth;
-				$ImageHeight	= $XbmHeight;
-			}
-		} else {		#
-			$Ext = 'txt';
-		}
-	}
-
-	# image
-	if(!$Ext && ($UnknownType || $ContentType =~ /^image\//i)) {
-		# PNG
-		if($$DATA =~ /^\x89PNG\x0D\x0A\x1A\x0A/) {
-			if(substr($$DATA, 12, 4) eq 'IHDR') {
-				$Ext = 'png';
-				($ImageWidth, $ImageHeight) = unpack("N2", substr($$DATA, 16, 8));
-			}
-		} elsif($$DATA =~ /^GIF8(?:9|7)a/) {															# GIF89a(modified), GIF89a, GIF87a
-			$Ext = 'gif';
-			($ImageWidth, $ImageHeight) = unpack("v2", substr($$DATA, 6, 4));
-		} elsif($$DATA =~ /^II\x2a\x00\x08\x00\x00\x00/ || $$DATA =~ /^MM\x00\x2a\x00\x00\x00\x08/) {	# TIFF
-			$Ext = 'tif';
-		} elsif($$DATA =~ /^BM/) {																		# BMP
-			$Ext = 'bmp';
-		} elsif($$DATA =~ /^\xFF\xD8\xFF/ || $$DATA =~ /JFIF/) {										# JPEG
-			my $HeaderPoint = index($$DATA, "\xFF\xD8\xFF", 0);
-			my $Point = $HeaderPoint + 2;
-			while($Point < $DataLength) {
-				my($Maker, $MakerType, $MakerLength) = unpack("C2n",substr($$DATA,$Point,4));
-				if($Maker != 0xFF || $MakerType == 0xd9 || $MakerType == 0xda) {
-					last;
-				} elsif($MakerType >= 0xC0 && $MakerType <= 0xC3) {
-					$Ext = 'jpg';
-					($ImageHeight, $ImageWidth) = unpack("n2", substr($$DATA, $Point + 5, 4));
-					if($HeaderPoint > 0) {
-						$$DATA = substr($$DATA, $HeaderPoint);
-						$DataLength = length($$DATA);
-					}
-					last;
-				} else {
-					$Point += $MakerLength + 2;
-				}
-			}
-		}
-	}
-
-	# audio
-	if(!$Ext && ($UnknownType || $ContentType =~ /^audio\//i)) {
-		# MIDI Audio
-		if($$DATA =~ /^MThd/) {
-			$Ext = 'mid';
-		} elsif($$DATA =~ /^\x2esnd/) {		# ULAW Audio
-			$Ext = 'au';
-		} elsif($$DATA =~ /^RIFF/ || $$DATA =~ /^ID3/ && $$DATA =~ /RIFF/) {
-			my $HeaderPoint = index($$DATA, "RIFF", 0);
-			$_ = substr($$DATA, $HeaderPoint + 8, 8);
-			if(/^WAVEfmt $/) {
-				# WAVE
-				if(unpack("V",substr($$DATA, $HeaderPoint + 16, 4)) == 16) {
-					$Ext = 'wav';
-				} else {					# RIFF WAVE MP3
-					$Ext = 'mp3';
-				}
-			} elsif(/^RMIDdata$/) {			# RIFF MIDI
-				$Ext = 'rmi';
-			} elsif(/^RMP3data$/) {			# RIFF MP3
-				$Ext = 'rmp';
-			}
-			if($ContentType =~ /^audio\//i) {
-				$Infomation .= '(RIFF '. substr($$DATA, $HeaderPoint + 8, 4). ')';
-			}
-		}
-	}
-
-	# a binary file
-	unless ($Ext) {
-		# PDF image
-		if($$DATA =~ /^\%PDF/) {
-			# Picture size is not measured.
-			$Ext = 'pdf';
-		} elsif($$DATA =~ /^FWS/) {		# Shockwave Flash
-			$Ext = 'swf';
-		} elsif($$DATA =~ /^RIFF/ || $$DATA =~ /^ID3/ && $$DATA =~ /RIFF/) {
-			my $HeaderPoint = index($$DATA, "RIFF", 0);
-			$_ = substr($$DATA,$HeaderPoint + 8, 8);
-			# AVI
-			if(/^AVI LIST$/) {
-				$Ext = 'avi';
-			}
-			if($ContentType =~ /^video\//i) {
-				$Infomation .= '(RIFF '. substr($$DATA, $HeaderPoint + 8, 4). ')';
-			}
-		} elsif($$DATA =~ /^PK/) {			# ZIP Compress File
-			$Ext = 'zip';
-		} elsif($$DATA =~ /^MSCF/) {		# CAB Compress File
-			$Ext = 'cab';
-		} elsif($$DATA =~ /^Rar\!/) {		# RAR Compress File
-			$Ext = 'rar';
-		} elsif(substr($$DATA, 2, 5) =~ /^\-lh(\d+|d)\-$/) {		# LHA Compress File
-			$Infomation .= "(lh$1)";
-			$Ext = 'lzh';
-		} elsif(substr($$DATA, 325, 25) eq "Apple Video Media Handler" || substr($$DATA, 325, 30) eq "Apple \x83\x72\x83\x66\x83\x49\x81\x45\x83\x81\x83\x66\x83\x42\x83\x41\x83\x6E\x83\x93\x83\x68\x83\x89") {
-			# QuickTime
-			$Ext = 'mov';
-		}
-	}
-
-	# Header analysis failure
-	unless ($Ext) {
-		# It will be followed if it applies for the MIME type from the browser.
-		foreach (keys %UPLOAD_CONTENT_TYPE_LIST) {
-			next unless ($_);
-			if($ContentType =~ /^$_$/i) {
-				$Ext = $UPLOAD_CONTENT_TYPE_LIST{$_};
-				$ContentName = &CheckContentExt($Ext);
-				if(
-					grep {$_ eq $Ext;} (
-						'png',
-						'gif',
-						'jpg',
-						'xbm',
-						'tif',
-						'bmp',
-						'pdf',
-						'swf',
-						'mov',
-						'zip',
-						'cab',
-						'lzh',
-						'rar',
-						'mid',
-						'rmi',
-						'au',
-						'wav',
-						'avi',
-						'exe'
-					)
-				) {
-					$Infomation .= ' / Header analysis failure';
-				}
-				if($Ext ne $FileExt && &CheckContentExt($FileExt) eq $ContentName) {
-					$Ext = $FileExt;
-				}
-				last;
-			}
-		}
-		# a MIME type is unknown--It judges from an extension.
-		unless ($Ext) {
-			$ContentName = &CheckContentExt($FileExt);
-			if($ContentName) {
-				$Ext = $FileExt;
-				$Infomation .= ' /	MIME type is unknown('. $ContentType. ')';
-				last;
-			}
-		}
-	}
-
-#	$ContentName = &CheckContentExt($Ext)	unless($ContentName);
-#	if($Ext && $ContentName) {
-#		$ContentName .=  $Infomation;
-#	} else {
-#		&upload_error(
-#			'Extension Error',
-#			"$FileName A not corresponding extension ($Ext)<BR>The extension which can be responded ". join(',', sort values(%UPLOAD_EXT_LIST))
-#		);
-#	}
-
-#	# SSI Tag Deletion
-#	if($Ext =~ /.?html?/ && $$DATA =~ /<\!/) {
-#		foreach (
-#			'config',
-#			'echo',
-#			'exec',
-#			'flastmod',
-#			'fsize',
-#			'include'
-#		) {
-#			$$DATA =~ s/\#\s*$_/\&\#35\;$_/ig
-#		}
-#	}
-
-	return (
-		$FileName,
-		$Ext,
-		int($DataLength / 1024 + 1),
-		$ImageWidth,
-		$ImageHeight,
-		$ContentName
-	);
-}
-
-##############################################################################
-# Summary
-#
-# Extension discernment
-#
-# Parameters
-# Returns
-# Memo
-##############################################################################
-
-sub CheckContentExt
-{
-
-	my($Ext) = @_;
-	my $ContentName;
-	foreach (keys %UPLOAD_EXT_LIST) {
-		next	unless ($_);
-		if($_ && $Ext =~ /^$_$/) {
-			$ContentName = $UPLOAD_EXT_LIST{$_};
-			last;
-		}
-	}
-	return $ContentName;
-
-}
-
-##############################################################################
-# Summary
-#
-# Form decode
-#
-# Parameters
-# Returns
-# Memo
-##############################################################################
-sub Encode
-{
-
-	my($value,$Trans) = @_;
-
-#	my $FormCode = &jcode::getcode($value) || $FormCodeDefault;
-#	$FormCodeDefault ||= $FormCode;
-#
-#	if($Trans && $TRANS_2BYTE_CODE) {
-#		if($FormCode ne 'euc') {
-#			&jcode::convert($value, 'euc', $FormCode);
-#		}
-#		&jcode::tr(
-#			$value,
-#			"\xA3\xB0-\xA3\xB9\xA3\xC1-\xA3\xDA\xA3\xE1-\xA3\xFA",
-#			'0-9A-Za-z'
-#		);
-#		if($CHARCODE ne 'euc') {
-#			&jcode::convert($value,$CHARCODE,'euc');
-#		}
-#	} else {
-#		if($CHARCODE ne $FormCode) {
-#			&jcode::convert($value,$CHARCODE,$FormCode);
-#		}
-#	}
-#	if($CHARCODE eq 'euc') {
-#		&jcode::h2z_euc($value);
-#	} elsif($CHARCODE eq 'sjis') {
-#		&jcode::h2z_sjis($value);
-#	}
-
-}
-
-##############################################################################
-# Summary
-#
-# Error Msg
-#
-# Parameters
-# Returns
-# Memo
-##############################################################################
-
-sub upload_error
-{
-
-	local($error_message)	= $_[0];
-	local($error_message2)	= $_[1];
-
-	print "Content-type: text/html\n\n";
-	print<<EOF;
-<HTML>
-<HEAD>
-<TITLE>Error Message</TITLE></HEAD>
-<BODY>
-<table border="1" cellspacing="10" cellpadding="10">
-	<TR bgcolor="#0000B0">
-	<TD bgcolor="#0000B0" NOWRAP><font size="-1" color="white"><B>Error Message</B></font></TD>
-	</TR>
-</table>
-<UL>
-<H4> $error_message </H4>
-$error_message2 <BR>
-</UL>
-</BODY>
-</HTML>
-EOF
-	&rm_tmp_uploaded_files; 		# Image Temporary deletion
-	exit;
-}
-
-##############################################################################
-# Summary
-#
-# Image Temporary deletion
-#
-# Parameters
-# Returns
-# Memo
-##############################################################################
-
-sub rm_tmp_uploaded_files
-{
-	if($img_data_exists == 1){
-		sleep 1;
-		foreach $fname_list(@NEWFNAMES) {
-			if(-e "$img_dir/$fname_list") {
-				unlink("$img_dir/$fname_list");
-			}
-		}
-	}
-
-}
-1;
+#####
+#  FCKeditor - The text editor for Internet - http://www.fckeditor.net
+#  Copyright (C) 2003-2010 Frederico Caldeira Knabben
+#
+#  == BEGIN LICENSE ==
+#
+#  Licensed under the terms of any of the following licenses at your
+#  choice:
+#
+#   - GNU General Public License Version 2 or later (the "GPL")
+#     http://www.gnu.org/licenses/gpl.html
+#
+#   - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+#     http://www.gnu.org/licenses/lgpl.html
+#
+#   - Mozilla Public License Version 1.1 or later (the "MPL")
+#     http://www.mozilla.org/MPL/MPL-1.1.html
+#
+#  == END LICENSE ==
+#
+#  This is the File Manager Connector for Perl.
+#####
+
+# image data save dir
+$img_dir	= './temp/';
+
+
+# File size max(unit KB)
+$MAX_CONTENT_SIZE =  30000;
+
+# After file is uploaded, sometimes it is required to change its permissions
+# so that it was possible to access it at the later time.
+# If possible, it is recommended to set more restrictive permissions, like 0755.
+# Set to 0 to disable this feature.
+$CHMOD_ON_UPLOAD = 0777;
+
+# See comments above.
+# Used when creating folders that does not exist.
+$CHMOD_ON_FOLDER_CREATE = 0755;
+
+# Filelock (1=use,0=not use)
+$PM{'flock'}		= '1';
+
+
+# upload Content-Type list
+my %UPLOAD_CONTENT_TYPE_LIST = (
+	'image/(x-)?png'						=>	'png',	# PNG image
+	'image/p?jpe?g'							=>	'jpg',	# JPEG image
+	'image/gif'								=>	'gif',	# GIF image
+	'image/x-xbitmap'						=>	'xbm',	# XBM image
+
+	'image/(x-(MS-)?)?bmp'					=>	'bmp',	# Windows BMP image
+	'image/pict'							=>	'pict',	# Macintosh PICT image
+	'image/tiff'							=>	'tif',	# TIFF image
+	'application/pdf'						=>	'pdf',	# PDF image
+	'application/x-shockwave-flash'			=>	'swf',	# Shockwave Flash
+
+	'video/(x-)?msvideo'					=>	'avi',	# Microsoft Video
+	'video/quicktime'						=>	'mov',	# QuickTime Video
+	'video/mpeg'							=>	'mpeg',	# MPEG Video
+	'video/x-mpeg2'							=>	'mpv2', # MPEG2 Video
+
+	'audio/(x-)?midi?'						=>	'mid',	# MIDI Audio
+	'audio/(x-)?wav'						=>	'wav',	# WAV Audio
+	'audio/basic'							=>	'au',	# ULAW Audio
+	'audio/mpeg'							=>	'mpga',	# MPEG Audio
+
+	'application/(x-)?zip(-compressed)?'	=>	'zip',	# ZIP Compress
+
+	'text/html'								=>	'html', # HTML
+	'text/plain'							=>	'txt',	# TEXT
+	'(?:application|text)/(?:rtf|richtext)'	=>	'rtf',	# RichText
+
+	'application/msword'					=>	'doc',	# Microsoft Word
+	'application/vnd.ms-excel'				=>	'xls',	# Microsoft Excel
+
+	''
+);
+
+# Upload is permitted.
+# A regular expression is possible.
+my %UPLOAD_EXT_LIST = (
+	'png'					=>	'PNG image',
+	'p?jpe?g|jpe|jfif|pjp'	=>	'JPEG image',
+	'gif'					=>	'GIF image',
+	'xbm'					=>	'XBM image',
+
+	'bmp|dib|rle'			=>	'Windows BMP image',
+	'pi?ct'					=>	'Macintosh PICT image',
+	'tiff?'					=>	'TIFF image',
+	'pdf'					=>	'PDF image',
+	'swf'					=>	'Shockwave Flash',
+
+	'avi'					=>	'Microsoft Video',
+	'moo?v|qt'				=>	'QuickTime Video',
+	'm(p(e?gv?|e|v)|1v)'	=>	'MPEG Video',
+	'mp(v2|2v)'				=>	'MPEG2 Video',
+
+	'midi?|kar|smf|rmi|mff'	=>	'MIDI Audio',
+	'wav'					=>	'WAVE Audio',
+	'au|snd'				=>	'ULAW Audio',
+	'mp(e?ga|2|a|3)|abs'	=>	'MPEG Audio',
+
+	'zip'					=>	'ZIP Compress',
+	'lzh'					=>	'LZH Compress',
+	'cab'					=>	'CAB Compress',
+
+	'd?html?'				=>	'HTML',
+	'rtf|rtx'				=>	'RichText',
+	'txt|text'				=>	'Text',
+
+	''
+);
+
+
+# sjis or euc
+my $CHARCODE = 'sjis';
+
+$TRANS_2BYTE_CODE = 0;
+
+##############################################################################
+# Summary
+#
+# Form Read input
+#
+# Parameters
+# Returns
+# Memo
+##############################################################################
+sub read_input
+{
+eval("use File::Copy;");
+eval("use File::Path;");
+
+	my ($FORM) = @_;
+
+	if (defined $CHMOD_ON_FOLDER_CREATE && !$CHMOD_ON_FOLDER_CREATE) {
+		mkdir("$img_dir");
+	}
+	else {
+		umask(000);
+		if (defined $CHMOD_ON_FOLDER_CREATE) {
+			mkdir("$img_dir",$CHMOD_ON_FOLDER_CREATE);
+		}
+		else {
+			mkdir("$img_dir",0777);
+		}
+	}
+
+	undef $img_data_exists;
+	undef @NEWFNAMES;
+	undef @NEWFNAME_DATA;
+
+	if($ENV{'CONTENT_LENGTH'} > 10000000 || $ENV{'CONTENT_LENGTH'} > $MAX_CONTENT_SIZE * 1024) {
+		&upload_error(
+			'Size Error',
+			sprintf(
+				"Transmitting size is too large.MAX <strong>%d KB</strong> Now Size <strong>%d KB</strong>(<strong>%d bytes</strong> Over)",
+				$MAX_CONTENT_SIZE,
+				int($ENV{'CONTENT_LENGTH'} / 1024),
+				$ENV{'CONTENT_LENGTH'} - $MAX_CONTENT_SIZE * 1024
+			)
+		);
+	}
+
+	my $Buffer;
+	if($ENV{'CONTENT_TYPE'} =~ /multipart\/form-data/) {
+		# METHOD POST only
+		return	unless($ENV{'CONTENT_LENGTH'});
+
+		binmode(STDIN);
+		# STDIN A pause character is detected.'(MacIE3.0 boundary of $ENV{'CONTENT_TYPE'} cannot be trusted.)
+		my $Boundary = <STDIN>;
+		$Boundary =~ s/\x0D\x0A//;
+		$Boundary = quotemeta($Boundary);
+		while(<STDIN>) {
+			if(/^\s*Content-Disposition:/i) {
+				my($name,$ContentType,$FileName);
+				# form data get
+				if(/\bname="([^"]+)"/i || /\bname=([^\s:;]+)/i) {
+					$name = $1;
+					$name	=~ tr/+/ /;
+					$name	=~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
+					&Encode(\$name);
+				}
+				if(/\bfilename="([^"]*)"/i || /\bfilename=([^\s:;]*)/i) {
+					$FileName = $1 || 'unknown';
+				}
+				# head read
+				while(<STDIN>) {
+					last	if(! /\w/);
+					if(/^\s*Content-Type:\s*"([^"]+)"/i || /^\s*Content-Type:\s*([^\s:;]+)/i) {
+						$ContentType = $1;
+					}
+				}
+				# body read
+				$value = "";
+				while(<STDIN>) {
+					last	if(/^$Boundary/o);
+					$value .= $_;
+				};
+				$lastline = $_;
+				$value =~s /\x0D\x0A$//;
+				if($value ne '') {
+					if($FileName || $ContentType) {
+						$img_data_exists = 1;
+						(
+							$FileName,		#
+							$Ext,			#
+							$Length,		#
+							$ImageWidth,	#
+							$ImageHeight,	#
+							$ContentName	#
+						) = &CheckContentType(\$value,$FileName,$ContentType);
+
+						$FORM{$name}	= $FileName;
+						$new_fname		= $FileName;
+						push(@NEWFNAME_DATA,"$FileName\t$Ext\t$Length\t$ImageWidth\t$ImageHeight\t$ContentName");
+
+						# Multi-upload correspondence
+						push(@NEWFNAMES,$new_fname);
+						open(OUT,">$img_dir/$new_fname");
+						binmode(OUT);
+						eval "flock(OUT,2);" if($PM{'flock'} == 1);
+						print OUT $value;
+						eval "flock(OUT,8);" if($PM{'flock'} == 1);
+						close(OUT);
+
+					} elsif($name) {
+						$value	=~ tr/+/ /;
+						$value	=~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
+						&Encode(\$value,'trans');
+						$FORM{$name} .= "\0"			if(defined($FORM{$name}));
+						$FORM{$name} .= $value;
+					}
+				}
+			};
+			last if($lastline =~ /^$Boundary\-\-/o);
+		}
+	} elsif($ENV{'CONTENT_LENGTH'}) {
+		read(STDIN,$Buffer,$ENV{'CONTENT_LENGTH'});
+	}
+	foreach(split(/&/,$Buffer),split(/&/,$ENV{'QUERY_STRING'})) {
+		my($name, $value) = split(/=/);
+		$name	=~ tr/+/ /;
+		$name	=~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
+		$value	=~ tr/+/ /;
+		$value	=~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
+
+		&Encode(\$name);
+		&Encode(\$value,'trans');
+		$FORM{$name} .= "\0"			if(defined($FORM{$name}));
+		$FORM{$name} .= $value;
+
+	}
+
+}
+
+##############################################################################
+# Summary
+#
+#	CheckContentType
+#
+# Parameters
+# Returns
+# Memo
+##############################################################################
+sub CheckContentType
+{
+
+	my($DATA,$FileName,$ContentType) = @_;
+	my($Ext,$ImageWidth,$ImageHeight,$ContentName,$Infomation);
+	my $DataLength = length($$DATA);
+
+	# An unknown file type
+
+	$_ = $ContentType;
+	my $UnknownType = (
+		!$_
+		|| /^application\/(x-)?macbinary$/i
+		|| /^application\/applefile$/i
+		|| /^application\/octet-stream$/i
+		|| /^text\/plane$/i
+		|| /^x-unknown-content-type/i
+	);
+
+	# MacBinary(Mac Unnecessary data are deleted.)
+	if($UnknownType || $ENV{'HTTP_USER_AGENT'} =~ /Macintosh|Mac_/) {
+		if($DataLength > 128 && !unpack("C",substr($$DATA,0,1)) && !unpack("C",substr($$DATA,74,1)) && !unpack("C",substr($$DATA,82,1)) ) {
+			my $MacBinary_ForkLength = unpack("N", substr($$DATA, 83, 4));		# ForkLength Get
+			my $MacBinary_FileName = quotemeta(substr($$DATA, 2, unpack("C",substr($$DATA, 1, 1))));
+			if($MacBinary_FileName && $MacBinary_ForkLength && $DataLength >= $MacBinary_ForkLength + 128
+					&& ($FileName =~ /$MacBinary_FileName/i || substr($$DATA,102,4) eq 'mBIN')) {	# DATA TOP 128byte MacBinary!!
+				$$DATA				= substr($$DATA,128,$MacBinary_ForkLength);
+				my $ResourceLength	= $DataLength - $MacBinary_ForkLength - 128;
+				$DataLength			= $MacBinary_ForkLength;
+			}
+		}
+	}
+
+	# A file name is changed into EUC.
+#	&jcode::convert(\$FileName,'euc',$FormCodeDefault);
+#	&jcode::h2z_euc(\$FileName);
+	$FileName =~ s/^.*\\//;					# Windows, Mac
+	$FileName =~ s/^.*\///;					# UNIX
+	$FileName =~ s/&/&amp;/g;
+	$FileName =~ s/"/&quot;/g;
+	$FileName =~ s/</&lt;/g;
+	$FileName =~ s/>/&gt;/g;
+#
+#	if($CHARCODE ne 'euc') {
+#		&jcode::convert(\$FileName,$CHARCODE,'euc');
+#	}
+
+	# An extension is extracted and it changes into a small letter.
+	my $FileExt;
+	if($FileName =~ /\.(\w+)$/) {
+		$FileExt = $1;
+		$FileExt =~ tr/A-Z/a-z/;
+	}
+
+	# Executable file detection (ban on upload)
+	if($$DATA =~ /^MZ/) {
+		$Ext = 'exe';
+	}
+	# text
+	if(!$Ext && ($UnknownType || $ContentType =~ /^text\//i || $ContentType =~ /^application\/(?:rtf|richtext)$/i || $ContentType =~ /^image\/x-xbitmap$/i)
+				&& ! $$DATA =~ /[\000-\006\177\377]/) {
+#		$$DATA =~ s/\x0D\x0A/\n/g;
+#		$$DATA =~ tr/\x0D\x0A/\n\n/;
+#
+#		if(
+#			$$DATA =~ /<\s*SCRIPT(?:.|\n)*?>/i
+#				|| $$DATA =~ /<\s*(?:.|\n)*?\bONLOAD\s*=(?:.|\n)*?>/i
+#				|| $$DATA =~ /<\s*(?:.|\n)*?\bONCLICK\s*=(?:.|\n)*?>/i
+#				) {
+#			$Infomation = '(JavaScript contains)';
+#		}
+#		if($$DATA =~ /<\s*TABLE(?:.|\n)*?>/i
+#				|| $$DATA =~ /<\s*BLINK(?:.|\n)*?>/i
+#				|| $$DATA =~ /<\s*MARQUEE(?:.|\n)*?>/i
+#				|| $$DATA =~ /<\s*OBJECT(?:.|\n)*?>/i
+#				|| $$DATA =~ /<\s*EMBED(?:.|\n)*?>/i
+#				|| $$DATA =~ /<\s*FRAME(?:.|\n)*?>/i
+#				|| $$DATA =~ /<\s*APPLET(?:.|\n)*?>/i
+#				|| $$DATA =~ /<\s*FORM(?:.|\n)*?>/i
+#				|| $$DATA =~ /<\s*(?:.|\n)*?\bSRC\s*=(?:.|\n)*?>/i
+#				|| $$DATA =~ /<\s*(?:.|\n)*?\bDYNSRC\s*=(?:.|\n)*?>/i
+#				) {
+#			$Infomation = '(the HTML tag which is not safe is included)';
+#		}
+
+		if($FileExt =~ /^txt$/i || $FileExt =~ /^cgi$/i || $FileExt =~ /^pl$/i) {								# Text File
+			$Ext = 'txt';
+		} elsif($ContentType =~ /^text\/html$/i || $FileExt =~ /html?/i || $$DATA =~ /<\s*HTML(?:.|\n)*?>/i) {	# HTML File
+			$Ext = 'html';
+		} elsif($ContentType =~ /^image\/x-xbitmap$/i || $FileExt =~ /^xbm$/i) {								# XBM(x-BitMap) Image
+			my $XbmName = $1;
+			my ($XbmWidth, $XbmHeight);
+			if($$DATA =~ /\#define\s*$XbmName\_width\s*(\d+)/i) {
+				$XbmWidth = $1;
+			}
+			if($$DATA =~ /\#define\s*$XbmName\_height\s*(\d+)/i) {
+				$XbmHeight = $1;
+			}
+			if($XbmWidth && $XbmHeight) {
+				$Ext = 'xbm';
+				$ImageWidth		= $XbmWidth;
+				$ImageHeight	= $XbmHeight;
+			}
+		} else {		#
+			$Ext = 'txt';
+		}
+	}
+
+	# image
+	if(!$Ext && ($UnknownType || $ContentType =~ /^image\//i)) {
+		# PNG
+		if($$DATA =~ /^\x89PNG\x0D\x0A\x1A\x0A/) {
+			if(substr($$DATA, 12, 4) eq 'IHDR') {
+				$Ext = 'png';
+				($ImageWidth, $ImageHeight) = unpack("N2", substr($$DATA, 16, 8));
+			}
+		} elsif($$DATA =~ /^GIF8(?:9|7)a/) {															# GIF89a(modified), GIF89a, GIF87a
+			$Ext = 'gif';
+			($ImageWidth, $ImageHeight) = unpack("v2", substr($$DATA, 6, 4));
+		} elsif($$DATA =~ /^II\x2a\x00\x08\x00\x00\x00/ || $$DATA =~ /^MM\x00\x2a\x00\x00\x00\x08/) {	# TIFF
+			$Ext = 'tif';
+		} elsif($$DATA =~ /^BM/) {																		# BMP
+			$Ext = 'bmp';
+		} elsif($$DATA =~ /^\xFF\xD8\xFF/ || $$DATA =~ /JFIF/) {										# JPEG
+			my $HeaderPoint = index($$DATA, "\xFF\xD8\xFF", 0);
+			my $Point = $HeaderPoint + 2;
+			while($Point < $DataLength) {
+				my($Maker, $MakerType, $MakerLength) = unpack("C2n",substr($$DATA,$Point,4));
+				if($Maker != 0xFF || $MakerType == 0xd9 || $MakerType == 0xda) {
+					last;
+				} elsif($MakerType >= 0xC0 && $MakerType <= 0xC3) {
+					$Ext = 'jpg';
+					($ImageHeight, $ImageWidth) = unpack("n2", substr($$DATA, $Point + 5, 4));
+					if($HeaderPoint > 0) {
+						$$DATA = substr($$DATA, $HeaderPoint);
+						$DataLength = length($$DATA);
+					}
+					last;
+				} else {
+					$Point += $MakerLength + 2;
+				}
+			}
+		}
+	}
+
+	# audio
+	if(!$Ext && ($UnknownType || $ContentType =~ /^audio\//i)) {
+		# MIDI Audio
+		if($$DATA =~ /^MThd/) {
+			$Ext = 'mid';
+		} elsif($$DATA =~ /^\x2esnd/) {		# ULAW Audio
+			$Ext = 'au';
+		} elsif($$DATA =~ /^RIFF/ || $$DATA =~ /^ID3/ && $$DATA =~ /RIFF/) {
+			my $HeaderPoint = index($$DATA, "RIFF", 0);
+			$_ = substr($$DATA, $HeaderPoint + 8, 8);
+			if(/^WAVEfmt $/) {
+				# WAVE
+				if(unpack("V",substr($$DATA, $HeaderPoint + 16, 4)) == 16) {
+					$Ext = 'wav';
+				} else {					# RIFF WAVE MP3
+					$Ext = 'mp3';
+				}
+			} elsif(/^RMIDdata$/) {			# RIFF MIDI
+				$Ext = 'rmi';
+			} elsif(/^RMP3data$/) {			# RIFF MP3
+				$Ext = 'rmp';
+			}
+			if($ContentType =~ /^audio\//i) {
+				$Infomation .= '(RIFF '. substr($$DATA, $HeaderPoint + 8, 4). ')';
+			}
+		}
+	}
+
+	# a binary file
+	unless ($Ext) {
+		# PDF image
+		if($$DATA =~ /^\%PDF/) {
+			# Picture size is not measured.
+			$Ext = 'pdf';
+		} elsif($$DATA =~ /^FWS/) {		# Shockwave Flash
+			$Ext = 'swf';
+		} elsif($$DATA =~ /^RIFF/ || $$DATA =~ /^ID3/ && $$DATA =~ /RIFF/) {
+			my $HeaderPoint = index($$DATA, "RIFF", 0);
+			$_ = substr($$DATA,$HeaderPoint + 8, 8);
+			# AVI
+			if(/^AVI LIST$/) {
+				$Ext = 'avi';
+			}
+			if($ContentType =~ /^video\//i) {
+				$Infomation .= '(RIFF '. substr($$DATA, $HeaderPoint + 8, 4). ')';
+			}
+		} elsif($$DATA =~ /^PK/) {			# ZIP Compress File
+			$Ext = 'zip';
+		} elsif($$DATA =~ /^MSCF/) {		# CAB Compress File
+			$Ext = 'cab';
+		} elsif($$DATA =~ /^Rar\!/) {		# RAR Compress File
+			$Ext = 'rar';
+		} elsif(substr($$DATA, 2, 5) =~ /^\-lh(\d+|d)\-$/) {		# LHA Compress File
+			$Infomation .= "(lh$1)";
+			$Ext = 'lzh';
+		} elsif(substr($$DATA, 325, 25) eq "Apple Video Media Handler" || substr($$DATA, 325, 30) eq "Apple \x83\x72\x83\x66\x83\x49\x81\x45\x83\x81\x83\x66\x83\x42\x83\x41\x83\x6E\x83\x93\x83\x68\x83\x89") {
+			# QuickTime
+			$Ext = 'mov';
+		}
+	}
+
+	# Header analysis failure
+	unless ($Ext) {
+		# It will be followed if it applies for the MIME type from the browser.
+		foreach (keys %UPLOAD_CONTENT_TYPE_LIST) {
+			next unless ($_);
+			if($ContentType =~ /^$_$/i) {
+				$Ext = $UPLOAD_CONTENT_TYPE_LIST{$_};
+				$ContentName = &CheckContentExt($Ext);
+				if(
+					grep {$_ eq $Ext;} (
+						'png',
+						'gif',
+						'jpg',
+						'xbm',
+						'tif',
+						'bmp',
+						'pdf',
+						'swf',
+						'mov',
+						'zip',
+						'cab',
+						'lzh',
+						'rar',
+						'mid',
+						'rmi',
+						'au',
+						'wav',
+						'avi',
+						'exe'
+					)
+				) {
+					$Infomation .= ' / Header analysis failure';
+				}
+				if($Ext ne $FileExt && &CheckContentExt($FileExt) eq $ContentName) {
+					$Ext = $FileExt;
+				}
+				last;
+			}
+		}
+		# a MIME type is unknown--It judges from an extension.
+		unless ($Ext) {
+			$ContentName = &CheckContentExt($FileExt);
+			if($ContentName) {
+				$Ext = $FileExt;
+				$Infomation .= ' /	MIME type is unknown('. $ContentType. ')';
+				last;
+			}
+		}
+	}
+
+#	$ContentName = &CheckContentExt($Ext)	unless($ContentName);
+#	if($Ext && $ContentName) {
+#		$ContentName .=  $Infomation;
+#	} else {
+#		&upload_error(
+#			'Extension Error',
+#			"$FileName A not corresponding extension ($Ext)<BR>The extension which can be responded ". join(',', sort values(%UPLOAD_EXT_LIST))
+#		);
+#	}
+
+#	# SSI Tag Deletion
+#	if($Ext =~ /.?html?/ && $$DATA =~ /<\!/) {
+#		foreach (
+#			'config',
+#			'echo',
+#			'exec',
+#			'flastmod',
+#			'fsize',
+#			'include'
+#		) {
+#			$$DATA =~ s/\#\s*$_/\&\#35\;$_/ig
+#		}
+#	}
+
+	return (
+		$FileName,
+		$Ext,
+		int($DataLength / 1024 + 1),
+		$ImageWidth,
+		$ImageHeight,
+		$ContentName
+	);
+}
+
+##############################################################################
+# Summary
+#
+# Extension discernment
+#
+# Parameters
+# Returns
+# Memo
+##############################################################################
+
+sub CheckContentExt
+{
+
+	my($Ext) = @_;
+	my $ContentName;
+	foreach (keys %UPLOAD_EXT_LIST) {
+		next	unless ($_);
+		if($_ && $Ext =~ /^$_$/) {
+			$ContentName = $UPLOAD_EXT_LIST{$_};
+			last;
+		}
+	}
+	return $ContentName;
+
+}
+
+##############################################################################
+# Summary
+#
+# Form decode
+#
+# Parameters
+# Returns
+# Memo
+##############################################################################
+sub Encode
+{
+
+	my($value,$Trans) = @_;
+
+#	my $FormCode = &jcode::getcode($value) || $FormCodeDefault;
+#	$FormCodeDefault ||= $FormCode;
+#
+#	if($Trans && $TRANS_2BYTE_CODE) {
+#		if($FormCode ne 'euc') {
+#			&jcode::convert($value, 'euc', $FormCode);
+#		}
+#		&jcode::tr(
+#			$value,
+#			"\xA3\xB0-\xA3\xB9\xA3\xC1-\xA3\xDA\xA3\xE1-\xA3\xFA",
+#			'0-9A-Za-z'
+#		);
+#		if($CHARCODE ne 'euc') {
+#			&jcode::convert($value,$CHARCODE,'euc');
+#		}
+#	} else {
+#		if($CHARCODE ne $FormCode) {
+#			&jcode::convert($value,$CHARCODE,$FormCode);
+#		}
+#	}
+#	if($CHARCODE eq 'euc') {
+#		&jcode::h2z_euc($value);
+#	} elsif($CHARCODE eq 'sjis') {
+#		&jcode::h2z_sjis($value);
+#	}
+
+}
+
+##############################################################################
+# Summary
+#
+# Error Msg
+#
+# Parameters
+# Returns
+# Memo
+##############################################################################
+
+sub upload_error
+{
+
+	local($error_message)	= $_[0];
+	local($error_message2)	= $_[1];
+
+	print "Content-type: text/html\n\n";
+	print<<EOF;
+<HTML>
+<HEAD>
+<TITLE>Error Message</TITLE></HEAD>
+<BODY>
+<table border="1" cellspacing="10" cellpadding="10">
+	<TR bgcolor="#0000B0">
+	<TD bgcolor="#0000B0" NOWRAP><font size="-1" color="white"><B>Error Message</B></font></TD>
+	</TR>
+</table>
+<UL>
+<H4> $error_message </H4>
+$error_message2 <BR>
+</UL>
+</BODY>
+</HTML>
+EOF
+	&rm_tmp_uploaded_files; 		# Image Temporary deletion
+	exit;
+}
+
+##############################################################################
+# Summary
+#
+# Image Temporary deletion
+#
+# Parameters
+# Returns
+# Memo
+##############################################################################
+
+sub rm_tmp_uploaded_files
+{
+	if($img_data_exists == 1){
+		sleep 1;
+		foreach $fname_list(@NEWFNAMES) {
+			if(-e "$img_dir/$fname_list") {
+				unlink("$img_dir/$fname_list");
+			}
+		}
+	}
+
+}
+1;
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/perl/util.pl	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/perl/util.pl	Sun Mar 07 22:18:01 2010 +0100
@@ -1,66 +1,66 @@
-#####
-#  FCKeditor - The text editor for Internet - http://www.fckeditor.net
-#  Copyright (C) 2003-2009 Frederico Caldeira Knabben
-#
-#  == BEGIN LICENSE ==
-#
-#  Licensed under the terms of any of the following licenses at your
-#  choice:
-#
-#   - GNU General Public License Version 2 or later (the "GPL")
-#     http://www.gnu.org/licenses/gpl.html
-#
-#   - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
-#     http://www.gnu.org/licenses/lgpl.html
-#
-#   - Mozilla Public License Version 1.1 or later (the "MPL")
-#     http://www.mozilla.org/MPL/MPL-1.1.html
-#
-#  == END LICENSE ==
-#
-#  This is the File Manager Connector for Perl.
-#####
-
-sub RemoveFromStart
-{
-	local($sourceString, $charToRemove) = @_;
-	$sPattern = '^' . $charToRemove . '+' ;
-	$sourceString =~ s/^$charToRemove+//g;
-	return $sourceString;
-}
-
-sub RemoveFromEnd
-{
-	local($sourceString, $charToRemove) = @_;
-	$sPattern = $charToRemove . '+$' ;
-	$sourceString =~ s/$charToRemove+$//g;
-	return $sourceString;
-}
-
-sub ConvertToXmlAttribute
-{
-	local($value) = @_;
-	return(&specialchar_cnv($value));
-}
-
-sub specialchar_cnv
-{
-	local($ch) = @_;
-
-	$ch =~ s/&/&amp;/g;		# &
-	$ch =~ s/\"/&quot;/g;	#"
-	$ch =~ s/\'/&#39;/g;	# '
-	$ch =~ s/</&lt;/g;		# <
-	$ch =~ s/>/&gt;/g;		# >
-	return($ch);
-}
-
-sub JS_cnv
-{
-	local($ch) = @_;
-
-	$ch =~ s/\"/\\\"/g;	#"
-	return($ch);
-}
-
-1;
+#####
+#  FCKeditor - The text editor for Internet - http://www.fckeditor.net
+#  Copyright (C) 2003-2010 Frederico Caldeira Knabben
+#
+#  == BEGIN LICENSE ==
+#
+#  Licensed under the terms of any of the following licenses at your
+#  choice:
+#
+#   - GNU General Public License Version 2 or later (the "GPL")
+#     http://www.gnu.org/licenses/gpl.html
+#
+#   - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+#     http://www.gnu.org/licenses/lgpl.html
+#
+#   - Mozilla Public License Version 1.1 or later (the "MPL")
+#     http://www.mozilla.org/MPL/MPL-1.1.html
+#
+#  == END LICENSE ==
+#
+#  This is the File Manager Connector for Perl.
+#####
+
+sub RemoveFromStart
+{
+	local($sourceString, $charToRemove) = @_;
+	$sPattern = '^' . $charToRemove . '+' ;
+	$sourceString =~ s/^$charToRemove+//g;
+	return $sourceString;
+}
+
+sub RemoveFromEnd
+{
+	local($sourceString, $charToRemove) = @_;
+	$sPattern = $charToRemove . '+$' ;
+	$sourceString =~ s/$charToRemove+$//g;
+	return $sourceString;
+}
+
+sub ConvertToXmlAttribute
+{
+	local($value) = @_;
+	return(&specialchar_cnv($value));
+}
+
+sub specialchar_cnv
+{
+	local($ch) = @_;
+
+	$ch =~ s/&/&amp;/g;		# &
+	$ch =~ s/\"/&quot;/g;	#"
+	$ch =~ s/\'/&#39;/g;	# '
+	$ch =~ s/</&lt;/g;		# <
+	$ch =~ s/>/&gt;/g;		# >
+	return($ch);
+}
+
+sub JS_cnv
+{
+	local($ch) = @_;
+
+	$ch =~ s/\"/\\\"/g;	#"
+	return($ch);
+}
+
+1;
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/php/basexml.php	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/php/basexml.php	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <?php
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/php/commands.php	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/php/commands.php	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <?php
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/php/config.php	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/php/config.php	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <?php
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/php/connector.php	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/php/connector.php	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <?php
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/php/io.php	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/php/io.php	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <?php
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
@@ -98,7 +98,7 @@
 	}
 
 	// Check if the parent exists, or create it.
-	if ( !file_exists( $sParent ) )
+	if ( !empty($sParent) && !file_exists( $sParent ) )
 	{
 		//prevents agains infinite loop when we can't create root folder
 		if ( !is_null( $lastFolder ) && $lastFolder === $sParent) {
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/php/upload.php	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/php/upload.php	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <?php
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/php/util.php	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/php/util.php	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 <?php
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/config.py	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/config.py	Sun Mar 07 22:18:01 2010 +0100
@@ -1,7 +1,7 @@
 #!/usr/bin/env python
 """
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/connector.py	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/connector.py	Sun Mar 07 22:18:01 2010 +0100
@@ -2,7 +2,7 @@
 
 """
 FCKeditor - The text editor for Internet - http://www.fckeditor.net
-Copyright (C) 2003-2009 Frederico Caldeira Knabben
+Copyright (C) 2003-2010 Frederico Caldeira Knabben
 
 == BEGIN LICENSE ==
 
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/fckcommands.py	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/fckcommands.py	Sun Mar 07 22:18:01 2010 +0100
@@ -2,7 +2,7 @@
 
 """
 FCKeditor - The text editor for Internet - http://www.fckeditor.net
-Copyright (C) 2003-2009 Frederico Caldeira Knabben
+Copyright (C) 2003-2010 Frederico Caldeira Knabben
 
 == BEGIN LICENSE ==
 
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/fckconnector.py	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/fckconnector.py	Sun Mar 07 22:18:01 2010 +0100
@@ -2,7 +2,7 @@
 
 """
 FCKeditor - The text editor for Internet - http://www.fckeditor.net
-Copyright (C) 2003-2009 Frederico Caldeira Knabben
+Copyright (C) 2003-2010 Frederico Caldeira Knabben
 
 == BEGIN LICENSE ==
 
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/fckoutput.py	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/fckoutput.py	Sun Mar 07 22:18:01 2010 +0100
@@ -2,7 +2,7 @@
 
 """
 FCKeditor - The text editor for Internet - http://www.fckeditor.net
-Copyright (C) 2003-2009 Frederico Caldeira Knabben
+Copyright (C) 2003-2010 Frederico Caldeira Knabben
 
 == BEGIN LICENSE ==
 
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/fckutil.py	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/fckutil.py	Sun Mar 07 22:18:01 2010 +0100
@@ -2,7 +2,7 @@
 
 """
 FCKeditor - The text editor for Internet - http://www.fckeditor.net
-Copyright (C) 2003-2009 Frederico Caldeira Knabben
+Copyright (C) 2003-2010 Frederico Caldeira Knabben
 
 == BEGIN LICENSE ==
 
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/upload.py	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/upload.py	Sun Mar 07 22:18:01 2010 +0100
@@ -2,7 +2,7 @@
 
 """
 FCKeditor - The text editor for Internet - http://www.fckeditor.net
-Copyright (C) 2003-2009 Frederico Caldeira Knabben
+Copyright (C) 2003-2010 Frederico Caldeira Knabben
 
 == BEGIN LICENSE ==
 
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/wsgi.py	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/wsgi.py	Sun Mar 07 22:18:01 2010 +0100
@@ -2,7 +2,7 @@
 
 """
 FCKeditor - The text editor for Internet - http://www.fckeditor.net
-Copyright (C) 2003-2009 Frederico Caldeira Knabben
+Copyright (C) 2003-2010 Frederico Caldeira Knabben
 
 == BEGIN LICENSE ==
 
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/zope.py	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/zope.py	Sun Mar 07 22:18:01 2010 +0100
@@ -2,7 +2,7 @@
 
 """
 FCKeditor - The text editor for Internet - http://www.fckeditor.net
-Copyright (C) 2003-2009 Frederico Caldeira Knabben
+Copyright (C) 2003-2010 Frederico Caldeira Knabben
 
 == BEGIN LICENSE ==
 
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/test.html	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/test.html	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 <!--
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/uploadtest.html	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/uploadtest.html	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 <!--
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/js/fckadobeair.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/js/fckadobeair.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
--- a/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/js/fckeditorcode_gecko.js	Sun Mar 07 21:59:40 2010 +0100
+++ b/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/js/fckeditorcode_gecko.js	Sun Mar 07 22:18:01 2010 +0100
@@ -1,6 +1,6 @@
 /*
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
  *
  * == BEGIN LICENSE ==
  *
@@ -24,28 +24,28 @@
 
 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=-9;var FCK_TOOLBARITEM_ONLYICON=window.parent.FCK_TOOLBARITEM_ONLYICON=0;var FCK_TOOLBARITEM_ONLYTEXT=window.parent.FCK_TOOLBARITEM_ONLYTEXT=1;var FCK_TOOLBARITEM_ICONTEXT=window.parent.FCK_TOOLBARITEM_ICONTEXT=2;var FCK_EDITMODE_WYSIWYG=window.parent.FCK_EDITMODE_WYSIWYG=0;var FCK_EDITMODE_SOURCE=window.parent.FCK_EDITMODE_SOURCE=1;var FCK_IMAGES_PATH='images/';var FCK_SPACER_PATH='images/spacer.gif';var CTRL=1000;var SHIFT=2000;var ALT=4000;var FCK_STYLE_BLOCK=0;var FCK_STYLE_INLINE=1;var FCK_STYLE_OBJECT=2;
 String.prototype.Contains=function(A){return (this.indexOf(A)>-1);};String.prototype.Equals=function(){var A=arguments;if (A.length==1&&A[0].pop) A=A[0];for (var i=0;i<A.length;i++){if (this==A[i]) return true;};return false;};String.prototype.IEquals=function(){var A=this.toUpperCase();var B=arguments;if (B.length==1&&B[0].pop) B=B[0];for (var i=0;i<B.length;i++){if (A==B[i].toUpperCase()) return true;};return false;};String.prototype.ReplaceAll=function(A,B){var C=this;for (var i=0;i<A.length;i++){C=C.replace(A[i],B[i]);};return C;};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(/(^[ \t\n\r]*)|([ \t\n\r]*$)/g,'');};String.prototype.LTrim=function(){return this.replace(/^[ \t\n\r]*/g,'');};String.prototype.RTrim=function(){return this.replace(/[ \t\n\r]*$/g,'');};String.prototype.ReplaceNewLineChars=function(A){return this.replace(/\n/g,A);};String.prototype.Replace=function(A,B,C){if (typeof B=='function'){return this.replace(A,function(){return B.apply(C||this,arguments);});}else return this.replace(A,B);};Array.prototype.IndexOf=function(A){for (var i=0;i<this.length;i++){if (this[i]==A) return i;};return-1;};
-var s=navigator.userAgent.toLowerCase();var FCKBrowserInfo={IsIE:/*@cc_on!@*/false,IsIE7:/*@cc_on!@*/false&&(parseInt(s.match(/msie (\d+)/)[1],10)>=7),IsIE6:/*@cc_on!@*/false&&(parseInt(s.match(/msie (\d+)/)[1],10)>=6),IsSafari:s.Contains(' applewebkit/'),IsOpera:!!window.opera,IsAIR:s.Contains(' adobeair/'),IsMac:s.Contains('macintosh')};(function(A){A.IsGecko=(navigator.product=='Gecko')&&!A.IsSafari&&!A.IsOpera;A.IsGeckoLike=(A.IsGecko||A.IsSafari||A.IsOpera);if (A.IsGecko){var B=s.match(/rv:(\d+\.\d+)/);var C=B&&parseFloat(B[1]);if (C){A.IsGecko10=(C<1.8);A.IsGecko19=(C>1.8);}}})(FCKBrowserInfo);
+var s=navigator.userAgent.toLowerCase();var FCKBrowserInfo={IsIE:/*@cc_on!@*/false,IsIE7:/*@cc_on!@*/false&&(parseInt(s.match(/msie (\d+)/)[1],10)>=7),IsIE6:/*@cc_on!@*/false&&(parseInt(s.match(/msie (\d+)/)[1],10)>=6),IsSafari:s.Contains(' applewebkit/'),IsOpera:!!window.opera,IsAIR:s.Contains(' adobeair/'),IsMac:s.Contains('macintosh')};(function(A){A.IsGecko=(navigator.product=='Gecko')&&!A.IsSafari&&!A.IsOpera;A.IsGeckoLike=(A.IsGecko||A.IsSafari||A.IsOpera);if (A.IsGecko){var B=s.match(/rv:(\d+\.\d+)/);var C=B&&parseFloat(B[1]);if (C){A.IsGecko10=(C<1.8);A.IsGecko19=(C>1.8);}};if (A.IsSafari) A.IsSafari3=(parseFloat(s.match(/ applewebkit\/(\d+)/)[1])<526);})(FCKBrowserInfo);
 var FCKURLParams={};(function(){var A=document.location.search.substr(1).split('&');for (var i=0;i<A.length;i++){var B=A[i].split('=');var C=decodeURIComponent(B[0]);var D=decodeURIComponent(B[1]);FCKURLParams[C]=D;}})();
 var FCKEvents=function(A){this.Owner=A;this._RegisteredEvents={};};FCKEvents.prototype.AttachEvent=function(A,B){var C;if (!(C=this._RegisteredEvents[A])) this._RegisteredEvents[A]=[B];else{if (C.IndexOf(B)==-1) C.push(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++){try{C=(D[i](this.Owner,B)&&C);}catch(e){if (e.number!=-2146823277) throw e;}}};return C;};
 var FCKDataProcessor=function(){};FCKDataProcessor.prototype={ConvertToHtml:function(A){if (FCKConfig.FullPage){FCK.DocTypeDeclaration=A.match(FCKRegexLib.DocTypeTag);if (!FCKRegexLib.HasBodyTag.test(A)) A='<body>'+A+'</body>';if (!FCKRegexLib.HtmlOpener.test(A)) A='<html dir="'+FCKConfig.ContentLangDirection+'">'+A+'</html>';if (!FCKRegexLib.HeadOpener.test(A)) A=A.replace(FCKRegexLib.HtmlOpener,'$&<head><title></title></head>');return A;}else{var B=FCKConfig.DocType+'<html dir="'+FCKConfig.ContentLangDirection+'"';if (FCKBrowserInfo.IsIE&&FCKConfig.DocType.length>0&&!FCKRegexLib.Html4DocType.test(FCKConfig.DocType)) B+=' style="overflow-y: scroll"';B+='><head><title></title></head><body'+FCKConfig.GetBodyAttributes()+'>'+A+'</body></html>';return B;}},ConvertToDataFormat:function(A,B,C,D){var E=FCKXHtml.GetXHTML(A,!B,D);if (C&&FCKRegexLib.EmptyOutParagraph.test(E)) return '';return E;},FixHtml:function(A){return A;}};
-var FCK={Name:FCKURLParams['InstanceName'],Status:0,EditMode:0,Toolbar:null,HasFocus:false,DataProcessor:new FCKDataProcessor(),GetInstanceObject:(function(){var w=window;return function(name){return w[name];}})(),AttachToOnSelectionChange:function(A){this.Events.AttachEvent('OnSelectionChange',A);},GetLinkedFieldValue:function(){return this.LinkedField.value;},GetParentForm:function(){return this.LinkedField.form;},StartupValue:'',IsDirty:function(){if (this.EditMode==1) return (this.StartupValue!=this.EditingArea.Textarea.value);else{if (!this.EditorDocument) return false;return (this.StartupValue!=this.EditorDocument.body.innerHTML);}},ResetIsDirty:function(){if (this.EditMode==1) this.StartupValue=this.EditingArea.Textarea.value;else if (this.EditorDocument.body) this.StartupValue=this.EditorDocument.body.innerHTML;},StartEditor:function(){this.TempBaseTag=FCKConfig.BaseHref.length>0?'<base href="'+FCKConfig.BaseHref+'" _fcktemp="true"></base>':'';var A=FCK.KeystrokeHandler=new FCKKeystrokeHandler();A.OnKeystroke=_FCK_KeystrokeHandler_OnKeystroke;A.SetKeystrokes(FCKConfig.Keystrokes);if (FCKBrowserInfo.IsIE7){if ((CTRL+86) in A.Keystrokes) A.SetKeystrokes([CTRL+86,true]);if ((SHIFT+45) in A.Keystrokes) A.SetKeystrokes([SHIFT+45,true]);};A.SetKeystrokes([CTRL+8,true]);this.EditingArea=new FCKEditingArea(document.getElementById('xEditingArea'));this.EditingArea.FFSpellChecker=FCKConfig.FirefoxSpellChecker;this.SetData(this.GetLinkedFieldValue(),true);FCKTools.AddEventListener(document,"keydown",this._TabKeyHandler);this.AttachToOnSelectionChange(_FCK_PaddingNodeListener);if (FCKBrowserInfo.IsGecko) this.AttachToOnSelectionChange(this._ExecCheckEmptyBlock);},Focus:function(){FCK.EditingArea.Focus();},SetStatus:function(A){this.Status=A;if (A==1){FCKFocusManager.AddWindow(window,true);if (FCKBrowserInfo.IsIE) FCKFocusManager.AddWindow(window.frameElement,true);if (FCKConfig.StartupFocus) FCK.Focus();};this.Events.FireEvent('OnStatusChange',A);},FixBody:function(){var A=FCKConfig.EnterMode;if (A!='p'&&A!='div') return;var B=this.EditorDocument;if (!B) return;var C=B.body;if (!C) return;FCKDomTools.TrimNode(C);var D=C.firstChild;var E;while (D){var F=false;switch (D.nodeType){case 1:var G=D.nodeName.toLowerCase();if (!FCKListsLib.BlockElements[G]&&G!='li'&&!D.getAttribute('_fckfakelement')&&D.getAttribute('_moz_dirty')==null) F=true;break;case 3:if (E||D.nodeValue.Trim().length>0) F=true;break;case 8:if (E) F=true;break;};if (F){var H=D.parentNode;if (!E) E=H.insertBefore(B.createElement(A),D);E.appendChild(H.removeChild(D));D=E.nextSibling;}else{if (E){FCKDomTools.TrimNode(E);E=null;};D=D.nextSibling;}};if (E) FCKDomTools.TrimNode(E);},GetData:function(A){if (FCK.EditMode==1) return FCK.EditingArea.Textarea.value;this.FixBody();var B=FCK.EditorDocument;if (!B) return null;var C=FCKConfig.FullPage;var D=FCK.DataProcessor.ConvertToDataFormat(C?B.documentElement:B.body,!C,FCKConfig.IgnoreEmptyParagraphValue,A);D=FCK.ProtectEventsRestore(D);if (FCKBrowserInfo.IsIE) D=D.replace(FCKRegexLib.ToReplace,'$1');if (C){if (FCK.DocTypeDeclaration&&FCK.DocTypeDeclaration.length>0) D=FCK.DocTypeDeclaration+'\n'+D;if (FCK.XmlDeclaration&&FCK.XmlDeclaration.length>0) D=FCK.XmlDeclaration+'\n'+D;};return FCKConfig.ProtectedSource.Revert(D);},UpdateLinkedField:function(){var A=FCK.GetXHTML(FCKConfig.FormatOutput);if (FCKConfig.HtmlEncodeOutput) A=FCKTools.HTMLEncode(A);FCK.LinkedField.value=A;FCK.Events.FireEvent('OnAfterLinkedFieldUpdate');},RegisteredDoubleClickHandlers:{},OnDoubleClick:function(A){var B=FCK.RegisteredDoubleClickHandlers[A.tagName.toUpperCase()];if (B){for (var i=0;i<B.length;i++) B[i](A);};B=FCK.RegisteredDoubleClickHandlers['*'];if (B){for (var i=0;i<B.length;i++) B[i](A);}},RegisterDoubleClickHandler:function(A,B){var C=B||'*';C=C.toUpperCase();var D;if (!(D=FCK.RegisteredDoubleClickHandlers[C])) FCK.RegisteredDoubleClickHandlers[C]=[A];else{if (D.IndexOf(A)==-1) D.push(A);}},OnAfterSetHTML:function(){FCKDocumentProcessor.Process(FCK.EditorDocument);FCKUndo.SaveUndoStep();FCK.Events.FireEvent('OnSelectionChange');FCK.Events.FireEvent('OnAfterSetHTML');},ProtectUrls:function(A){A=A.replace(FCKRegexLib.ProtectUrlsA,'$& _fcksavedurl=$1');A=A.replace(FCKRegexLib.ProtectUrlsImg,'$& _fcksavedurl=$1');A=A.replace(FCKRegexLib.ProtectUrlsArea,'$& _fcksavedurl=$1');return A;},ProtectEvents:function(A){return A.replace(FCKRegexLib.TagsWithEvent,_FCK_ProtectEvents_ReplaceTags);},ProtectEventsRestore:function(A){return A.replace(FCKRegexLib.ProtectedEvents,_FCK_ProtectEvents_RestoreEvents);},ProtectTags:function(A){var B=FCKConfig.ProtectedTags;if (FCKBrowserInfo.IsIE) B+=B.length>0?'|ABBR|XML|EMBED|OBJECT':'ABBR|XML|EMBED|OBJECT';var C;if (B.length>0){C=new RegExp('<('+B+')(?!\w|:)','gi');A=A.replace(C,'<FCK:$1');C=new RegExp('<\/('+B+')>','gi');A=A.replace(C,'<\/FCK:$1>');};B='META';if (FCKBrowserInfo.IsIE) B+='|HR';C=new RegExp('<(('+B+')(?=\\s|>|/)[\\s\\S]*?)/?>','gi');A=A.replace(C,'<FCK:$1 />');return A;},SetData:function(A,B){this.EditingArea.Mode=FCK.EditMode;if (FCKBrowserInfo.IsIE&&FCK.EditorDocument){FCK.EditorDocument.detachEvent("onselectionchange",Doc_OnSelectionChange);};FCKTempBin.Reset();FCK.Selection.Release();if (FCK.EditMode==0){this._ForceResetIsDirty=(B===true);A=FCKConfig.ProtectedSource.Protect(A);A=FCK.DataProcessor.ConvertToHtml(A);A=A.replace(FCKRegexLib.InvalidSelfCloseTags,'$1></$2>');A=FCK.ProtectEvents(A);A=FCK.ProtectUrls(A);A=FCK.ProtectTags(A);if (FCK.TempBaseTag.length>0&&!FCKRegexLib.HasBaseTag.test(A)) A=A.replace(FCKRegexLib.HeadOpener,'$&'+FCK.TempBaseTag);var C='';if (!FCKConfig.FullPage) C+=_FCK_GetEditorAreaStyleTags();if (FCKBrowserInfo.IsIE) C+=FCK._GetBehaviorsStyle();else if (FCKConfig.ShowBorders) C+=FCKTools.GetStyleHtml(FCK_ShowTableBordersCSS,true);C+=FCKTools.GetStyleHtml(FCK_InternalCSS,true);A=A.replace(FCKRegexLib.HeadCloser,C+'$&');this.EditingArea.OnLoad=_FCK_EditingArea_OnLoad;this.EditingArea.Start(A);}else{FCK.EditorWindow=null;FCK.EditorDocument=null;FCKDomTools.PaddingNode=null;this.EditingArea.OnLoad=null;this.EditingArea.Start(A);this.EditingArea.Textarea._FCKShowContextMenu=true;FCK.EnterKeyHandler=null;if (B) this.ResetIsDirty();FCK.KeystrokeHandler.AttachToElement(this.EditingArea.Textarea);this.EditingArea.Textarea.focus();FCK.Events.FireEvent('OnAfterSetHTML');};if (FCKBrowserInfo.IsGecko) window.onresize();},RedirectNamedCommands:{},ExecuteNamedCommand:function(A,B,C,D){if (!D) FCKUndo.SaveUndoStep();if (!C&&FCK.RedirectNamedCommands[A]!=null) FCK.ExecuteRedirectedNamedCommand(A,B);else{FCK.Focus();FCK.EditorDocument.execCommand(A,false,B);FCK.Events.FireEvent('OnSelectionChange');};if (!D) FCKUndo.SaveUndoStep();},GetNamedCommandState:function(A){try{if (FCKBrowserInfo.IsSafari&&