[Checkins] SVN: zope.html/trunk/src/zope/html/ Initial import. A zope form widget for HTML, using FCKEditor (thanks to Roger Ineichen for his version, from which he graciously helped us learn)

Gary Poster gary at zope.com
Tue Aug 15 17:36:25 EDT 2006


Log message for revision 69548:
  Initial import.  A zope form widget for HTML, using FCKEditor (thanks to Roger Ineichen for his version, from which he graciously helped us learn)
  

Changed:
  A   zope.html/trunk/src/zope/html/DEPENDENCIES.cfg
  A   zope.html/trunk/src/zope/html/README.txt
  A   zope.html/trunk/src/zope/html/TODO.txt
  A   zope.html/trunk/src/zope/html/__init__.py
  A   zope.html/trunk/src/zope/html/browser.py
  A   zope.html/trunk/src/zope/html/browser.txt
  A   zope.html/trunk/src/zope/html/configure.zcml
  A   zope.html/trunk/src/zope/html/docinfo.py
  A   zope.html/trunk/src/zope/html/docinfo.txt
  A   zope.html/trunk/src/zope/html/fckeditor/
  A   zope.html/trunk/src/zope/html/fckeditor/_documentation.html
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/_plugins/
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/_plugins/findreplace/
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/_plugins/findreplace/fckplugin.js
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/_plugins/findreplace/find.gif
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/_plugins/findreplace/find.html
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/_plugins/findreplace/lang/
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/_plugins/findreplace/lang/en.js
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/_plugins/findreplace/lang/fr.js
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/_plugins/findreplace/lang/it.js
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/_plugins/findreplace/replace.gif
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/_plugins/findreplace/replace.html
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/_plugins/samples/
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/_plugins/samples/fckplugin.js
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/afp/
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/afp/fck.afpa
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/afp/fck.afpa.code
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/afp/sample01.afp
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/afp/sampleposteddata.afp
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/asp/
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/asp/sample01.asp
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/asp/sample02.asp
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/asp/sample03.asp
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/asp/sample04.asp
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/asp/sampleposteddata.asp
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/cfm/
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/cfm/sample01.cfm
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/cfm/sample02_mx.cfm
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/default.html
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/html/
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/html/sample01.html
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/html/sample02.html
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/html/sample03.html
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/html/sample04.html
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/html/sample05.html
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/html/sample06.config.js
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/html/sample06.html
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/html/sample07.html
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/html/sample08.html
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/html/sample09.html
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/html/sample10.html
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/html/sampleposteddata.asp
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/html/sampleposteddata.html
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/lasso/
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/lasso/sample01.lasso
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/lasso/sample02.lasso
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/lasso/sample03.lasso
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/lasso/sample04.lasso
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/lasso/sampleposteddata.lasso
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/perl/
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/perl/sample01.cgi
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/perl/sample02.cgi
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/perl/sample03.cgi
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/perl/sample04.cgi
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/perl/sampleposteddata.cgi
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/php/
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/php/sample01.php
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/php/sample02.php
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/php/sample03.php
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/php/sample04.php
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/php/sampleposteddata.php
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/sample.css
  A   zope.html/trunk/src/zope/html/fckeditor/_samples/sampleslist.html
  A   zope.html/trunk/src/zope/html/fckeditor/_testcases/
  A   zope.html/trunk/src/zope/html/fckeditor/_testcases/001.html
  A   zope.html/trunk/src/zope/html/fckeditor/_testcases/002.html
  A   zope.html/trunk/src/zope/html/fckeditor/_testcases/003.html
  A   zope.html/trunk/src/zope/html/fckeditor/_testcases/004.html
  A   zope.html/trunk/src/zope/html/fckeditor/_testcases/005.html
  A   zope.html/trunk/src/zope/html/fckeditor/_testcases/006.html
  A   zope.html/trunk/src/zope/html/fckeditor/_testcases/007.html
  A   zope.html/trunk/src/zope/html/fckeditor/_testcases/008.html
  A   zope.html/trunk/src/zope/html/fckeditor/_testcases/009.html
  A   zope.html/trunk/src/zope/html/fckeditor/_testcases/sampleposteddata.asp
  A   zope.html/trunk/src/zope/html/fckeditor/_testcases/testcases.css
  A   zope.html/trunk/src/zope/html/fckeditor/_whatsnew.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckcontextmenugroup.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckcontextmenuitem.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckcontextmenuseparator.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckevents.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckpanel_gecko.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckpanel_ie.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckplugin.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckspecialcombo.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckstyledef.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckstyledef_gecko.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckstyledef_ie.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckstylesloader.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fcktoolbar.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fcktoolbarbreak_gecko.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fcktoolbarbreak_ie.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fcktoolbarbutton.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fcktoolbarfontformatcombo.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fcktoolbarfontscombo.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fcktoolbarfontsizecombo.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fcktoolbarpanelbutton.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fcktoolbarspecialcombo.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fcktoolbarstylecombo.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckxml_gecko.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckxml_ie.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/commandclasses/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/commandclasses/fck_othercommands.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/commandclasses/fcknamedcommand.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/commandclasses/fckpasteplaintextcommand.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/commandclasses/fckpastewordcommand.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/commandclasses/fckspellcheckcommand_gecko.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/commandclasses/fckspellcheckcommand_ie.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/commandclasses/fckstylecommand.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/commandclasses/fcktablecommand.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/commandclasses/fcktextcolorcommand.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/globals/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/globals/fck_constants.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/globals/fckeditorapi.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fck.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fck_1.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fck_1_gecko.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fck_1_ie.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fck_2.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fck_2_gecko.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fck_2_ie.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fck_last.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fck_onload.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckbrowserinfo.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckcodeformatter.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckcommands.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckconfig.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckcontextmenu.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckcontextmenu_gecko.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckcontextmenu_ie.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckcoreextensions.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckdebug.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckdialog.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckdialog_gecko.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckdialog_ie.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fcklanguagemanager.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fcknamespace.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckplugins.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckregexlib.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckscriptloader.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckselection.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckselection_gecko.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckselection_ie.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fcktablehandler.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fcktablehandler_gecko.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fcktablehandler_ie.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fcktoolbaritems.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fcktoolbarset.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fcktools.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fcktools_gecko.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fcktools_ie.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckundo_gecko.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckundo_ie.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckurlparams.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckxhtml.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckxhtml_gecko.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckxhtml_ie.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckxhtmlentities.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/css/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/css/behaviors/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/css/behaviors/disablehandles.htc
  A   zope.html/trunk/src/zope/html/fckeditor/editor/css/behaviors/hiddenfield.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/css/behaviors/hiddenfield.htc
  A   zope.html/trunk/src/zope/html/fckeditor/editor/css/behaviors/showtableborders.htc
  A   zope.html/trunk/src/zope/html/fckeditor/editor/css/fck_editorarea.css
  A   zope.html/trunk/src/zope/html/fckeditor/editor/css/fck_internal.css
  A   zope.html/trunk/src/zope/html/fckeditor/editor/css/fck_showtableborders_gecko.css
  A   zope.html/trunk/src/zope/html/fckeditor/editor/css/images/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/css/images/fck_anchor.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/css/images/fck_flashlogo.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/css/images/fck_pagebreak.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/common/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/common/fck_dialog_common.css
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/common/fck_dialog_common.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/common/fcknumericfield.htc
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/common/images/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/common/images/locked.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/common/images/reset.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/common/images/unlocked.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/common/moz-bindings.xml
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_about/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_about/lgpl.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_about/logo_fckeditor.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_about/logo_fredck.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_about.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_anchor.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_button.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_checkbox.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_colorselector.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_docprops/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_docprops/fck_document_preview.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_docprops.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_find.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_flash/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_flash/fck_flash.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_flash.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_form.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_hiddenfield.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_image/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_image/fck_image.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_image.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_link/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_link/fck_link.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_link.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_listprop.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_paste.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_radiobutton.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_replace.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_select/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_select/fck_select.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_select.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_smiley.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_source.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_specialchar.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_spellerpages/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_spellerpages/spellerpages/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_spellerpages/spellerpages/blank.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_spellerpages/spellerpages/controlWindow.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_spellerpages/spellerpages/controls.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.cfm
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.php
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.pl
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellChecker.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellchecker.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellerStyle.css
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_spellerpages/spellerpages/wordWindow.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_spellerpages.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_table.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_tablecell.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_template/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_template/images/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_template/images/template1.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_template/images/template2.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_template/images/template3.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_template.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_textarea.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_textfield.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_universalkey/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_universalkey/00.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_universalkey/data.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_universalkey/diacritic.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_universalkey/dialogue.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_universalkey/fck_universalkey.css
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_universalkey/keyboard_layout.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_universalkey/multihexa.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_universalkey.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/fckblank.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/fckdebug.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/fckdialog.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/fckeditor.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/fckeditor.original.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/browser.css
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/browser.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/asp/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/asp/basexml.asp
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/asp/class_upload.asp
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/asp/commands.asp
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/asp/config.asp
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/asp/connector.asp
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/asp/io.asp
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/asp/util.asp
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/aspx/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/cfm/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/cfm/config.cfm
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/cfm/connector.cfm
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/lasso/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/lasso/config.lasso
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/lasso/connector.lasso
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/perl/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/perl/basexml.pl
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/perl/commands.pl
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/perl/connector.cgi
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/perl/io.pl
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/perl/upload_fck.pl
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/perl/util.pl
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/php/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/php/basexml.php
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/php/commands.php
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/php/config.php
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/php/connector.php
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/php/io.php
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/php/util.php
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/test.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/frmactualfolder.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/frmcreatefolder.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/frmfolders.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/frmresourceslist.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/frmresourcetype.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/frmupload.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/ButtonArrow.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/Folder.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/Folder32.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/FolderOpened.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/FolderOpened32.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/FolderUp.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/ai.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/avi.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/bmp.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/cs.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/default.icon.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/dll.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/doc.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/exe.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/fla.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/gif.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/htm.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/html.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/jpg.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/js.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/mdb.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/mp3.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/pdf.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/ppt.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/rdp.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/swf.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/swt.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/txt.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/vsd.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/xls.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/xml.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/zip.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/ai.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/avi.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/bmp.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/cs.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/default.icon.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/dll.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/doc.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/exe.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/fla.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/gif.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/htm.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/html.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/jpg.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/js.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/mdb.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/mp3.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/pdf.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/ppt.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/rdp.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/swf.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/swt.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/txt.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/vsd.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/xls.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/xml.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/zip.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/spacer.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/js/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/js/common.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/js/fckxml.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/browser.css
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/browser.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Auth/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Auth/Default.php
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/CreateFolder.php
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/DeleteFile.php
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/DeleteFolder.php
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/FileUpload.php
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/GetFolders.php
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/GetFoldersAndFiles.php
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/GetUploadProgress.php
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/RenameFile.php
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/RenameFolder.php
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/Thumbnail.php
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/helpers/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/helpers/.htaccess
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/helpers/header.cgi
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/helpers/iconlookup.php
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/helpers/progress.cgi
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/helpers/upload.cgi
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Docs/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Docs/AuthenticationHandlers.txt
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Docs/license.txt
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Docs/readme.txt
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/config.php
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/connector.php
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/dtd/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/dtd/iso-lat1.ent
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/ascii.jpg
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/binary.jpg
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/document2.jpg
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/email.jpg
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/empty.jpg
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/html.jpg
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/image.jpg
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/info.jpg
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/kmplot.jpg
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/kmultiple.jpg
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/pdf.jpg
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/php.jpg
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/postscript.jpg
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/real_doc.jpg
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/sound.jpg
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/spreadsheet.jpg
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/tar.jpg
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/video.jpg
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/test.html.suspended
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/testme.php.suspended
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/frmactualfolder.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/frmcreatefolder.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/frmfolders.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/frmimageeditor.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/frmresourceslist.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/frmresourcetype.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/frmupload.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/2x2.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/2x2_w.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/ButtonArrow.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/Folder.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/Folder32.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/Folder96.jpg
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/FolderOpened.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/FolderOpened32.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/FolderUp.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/close.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/delete.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/edit.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/editImage.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/ai.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/avi.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/bmp.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/cs.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/default.icon.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/dll.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/doc.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/exe.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/fla.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/gif.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/htm.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/html.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/jpg.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/js.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/mdb.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/mp3.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/pdf.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/ppt.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/rdp.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/swf.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/swt.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/txt.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/vsd.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/xls.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/xml.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/zip.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/ai.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/avi.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/bmp.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/cs.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/default.icon.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/dll.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/doc.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/exe.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/fla.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/gif.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/htm.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/html.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/jpg.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/js.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/mdb.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/mp3.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/pdf.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/ppt.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/rdp.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/swf.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/swt.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/txt.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/vsd.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/xls.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/xml.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/zip.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/spacer.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/toolbar/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/toolbar/close.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/toolbar/crop.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/toolbar/flip.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/toolbar/resize.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/toolbar/rotate.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/toolbar/save.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/js/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/js/EditorContent.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/js/common.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/js/fckxml.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/js/wz_jsgraphics.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/upload/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/upload/asp/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/upload/asp/class_upload.asp
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/upload/asp/config.asp
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/upload/asp/io.asp
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/upload/asp/upload.asp
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/upload/aspx/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/upload/aspx/upload.aspx
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/upload/lasso/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/upload/lasso/config.lasso
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/upload/lasso/upload.lasso
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/upload/php/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/upload/php/config.php
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/upload/php/upload.php
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/upload/php/util.php
  A   zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/upload/test.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/anchor.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/aiua.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/ak.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/alien.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/alien2.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/angry.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/angry1.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/apophys.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/assjani.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/asthanos.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/bazuzeus.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/beaute.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/bigsmile.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/blush.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/boid.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/bonk.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/bored.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/borg.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/capo.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/confused.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/cool.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/crazy.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/cwm14.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/demis_roussos.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/devil.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/devil2.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/double0smile.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/eek3.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/eltaf.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/gele.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/halm.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/happy.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/icon12.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/icon23.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/icon26.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/icon_angel.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/icon_bandit.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/icon_bravo.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/icon_clown.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/jesors.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/jesors1.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/lol3.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/love.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/mad.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/megaphone.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/mmm.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/music.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/notify.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/nuts.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/obanon.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/ouaip.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/pleure.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/plugin.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/question.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/question2.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/rasta2.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/rastapop.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/rosebud.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/sad.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/sad2.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/shocked.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/sick.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/sick2.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/slaap.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/sleep.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/smile.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/smiley_peur.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/sors.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/sovxx.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/spamafote.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/tap67.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/thumbdown.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/thumbup.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/tigi.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/toad666.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/tongue.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/tuffgong.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/urgeman.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/vanadium.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/wink.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/worship.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/wouaf.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/wow.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/xp1700.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/yltype.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/yopyopyop.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/youpi.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/zoor.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/angel_smile.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/angry_smile.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/broken_heart.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/cake.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/confused_smile.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/cry_smile.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/devil_smile.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/embaressed_smile.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/envelope.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/heart.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/kiss.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/lightbulb.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/omg_smile.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/regular_smile.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/sad_smile.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/shades_smile.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/teeth_smile.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/thumbs_down.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/thumbs_up.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/tounge_smile.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/whatchutalkingabout_smile.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/wink_smile.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/images/spacer.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/js/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/js/fck_startup.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/js/fckeditorcode_gecko_1.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/js/fckeditorcode_gecko_2.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/js/fckeditorcode_ie_1.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/js/fckeditorcode_ie_2.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/lang/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/lang/_translationstatus.txt
  A   zope.html/trunk/src/zope/html/fckeditor/editor/lang/ar.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/lang/bg.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/lang/bs.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/lang/ca.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/lang/cs.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/lang/da.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/lang/de.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/lang/el.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/lang/en-au.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/lang/en-uk.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/lang/en.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/lang/eo.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/lang/es.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/lang/et.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/lang/eu.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/lang/fa.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/lang/fcklanguagemanager.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/lang/fi.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/lang/fo.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/lang/fr.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/lang/gl.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/lang/he.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/lang/hr.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/lang/hu.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/lang/it.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/lang/ja.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/lang/ko.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/lang/lt.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/lang/mn.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/lang/ms.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/lang/nl.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/lang/no.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/lang/pl.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/lang/pt-br.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/lang/pt.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/lang/ro.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/lang/ru.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/lang/sk.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/lang/sl.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/lang/sr-latn.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/lang/sr.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/lang/sv.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/lang/th.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/lang/tr.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/lang/uk.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/lang/vi.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/lang/zh-cn.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/lang/zh.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/plugins/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/plugins/placeholder/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/plugins/placeholder/fck_placeholder.html
  A   zope.html/trunk/src/zope/html/fckeditor/editor/plugins/placeholder/fckplugin.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/plugins/placeholder/lang/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/plugins/placeholder/lang/de.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/plugins/placeholder/lang/en.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/plugins/placeholder/lang/fr.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/plugins/placeholder/lang/it.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/plugins/placeholder/placeholder.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/plugins/simplecommands/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/plugins/simplecommands/fckplugin.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/plugins/tablecommands/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/plugins/tablecommands/fckplugin.js
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/fck_contextmenu.css
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/fck_dialog.css
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/fck_editor.css
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/images/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/images/toolbar.arrowright.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/images/toolbar.buttonarrow.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/images/toolbar.collapse.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/images/toolbar.end.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/images/toolbar.expand.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/images/toolbar.separator.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/images/toolbar.start.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/about.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/anchor.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/bgcolor.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/bold.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/bulletedlist.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/button.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/checkbox.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/copy.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/cut.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/docprops.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/find.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/flash.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/form.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/hiddenfield.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/image.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/imagebutton.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/indent.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/inserthorizontalrule.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/insertorderedlist.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/insertunorderedlist.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/italic.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/justifycenter.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/justifyfull.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/justifyleft.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/justifyright.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/link.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/newpage.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/numberedlist.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/outdent.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/pagebreak.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/paste.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/pastetext.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/pasteword.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/preview.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/print.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/radio.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/redo.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/removeformat.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/replace.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/save.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/select.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/selectall.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/showdetails.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/showtableborders.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/smiley.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/source.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/specialchar.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/spellcheck.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/strikethrough.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/subscript.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/superscript.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/table.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/tablecell.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/tabledeletecells.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/tabledeletecolumns.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/tabledeleterows.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/tableinsertcell.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/tableinsertcolumn.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/tableinsertrow.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/tablemergecells.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/tablesplitcell.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/templates.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/textarea.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/textcolor.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/textfield.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/underline.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/undo.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/universalkey.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/unlink.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/unorderedlist.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/fck_contextmenu.css
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/fck_dialog.css
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/fck_editor.css
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/images/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/images/toolbar.arrowright.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/images/toolbar.bg.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/images/toolbar.buttonarrow.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/images/toolbar.collapse.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/images/toolbar.end.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/images/toolbar.expand.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/images/toolbar.separator.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/images/toolbar.start.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/about.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/anchor.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/bgcolor.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/bold.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/bulletedlist.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/button.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/checkbox.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/copy.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/cut.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/docprops.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/find.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/flash.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/fontstyleadv.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/form.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/hidden.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/hiddenfield.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/image.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/imagebutton.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/indent.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/input.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/inserthorizontalrule.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/insertorderedlist.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/insertunorderedlist.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/italic.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/justifycenter.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/justifyfull.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/justifyleft.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/justifyright.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/link.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/mail.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/new.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/newpage.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/numberedlist.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/open.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/outdent.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/pagebreak.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/paste.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/pastetext.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/pasteword.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/preview.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/print.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/radio.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/redo.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/removeformat.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/replace.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/save.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/select.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/selectall.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/showdetails.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/showtableborders.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/smiley.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/source.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/specialchar.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/spellcheck.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/strikethrough.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/subscript.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/superscript.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/table.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/tablecell.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/tabledeletecells.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/tabledeletecolumns.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/tabledeleterows.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/tableinsertcell.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/tableinsertcolumn.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/tableinsertrow.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/tablemergecells.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/tablesplitcell.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/templates.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/textarea.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/textcolor.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/textfield.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/underline.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/undo.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/universalkey.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/unlink.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/unorderedlist.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/fck_contextmenu.css
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/fck_dialog.css
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/fck_editor.css
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/images/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/images/toolbar.arrowright.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/images/toolbar.buttonarrow.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/images/toolbar.buttonbg.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/images/toolbar.collapse.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/images/toolbar.end.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/images/toolbar.expand.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/images/toolbar.separator.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/images/toolbar.start.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/about.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/anchor.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/bgcolor.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/bold.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/bulletedlist.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/button.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/checkbox.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/copy.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/cut.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/docprops.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/find.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/flash.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/form.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/hiddenfield.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/image.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/imagebutton.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/indent.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/inserthorizontalrule.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/insertorderedlist.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/insertunorderedlist.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/italic.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/justifycenter.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/justifyfull.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/justifyleft.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/justifyright.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/link.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/newpage.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/numberedlist.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/outdent.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/pagebreak.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/paste.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/pastetext.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/pasteword.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/preview.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/print.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/radio.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/redo.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/removeformat.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/replace.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/save.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/select.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/selectall.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/showdetails.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/showtableborders.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/smiley.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/source.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/specialchar.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/spellcheck.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/strikethrough.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/subscript.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/superscript.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/table.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/tablecell.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/tabledeletecells.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/tabledeletecolumns.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/tabledeleterows.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/tableinsertcell.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/tableinsertcolumn.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/tableinsertrow.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/tablemergecells.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/tablesplitcell.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/templates.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/textarea.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/textcolor.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/textfield.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/underline.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/undo.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/universalkey.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/unlink.gif
  A   zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/unorderedlist.gif
  A   zope.html/trunk/src/zope/html/fckeditor/fckconfig.js
  A   zope.html/trunk/src/zope/html/fckeditor/fckeditor.afp
  A   zope.html/trunk/src/zope/html/fckeditor/fckeditor.asp
  A   zope.html/trunk/src/zope/html/fckeditor/fckeditor.cfc
  A   zope.html/trunk/src/zope/html/fckeditor/fckeditor.cfm
  A   zope.html/trunk/src/zope/html/fckeditor/fckeditor.js
  A   zope.html/trunk/src/zope/html/fckeditor/fckeditor.lasso
  A   zope.html/trunk/src/zope/html/fckeditor/fckeditor.php
  A   zope.html/trunk/src/zope/html/fckeditor/fckeditor.pl
  A   zope.html/trunk/src/zope/html/fckeditor/fckstyles.xml
  A   zope.html/trunk/src/zope/html/fckeditor/fcktemplates.xml
  A   zope.html/trunk/src/zope/html/fckeditor/htaccess.txt
  A   zope.html/trunk/src/zope/html/fckeditor/license.txt
  A   zope.html/trunk/src/zope/html/field.py
  A   zope.html/trunk/src/zope/html/ftesting.zcml
  A   zope.html/trunk/src/zope/html/i18n.py
  A   zope.html/trunk/src/zope/html/interfaces.py
  A   zope.html/trunk/src/zope/html/ntests.py
  A   zope.html/trunk/src/zope/html/tests.py
  A   zope.html/trunk/src/zope/html/widget.py
  A   zope.html/trunk/src/zope/html/zope_fckconfig.js

-=-
Added: zope.html/trunk/src/zope/html/DEPENDENCIES.cfg
===================================================================
--- zope.html/trunk/src/zope/html/DEPENDENCIES.cfg	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/DEPENDENCIES.cfg	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,10 @@
+zope.app
+zope.component
+zope.file
+zope.interface
+zope.mimetype
+
+# for the tests:
+zope.publisher
+zc.resourcelibrary
+zc.testlayer


Property changes on: zope.html/trunk/src/zope/html/DEPENDENCIES.cfg
___________________________________________________________________
Name: svn:eol-style
   + native

Added: zope.html/trunk/src/zope/html/README.txt
===================================================================
--- zope.html/trunk/src/zope/html/README.txt	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/README.txt	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,72 @@
+=========================
+HTML file editing support
+=========================
+
+This package contains support for editing HTML and XHTML inside a web
+page using the FCKeditor as a widget.  This is a fairly simple
+application of FCKeditor, and simply instantiates a pre-configured
+editor for each widget.  There are no options to control the editors
+individually.
+
+In creating this, we ran into some limitations of the editor that are
+worth being aware of.  Noting these as limitations does not mean that
+other editors do any better; what's available seems to be a mixed bag.
+
+- The editor only deals with what can be contained inside a <body>
+  element; anything that goes outside that, including the <body> and
+  </body> tags, get lost or damaged.  If there's any way to configure
+  FCKeditor to deal with such material, it isn't documented.
+
+- There's no real control of the HTML source; whitespace is not
+  preserved as a programmer would expect.  That's acceptable in many
+  use cases, but not all.  Applications should avoid using this widget
+  if the original whitespace must be maintained.
+
+Implementation problems
+-----------------------
+
+These are problems with the widget used to integrate FCKeditor rather
+than problems with FCKeditor itself.  These should be dealt with.
+
+- The width of the editor is hardcoded; this should be either
+  configurable or the editor should stretch to fill the available
+  space.  The sample uses of the FCKeditor don't seem to exhibit this
+  problem, so it can be better than it is.
+
+- The height of the editor should be configurable in a way similar to
+  the configuration of the basic textarea widget.
+
+Ideas for future development
+----------------------------
+
+These ideas might be interesting to pursue, but there are no specific
+plans to do so at this time:
+
+- Categorize the applications of the editor and provide alternate
+  toolbar configurations for those applications.  There's a lot of
+  configurability in the editor itself, so it can be made to do
+  different things.
+
+- Add support for some of the other fancy client-side HTML editors,
+  and allow a user preference to select which to use for what
+  applications, including the option of disabling the GUI editors when
+  detailed control over the HTML is needed (or for luddite users who
+  don't like the GUI editors).
+
+  XINHA (http://xinha.python-hosting.com/) appears to be an
+  interesting option as well, and may be more usable for applications
+  that want more than editing of small HTML fragments, especially if
+  the user is fairly HTML-savvy.
+
+  HTMLArea (http://www.dynarch.com/projects/htmlarea/) may become
+  interesting at some point, but a rough reading at this time
+  indicates that XINHA may be a more reasonable route.
+
+More information about FCKeditor
+--------------------------------
+
+- http://www.fckeditor.net/
+
+- http://discerning.com/topics/software/ttw.html
+
+- http://www.phpsolvent.com/wordpress/?page_id=330


Property changes on: zope.html/trunk/src/zope/html/README.txt
___________________________________________________________________
Name: svn:eol-style
   + native

Added: zope.html/trunk/src/zope/html/TODO.txt
===================================================================
--- zope.html/trunk/src/zope/html/TODO.txt	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/TODO.txt	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,9 @@
+Things that need to be done
+---------------------------
+
+- When encoding text, make sure everything is encoded (nothing is left
+  over), and deal with errors.
+
+- Make it possible for a user to override the use of the GUI editor
+  with a preference setting, possibly allowing a different editor to
+  be plugged in.


Property changes on: zope.html/trunk/src/zope/html/TODO.txt
___________________________________________________________________
Name: svn:eol-style
   + native

Added: zope.html/trunk/src/zope/html/__init__.py
===================================================================
--- zope.html/trunk/src/zope/html/__init__.py	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/__init__.py	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1 @@
+# This directory is a Python package.

Added: zope.html/trunk/src/zope/html/browser.py
===================================================================
--- zope.html/trunk/src/zope/html/browser.py	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/browser.py	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,239 @@
+"""Browser views that implement editing and preview.
+
+"""
+__docformat__ = "reStructuredText"
+
+import datetime
+
+import zope.lifecycleevent
+import zope.event
+import zope.file.contenttype
+import zope.file.interfaces
+import zope.formlib.form
+import zope.html.field
+import zope.html.interfaces
+import zope.mimetype.interfaces
+
+from zope import mimetype
+from zope.interface.common import idatetime
+
+from i18n import _
+
+
+UNIVERSAL_CHARSETS = ("utf-8", "utf-16", "utf-16be", "utf-16le")
+
+
+def get_rendered_text(form):
+    f = form.context.open("rb")
+    data = f.read()
+    f.close()
+    ci = mimetype.interfaces.IContentInfo(form.context)
+    return ci.decode(data)
+
+
+class BaseEditingView(zope.formlib.form.Form):
+
+    # initial value helpers:
+
+    def get_rendered_isFragment(self):
+        info = zope.html.interfaces.IEditableHtmlInformation(self.context)
+        return info.isFragment
+
+    def get_rendered_encoding(self):
+        charset = self.context.parameters.get("charset")
+        if charset:
+            return zope.component.queryUtility(
+                mimetype.interfaces.ICharsetCodec, charset)
+        else:
+            return None
+
+    # field definitions:
+
+    view_fields = zope.formlib.form.Fields(
+        zope.html.interfaces.IEditableHtmlInformation,
+        )
+    view_fields["isFragment"].get_rendered = get_rendered_isFragment
+
+    encoding_field = zope.formlib.form.Field(
+        zope.schema.Choice(
+            __name__=_("encoding"),
+            title=_("Encoding"),
+            description=_("Character data encoding"),
+            source=mimetype.source.codecSource,
+            required=False,
+            ))
+    encoding_field.get_rendered = get_rendered_encoding
+
+    reencode_field = zope.formlib.form.Field(
+        zope.schema.Bool(
+            __name__="reencode",
+            title=_("Re-encode"),
+            description=_("Enable encoding the text using UTF-8"
+                          " instead of the original encoding."),
+            default=False,
+            )
+        )
+
+    msgCannotDecodeText = _("Can't decode text for editing; please specify"
+                            " the document encoding.")
+
+    def setUpWidgets(self, ignore_request=False):
+        ci = mimetype.interfaces.IContentInfo(self.context)
+        self.have_text = "charset" in ci.effectiveParameters
+        fields = [self.view_fields]
+        if self.have_text:
+            if self.get_rendered_isFragment():
+                text_field = self.fragment_field
+            else:
+                text_field = self.document_field
+            fields.append(text_field)
+            if ci.effectiveParameters.get("charset") not in UNIVERSAL_CHARSETS:
+                fields.append(self.reencode_field)
+        else:
+            if not self.status:
+                self.status = self.msgCannotDecodeText
+            fields.append(self.encoding_field)
+        self.form_fields = zope.formlib.form.Fields(*fields)
+        super(BaseEditingView, self).setUpWidgets(
+            ignore_request=ignore_request)
+
+    def save_validator(self, action, data):
+        errs = self.validate(None, data)
+        if not self.have_text:
+            ifaces = zope.interface.providedBy(
+                zope.security.proxy.removeSecurityProxy(self.context))
+            for iface in ifaces:
+                if mimetype.interfaces.IContentTypeInterface.providedBy(iface):
+                    break
+            else:
+                # Should never happen!
+                assert False, "this view has been mis-registered!"
+            errs += zope.file.contenttype.validateCodecUse(
+                self.context, iface, data.get("encoding"),
+                self.encoding_field)
+        return errs
+
+    @zope.formlib.form.action(_("Save"), validator=save_validator)
+    def save(self, action, data):
+        changed = False
+        context = self.context
+
+        if self.have_text:
+            changed = self.handle_text_update(data)
+        else:
+            # maybe we have a new encoding?
+            codec = data["encoding"]
+            if codec is None:
+                self.status = self.msgCannotDecodeText
+            else:
+                if "charset" in context.parameters:
+                    old_codec = zope.component.queryUtility(
+                        mimetype.interfaces.ICharsetCodec,
+                        context.parameters["charset"])
+                else:
+                    old_codec = None
+                if getattr(old_codec, "name", None) != codec.name:
+                    # use the preferred charset for the new codec
+                    new_charset = zope.component.getUtility(
+                        mimetype.interfaces.ICodecPreferredCharset,
+                        codec.name)
+                    parameters = dict(context.parameters)
+                    parameters["charset"] = new_charset.name
+                    context.parameters = parameters
+                    changed = True
+
+        # Deal with the isFragment flag:
+        info = zope.html.interfaces.IEditableHtmlInformation(context)
+        isFragment = data["isFragment"]
+        if isFragment != info.isFragment:
+            info.isFragment = data["isFragment"]
+            changed = True
+
+        # Set the status message:
+        if changed:
+            # Should this get done if only the isFragment changed?
+            zope.event.notify(
+                zope.lifecycleevent.ObjectModifiedEvent(context))
+            formatter = self.request.locale.dates.getFormatter(
+                'dateTime', 'medium')
+            now = datetime.datetime.now(idatetime.ITZInfo(self.request))
+            self.status = _("Updated on ${date_time}",
+                            mapping={'date_time': formatter.format(now)})
+        elif not self.status:
+            self.status = _('No changes')
+
+    def handle_text_update(self, data):
+        text = data["text"]
+        if text != get_rendered_text(self):
+            ci = mimetype.interfaces.IContentInfo(self.context)
+            codec = ci.getCodec()
+            try:
+                textdata, consumed = codec.encode(text)
+                if consumed != len(text):
+                    # XXX borked!
+                    pass
+            except:
+                # The old encoding will no longer support the data, so
+                # switch to UTF-8:
+                if data.get("reencode"):
+                    textdata = text.encode("utf-8")
+                    parameters = dict(self.context.parameters)
+                    parameters["charset"] = "utf-8"
+                    self.context.parameters = parameters
+                else:
+                    encoding = ci.effectiveParameters["charset"]
+                    self.status = _(
+                        "Can't encode text in current encoding (${encoding})"
+                        "; check 'Re-encode' to enable conversion to UTF-8.",
+                        mapping={"encoding": encoding})
+                    self.form_reset = False
+                    return False
+            # need to discard re-encode checkbox
+            f = self.context.open("wb")
+            f.write(textdata)
+            f.close()
+            return True
+
+
+class HtmlEditingView(BaseEditingView):
+    """Editing view for HTML content."""
+
+    document_field = zope.formlib.form.Field(
+        zope.html.field.HtmlDocument(
+            __name__="text",
+            title=_("Text"),
+            description=_("Text of the document being edited."),
+            )
+        )
+    document_field.get_rendered = get_rendered_text
+
+    fragment_field = zope.formlib.form.Field(
+        zope.html.field.HtmlFragment(
+            __name__="text",
+            title=_("Text"),
+            description=_("Text of the fragment being edited."),
+            )
+        )
+    fragment_field.get_rendered = get_rendered_text
+
+
+class XhtmlEditingView(BaseEditingView):
+    """Editing view for XHTML content."""
+
+    document_field = zope.formlib.form.Field(
+        zope.html.field.XhtmlDocument(
+            __name__="text",
+            title=_("Text"),
+            description=_("Text of the document being edited."),
+            )
+        )
+    document_field.get_rendered = get_rendered_text
+
+    fragment_field = zope.formlib.form.Field(
+        zope.html.field.XhtmlFragment(
+            __name__="text",
+            title=_("Text"),
+            description=_("Text of the fragment being edited."),
+            )
+        )
+    fragment_field.get_rendered = get_rendered_text

Added: zope.html/trunk/src/zope/html/browser.txt
===================================================================
--- zope.html/trunk/src/zope/html/browser.txt	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/browser.txt	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,137 @@
+======================
+Views on editable HTML
+======================
+
+Let's start by uploading some HTML to create a file object::
+
+  >>> import StringIO
+  >>> sio = StringIO.StringIO("This is a <em>fragment</em>."
+  ...                         "  There's one 8-bit Latin-1 character: \xd8.")
+
+  >>> from zope.testbrowser.testing import Browser
+  >>> browser = Browser()
+  >>> browser.addHeader("Authorization", "Basic user:userpw")
+  >>> browser.addHeader("Accept-Language", "en-US")
+  >>> browser.open("http://localhost/@@+/zope.file.File")
+
+  >>> ctrl = browser.getControl(name="form.data")
+  >>> ctrl.mech_control.add_file(sio, "text/html", "sample.html")
+  >>> browser.getControl("Add").click()
+
+We can see that the MIME handlers have marked this as HTML content::
+
+  >>> import zope.mimetype.types
+  >>> file = getRootFolder()["sample.html"]
+  >>> zope.mimetype.types.IContentTypeTextHtml.providedBy(file)
+  True
+
+The "Edit" view can be used to check and modify the "Is fragment?"
+field, which is stored by the views in an annotation on the object.
+The particular fragment we uploaded here should be see as a fragment
+by default::
+
+  >>> browser.getLink("sample.html").click()
+  >>> browser.getLink("Edit").click()
+
+  >>> browser.open("http://localhost/sample.html/@@htmledit.html")
+  >>> ctrl = browser.getControl(name="form.isFragment")
+  >>> ctrl.value
+  True
+
+The setting can be toggle by unchecking the checkbox and clicking
+"Save"::
+
+  >>> ctrl.value = False
+  >>> browser.getControl("Save").click()
+  >>> ctrl = browser.getControl(name="form.isFragment")
+  >>> ctrl.value
+  False
+
+The edit view also allows editing of the HTML content if the document
+can be decoded.  If the encoding of the document is not known, the
+document cannot be edited by the user is prompted to select an
+encoding that should be used.
+
+Our example document does not have a specified encoding, so we expect
+the form to indicate that the encoded is needed, and to allow the user
+to select and encoding.  Let's reload the form to get rid of the
+"Updated..." message so we can see what the user is told::
+
+  >>> browser.getLink("Edit").click()
+
+  >>> print browser.contents
+  <...Can't decode text for editing; please specify the document encoding...
+
+  >>> ctrl = browser.getControl(name="form.encoding")
+  >>> ctrl.value
+  ['']
+
+The user can then select an encoding::
+
+  >>> ctrl.value = ["utf-8"]
+  >>> browser.getControl("Save").click()
+
+Since we just selected an encoding that doesn't work with the Latin-1
+data we uploaded for the file, we're told that that encoding is not
+acceptable::
+
+
+  >>> print browser.contents
+  <...Selected encoding cannot decode document...
+
+We need to select an encoding that actually makes sense for the data
+that we've uploaded::
+
+  >>> ctrl = browser.getControl(name="form.encoding")
+  >>> ctrl.value = ["iso-8859-1"]
+  >>> browser.getControl("Save").click()
+
+Now that the encoding has been saved, the document can be encoded and
+edited, and the encoding selection will no longer be available on the
+form::
+
+  >>> browser.getControl(name="form.encoding")
+  Traceback (most recent call last):
+    ...
+  LookupError: name 'form.encoding'
+
+Since our selected encoding does not support all Unicode characters,
+there is an option available to allow re-encoding of the document if
+the content being saved after editing cannot be encoded in the
+original encoding of the document.  The value of this option defaults
+to False since the user needs to be aware that the document encoding
+may be modified::
+
+  >>> browser.getControl(name="form.reencode").value
+  False
+
+If we edit the text such that characters are included that cannot be
+encoded in the current encoding and try to save our changes without
+allowing re-encoding, we see a notification that the document can't be
+encoded in the original encoding and that re-encoding is needed::
+
+  >>> ctrl = browser.getControl(name="form.text")
+  >>> ctrl.value = u"\u3060\u3051\u306e\u30b5\u30a4\u30c8".encode("utf-8")
+
+  >>> browser.getControl("Save").click()
+
+  >>> print browser.contents
+  <...Can't encode text in current encoding...
+
+At this point, we can select the "Re-encode" option to allow the text
+to be saved in an encoding other than the original; this would allow
+us to save any text::
+
+  >>> browser.getControl(name="form.reencode").value = True
+  >>> browser.getControl("Save").click()
+
+  >>> print browser.contents
+  <...Updated on ...
+
+If we now take a look at the "Content Type" view for the file, we see
+that the encoding has been updated to UTF-8::
+
+  >>> browser.getLink("Content Type").click()
+
+  >>> browser.getControl(name="form.encoding").value
+  ['utf-8']


Property changes on: zope.html/trunk/src/zope/html/browser.txt
___________________________________________________________________
Name: svn:eol-style
   + native

Added: zope.html/trunk/src/zope/html/configure.zcml
===================================================================
--- zope.html/trunk/src/zope/html/configure.zcml	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/configure.zcml	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,74 @@
+<configure
+    xmlns="http://namespaces.zope.org/zope"
+    xmlns:browser="http://namespaces.zope.org/browser"
+    i18n_domain="zope.html"
+    >
+
+  <browser:view
+      class=".browser.HtmlEditingView"
+      for="zope.mimetype.types.IContentTypeTextHtml"
+      name="htmledit.html"
+      menu="zmi_views" title="Edit"
+      permission="zope.ManageContent"
+      />
+
+  <browser:view
+      class=".browser.XhtmlEditingView"
+      for="zope.mimetype.types.IContentTypeXhtml"
+      name="htmledit.html"
+      menu="zmi_views" title="Edit"
+      permission="zope.ManageContent"
+      />
+
+  <adapter
+      for="zope.mimetype.types.IContentTypeTextHtml"
+      factory=".docinfo.EditableHtmlInformation"
+      trusted="yes"
+      />
+
+  <adapter
+      for="zope.mimetype.types.IContentTypeXhtml"
+      factory=".docinfo.EditableHtmlInformation"
+      trusted="yes"
+      />
+
+  <class class=".docinfo.EditableHtmlInformation">
+    <require
+        permission="zope.ManageContent"
+        set_attributes="isFragment"
+        />
+    <require
+        permission="zope.View"
+        attributes="isFragment"
+        />
+  </class>
+
+  <view
+      type="zope.publisher.interfaces.browser.IBrowserRequest"
+      for=".field.IHtmlFragmentField"
+      provides="zope.app.form.interfaces.IInputWidget"
+      factory=".widget.FckeditorWidget"
+      permission="zope.Public"
+      />
+
+  <view
+      type="zope.publisher.interfaces.browser.IBrowserRequest"
+      for=".field.IXhtmlFragmentField"
+      provides="zope.app.form.interfaces.IInputWidget"
+      factory=".widget.FckeditorWidget"
+      permission="zope.Public"
+      />
+
+  <resourceLibrary name="fckeditor">
+    <directory
+        source="fckeditor"
+        include="fckeditor.js"
+        />
+  </resourceLibrary>
+
+  <browser:resource
+      file="zope_fckconfig.js"
+      name="zope_fckconfig.js"
+      />
+
+</configure>

Added: zope.html/trunk/src/zope/html/docinfo.py
===================================================================
--- zope.html/trunk/src/zope/html/docinfo.py	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/docinfo.py	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,100 @@
+"""Helper functions to get information on the current document.
+
+"""
+__docformat__ = "reStructuredText"
+
+import HTMLParser
+import xml.parsers.expat
+
+import persistent.dict
+
+import zope.annotation.interfaces
+import zope.file.interfaces
+import zope.html.interfaces
+import zope.interface
+import zope.mimetype.types
+
+
+# Use the package name as the annotation key:
+KEY = __name__.rsplit(".", 1)[0]
+
+
+class EditableHtmlInformation(object):
+
+    zope.interface.implements(
+        zope.html.interfaces.IEditableHtmlInformation)
+
+    _annotations = None
+
+    def __init__(self, file):
+        self.__parent__ = file
+        self.context = file
+
+    def _get_annotation(self):
+        if self._annotations is None:
+            self._annotations = zope.annotation.interfaces.IAnnotations(
+                self.context)
+        return self._annotations.get(KEY)
+
+    def _get_isFragment(self):
+        annotation = self._get_annotation()
+        if annotation is not None:
+            if "is_fragment" in annotation:
+                return annotation["is_fragment"]
+        # compute from data
+        f = zope.file.interfaces.IFile(self.context)
+        if zope.mimetype.types.IContentTypeTextHtml.providedBy(self.context):
+            isfrag = _is_html_fragment(f)
+        else:
+            isfrag = _is_xhtml_fragment(f)
+        return isfrag
+
+    def _set_isFragment(self, value):
+        value = bool(value)
+        if value != self.isFragment:
+            annotation = self._get_annotation()
+            if annotation is None:
+                annotation = persistent.dict.PersistentDict()
+            annotation["is_fragment"] = value
+            self._annotations[KEY] = annotation
+
+    isFragment = property(_get_isFragment, _set_isFragment)
+
+
+def _is_xhtml_fragment(file):
+    f = file.open("r")
+    p = xml.parsers.expat.ParserCreate()
+    h = HTMLContentSniffer()
+    p.StartElementHandler = h.handle_starttag
+    p.CharacterDataHandler = h.handle_data
+    try:
+        p.Parse(f.read(2048))
+    except xml.parsers.expat.ExpatError:
+        # well-formedness failure; don't even pretend it might be a
+        # document (might not be a useful fragment either, though)
+        return True
+    return p.leading_content or p.first_element != "html"
+
+
+def _is_html_fragment(file):
+    """Return True iff `file` represents an HTML fragment."""
+    f = file.open("r")
+    p = HTMLContentSniffer()
+    p.feed(f.read(2048))
+    return p.leading_content or p.first_element != "html"
+
+
+class HTMLContentSniffer(HTMLParser.HTMLParser):
+
+    first_element = None
+    leading_content = None
+
+    def handle_starttag(self, name, attrs):
+        if not self.first_element:
+            self.first_element = name
+
+    def handle_data(self, data):
+        if not self.first_element:
+            data = data.strip()
+            if data:
+                self.leading_content = True

Added: zope.html/trunk/src/zope/html/docinfo.txt
===================================================================
--- zope.html/trunk/src/zope/html/docinfo.txt	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/docinfo.txt	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,59 @@
+======================================
+Management of supplemental information
+======================================
+
+The `zope.html` package provides additional views on files containing
+HTML and XHTML data that allow editing the files over the web.  The
+files may contain either complete documents or fragments that may be
+composed into larger documents.  Preview views are also provided.
+
+The editing and preview views rely on getting supplemental information
+about the file being edited using the `IEditableHtmlInformation`
+adapter for the file.  That adapter uses annotations on the content
+object to store information that needs to be persisted.
+
+The `IEditableHtmlInformation` interface is very simple; there's only
+one field defined, and it's a simple boolean value: whether the file
+should be treated as a fragment or not.  Let's create a simple content
+object that we can use for testing::
+
+  >>> import zope.file.file
+  >>> import zope.interface
+  >>> import zope.annotation
+
+  >>> class File(zope.file.file.File):
+  ...     zope.interface.implements(
+  ...         zope.annotation.IAttributeAnnotatable)
+  ...
+  ...     def __init__(self, text=None):
+  ...         self.mimeType = "text/html"
+  ...         self.parameters = {"charset": "utf-8"}
+  ...         f = self.open("wb")
+  ...         f.write(text)
+  ...         f.close()
+
+Let's create a file and the corresponding `IEditableHtmlInformation`
+object::
+
+  >>> import zope.html.docinfo
+
+  >>> file = File("This is a <em>fragment</em>.")
+  >>> info = zope.html.docinfo.EditableHtmlInformation(file)
+
+We can now check that the initial value of the `isFragment` attribute
+is computed reasonably::
+
+  >>> info.isFragment
+  True
+
+The user can cause the `isFragment` flag to be toggled from the UI, so
+it should remember the current state of the flag::
+
+  >>> info.isFragment = False
+  >>> info.isFragment
+  False
+
+A new instance of the `IEditableHtmlInformation` instance should also remember the last value of the setting::
+
+  >>> zope.html.docinfo.EditableHtmlInformation(file).isFragment
+  False


Property changes on: zope.html/trunk/src/zope/html/docinfo.txt
___________________________________________________________________
Name: svn:eol-style
   + native

Added: zope.html/trunk/src/zope/html/fckeditor/_documentation.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_documentation.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_documentation.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,30 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+-->
+<html>
+	<head>
+		<title>FCKeditor - Documentation</title>
+		<style>
+			BODY { FONT-FAMILY: Arial, Verdana, Sans-Serif }
+			P { MARGIN-LEFT: 20px }
+			</style>
+	</head>
+	<body>
+		<h1>FCKeditor Documentation</h1>
+		<p>You can find all the available documentation for FCKeditor online, at our wiki 
+			web site:</p>
+		<blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
+			<p><a href="http://wiki.fckeditor.net/">http://wiki.fckeditor.net/</a></p>
+		</blockquote>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/_samples/_plugins/findreplace/fckplugin.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_samples/_plugins/findreplace/fckplugin.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_samples/_plugins/findreplace/fckplugin.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,34 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckplugin.js
+ * 	This is the sample plugin definition file.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+// Register the related commands.
+FCKCommands.RegisterCommand( 'My_Find'		, new FCKDialogCommand( FCKLang['DlgMyFindTitle']	, FCKLang['DlgMyFindTitle']		, FCKConfig.PluginsPath + 'findreplace/find.html'	, 340, 170 ) ) ;
+FCKCommands.RegisterCommand( 'My_Replace'	, new FCKDialogCommand( FCKLang['DlgMyReplaceTitle'], FCKLang['DlgMyReplaceTitle']	, FCKConfig.PluginsPath + 'findreplace/replace.html', 340, 200 ) ) ;
+
+// Create the "Find" toolbar button.
+var oFindItem		= new FCKToolbarButton( 'My_Find', FCKLang['DlgMyFindTitle'] ) ;
+oFindItem.IconPath	= FCKConfig.PluginsPath + 'findreplace/find.gif' ;
+
+FCKToolbarItems.RegisterItem( 'My_Find', oFindItem ) ;			// 'My_Find' is the name used in the Toolbar config.
+
+// Create the "Replace" toolbar button.
+var oReplaceItem		= new FCKToolbarButton( 'My_Replace', FCKLang['DlgMyReplaceTitle'] ) ;
+oReplaceItem.IconPath	= FCKConfig.PluginsPath + 'findreplace/replace.gif' ;
+
+FCKToolbarItems.RegisterItem( 'My_Replace', oReplaceItem ) ;	// 'My_Replace' is the name used in the Toolbar config.
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/_samples/_plugins/findreplace/find.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/_samples/_plugins/findreplace/find.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/_samples/_plugins/findreplace/find.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_samples/_plugins/findreplace/find.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_samples/_plugins/findreplace/find.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,168 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: find.html
+ * 	This is the sample "Find" plugin window.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<html>
+	<head>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta content="noindex, nofollow" name="robots">
+		<script type="text/javascript">
+
+var oEditor = window.parent.InnerDialogLoaded() ;
+
+function OnLoad()
+{
+	// Whole word is available on IE only.
+	if ( oEditor.FCKBrowserInfo.IsIE )
+		document.getElementById('divWord').style.display = '' ;
+	
+	// First of all, translate the dialog box texts.
+	oEditor.FCKLanguageManager.TranslatePage( document ) ;
+
+	window.parent.SetAutoSize( true ) ;
+}
+
+function btnStat(frm)
+{
+	document.getElementById('btnFind').disabled = 
+		( document.getElementById('txtFind').value.length == 0 ) ;
+}
+
+function ReplaceTextNodes( parentNode, regex, replaceValue, replaceAll )
+{
+	for ( var i = 0 ; i < parentNode.childNodes.length ; i++ )
+	{
+		var oNode = parentNode.childNodes[i] ;
+		if ( oNode.nodeType == 3 )
+		{
+			var sReplaced = oNode.nodeValue.replace( regex, replaceValue ) ;
+			if ( oNode.nodeValue != sReplaced )
+			{
+				oNode.nodeValue = sReplaced ;
+				if ( ! replaceAll )
+					return true ;
+			}
+		}
+		else
+		{
+			if ( ReplaceTextNodes( oNode, regex, replaceValue ) )
+				return true ;
+		}
+	}
+	return false ;
+}
+
+function GetRegexExpr()
+{
+	if ( document.getElementById('chkWord').checked )
+		var sExpr = '\\b' + document.getElementById('txtFind').value + '\\b' ;
+	else
+		var sExpr = document.getElementById('txtFind').value ;
+		
+	return sExpr ;
+}
+
+function GetCase() 
+{
+	return ( document.getElementById('chkCase').checked ? '' : 'i' ) ;
+}
+
+function Ok()
+{
+	if ( document.getElementById('txtFind').value.length == 0 )
+		return ;
+	
+	if ( oEditor.FCKBrowserInfo.IsIE )
+		FindIE() ;
+	else
+		FindGecko() ;
+}
+
+var oRange = null ;
+
+function FindIE()
+{
+	if ( oRange == null )
+		oRange = oEditor.FCK.EditorDocument.body.createTextRange() ;
+
+	var iFlags = 0 ;
+	
+	if ( chkCase.checked )
+		iFlags = iFlags | 4 ;
+	
+	if ( chkWord.checked )
+		iFlags = iFlags | 2 ;
+	
+	var bFound = oRange.findText( document.getElementById('txtFind').value, 1, iFlags ) ;
+	
+	if ( bFound )
+	{
+		oRange.scrollIntoView() ;
+		oRange.select() ;
+		oRange.collapse(false) ;
+		oLastRangeFound = oRange ;
+	}
+	else
+	{
+		oRange = null ;
+		alert( oEditor.FCKLang.DlgFindNotFoundMsg ) ;
+	}
+}
+
+function FindGecko()
+{
+	var bCase = document.getElementById('chkCase').checked ;
+	var bWord = document.getElementById('chkWord').checked ;
+	
+	// window.find( searchString, caseSensitive, backwards, wrapAround, wholeWord, searchInFrames, showDialog ) ;
+	oEditor.FCK.EditorWindow.find( document.getElementById('txtFind').value, bCase, false, false, bWord, false, false ) ;
+	
+}
+		</script>
+	</head>
+	<body onload="OnLoad()" scroll="no" style="OVERFLOW: hidden">
+		<div align="center">
+			This is my Plugin!
+		</div>
+		<table cellSpacing="3" cellPadding="2" width="100%" border="0">
+			<tr>
+				<td nowrap>
+					<label for="txtFind" fckLang="DlgMyReplaceFindLbl">Find what:</label>&nbsp;
+				</td>
+				<td width="100%">
+					<input id="txtFind" onkeyup="btnStat(this.form)" style="WIDTH: 100%" tabIndex="1" type="text">
+				</td>
+				<td>
+					<input id="btnFind" style="WIDTH: 100%; PADDING-RIGHT: 5px; PADDING-LEFT: 5px" disabled
+						onclick="Ok();" type="button" value="Find" fckLang="DlgMyFindFindBtn">
+				</td>
+			</tr>
+			<tr>
+				<td valign="bottom" colSpan="3">
+					&nbsp;<input id="chkCase" tabIndex="3" type="checkbox"><label for="chkCase" fckLang="DlgMyReplaceCaseChk">Match 
+						case</label>
+					<br>
+					<div id="divWord" style="DISPLAY: none">
+						&nbsp;<input id="chkWord" tabIndex="4" type="checkbox"><label for="chkWord" fckLang="DlgMyReplaceWordChk">Match 
+							whole word</label>
+					</div>
+				</td>
+			</tr>
+		</table>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/_samples/_plugins/findreplace/lang/en.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_samples/_plugins/findreplace/lang/en.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_samples/_plugins/findreplace/lang/en.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,29 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: en.js
+ * 	English language file for the sample plugin.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+FCKLang['DlgMyReplaceTitle']		= 'Plugin - Replace' ;
+FCKLang['DlgMyReplaceFindLbl']		= 'Find what:' ;
+FCKLang['DlgMyReplaceReplaceLbl']	= 'Replace with:' ;
+FCKLang['DlgMyReplaceCaseChk']		= 'Match case' ;
+FCKLang['DlgMyReplaceReplaceBtn']	= 'Replace' ;
+FCKLang['DlgMyReplaceReplAllBtn']	= 'Replace All' ;
+FCKLang['DlgMyReplaceWordChk']		= 'Match whole word' ;
+
+FCKLang['DlgMyFindTitle']			= 'Plugin - Find' ;
+FCKLang['DlgMyFindFindBtn']			= 'Find' ;
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/_samples/_plugins/findreplace/lang/fr.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_samples/_plugins/findreplace/lang/fr.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_samples/_plugins/findreplace/lang/fr.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,29 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fr.js
+ * 	French language file for the sample plugin.
+ * 
+ * File Authors:
+ * 		Benjamin Cartereau (b.cartereau at infass.com)
+ */
+
+FCKLang['DlgMyReplaceTitle']		= 'Plugin - Remplacer' ;
+FCKLang['DlgMyReplaceFindLbl']		= 'Chercher:' ;
+FCKLang['DlgMyReplaceReplaceLbl']	= 'Remplacer par:' ;
+FCKLang['DlgMyReplaceCaseChk']		= 'Respecter la casse' ;
+FCKLang['DlgMyReplaceReplaceBtn']	= 'Remplacer' ;
+FCKLang['DlgMyReplaceReplAllBtn']	= 'Remplacer Tout' ;
+FCKLang['DlgMyReplaceWordChk']		= 'Mot entier' ;
+
+FCKLang['DlgMyFindTitle']			= 'Plugin - Chercher' ;
+FCKLang['DlgMyFindFindBtn']			= 'Chercher' ;
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/_samples/_plugins/findreplace/lang/it.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_samples/_plugins/findreplace/lang/it.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_samples/_plugins/findreplace/lang/it.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,29 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: it.js
+ * 	Italian language file for the sample plugin.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+FCKLang['DlgMyReplaceTitle']		= 'Plugin - Sostituisci' ;
+FCKLang['DlgMyReplaceFindLbl']		= 'Trova:' ;
+FCKLang['DlgMyReplaceReplaceLbl']	= 'Sostituisci con:' ;
+FCKLang['DlgMyReplaceCaseChk']		= 'Maiuscole/minuscole' ;
+FCKLang['DlgMyReplaceReplaceBtn']	= 'Sostituisci' ;
+FCKLang['DlgMyReplaceReplAllBtn']	= 'Sostituisci tutto' ;
+FCKLang['DlgMyReplaceWordChk']		= 'Parola intera' ;
+
+FCKLang['DlgMyFindTitle']			= 'Plugin - Cerca' ;
+FCKLang['DlgMyFindFindBtn']			= 'Cerca' ;
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/_samples/_plugins/findreplace/replace.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/_samples/_plugins/findreplace/replace.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/_samples/_plugins/findreplace/replace.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_samples/_plugins/findreplace/replace.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_samples/_plugins/findreplace/replace.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,131 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: replace.html
+ * 	This is the sample "Replace" plugin window.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<html>
+	<head>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta content="noindex, nofollow" name="robots">
+		<script type="text/javascript">
+
+var oEditor = window.parent.InnerDialogLoaded() ;
+
+function OnLoad()
+{
+	// First of all, translate the dialog box texts
+	oEditor.FCKLanguageManager.TranslatePage( document ) ;
+
+	window.parent.SetAutoSize( true ) ;
+}
+
+function btnStat(frm)
+{
+	document.getElementById('btnReplace').disabled = 
+		document.getElementById('btnReplaceAll').disabled = 
+			( document.getElementById('txtFind').value.length == 0 ) ;
+}
+
+function ReplaceTextNodes( parentNode, regex, replaceValue, replaceAll, hasFound )
+{
+	for ( var i = 0 ; i < parentNode.childNodes.length ; i++ )
+	{
+		var oNode = parentNode.childNodes[i] ;
+		if ( oNode.nodeType == 3 )
+		{
+			var sReplaced = oNode.nodeValue.replace( regex, replaceValue ) ;
+			if ( oNode.nodeValue != sReplaced )
+			{
+				oNode.nodeValue = sReplaced ;
+				if ( ! replaceAll )
+					return true ;
+				hasFound = true ;
+			}
+		}
+
+		hasFound = ReplaceTextNodes( oNode, regex, replaceValue, replaceAll, hasFound ) ;
+		if ( ! replaceAll && hasFound )
+			return true ;
+	}
+	
+	return hasFound ;
+}
+
+function GetRegexExpr()
+{
+	if ( document.getElementById('chkWord').checked )
+		var sExpr = '\\b' + document.getElementById('txtFind').value + '\\b' ;
+	else
+		var sExpr = document.getElementById('txtFind').value ;
+		
+	return sExpr ;
+}
+
+function GetCase() 
+{
+	return ( document.getElementById('chkCase').checked ? '' : 'i' ) ;
+}
+
+function Replace()
+{
+	var oRegex = new RegExp( GetRegexExpr(), GetCase() ) ;
+	ReplaceTextNodes( oEditor.FCK.EditorDocument.body, oRegex, document.getElementById('txtReplace').value, false ) ;
+}
+
+function ReplaceAll()
+{
+	var oRegex = new RegExp( GetRegexExpr(), GetCase() + 'g' ) ;
+	ReplaceTextNodes( oEditor.FCK.EditorDocument.body, oRegex, document.getElementById('txtReplace').value, true ) ;
+	window.parent.Cancel() ;
+}
+		</script>
+	</head>
+	<body onload="OnLoad()" scroll="no" style="OVERFLOW: hidden">
+		<div align="center">
+			This is my Plugin!
+		</div>
+		<table cellSpacing="3" cellPadding="2" width="100%" border="0">
+			<tr>
+				<td noWrap><label for="txtFind" fckLang="DlgMyReplaceFindLbl">Find what:</label>
+				</td>
+				<td width="100%"><input id="txtFind" onkeyup="btnStat(this.form)" style="WIDTH: 100%" tabIndex="1" type="text">
+				</td>
+				<td><input id="btnReplace" style="WIDTH: 100%" disabled onclick="Replace();" type="button"
+						value="Replace" fckLang="DlgMyReplaceReplaceBtn">
+				</td>
+			</tr>
+			<tr>
+				<td vAlign="top" nowrap><label for="txtReplace" fckLang="DlgMyReplaceReplaceLbl">Replace 
+						with:</label>
+				</td>
+				<td vAlign="top"><input id="txtReplace" style="WIDTH: 100%" tabIndex="2" type="text">
+				</td>
+				<td><input id="btnReplaceAll" disabled onclick="ReplaceAll()" type="button" value="Replace All"
+						fckLang="DlgMyReplaceReplAllBtn">
+				</td>
+			</tr>
+			<tr>
+				<td vAlign="bottom" colSpan="3">&nbsp;<input id="chkCase" tabIndex="3" type="checkbox"><label for="chkCase" fckLang="DlgMyReplaceCaseChk">Match 
+						case</label>
+					<br>
+					&nbsp;<input id="chkWord" tabIndex="4" type="checkbox"><label for="chkWord" fckLang="DlgMyReplaceWordChk">Match 
+						whole word</label>
+				</td>
+			</tr>
+		</table>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/_samples/_plugins/samples/fckplugin.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_samples/_plugins/samples/fckplugin.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_samples/_plugins/samples/fckplugin.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,24 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckplugin.js
+ * 	This is a sample plugin definition file.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+// Here we define our custom Style combo, with a custom widths.
+var oMyBigStyleCombo = new FCKToolbarStyleCombo() ;
+oMyBigStyleCombo.FieldWidth = 250 ;
+oMyBigStyleCombo.PanelWidth = 300 ;
+FCKToolbarItems.RegisterItem( 'My_BigStyle', oMyBigStyleCombo ) ;
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/_samples/afp/fck.afpa
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_samples/afp/fck.afpa	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_samples/afp/fck.afpa	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1 @@
+<application ID="fck"/>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/_samples/afp/fck.afpa.code
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_samples/afp/fck.afpa.code	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_samples/afp/fck.afpa.code	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,121 @@
+DEFINE CLASS fckeditor AS custom
+	cInstanceName =""
+	BasePath =""
+	cWIDTH =""
+	cHEIGHT =""
+	ToolbarSet =""
+	cValue=""
+	DIMENSION aConfig(10,2)
+
+&& -----------------------------------------------------------------------
+	FUNCTION fckeditor( tcInstanceName )
+		LOCAL lnLoop,lnLoop2
+		THIS.cInstanceName	= tcInstanceName
+		THIS.BasePath	= '../../../FCKeditor/'
+		THIS.cWIDTH		= '100%'
+		THIS.cHEIGHT	= '200'
+		THIS.ToolbarSet	= 'Default'
+		THIS.cValue		= ''
+		FOR lnLoop=1 TO 10
+			FOR lnLoop2=1 TO 2
+				THIS.aConfig(lnLoop,lnLoop2)	= ""
+			NEXT
+		NEXT
+		RETURN
+	ENDFUNC
+
+
+&& -----------------------------------------------------------------------
+	FUNCTION CREATE()
+		RETURN(THIS.CreateHtml())
+	ENDFUNC
+
+&& -----------------------------------------------------------------------
+	FUNCTION CreateHtml()
+		LOCAL html
+		LOCAL lcLink
+
+		HtmlValue = THIS.cValue		&& HTMLSPECIALCHARS()
+
+		html = [<div>]
+		IF THIS.IsCompatible()
+			lcLink = THIS.BasePath+[editor/fckeditor.html?InstanceName=]+THIS.cInstanceName
+
+			IF ( THIS.ToolbarSet # '' )
+				lcLink = lcLink + [Toolbar=]+THIS.ToolbarSet
+			ENDIF
+
+&& Render the LINKED HIDDEN FIELD.
+			html = html + [<input type="hidden" id="]+THIS.cInstanceName +[" name="]+THIS.cInstanceName +[" value="]+HtmlValue+[">]
+
+&& Render the configurations HIDDEN FIELD.
+			html = html + [<input type="hidden" id="]+THIS.cInstanceName +[___Config" value="]+THIS.GetConfigFieldString() + [">] +CHR(13)+CHR(10)
+
+&& Render the EDITOR IFRAME.
+			html = html + [<iframe id="]+THIS.cInstanceName +[___Frame" src="]+lcLink+[" width="]+THIS.cWIDTH+[" height="]+THIS.cHEIGHT+[" frameborder="no" scrolling="no"></iframe>]
+		ELSE
+			IF ( AT("%", THIS.cWIDTH)=0 )
+				WidthCSS = THIS.cWIDTH + 'px'
+			ELSE
+				WidthCSS = THIS.cWIDTH
+			ENDIF
+
+			IF ( AT("%",THIS.cHEIGHT)=0  )
+				HeightCSS = THIS.cHEIGHT + 'px'
+			ELSE
+				HeightCSS = THIS.cHEIGHT
+			ENDIF
+
+			html = html + [<textarea name="]+THIS.cInstanceName +[" rows="4" cols="40" style="width: ]+WidthCSS+[ height: ]+HeightCSS+[" wrap="virtual">]+HtmlValue+[</textarea>]
+		ENDIF
+
+		html = html + [</div>]
+
+		RETURN (html)
+	ENDFUNC
+
+
+&& -----------------------------------------------------------------------
+	FUNCTION IsCompatible()
+		LOCAL llRetval
+		LOCAL sAgent
+
+		llRetval=.F.
+
+		sAgent= LOWER(Request.ServerVariables("HTTP_USER_AGENT"))
+
+		IF AT("msie",sAgent) >0 .AND. AT("mac",sAgent)=0 .AND. AT("opera",sAgent)=0
+			iVersion=VAL(SUBSTR(sAgent,AT("msie",sAgent)+5,3))
+			llRetval= iVersion > 5.5
+		ELSE
+			IF AT("gecko",sAgent)>0
+				iVersion=VAL(SUBSTR(sAgent,AT("gecko/",sAgent)+6,8))
+				llRetval =iVersion > 20030210
+			ENDIF
+		ENDIF
+		RETURN (llRetval)
+	ENDFUNC
+
+&& -----------------------------------------------------------------------
+	FUNCTION GetConfigFieldString()
+		LOCAL sParams
+		LOCAL bFirst
+		LOCAL sKey
+		sParams = ""
+		bFirst = .T.
+		FOR lnLoop=1 TO 10 && ALEN(this.aconfig)
+			IF !EMPTY(THIS.aConfig(lnLoop,1))
+				IF bFirst = .F.
+					sParams = sParams + "&"
+				ELSE
+					bFirst = .F.
+				ENDIF
+				sParams = sParams +THIS.aConfig(lnLoop,1)+[=]+THIS.aConfig(lnLoop,2)
+			ELSE
+				EXIT
+			ENDIF
+		NEXT
+		RETURN(sParams)
+	ENDFUNC
+ENDDEFINE
+

Added: zope.html/trunk/src/zope/html/fckeditor/_samples/afp/sample01.afp
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_samples/afp/sample01.afp	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_samples/afp/sample01.afp	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,52 @@
+<% 
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2004 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * File Name: sampleposteddata.php
+ * 	This page lists the data posted by a form.
+ * 
+ * Version:  1.0 
+ * Modified: 2005-07-01
+ * 
+ * File Authors: Soenke Freitag (www.afp-hosting.de)
+ * 		
+%>
+
+<html>
+	<head>
+		<title>FCKeditor - Sample</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<link href="../sample.css" rel="stylesheet" type="text/css" />
+	</head>
+	<body>
+		<h1>FCKeditor - AFP - Sample 1</h1>
+		This sample displays a normal HTML form with an FCKeditor with full features enabled.
+		<hr>
+		<form action="sampleposteddata.afp" method="post" target="_blank">
+<%
+
+sBasePath="../../fckeditor/"		&& Change this to your local path
+
+lcText=[This is some <strong>sample text</strong>. You are using ]
+lcText=lcText+[<a href='http://www.fckeditor.net/'>FCKeditor</a>.]
+
+oFCKeditor = CREATEOBJECT("FCKeditor")
+oFCKeditor.fckeditor("FCKeditor1")
+oFCKeditor.BasePath	= sBasePath 
+oFCKeditor.cValue	= lcText
+
+? oFCKeditor.Create() 
+
+%>
+			<br>
+			<input type="submit" value="Submit">
+		</form>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/_samples/afp/sampleposteddata.afp
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_samples/afp/sampleposteddata.afp	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_samples/afp/sampleposteddata.afp	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,54 @@
+<% 
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2004 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * File Name: sampleposteddata.php
+ * 	This page lists the data posted by a form.
+ * 
+ * Version:  1.0 
+ * Modified: 2005-07-01
+ * 
+ * File Authors: Soenke Freitag (www.afp-hosting.de)
+ * 		
+%>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title>FCKeditor - Samples - Posted Data</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<link href="../sample.css" rel="stylesheet" type="text/css" />
+	</head>
+	<body>
+		<h1>FCKeditor - Samples - Posted Data</h1>
+		This page lists all data posted by the form.
+		<hr>
+		<table width="100%" border="1" cellspacing="0" bordercolor="#999999">
+			<tr style="FONT-WEIGHT: bold; COLOR: #dddddd; BACKGROUND-COLOR: #999999">
+				<td nowrap>Field Name&nbsp;&nbsp;</td>
+				<td>Value</td>
+			</tr>
+<%
+		lcForm=REQUEST.Form()
+		lcForm=STRTRAN(lcForm,"&",CHR(13)+CHR(10))
+
+		FOR lnLoop=1 TO MEMLINES(lcForm)
+			lcZeile=ALLTRIM(MLINE(lcForm,lnLoop))
+			IF AT("=",lcZeile)>0
+				lcVariable=UPPER(ALLTRIM(LEFT(lcZeile,AT("=",lcZeile)-1)))  
+				lcWert=ALLTRIM(RIGHT(lcZeile,LEN(lcZeile)-AT("=",lcZeile)))
+				lcWert=Server.UrlDecode( lcWert ) 
+	
+				? [<tr><td>]+lcVariable+[ =</td><td>]+lcWert+[</td></tr>]
+			ENDIF
+		NEXT
+%>
+		</table>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/_samples/asp/sample01.asp
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_samples/asp/sample01.asp	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_samples/asp/sample01.asp	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,55 @@
+<%@ CodePage=65001 Language="VBScript"%>
+<% Option Explicit %>
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: sample01.asp
+ * 	Sample page.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<% ' You must set "Enable Parent Paths" on your web site in order this relative include to work. %>
+<!-- #INCLUDE file="../../fckeditor.asp" -->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title>FCKeditor - Sample</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<link href="../sample.css" rel="stylesheet" type="text/css" />
+	</head>
+	<body>
+		<h1>FCKeditor - ASP - Sample 1</h1>
+		This sample displays a normal HTML form with an FCKeditor with full features 
+		enabled.
+		<hr>
+		<form action="sampleposteddata.asp" method="post" target="_blank">
+<%
+' Automatically calculates the editor base path based on the _samples directory.
+' This is usefull only for these samples. A real application should use something like this:
+' oFCKeditor.BasePath = '/fckeditor/' ;	// '/fckeditor/' is the default value.
+Dim sBasePath
+sBasePath = Request.ServerVariables("PATH_INFO")
+sBasePath = Left( sBasePath, InStrRev( sBasePath, "/_samples" ) )
+
+Dim oFCKeditor
+Set oFCKeditor = New FCKeditor
+oFCKeditor.BasePath	= sBasePath
+oFCKeditor.Value	= "This is some <strong>sample text</strong>. You are using <a href=""http://www.fckeditor.net/"">FCKeditor</a>."
+oFCKeditor.Create "FCKeditor1"
+%>
+			<br>
+			<input type="submit" value="Submit">
+		</form>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/_samples/asp/sample02.asp
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_samples/asp/sample02.asp	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_samples/asp/sample02.asp	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,104 @@
+<%@ CodePage=65001 Language="VBScript"%>
+<% Option Explicit %>
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: sample02.asp
+ * 	Sample page.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<% ' You must set "Enable Parent Paths" on your web site in order this relative include to work. %>
+<!-- #INCLUDE file="../../fckeditor.asp" -->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title>FCKeditor - Sample</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<link href="../sample.css" rel="stylesheet" type="text/css" />
+		<script type="text/javascript">
+
+function FCKeditor_OnComplete( editorInstance )
+{
+	var oCombo = document.getElementById( 'cmbLanguages' ) ;
+	for ( code in editorInstance.Language.AvailableLanguages )
+	{
+		AddComboOption( oCombo, editorInstance.Language.AvailableLanguages[code] + ' (' + code + ')', code ) ;
+	}
+	oCombo.value = editorInstance.Language.ActiveLanguage.Code ;
+}	
+
+function AddComboOption(combo, optionText, optionValue)
+{
+	var oOption = document.createElement("OPTION") ;
+
+	combo.options.add(oOption) ;
+
+	oOption.innerHTML = optionText ;
+	oOption.value     = optionValue ;
+	
+	return oOption ;
+}
+
+function ChangeLanguage( languageCode )
+{
+	window.location.href = window.location.pathname + "?Lang=" + languageCode ;
+}
+		</script>
+	</head>
+	<body>
+		<h1>FCKeditor - ASP - Sample 2</h1>
+		This sample shows the editor in all its available languages.
+		<hr>
+		<table cellpadding="0" cellspacing="0" border="0">
+			<tr>
+				<td>
+					Select a language:&nbsp;
+				</td>
+				<td>
+					<select id="cmbLanguages" onchange="ChangeLanguage(this.value);">
+					</select>
+				</td>
+			</tr>
+		</table>
+		<br>
+		<form action="sampleposteddata.asp" method="post" target="_blank">
+<%
+' Automatically calculates the editor base path based on the _samples directory.
+' This is usefull only for these samples. A real application should use something like this:
+' oFCKeditor.BasePath = '/fckeditor/' ;	// '/fckeditor/' is the default value.
+Dim sBasePath
+sBasePath = Request.ServerVariables("PATH_INFO")
+sBasePath = Left( sBasePath, InStrRev( sBasePath, "/_samples" ) )
+
+Dim oFCKeditor
+Set oFCKeditor = New FCKeditor
+oFCKeditor.BasePath = sBasePath
+
+If Request.QueryString("Lang") = "" Then
+	oFCKeditor.Config("AutoDetectLanguage") = True
+	oFCKeditor.Config("DefaultLanguage")    = "en"
+Else
+	oFCKeditor.Config("AutoDetectLanguage") = False
+	oFCKeditor.Config("DefaultLanguage")    = Request.QueryString("Lang")
+End If
+
+oFCKeditor.Value = "This is some <strong>sample text</strong>. You are using <a href=""http://www.fckeditor.net/"">FCKeditor</a>."
+oFCKeditor.Create "FCKeditor1"
+%>
+			<br>
+			<input type="submit" value="Submit">
+		</form>
+	</body>
+</html>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/_samples/asp/sample03.asp
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_samples/asp/sample03.asp	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_samples/asp/sample03.asp	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,88 @@
+<%@ CodePage=65001 Language="VBScript"%>
+<% Option Explicit %>
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: sample03.asp
+ * 	Sample page.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<% ' You must set "Enable Parent Paths" on your web site in order this relative include to work. %>
+<!-- #INCLUDE file="../../fckeditor.asp" -->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title>FCKeditor - Sample</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<link href="../sample.css" rel="stylesheet" type="text/css" />
+		<script type="text/javascript">
+
+function FCKeditor_OnComplete( editorInstance )
+{
+	var oCombo = document.getElementById( 'cmbToolbars' ) ;
+	oCombo.value = editorInstance.ToolbarSet.Name ;
+	oCombo.style.visibility = '' ;
+}
+
+function ChangeToolbar( toolbarName )
+{
+	window.location.href = window.location.pathname + "?Toolbar=" + toolbarName ;
+}
+
+		</script>
+	</head>
+	<body>
+		<h1>FCKeditor - ASP - Sample 3</h1>
+		This sample shows how to change the editor toolbar.
+		<hr>
+		<table cellpadding="0" cellspacing="0" border="0">
+			<tr>
+				<td>
+					Select the toolbar to load:&nbsp;
+				</td>
+				<td>
+					<select id="cmbToolbars" onchange="ChangeToolbar(this.value);" style="VISIBILITY: hidden">
+						<option value="Default" selected>Default</option>
+						<option value="Basic">Basic</option>
+					</select>
+				</td>
+			</tr>
+		</table>
+		<br>
+		<form action="sampleposteddata.asp" method="post" target="_blank">
+<%
+' Automatically calculates the editor base path based on the _samples directory.
+' This is usefull only for these samples. A real application should use something like this:
+' oFCKeditor.BasePath = '/fckeditor/' ;	// '/fckeditor/' is the default value.
+Dim sBasePath
+sBasePath = Request.ServerVariables("PATH_INFO")
+sBasePath = Left( sBasePath, InStrRev( sBasePath, "/_samples" ) )
+
+Dim oFCKeditor
+Set oFCKeditor = New FCKeditor
+oFCKeditor.BasePath = sBasePath
+
+If Request.QueryString("Toolbar") <> "" Then
+	oFCKeditor.ToolbarSet = Request.QueryString("Toolbar")
+End If
+
+oFCKeditor.Value = "This is some <strong>sample text</strong>. You are using <a href=""http://www.fckeditor.net/"">FCKeditor</a>."
+oFCKeditor.Create "FCKeditor1"
+%>
+			<br>
+			<input type="submit" value="Submit">
+		</form>
+	</body>
+</html>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/_samples/asp/sample04.asp
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_samples/asp/sample04.asp	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_samples/asp/sample04.asp	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,94 @@
+<%@ CodePage=65001 Language="VBScript"%>
+<% Option Explicit %>
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: sample04.asp
+ * 	Sample page.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<% ' You must set "Enable Parent Paths" on your web site in order this relative include to work. %>
+<!-- #INCLUDE file="../../fckeditor.asp" -->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title>FCKeditor - Sample</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<link href="../sample.css" rel="stylesheet" type="text/css" />
+		<script type="text/javascript">
+
+function FCKeditor_OnComplete( editorInstance )
+{
+	var oCombo = document.getElementById( 'cmbSkins' ) ;
+	
+	// Get the active skin.
+	var sSkin = editorInstance.Config['SkinPath'] ;
+	sSkin = sSkin.match( /[^\/]+(?=\/$)/g ) ;
+	
+	oCombo.value = sSkin ;
+	oCombo.style.visibility = '' ;
+}
+
+function ChangeSkin( skinName )
+{
+	window.location.href = window.location.pathname + "?Skin=" + skinName ;
+}
+
+		</script>
+	</head>
+	<body>
+		<h1>FCKeditor - ASP - Sample 4</h1>
+		This sample shows how to change the editor skin.
+		<hr>
+		<table cellpadding="0" cellspacing="0" border="0">
+			<tr>
+				<td>
+					Select the skin to load:&nbsp;
+				</td>
+				<td>
+					<select id="cmbSkins" onchange="ChangeSkin(this.value);" style="VISIBILITY: hidden">
+						<option value="default" selected>Default</option>
+						<option value="office2003">Office 2003</option>
+						<option value="silver">Silver</option>
+					</select>
+				</td>
+			</tr>
+		</table>
+		<br>
+		<form action="sampleposteddata.asp" method="post" target="_blank">
+<%
+' Automatically calculates the editor base path based on the _samples directory.
+' This is usefull only for these samples. A real application should use something like this:
+' oFCKeditor.BasePath = '/fckeditor/' ;	// '/fckeditor/' is the default value.
+Dim sBasePath
+sBasePath = Request.ServerVariables("PATH_INFO")
+sBasePath = Left( sBasePath, InStrRev( sBasePath, "/_samples" ) )
+
+Dim oFCKeditor
+Set oFCKeditor = New FCKeditor
+oFCKeditor.BasePath = sBasePath
+
+If Request.QueryString("Skin") <> "" Then
+	oFCKeditor.Config("SkinPath") = sBasePath + "editor/skins/" & Request.QueryString("Skin") + "/"
+End If
+
+oFCKeditor.Value = "This is some <strong>sample text</strong>. You are using <a href=""http://www.fckeditor.net/"">FCKeditor</a>."
+oFCKeditor.Create "FCKeditor1"
+%>
+			<br>
+			<input type="submit" value="Submit">
+		</form>
+	</body>
+</html>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/_samples/asp/sampleposteddata.asp
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_samples/asp/sampleposteddata.asp	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_samples/asp/sampleposteddata.asp	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,49 @@
+<%@ CodePage=65001 Language="VBScript"%>
+<% Option Explicit %>
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: sampleposteddata.asp
+ * 	This page lists the data posted by a form.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title>FCKeditor - Samples - Posted Data</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<link href="../sample.css" rel="stylesheet" type="text/css" />
+	</head>
+	<body>
+		<h1>FCKeditor - Samples - Posted Data</h1>
+		This page lists all data posted by the form.
+		<hr>
+		<table width="100%" border="1" cellspacing="0" bordercolor="#999999">
+			<tr style="FONT-WEIGHT: bold; COLOR: #dddddd; BACKGROUND-COLOR: #999999">
+				<td noWrap>Field Name&nbsp;&nbsp;</td>
+				<td>Value</td>
+			</tr>
+			<% 
+			Dim sForm
+			For Each sForm in Request.Form 
+			%>
+			<tr>
+				<td valign="top" nowrap><b><%=sForm%></b></td>
+				<td width="100%"><%=Server.HTMLEncode( Request.Form(sForm) )%></td>
+			</tr>
+			<% Next %>
+		</table>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/_samples/cfm/sample01.cfm
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_samples/cfm/sample01.cfm	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_samples/cfm/sample01.cfm	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,72 @@
+<cfsetting enablecfoutputonly="true" showdebugoutput="false">
+<!--- @Packager.Header
+<FileDescription>
+	Sample page for ColdFusion.
+</FileDescription>
+<Author name="Hendrik Kramer" email="hk at lwd.de" />
+<Author name="Mark Woods" email="mark at thickpaddy.com" />
+--->
+
+<cfoutput>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+	<title>FCKeditor - Sample</title>
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+	<meta name="robots" content="noindex, nofollow">
+	<link href="../sample.css" rel="stylesheet" type="text/css" />
+</head>
+
+<body>
+
+<h1>FCKeditor - ColdFusion - Sample 1</h1>
+	
+This sample displays a normal HTML form with a FCKeditor with full features enabled; invoked by a ColdFusion Custom Tag / Module.<br>
+ColdFusion is a registered trademark and product of <a href="http://www.macromedia.com/software/coldfusion/" target="_blank">Macromedia, Inc</a>.
+<hr>
+<form method="POST" action="#cgi.script_name#">
+</cfoutput>
+
+<cfmodule 
+	template="../../fckeditor.cfm"
+	basePath="/fckeditor/"
+	instanceName="myEditor"
+	value='This is some sample text. You are using <a href="http://fckeditor.net/" target="_blank">FCKeditor</a>.'
+	width="100%"
+	height="200"
+>
+<cfoutput>
+<br />
+<input type="submit" value="Submit">
+<br />
+</form>
+</cfoutput>
+
+<cfif isDefined( 'FORM.fieldnames' )>
+	<cfoutput>
+	<style>
+	<!--
+		td, th { font: 11px Verdana, Arial, Helv, Helvetica, sans-serif; }
+	-->
+	</style>
+	<table border="1" cellspacing="0" cellpadding="2" bordercolor="darkblue" bordercolordark="darkblue" bordercolorlight="darkblue">
+	<tr>
+		<th colspan="2" bgcolor="darkblue"><font color="white"><strong>Dump of FORM Variables</strong></font></th>
+	</tr>
+	<tr>
+		<td bgcolor="lightskyblue">FieldNames</td>
+		<td>#FORM.fieldNames#</td>
+	</tr>
+	<cfloop list="#FORM.fieldnames#" index="key">
+	<tr>
+		<td valign="top" bgcolor="lightskyblue">#key#</td>
+		<td>#HTMLEditFormat(evaluate("FORM.#key#"))#</td>
+	</tr>
+	</cfloop>
+	</table>
+	</cfoutput>
+</cfif>
+
+</body>
+</html>
+<cfsetting enablecfoutputonly="false">
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/_samples/cfm/sample02_mx.cfm
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_samples/cfm/sample02_mx.cfm	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_samples/cfm/sample02_mx.cfm	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,80 @@
+<cfsetting enablecfoutputonly="true">
+<!--- @Packager.Header
+<FileDescription>
+	Sample page for ColdFusion MX.
+</FileDescription>
+<Author name="Hendrik Kramer" email="hk at lwd.de" />
+--->
+
+<!--- ::
+	  * You must set the url path to the base directory for your media files (images, flash, files)
+	  * The best position for this variable is in your Application.cfm file
+	  * 
+	  * Possible variable scopes are:
+	  * <cfset APPLICATION.userFilesPath = "/UserFiles/">
+	  * OR:
+	  * <cfset SERVER.userFilesPath = "/UserFiles/">
+	  *
+	  * Note #1: Do _not_ set the physical directory on your server, only a path relative to your current webroot
+	  * Note #2: Directories will be automatically created
+	  :: --->
+<cfset APPLICATION.userFilesPath = "/UserFiles/">
+
+<cfoutput>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+	<title>FCKeditor - Sample</title>
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+	<meta name="robots" content="noindex, nofollow">
+	<link href="../sample.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<h1>FCKeditor - ColdFusion Component (CFC) - Sample 2</h1>
+
+This sample displays a normal HTML form with a FCKeditor with full features enabled; invoked by a ColdFusion Component.<br>
+ColdFusion is a registered trademark and product of <a href="http://www.macromedia.com/software/coldfusion/" target="_blank">Macromedia, Inc</a>.
+<hr>
+<form method="POST" action="#cgi.script_name#">
+</cfoutput>
+
+<cfif listFirst( server.coldFusion.productVersion ) LT 6>
+	<cfoutput><br><em style="color: red;">This sample work only with a ColdFusion MX server and higher, because it uses some advantages of this version.</em></cfoutput>
+	<cfabort>
+</cfif>
+
+<!--- 
+	Note: You must first create a mapping in your coldfusion administrator to call the component fckeditor.cfc
+	in the root folder of this zip archive.
+	A relative path is not allowed. See your coldfusion documentation for more information.
+ --->
+<cfscript>
+	// create a pseudo mapping for this demo only!
+	factory = createObject('java','coldfusion.server.ServiceFactory');
+	mappings = factory.runtimeservice.getMappings();
+	mappings['/fckeditor2'] = expandPath("../.."); // fckeditor.cfc resides two paths higher than this sample file.
+	// end create a pseudo mapping for this demo only!
+
+	fckEditor = createObject("component", "/fckeditor2/fckeditor");
+	fckEditor.instanceName	= "myEditor";
+	fckEditor.value			= 'This is some sample text. You are using <a href="http://fckeditor.net/" target="_blank">FCKeditor</a>.';
+	fckEditor.basePath		= "/fckeditor/";
+	fckEditor.width			= "100%";
+	fckEditor.height		= 200;
+	fckEditor.create(); // create the editor.
+</cfscript>
+
+<cfoutput>
+<br />
+<input type="submit" value="Submit">
+<br />
+</cfoutput>
+
+<cfdump 
+	var="#FORM#" 
+	label="Dump of FORM Variables"
+>
+
+<cfoutput></form></body></html></cfoutput>
+
+<cfsetting enablecfoutputonly="false">
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/_samples/default.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_samples/default.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_samples/default.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,30 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: default.html
+ * 	Samples Frameset page.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
+<html>
+	<head>
+		<title>FCKeditor - Samples</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+	</head>
+	<frameset rows="60,*">
+		<frame src="sampleslist.html" noresize scrolling="no">
+		<frame name="Sample" src="html/sample01.html" noresize>
+	</frameset>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/_samples/html/sample01.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_samples/html/sample01.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_samples/html/sample01.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,52 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: sample01.html
+ * 	Sample page.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title>FCKeditor - Sample</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<link href="../sample.css" rel="stylesheet" type="text/css" />
+		<script type="text/javascript" src="../../fckeditor.js"></script>
+	</head>
+	<body>
+		<h1>FCKeditor - Javascript - Sample 1</h1>
+		This sample displays a normal HTML form with an FCKeditor with full features 
+		enabled.
+		<hr>
+		<form action="sampleposteddata.asp" method="post" target="_blank">
+			<script type="text/javascript">
+<!--
+// Automatically calculates the editor base path based on the _samples directory.
+// This is usefull only for these samples. A real application should use something like this:
+// oFCKeditor.BasePath = '/fckeditor/' ;	// '/fckeditor/' is the default value.
+var sBasePath = document.location.pathname.substring(0,document.location.pathname.lastIndexOf('_samples')) ;
+
+var oFCKeditor = new FCKeditor( 'FCKeditor1' ) ;
+oFCKeditor.BasePath	= sBasePath ;
+oFCKeditor.Height	= 300 ;
+oFCKeditor.Value	= 'This is some <strong>sample text<\/strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor<\/a>.' ;
+oFCKeditor.Create() ;
+//-->
+			</script>
+			<br>
+			<input type="submit" value="Submit">
+		</form>
+	</body>
+</html>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/_samples/html/sample02.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_samples/html/sample02.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_samples/html/sample02.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,56 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: sample02.html
+ * 	Sample page.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title>FCKeditor - Sample</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<link href="../sample.css" rel="stylesheet" type="text/css" />
+		<script type="text/javascript" src="../../fckeditor.js"></script>
+		<script type="text/javascript">
+
+window.onload = function()
+{
+	// Automatically calculates the editor base path based on the _samples directory.
+	// This is usefull only for these samples. A real application should use something like this:
+	// oFCKeditor.BasePath = '/fckeditor/' ;	// '/fckeditor/' is the default value.
+	var sBasePath = document.location.pathname.substring(0,document.location.pathname.lastIndexOf('_samples')) ;
+
+	var oFCKeditor = new FCKeditor( 'FCKeditor1' ) ;
+	oFCKeditor.BasePath	= sBasePath ;
+	oFCKeditor.ReplaceTextarea() ;
+}
+
+		</script>
+	</head>
+	<body>
+		<h1>FCKeditor - Javascript - Sample 2</h1>
+		This sample displays a normal HTML form with an FCKeditor with full features 
+		enabled. It uses the "ReplaceTextarea" command to create the editor.
+		<hr>
+		<form action="sampleposteddata.asp" method="post" target="_blank">
+			<div>
+				<textarea name="FCKeditor1" style="WIDTH: 100%; HEIGHT: 200px">This is some <strong>sample text</strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor</a>.</textarea>
+			</div>
+			<br>
+			<input type="submit" value="Submit">
+		</form>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/_samples/html/sample03.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_samples/html/sample03.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_samples/html/sample03.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,112 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: sample03.html
+ * 	Sample page.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title>FCKeditor - Sample</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<link href="../sample.css" rel="stylesheet" type="text/css">
+			<script type="text/javascript" src="../../fckeditor.js"></script>
+			<script type="text/javascript">
+
+function FCKeditor_OnComplete( editorInstance )
+{
+	var iCounter = 0 ;
+	var oCombo = document.getElementById( 'cmbLanguages' ) ;
+	for ( code in editorInstance.Language.AvailableLanguages )
+	{
+		AddComboOption( oCombo, editorInstance.Language.AvailableLanguages[code] + ' (' + code + ')', code ) ;
+		iCounter++ ;
+	}
+	oCombo.value = editorInstance.Language.ActiveLanguage.Code ;
+	
+	document.getElementById('eNumLangs').innerHTML = '(' + iCounter + ' languages available!)' ;
+}	
+
+function AddComboOption(combo, optionText, optionValue)
+{
+	var oOption = document.createElement("OPTION") ;
+
+	combo.options.add(oOption) ;
+
+	oOption.innerHTML = optionText ;
+	oOption.value     = optionValue ;
+	
+	return oOption ;
+}
+
+function ChangeLanguage( languageCode )
+{
+	window.location.href = window.location.pathname + "?" + languageCode ;
+}
+			</script>
+	</head>
+	<body>
+		<h1>FCKeditor - Javascript - Sample 3</h1>
+		This sample shows the editor in all its available languages.
+		<hr>
+		<table cellpadding="0" cellspacing="0" border="0">
+			<tr>
+				<td>
+					Select a language:&nbsp;
+				</td>
+				<td>
+					<select id="cmbLanguages" onchange="ChangeLanguage(this.value);">
+					</select>
+				</td>
+				<td>
+					&nbsp;<span id="eNumLangs"></span>
+				</td>
+			</tr>
+		</table>
+		<br>
+		<form action="sampleposteddata.asp" method="post" target="_blank">
+			<script type="text/javascript">
+<!--
+// Automatically calculates the editor base path based on the _samples directory.
+// This is usefull only for these samples. A real application should use something like this:
+// oFCKeditor.BasePath = '/fckeditor/' ;	// '/fckeditor/' is the default value.
+var sBasePath = document.location.pathname.substring(0,document.location.pathname.lastIndexOf('/_samples/')+1) ;
+
+var sLang ;
+if ( document.location.search.length > 1 )
+	sLang = document.location.search.substr(1) ;
+
+var oFCKeditor = new FCKeditor( 'FCKeditor1' ) ;
+oFCKeditor.BasePath	= sBasePath ;
+if ( sLang == null )
+{
+	oFCKeditor.Config["AutoDetectLanguage"] = true ;
+	oFCKeditor.Config["DefaultLanguage"]    = "en" ;
+}
+else
+{
+	oFCKeditor.Config["AutoDetectLanguage"] = false ;
+	oFCKeditor.Config["DefaultLanguage"]    = sLang ;
+}
+oFCKeditor.Value	= 'This is some <strong>sample text</strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor</a>.' ;
+oFCKeditor.Create() ;
+//-->
+			</script>
+			<br>
+			<input type="submit" value="Submit">
+		</form>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/_samples/html/sample04.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_samples/html/sample04.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_samples/html/sample04.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,88 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: sample04.html
+ * 	Sample page.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title>FCKeditor - Sample</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<link href="../sample.css" rel="stylesheet" type="text/css">
+			<script type="text/javascript" src="../../fckeditor.js"></script>
+			<script type="text/javascript">
+
+function FCKeditor_OnComplete( editorInstance )
+{
+	var oCombo = document.getElementById( 'cmbToolbars' ) ;
+	oCombo.value = editorInstance.ToolbarSet.Name ;
+	oCombo.style.visibility = '' ;
+}
+
+function ChangeLanguage( languageCode )
+{
+	window.location.href = window.location.pathname + "?" + languageCode ;
+}
+
+			</script>
+	</head>
+	<body>
+		<h1>FCKeditor - Javascript - Sample 4</h1>
+		This sample shows how to change the editor toolbar.
+		<hr>
+		<table cellpadding="0" cellspacing="0" border="0">
+			<tr>
+				<td>
+					Select the toolbar to load:&nbsp;
+				</td>
+				<td>
+					<select id="cmbToolbars" onchange="ChangeLanguage(this.value);" style="VISIBILITY: hidden">
+						<option value="Default" selected>Default</option>
+						<option value="Basic">Basic</option>
+					</select>
+				</td>
+			</tr>
+		</table>
+		<br>
+		<form action="sampleposteddata.asp" method="post" target="_blank">
+			<script type="text/javascript">
+<!--
+// Automatically calculates the editor base path based on the _samples directory.
+// This is usefull only for these samples. A real application should use something like this:
+// oFCKeditor.BasePath = '/fckeditor/' ;	// '/fckeditor/' is the default value.
+var sBasePath = document.location.pathname.substring(0,document.location.pathname.lastIndexOf('/_samples/')+1) ;
+
+// Get the toolbar from the URL.
+var sToolbar ;
+if ( document.location.search.length > 1 )
+	sToolbar = document.location.search.substr(1) ;
+
+var oFCKeditor = new FCKeditor( 'FCKeditor1' ) ;
+oFCKeditor.BasePath	= sBasePath ;
+
+if ( sToolbar != null )
+	oFCKeditor.ToolbarSet = sToolbar ;
+
+oFCKeditor.Value	= 'This is some <strong>sample text</strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor</a>.' ;
+oFCKeditor.Create() ;
+//-->
+			</script>
+			<br>
+			<input type="submit" value="Submit">
+		</form>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/_samples/html/sample05.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_samples/html/sample05.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_samples/html/sample05.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,94 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: sample05.html
+ * 	Sample page.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title>FCKeditor - Sample</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<link href="../sample.css" rel="stylesheet" type="text/css" />
+		<script type="text/javascript" src="../../fckeditor.js"></script>
+		<script type="text/javascript">
+
+function FCKeditor_OnComplete( editorInstance )
+{
+	var oCombo = document.getElementById( 'cmbSkins' ) ;
+	
+	// Get the active skin.
+	var sSkin = editorInstance.Config['SkinPath'] ;
+	sSkin = sSkin.match( /[^\/]+(?=\/$)/g ) ;
+	
+	oCombo.value = sSkin ;
+	oCombo.style.visibility = '' ;
+}
+
+function ChangeLanguage( languageCode )
+{
+	window.location.href = window.location.pathname + "?" + languageCode ;
+}
+
+		</script>
+	</head>
+	<body>
+		<h1>FCKeditor - Javascript - Sample 5</h1>
+		This sample shows how to change the editor skin.
+		<hr>
+		<table cellpadding="0" cellspacing="0" border="0">
+			<tr>
+				<td>
+					Select the skin to load:&nbsp;
+				</td>
+				<td>
+					<select id="cmbSkins" onchange="ChangeLanguage(this.value);" style="VISIBILITY: hidden">
+						<option value="default" selected>Default</option>
+						<option value="office2003">Office 2003</option>
+						<option value="silver">Silver</option>
+					</select>
+				</td>
+			</tr>
+		</table>
+		<br>
+		<form action="sampleposteddata.asp" method="post" target="_blank">
+			<script type="text/javascript">
+<!--
+// Automatically calculates the editor base path based on the _samples directory.
+// This is usefull only for these samples. A real application should use something like this:
+// oFCKeditor.BasePath = '/fckeditor/' ;	// '/fckeditor/' is the default value.
+var sBasePath = document.location.pathname.substring(0,document.location.pathname.lastIndexOf('/_samples/')+1) ;
+
+// Get the skin from the URL.
+var sSkin ;
+if ( document.location.search.length > 1 )
+	sSkin = document.location.search.substr(1) ;
+
+var oFCKeditor = new FCKeditor( 'FCKeditor1' ) ;
+oFCKeditor.BasePath	= sBasePath ;
+
+if ( sSkin != null )
+	oFCKeditor.Config['SkinPath'] = sBasePath + 'editor/skins/' + sSkin + '/' ;
+
+oFCKeditor.Value	= 'This is some <strong>sample text</strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor</a>.' ;
+oFCKeditor.Create() ;
+//-->
+			</script>
+			<br>
+			<input type="submit" value="Submit">
+		</form>
+	</body>
+</html>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/_samples/html/sample06.config.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_samples/html/sample06.config.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_samples/html/sample06.config.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,45 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: sample06.config.js
+ * 	Sample custom configuration settings used in the plugin sample page (sample06).
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+// Set our sample toolbar.
+FCKConfig.ToolbarSets['PluginTest'] = [
+	['SourceSimple'],
+	['My_Find','My_Replace','-','Placeholder'],
+	['StyleSimple','FontFormatSimple','FontNameSimple','FontSizeSimple'],
+	['Table','-','TableInsertRow','TableDeleteRows','TableInsertColumn','TableDeleteColumns','TableInsertCell','TableDeleteCells','TableMergeCells','TableSplitCell'],
+	['Bold','Italic','-','OrderedList','UnorderedList','-','Link','Unlink'],
+	'/',
+	['My_BigStyle','-','About']
+] ;
+
+// Change the default plugin path.
+FCKConfig.PluginsPath = FCKConfig.BasePath.substr(0, FCKConfig.BasePath.length - 7) + '_samples/_plugins/' ;
+
+// Add our plugin to the plugins list.
+//		FCKConfig.Plugins.Add( pluginName, availableLanguages )
+//			pluginName: The plugin name. The plugin directory must match this name.
+//			availableLanguages: a list of available language files for the plugin (separated by a comma).
+FCKConfig.Plugins.Add( 'findreplace', 'en,it,fr' ) ;
+FCKConfig.Plugins.Add( 'samples' ) ;
+
+// If you want to use plugins found on other directories, just use the third parameter.
+var sOtherPluginPath = FCKConfig.BasePath.substr(0, FCKConfig.BasePath.length - 7) + 'editor/plugins/' ;
+FCKConfig.Plugins.Add( 'placeholder', 'en,it,de,fr', sOtherPluginPath ) ;
+FCKConfig.Plugins.Add( 'tablecommands', null, sOtherPluginPath ) ;
+FCKConfig.Plugins.Add( 'simplecommands', null, sOtherPluginPath ) ;

Added: zope.html/trunk/src/zope/html/fckeditor/_samples/html/sample06.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_samples/html/sample06.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_samples/html/sample06.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,61 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: sample06.html
+ * 	Sample page.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title>FCKeditor - Sample</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<link href="../sample.css" rel="stylesheet" type="text/css" />
+		<script type="text/javascript" src="../../fckeditor.js"></script>
+	</head>
+	<body>
+		<h1>FCKeditor - Javascript - 6</h1>
+		This sample shows a sample plugin implementation.
+		<br>
+		These are sample "Find" and "Replace" plugin that do exactly the same thing that the built in ones do. Use the green toolbar buttons the test then.
+		<br>
+		There is also another sample plugin that is available in the package: the "Placeholder" command (use the yellow icon).
+		<hr>
+		<form action="sampleposteddata.asp" method="post" target="_blank">
+			<script type="text/javascript">
+<!--
+// Automatically calculates the editor base path based on the _samples directory.
+// This is usefull only for these samples. A real application should use something like this:
+// oFCKeditor.BasePath = '/fckeditor/' ;	// '/fckeditor/' is the default value.
+var sBasePath = document.location.pathname.substring(0,document.location.pathname.lastIndexOf('/_samples/')+1) ;
+
+var oFCKeditor = new FCKeditor( 'FCKeditor1' ) ;
+oFCKeditor.BasePath	= sBasePath ;
+
+// Set the custom configurations file path (in this way the original file is mantained).
+oFCKeditor.Config['CustomConfigurationsPath'] = sBasePath + '_samples/html/sample06.config.js' ;
+
+// Let's use a custom toolbar for this sample.
+oFCKeditor.ToolbarSet	= 'PluginTest' ;
+
+oFCKeditor.Value		= 'This is some <strong>sample text</strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor</a>.' ;
+oFCKeditor.Create() ;
+//-->
+			</script>
+			<br>
+			<input type="submit" value="Submit">
+		</form>
+	</body>
+</html>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/_samples/html/sample07.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_samples/html/sample07.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_samples/html/sample07.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,51 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: sample07.html
+ * 	Sample page.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<html>
+	<head>
+		<title>FCKeditor - Sample</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<link href="../sample.css" rel="stylesheet" type="text/css" />
+		<script type="text/javascript" src="../../fckeditor.js"></script>
+	</head>
+	<body>
+		<h1>FCKeditor - Javascript - Sample 7</h1>
+		In this sample the user can edit the complete page contents and header (from 
+		&lt;HTML&gt; to &lt;/HTML&gt;).
+		<hr>
+		<form action="sampleposteddata.asp" method="post" target="_blank">
+			<script type="text/javascript">
+<!--
+// Automatically calculates the editor base path based on the _samples directory.
+// This is usefull only for these samples. A real application should use something like this:
+// oFCKeditor.BasePath = '/fckeditor/' ;	// '/fckeditor/' is the default value.
+var sBasePath = document.location.pathname.substring(0,document.location.pathname.lastIndexOf('_samples')) ;
+
+var oFCKeditor = new FCKeditor( 'FCKeditor1' ) ;
+oFCKeditor.BasePath	= sBasePath ;
+oFCKeditor.Config['FullPage'] = true ;
+oFCKeditor.Value = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>Full Page Test</title><meta content="text/html; charset=utf-8" http-equiv="Content-Type"/></head><body>This is some <strong>sample text</strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor</a>.</body></html>' ;
+oFCKeditor.Create() ;
+//-->
+			</script>
+			<br>
+			<input type="submit" value="Submit">
+		</form>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/_samples/html/sample08.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_samples/html/sample08.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_samples/html/sample08.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,154 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: sample08.html
+ * 	Sample page.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title>FCKeditor - Sample</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<link href="../sample.css" rel="stylesheet" type="text/css" />
+		<script type="text/javascript" src="../../fckeditor.js"></script>
+		<script type="text/javascript">
+
+// FCKeditor_OnComplete is a special function that is called when an editor
+// instance is loaded ad available to the API. It must be named exactly in
+// this way.
+function FCKeditor_OnComplete( editorInstance )
+{
+	// Show the editor name and description in the browser status bar.
+	document.getElementById('eMessage').innerHTML = 'Instance "' + editorInstance.Name + '" loaded - ' + editorInstance.Description ;
+
+	// Show this sample buttons.
+	document.getElementById('eButtons').style.visibility = '' ;
+}
+
+function InsertHTML()
+{
+	// Get the editor instance that we want to interact with.
+	var oEditor = FCKeditorAPI.GetInstance('FCKeditor1') ;
+
+	// Check the active editing mode.
+	if ( oEditor.EditMode == FCK_EDITMODE_WYSIWYG )
+	{
+		// Insert the desired HTML.
+		oEditor.InsertHtml( '- This is some <b>sample</b> HTML -' ) ;
+	}
+	else
+		alert( 'You must be on WYSIWYG mode!' ) ;
+}
+
+function SetContents()
+{
+	// Get the editor instance that we want to interact with.
+	var oEditor = FCKeditorAPI.GetInstance('FCKeditor1') ;
+
+	// Set the editor contents (replace the actual one).
+	oEditor.SetHTML( 'This is the <b>new content</b> I want in the editor.' ) ;
+}
+
+function GetContents()
+{
+	// Get the editor instance that we want to interact with.
+	var oEditor = FCKeditorAPI.GetInstance('FCKeditor1') ;
+
+	// Get the editor contents in XHTML.
+	alert( oEditor.GetXHTML( true ) ) ;		// "true" means you want it formatted.
+}
+
+function ExecuteCommand( commandName )
+{
+	// Get the editor instance that we want to interact with.
+	var oEditor = FCKeditorAPI.GetInstance('FCKeditor1') ;
+
+	// Execute the command.
+	oEditor.Commands.GetCommand( commandName ).Execute() ;
+}
+
+function GetLength()
+{
+	// This functions shows that you can interact directly with the editor area
+	// DOM. In this way you have the freedom to do anything you want with it.
+
+	// Get the editor instance that we want to interact with.
+	var oEditor = FCKeditorAPI.GetInstance('FCKeditor1') ;
+
+	// Get the Editor Area DOM (Document object).
+	var oDOM = oEditor.EditorDocument ;
+
+	var iLength ;
+
+	// The are two diffent ways to get the text (without HTML markups).
+	// It is browser specific.
+
+	if ( document.all )		// If Internet Explorer.
+	{
+		iLength = oDOM.body.innerText.length ;
+	}
+	else					// If Gecko.
+	{
+		var r = oDOM.createRange() ;
+		r.selectNodeContents( oDOM.body ) ;
+		iLength = r.toString().length ;
+	}
+
+	alert( 'Actual text length (without HTML markups): ' + iLength + ' characters' ) ;
+}
+
+		</script>
+	</head>
+	<body>
+		<h1>FCKeditor - Javascript - Sample 8</h1>
+		This sample shows how to use the FCKeditor Javascript API to interact with the
+		editor at runtime.
+		<hr>
+		<form action="sampleposteddata.asp" method="post" target="_blank">
+			<script type="text/javascript">
+<!--
+// Automatically calculates the editor base path based on the _samples directory.
+// This is usefull only for these samples. A real application should use something like this:
+// oFCKeditor.BasePath = '/fckeditor/' ;	// '/fckeditor/' is the default value.
+var sBasePath = document.location.pathname.substring(0,document.location.pathname.lastIndexOf('_samples')) ;
+
+var oFCKeditor = new FCKeditor( 'FCKeditor1' ) ;
+oFCKeditor.BasePath	= sBasePath ;
+oFCKeditor.Value	= 'This is some <strong>sample text</strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor</a>.' ;
+oFCKeditor.Create() ;
+//-->
+			</script>
+			<br>
+			<input type="submit" value="Submit">
+		</form>
+		<div>&nbsp;</div>
+		<hr>
+		<div id="eMessage">&nbsp;</div>
+		<div>&nbsp;</div>
+		<div id="eButtons" style="VISIBILITY: hidden">
+			<input type="button" value="Insert HTML" onclick="InsertHTML();">
+			<input type="button" value="Set Editor Contents" onclick="SetContents();">
+			<input type="button" value="Get Editor Contents (XHTML)" onclick="GetContents();">
+			<br>
+			<br>
+			<input type="button" value='Execute "Bold" Command' onclick="ExecuteCommand('Bold');">
+			<input type="button" value='Execute "Link" Command' onclick="ExecuteCommand('Link');">
+			<br>
+			<br>
+			<input type="button" value="Interact with the Editor Area DOM" onclick="GetLength();">
+		</div>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/_samples/html/sample09.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_samples/html/sample09.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_samples/html/sample09.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,67 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: sample09.html
+ * 	Sample page.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title>FCKeditor - Sample</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<link href="../sample.css" rel="stylesheet" type="text/css" />
+		<script type="text/javascript" src="../../fckeditor.js"></script>
+	</head>
+	<body>
+		<h1>FCKeditor - Javascript - Sample 9</h1>
+		This sample shows FCKeditor in a more complex form with two different 
+		instances.
+		<hr>
+		<form action="sampleposteddata.asp" method="post" target="_blank">
+			Normal text field:<br>
+			<input name="NormaText" value="Plain Text">
+			<br>
+			<br>
+			FCKeditor with Basic toolbar:
+			<script type="text/javascript">
+<!--
+// Automatically calculates the editor base path based on the _samples directory.
+// This is usefull only for these samples. A real application should use something like this:
+// oFCKeditor.BasePath = '/fckeditor/' ;	// '/fckeditor/' is the default value.
+var sBasePath = document.location.pathname.substring(0,document.location.pathname.lastIndexOf('_samples')) ;
+
+var oFCKeditor = new FCKeditor( 'FCKeditor_Basic' ) ;
+oFCKeditor.BasePath		= sBasePath ;
+oFCKeditor.ToolbarSet	= 'Basic' ;
+oFCKeditor.Value		= 'This is some <strong>sample text</strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor</a>.' ;
+oFCKeditor.Create() ;
+//-->
+			</script>
+			<br>
+			FCKeditor with Default toolbar:
+			<script type="text/javascript">
+<!--
+var oFCKeditor = new FCKeditor( 'FCKeditor_Default' ) ;
+oFCKeditor.BasePath	= sBasePath ;
+oFCKeditor.Value	= 'This is some <strong>sample text</strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor</a>.' ;
+oFCKeditor.Create() ;
+//-->
+			</script>
+			<br>
+			<input type="submit" value="Submit">
+		</form>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/_samples/html/sample10.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_samples/html/sample10.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_samples/html/sample10.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,52 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: sample10.html
+ * 	Sample page.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title>FCKeditor - Sample</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<link href="../sample.css" rel="stylesheet" type="text/css" />
+		<script type="text/javascript" src="../../fckeditor.js"></script>
+	</head>
+	<body>
+		<h1>FCKeditor - Javascript - Sample 10</h1>
+		This sample is identical to Sample 1, but Safari support is enabled.
+		<hr>
+		<form action="sampleposteddata.asp" method="post" target="_blank">
+			<script type="text/javascript">
+<!--
+// Automatically calculates the editor base path based on the _samples directory.
+// This is usefull only for these samples. A real application should use something like this:
+// oFCKeditor.BasePath = '/fckeditor/' ;	// '/fckeditor/' is the default value.
+var sBasePath = document.location.pathname.substring(0,document.location.pathname.lastIndexOf('_samples')) ;
+
+var oFCKeditor = new FCKeditor( 'FCKeditor1' ) ;
+oFCKeditor.BasePath	= sBasePath ;
+oFCKeditor.Height	= 300 ;
+oFCKeditor.Value	= 'This is some <strong>sample text<\/strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor<\/a>.' ;
+oFCKeditor.EnableSafari = true ;
+oFCKeditor.Create() ;
+//-->
+			</script>
+			<br>
+			<input type="submit" value="Submit">
+		</form>
+	</body>
+</html>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/_samples/html/sampleposteddata.asp
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_samples/html/sampleposteddata.asp	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_samples/html/sampleposteddata.asp	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,44 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: sampleposteddata.asp
+ * 	This page lists the data posted by a form.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title>FCKeditor - Samples - Posted Data</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<link href="../sample.css" rel="stylesheet" type="text/css" />
+	</head>
+	<body>
+		<h1>FCKeditor - Samples - Posted Data</h1>
+		This page lists all data posted by the form.
+		<hr>
+		<table width="100%" border="1" cellspacing="0" bordercolor="#999999">
+			<tr style="FONT-WEIGHT: bold; COLOR: #dddddd; BACKGROUND-COLOR: #999999">
+				<td noWrap>Field Name&nbsp;&nbsp;</td>
+				<td>Value</td>
+			</tr>
+			<% For Each sForm in Request.Form %>
+			<tr>
+				<td valign="top" nowrap><b><%=sForm%></b></td>
+				<td width="100%"><%=Replace( Server.HTMLEncode( Request.Form(sForm) ), Chr(13), "<br>" )%></td>
+			</tr>
+			<% Next %>
+		</table>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/_samples/html/sampleposteddata.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_samples/html/sampleposteddata.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_samples/html/sampleposteddata.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,70 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: sampleposteddata.html
+ * 	This page lists the data posted by a form. It uses the URL (GET data), 
+ * 	so it's limited to 2KB of data.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title>FCKeditor - Samples - Posted Data</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<link href="../sample.css" rel="stylesheet" type="text/css" />
+	</head>
+	<body>
+		<h1>FCKeditor - Samples - Posted Data</h1>
+		This page lists all data posted by the form. It uses the "QueryString" to search for data
+		submitted using the "GET" method, so it is limited to 2KB.
+		<hr>
+		<table width="100%" border="1" cellspacing="0" bordercolor="#999999">
+			<tr style="FONT-WEIGHT: bold; COLOR: #dddddd; BACKGROUND-COLOR: #999999">
+				<td>Field</td>
+				<td>Value</td>
+			</tr>
+			<script type="text/javascript">
+<!--
+
+function HTMLEncode( text )
+{
+	text = text.replace(/&/g, "&amp;") ;
+	text = text.replace(/"/g, "&quot;") ;
+	text = text.replace(/</g, "&lt;") ;
+	text = text.replace(/>/g, "&gt;") ;
+	text = text.replace(/'/g, "&#39;") ;
+
+	return text ;
+}
+
+var aParams = document.location.search.substr(1).split('&') ;
+
+for ( i = 0 ; i < aParams.length ; i++ )
+{
+	var aParam = aParams[i].split('=') ;
+	var sParamName  = aParam[0] ;
+	var sParamValue = aParam[1] ;
+
+	document.write( '<tr>' ) ;
+	document.write( '<td valign="top" nowrap><b>' + sParamName + '</b></td>' ) ;
+	document.write( '<td width="100%">' + HTMLEncode( unescape( sParamValue.replace( /\+/g, ' ' ) ) ) + '</td>' ) ;
+	document.write( '</tr>' ) ;
+}
+
+//-->
+			</script>
+		</table>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/_samples/lasso/sample01.lasso
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_samples/lasso/sample01.lasso	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_samples/lasso/sample01.lasso	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,65 @@
+[//lasso
+/*
+ 
+ * FCKeditor - The text editor for internet
+
+* Copyright (C) 2003-2005 Frederico Caldeira Knabben
+
+* 
+
+* Licensed under the terms of the GNU Lesser General Public License:
+
+* 		http://www.opensource.org/licenses/lgpl-license.php
+
+* 
+
+* For further information visit:
+
+* 		http://www.fckeditor.net/
+
+* 
+
+* File Name: sample01.lasso
+
+* 		Sample page.
+
+* 
+
+* File Authors:
+ *		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ * 		Jason Huck (jason.huck at corefive.com)
+ 
+ */
+
+]
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title>FCKeditor - Sample</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<link href="../sample.css" rel="stylesheet" type="text/css" />
+	</head>
+	<body>
+		<h1>FCKeditor - Lasso - Sample 1</h1>
+		This sample displays a normal HTML form with an FCKeditor with full features 
+		enabled.
+		<hr>
+		<form action="sampleposteddata.lasso" method="post" target="_blank">
+[//lasso
+	include('../../fckeditor.lasso');
+	var('basepath') = response_filepath->split('_samples')->get(1);
+
+	var('myeditor') = fck_editor(
+		-instancename='FCKeditor1',
+		-basepath=$basepath,
+		-initialvalue='This is some <strong>sample text</strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor</a>.'
+	);
+	
+	$myeditor->create;
+]
+			<br>
+			<input type="submit" value="Submit">
+		</form>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/_samples/lasso/sample02.lasso
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_samples/lasso/sample02.lasso	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_samples/lasso/sample02.lasso	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,117 @@
+[//lasso
+/*
+ 
+ * FCKeditor - The text editor for internet
+
+* Copyright (C) 2003-2005 Frederico Caldeira Knabben
+
+* 
+
+* Licensed under the terms of the GNU Lesser General Public License:
+
+* 		http://www.opensource.org/licenses/lgpl-license.php
+
+* 
+
+* For further information visit:
+
+* 		http://www.fckeditor.net/
+ * 
+ * File Name: sample02.lasso
+
+* 		Sample page.
+
+* 
+
+* File Authors:
+ *		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ * 		Jason Huck (jason.huck at corefive.com)
+ 
+ */
+
+]
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title>FCKeditor - Sample</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<link href="../sample.css" rel="stylesheet" type="text/css" />
+		<script type="text/javascript">
+		<!--
+function FCKeditor_OnComplete( editorInstance )
+{
+	var oCombo = document.getElementById( 'cmbLanguages' ) ;
+	for ( code in editorInstance.Language.AvailableLanguages )
+	{
+		AddComboOption( oCombo, editorInstance.Language.AvailableLanguages[code] + ' (' + code + ')', code ) ;
+	}
+	oCombo.value = editorInstance.Language.ActiveLanguage.Code ;
+}	
+
+function AddComboOption(combo, optionText, optionValue)
+{
+	var oOption = document.createElement("OPTION") ;
+
+	combo.options.add(oOption) ;
+
+	oOption.innerHTML = optionText ;
+	oOption.value     = optionValue ;
+	
+	return oOption ;
+}
+
+function ChangeLanguage( languageCode )
+{
+	window.location.href = window.location.pathname + "?Lang=" + languageCode ;
+}
+		//-->
+		</script>
+	</head>
+	<body>
+		<h1>FCKeditor - Lasso - Sample 2</h1>
+		This sample shows the editor in all its available languages.
+		<hr>
+		<table cellpadding="0" cellspacing="0" border="0">
+			<tr>
+				<td>
+					Select a language:&nbsp;
+				</td>
+				<td>
+					<select id="cmbLanguages" onchange="ChangeLanguage(this.value);">
+					</select>
+				</td>
+			</tr>
+		</table>
+		<br>
+		<form action="sampleposteddata.lasso" method="post" target="_blank">
+[//lasso
+	include('../../fckeditor.lasso');
+	var('basepath') = response_filepath->split('_samples')->get(1);
+
+	if(action_param('Lang'));
+		var('config') = array(
+			'AutoDetectLanguage' = 'false',
+			'DefaultLanguage' = action_param('Lang')
+		);
+	else;
+		var('config') = array(
+			'AutoDetectLanguage' = 'true',
+			'DefaultLanguage' = 'en'
+		);
+	/if;
+
+	var('myeditor') = fck_editor(
+		-instancename='FCKeditor1',
+		-basepath=$basepath,
+		-config=$config,
+		-initialvalue='This is some <strong>sample text</strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor</a>.'
+	);
+	
+	$myeditor->create;
+]
+			<br>
+			<input type="submit" value="Submit">
+		</form>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/_samples/lasso/sample03.lasso
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_samples/lasso/sample03.lasso	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_samples/lasso/sample03.lasso	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,98 @@
+[//lasso
+/*
+ 
+ * FCKeditor - The text editor for internet
+
+* Copyright (C) 2003-2005 Frederico Caldeira Knabben
+
+* 
+
+* Licensed under the terms of the GNU Lesser General Public License:
+
+* 		http://www.opensource.org/licenses/lgpl-license.php
+
+* 
+
+* For further information visit:
+
+* 		http://www.fckeditor.net/
+
+* 
+
+* File Name: sample03.lasso
+
+* 		Sample page.
+
+* 
+
+* File Authors:
+ *		Frederico Caldeira Knabben (fredck at fckeditor.net)
+
+* 		Jason Huck (jason.huck at corefive.com)
+ 
+ */
+
+]
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title>FCKeditor - Sample</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<link href="../sample.css" rel="stylesheet" type="text/css" />
+		<script type="text/javascript">
+		<!--
+function FCKeditor_OnComplete( editorInstance )
+{
+	var oCombo = document.getElementById( 'cmbToolbars' ) ;
+	oCombo.value = editorInstance.ToolbarSet.Name ;
+	oCombo.style.visibility = '' ;
+}
+
+function ChangeToolbar( toolbarName )
+{
+	window.location.href = window.location.pathname + "?Toolbar=" + toolbarName ;
+}
+		//-->
+		</script>
+	</head>
+	<body>
+		<h1>FCKeditor - Lasso - Sample 3</h1>
+		This sample shows how to change the editor toolbar.
+		<hr>
+		<table cellpadding="0" cellspacing="0" border="0">
+			<tr>
+				<td>
+					Select the toolbar to load:&nbsp;
+				</td>
+				<td>
+					<select id="cmbToolbars" onchange="ChangeToolbar(this.value);" style="VISIBILITY: hidden">
+						<option value="Default" selected>Default</option>
+						<option value="Basic">Basic</option>
+					</select>
+				</td>
+			</tr>
+		</table>
+		<br>
+		<form action="sampleposteddata.lasso" method="post" target="_blank">
+[//lasso
+	include('../../fckeditor.lasso');
+	var('basepath') = response_filepath->split('_samples')->get(1);
+
+	var('myeditor') = fck_editor(
+		-instancename='FCKeditor1',
+		-basepath=$basepath,
+		-initialvalue='This is some <strong>sample text</strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor</a>.'
+	);
+
+	if(action_param('Toolbar'));
+		$myeditor->toolbarset = action_param('Toolbar');
+	/if;
+	
+	$myeditor->create;
+]
+			<br>
+			<input type="submit" value="Submit">
+		</form>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/_samples/lasso/sample04.lasso
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_samples/lasso/sample04.lasso	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_samples/lasso/sample04.lasso	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,104 @@
+[//lasso
+/*
+ 
+ * FCKeditor - The text editor for internet
+
+* Copyright (C) 2003-2005 Frederico Caldeira Knabben
+
+* 
+
+* Licensed under the terms of the GNU Lesser General Public License:
+
+* 		http://www.opensource.org/licenses/lgpl-license.php
+
+* 
+
+* For further information visit:
+
+* 		http://www.fckeditor.net/
+
+* 
+
+* File Name: sample04.lasso
+
+* 		Sample page.
+
+* 
+
+* File Authors:
+ *		Frederico Caldeira Knabben (fredck at fckeditor.net)
+
+* 		Jason Huck (jason.huck at corefive.com)
+ 
+ */
+
+]
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title>FCKeditor - Sample</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<link href="../sample.css" rel="stylesheet" type="text/css" />
+		<script type="text/javascript">
+		<!--
+function FCKeditor_OnComplete( editorInstance )
+{
+	var oCombo = document.getElementById( 'cmbSkins' ) ;
+	
+	// Get the active skin.
+	var sSkin = editorInstance.Config['SkinPath'] ;
+	sSkin = sSkin.match( /[^\/]+(?=\/$)/g ) ;
+	
+	oCombo.value = sSkin ;
+	oCombo.style.visibility = '' ;
+}
+
+function ChangeSkin( skinName )
+{
+	window.location.href = window.location.pathname + "?Skin=" + skinName ;
+}
+		//-->
+		</script>
+	</head>
+	<body>
+		<h1>FCKeditor - Lasso - Sample 4</h1>
+		This sample shows how to change the editor skin.
+		<hr>
+		<table cellpadding="0" cellspacing="0" border="0">
+			<tr>
+				<td>
+					Select the skin to load:&nbsp;
+				</td>
+				<td>
+					<select id="cmbSkins" onchange="ChangeSkin(this.value);" style="VISIBILITY: hidden">
+						<option value="default" selected>Default</option>
+						<option value="office2003">Office 2003</option>
+						<option value="silver">Silver</option>
+					</select>
+				</td>
+			</tr>
+		</table>
+		<br>
+		<form action="sampleposteddata.lasso" method="post" target="_blank">
+[//lasso
+	include('../../fckeditor.lasso');
+	var('basepath') = response_filepath->split('_samples')->get(1);
+
+	var('myeditor') = fck_editor(
+		-instancename='FCKeditor1',
+		-basepath=$basepath,
+		-initialvalue='This is some <strong>sample text</strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor</a>.'
+	);
+	
+	if(action_param('Skin'));
+		$myeditor->config = array('SkinPath' = $basepath + 'editor/skins/' + action_param('Skin') + '/');
+	/if;
+	
+	$myeditor->create;
+]
+			<br>
+			<input type="submit" value="Submit">
+		</form>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/_samples/lasso/sampleposteddata.lasso
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_samples/lasso/sampleposteddata.lasso	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_samples/lasso/sampleposteddata.lasso	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,50 @@
+[//lasso
+/*
+ 
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * File Name: sampleposteddata.lasso
+ * 		Sample page.
+ * 
+ * File Authors:
+ *		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ *		Jason Huck (jason.huck at corefive.com)
+
+ * 		Jim Michaels (jmichae3 at yahoo.com)
+ 
+ */
+
+]
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title>FCKeditor - Samples - Posted Data</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<link href="../sample.css" rel="stylesheet" type="text/css" />
+	</head>
+	<body>
+		<h1>FCKeditor - Samples - Posted Data</h1>
+		This page lists all data posted by the form.
+		<hr>
+		<table width="100%" border="1" cellspacing="0" bordercolor="#999999">
+			<tr style="FONT-WEIGHT: bold; COLOR: #dddddd; BACKGROUND-COLOR: #999999">
+				<td nowrap>Field Name&nbsp;&nbsp;</td>
+				<td>Value</td>
+			</tr>
+[iterate(client_postparams, local('this'))]
+			<tr>
+				<td valign="top" nowrap><b>[#this->first]</b></td>
+				<td width="100%">[#this->second]</td>
+			</tr>
+[/iterate]
+		</table>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/_samples/perl/sample01.cgi
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_samples/perl/sample01.cgi	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_samples/perl/sample01.cgi	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,111 @@
+#!/usr/bin/env perl 
+
+#####
+#  FCKeditor - The text editor for internet
+#  Copyright (C) 2003-2005 Frederico Caldeira Knabben
+#  
+#  Licensed under the terms of the GNU Lesser General Public License:
+#  		http://www.opensource.org/licenses/lgpl-license.php
+#  
+#  For further information visit:
+#  		http://www.fckeditor.net/
+#  
+#  "Support Open Source software. What about a donation today?"
+#  
+#  File Name: sample01.cgi
+#  	Sample page.
+#  
+#  File Authors:
+#  		Takashi Yamaguchi (jack at omakase.net)
+#####
+
+## 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 '../../fckeditor.pl';
+
+# When $ENV{'PATH_INFO'} cannot be used by perl.
+# $DefRootPath = "/XXXXX/_samples/perl/sample01.cgi"; Please write in script.
+
+my $DefServerPath = "";
+my $ServerPath;
+
+	$ServerPath = &GetServerPath();
+	print "Content-type: text/html\n\n";
+	print <<"_HTML_TAG_";
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title>FCKeditor - Sample</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<link href="../sample.css" rel="stylesheet" type="text/css" />
+	</head>
+	<body>
+		<h1>FCKeditor - Perl - Sample 1</h1>
+		This sample displays a normal HTML form with an FCKeditor with full features 
+		enabled.
+		<hr>
+		<form action="sampleposteddata.cgi" method="post" target="_blank">
+_HTML_TAG_
+
+	#// Automatically calculates the editor base path based on the _samples directory.
+	#// This is usefull only for these samples. A real application should use something like this:
+	#// $oFCKeditor->BasePath = '/FCKeditor/' ;	// '/FCKeditor/' is the default value.
+
+	$sBasePath = $ServerPath;
+	$sBasePath = substr($sBasePath,0,index($sBasePath,"_samples"));
+	&FCKeditor('FCKeditor1');
+	$BasePath	= $sBasePath;
+	$Value		= 'This is some <strong>sample text</strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor</a>.';
+	&Create();
+
+	print <<"_HTML_TAG_";
+			<br>
+			<input type="submit" value="Submit">
+		</form>
+	</body>
+</html>
+_HTML_TAG_
+
+################
+#Please use this function, rewriting it depending on a server's environment.
+################
+sub GetServerPath
+{
+my $dir;
+
+	if($DefServerPath) {
+		$dir = $DefServerPath;
+	} else {
+		if($ENV{'PATH_INFO'}) {
+			$dir  = $ENV{'PATH_INFO'};
+		} elsif($ENV{'FILEPATH_INFO'}) {
+			$dir  = $ENV{'FILEPATH_INFO'};
+		}
+	}
+	return($dir);
+}

Added: zope.html/trunk/src/zope/html/fckeditor/_samples/perl/sample02.cgi
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_samples/perl/sample02.cgi	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_samples/perl/sample02.cgi	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,176 @@
+#!/usr/bin/env perl 
+
+#####
+#  FCKeditor - The text editor for internet
+#  Copyright (C) 2003-2005 Frederico Caldeira Knabben
+#  
+#  Licensed under the terms of the GNU Lesser General Public License:
+#  		http://www.opensource.org/licenses/lgpl-license.php
+#  
+#  For further information visit:
+#  		http://www.fckeditor.net/
+#  
+#  "Support Open Source software. What about a donation today?"
+#  
+#  File Name: sample02.cgi
+#  	Sample page.
+#  
+#  File Authors:
+#  		Takashi Yamaguchi (jack at omakase.net)
+#####
+
+## 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 '../../fckeditor.pl';
+
+# When $ENV{'PATH_INFO'} cannot be used by perl.
+# $DefRootPath = "/XXXXX/_samples/perl/sample02.cgi"; Please write in script.
+
+my $DefServerPath = "";
+my $ServerPath;
+
+	$ServerPath = &GetServerPath();
+
+	if($ENV{'REQUEST_METHOD'} eq "POST") {
+		read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
+	} else {
+		$buffer = $ENV{'QUERY_STRING'};
+	}
+	@pairs = split(/&/,$buffer);
+	foreach $pair (@pairs) {
+		($name,$value) = split(/=/,$pair);
+		$value =~ tr/+/ /;
+		$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
+		$value =~ s/\t//g;
+		$value =~ s/\r\n/\n/g;
+		$FORM{$name} .= "\0"			if(defined($FORM{$name}));
+		$FORM{$name} .= $value;
+	}
+
+	print "Content-type: text/html\n\n";
+	print <<"_HTML_TAG_";
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title>FCKeditor - Sample</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<link href="../sample.css" rel="stylesheet" type="text/css" />
+		<script type="text/javascript">
+
+function FCKeditor_OnComplete( editorInstance )
+{
+	var oCombo = document.getElementById( 'cmbLanguages' ) ;
+	for ( code in editorInstance.Language.AvailableLanguages )
+	{
+		AddComboOption( oCombo, editorInstance.Language.AvailableLanguages[code] + ' (' + code + ')', code ) ;
+	}
+	oCombo.value = editorInstance.Language.ActiveLanguage.Code ;
+}	
+
+function AddComboOption(combo, optionText, optionValue)
+{
+	var oOption = document.createElement("OPTION") ;
+
+	combo.options.add(oOption) ;
+
+	oOption.innerHTML = optionText ;
+	oOption.value	  = optionValue ;
+	
+	return oOption ;
+}
+
+function ChangeLanguage( languageCode )
+{
+	window.location.href = window.location.pathname + "?Lang=" + languageCode ;
+}
+		</script>
+	</head>
+	<body>
+		<h1>FCKeditor - Perl - Sample 2</h1>
+		This sample shows the editor in all its available languages.
+		<hr>
+		<table cellpadding="0" cellspacing="0" border="0">
+			<tr>
+				<td>
+					Select a language:&nbsp;
+				</td>
+				<td>
+					<select id="cmbLanguages" onchange="ChangeLanguage(this.value);">
+					</select>
+				</td>
+			</tr>
+		</table>
+		<br>
+		<form action="sampleposteddata.cgi" method="post" target="_blank">
+_HTML_TAG_
+
+	#// Automatically calculates the editor base path based on the _samples directory.
+	#// This is usefull only for these samples. A real application should use something like this:
+	#// $oFCKeditor->BasePath = '/FCKeditor/' ;	// '/FCKeditor/' is the default value.
+	$sBasePath = $ServerPath;
+	$sBasePath = substr( $sBasePath, 0, index($sBasePath,"_samples"));
+
+	&FCKeditor('FCKeditor1');
+	$BasePath = $sBasePath;
+
+	if($FORM{'Lang'} ne "") {
+		$Config{'AutoDetectLanguage'}	= "false";
+		$Config{'DefaultLanguage'}		= $FORM{'Lang'};
+	} else {
+		$Config{'AutoDetectLanguage'}	= "true";
+		$Config{'DefaultLanguage'}		= 'en' ;
+	}
+	$Value = 'This is some <strong>sample text</strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor</a>.' ;
+	&Create();
+
+	print <<"_HTML_TAG_";
+			<br>
+			<input type="submit" value="Submit">
+		</form>
+	</body>
+</html>
+_HTML_TAG_
+
+################
+#Please use this function, rewriting it depending on a server's environment.
+################
+sub GetServerPath
+{
+my $dir;
+
+	if($DefServerPath) {
+		$dir = $DefServerPath;
+	} else {
+		if($ENV{'PATH_INFO'}) {
+			$dir  = $ENV{'PATH_INFO'};
+		} elsif($ENV{'FILEPATH_INFO'}) {
+			$dir  = $ENV{'FILEPATH_INFO'};
+		}
+	}
+	return($dir);
+}

Added: zope.html/trunk/src/zope/html/fckeditor/_samples/perl/sample03.cgi
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_samples/perl/sample03.cgi	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_samples/perl/sample03.cgi	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,161 @@
+#!/usr/bin/env perl 
+
+#####
+#  FCKeditor - The text editor for internet
+#  Copyright (C) 2003-2005 Frederico Caldeira Knabben
+#  
+#  Licensed under the terms of the GNU Lesser General Public License:
+#  		http://www.opensource.org/licenses/lgpl-license.php
+#  
+#  For further information visit:
+#  		http://www.fckeditor.net/
+#  
+#  "Support Open Source software. What about a donation today?"
+#  
+#  File Name: sample03.cgi
+#  	Sample page.
+#  
+#  File Authors:
+#  		Takashi Yamaguchi (jack at omakase.net)
+#####
+
+## 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 '../../fckeditor.pl';
+
+# When $ENV{'PATH_INFO'} cannot be used by perl.
+# $DefRootPath = "/XXXXX/_samples/perl/sample03.cgi"; Please write in script.
+
+my $DefServerPath = "";
+my $ServerPath;
+
+	$ServerPath = &GetServerPath();
+
+	if($ENV{'REQUEST_METHOD'} eq "POST") {
+		read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
+	} else {
+		$buffer = $ENV{'QUERY_STRING'};
+	}
+	@pairs = split(/&/,$buffer);
+	foreach $pair (@pairs) {
+		($name,$value) = split(/=/,$pair);
+		$value =~ tr/+/ /;
+		$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
+		$value =~ s/\t//g;
+		$value =~ s/\r\n/\n/g;
+		$FORM{$name} .= "\0"			if(defined($FORM{$name}));
+		$FORM{$name} .= $value;
+	}
+
+	print "Content-type: text/html\n\n";
+	print <<"_HTML_TAG_";
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title>FCKeditor - Sample</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<link href="../sample.css" rel="stylesheet" type="text/css" />
+		<script type="text/javascript">
+
+function FCKeditor_OnComplete( editorInstance )
+{
+	var oCombo = document.getElementById( 'cmbToolbars' ) ;
+	oCombo.value = editorInstance.ToolbarSet.Name ;
+	oCombo.style.visibility = '' ;
+}
+
+function ChangeToolbar( toolbarName )
+{
+	window.location.href = window.location.pathname + "?Toolbar=" + toolbarName ;
+}
+
+		</script>
+	</head>
+	<body>
+		<h1>FCKeditor - Perl - Sample 3</h1>
+		This sample shows how to change the editor toolbar.
+		<hr>
+		<table cellpadding="0" cellspacing="0" border="0">
+			<tr>
+				<td>
+					Select the toolbar to load:&nbsp;
+				</td>
+				<td>
+					<select id="cmbToolbars" onchange="ChangeToolbar(this.value);" style="VISIBILITY: hidden">
+						<option value="Default" selected>Default</option>
+						<option value="Basic">Basic</option>
+					</select>
+				</td>
+			</tr>
+		</table>
+		<br>
+		<form action="sampleposteddata.cgi" method="post" target="_blank">
+_HTML_TAG_
+
+	#// Automatically calculates the editor base path based on the _samples directory.
+	#// This is usefull only for these samples. A real application should use something like this:
+	#// $oFCKeditor->BasePath = '/FCKeditor/' ;	// '/FCKeditor/' is the default value.
+
+	$sBasePath = $ServerPath;
+	$sBasePath = substr($sBasePath, 0, index( $sBasePath, "_samples" ));
+
+	&FCKeditor('FCKeditor1') ;
+	$BasePath = $sBasePath ;
+
+	if($FORM{'Toolbar'} ne "") {
+		$ToolbarSet = $FORM{'Toolbar'};
+	}
+	$Value = 'This is some <strong>sample text</strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor</a>.' ;
+	&Create();
+
+	print <<"_HTML_TAG_";
+			<br>
+			<input type="submit" value="Submit">
+		</form>
+	</body>
+</html>
+_HTML_TAG_
+
+################
+#Please use this function, rewriting it depending on a server's environment.
+################
+sub GetServerPath
+{
+my $dir;
+
+	if($DefServerPath) {
+		$dir = $DefServerPath;
+	} else {
+		if($ENV{'PATH_INFO'}) {
+			$dir  = $ENV{'PATH_INFO'};
+		} elsif($ENV{'FILEPATH_INFO'}) {
+			$dir  = $ENV{'FILEPATH_INFO'};
+		}
+	}
+	return($dir);
+}

Added: zope.html/trunk/src/zope/html/fckeditor/_samples/perl/sample04.cgi
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_samples/perl/sample04.cgi	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_samples/perl/sample04.cgi	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,168 @@
+#!/usr/bin/env perl 
+
+#####
+#  FCKeditor - The text editor for internet
+#  Copyright (C) 2003-2005 Frederico Caldeira Knabben
+#  
+#  Licensed under the terms of the GNU Lesser General Public License:
+#  		http://www.opensource.org/licenses/lgpl-license.php
+#  
+#  For further information visit:
+#  		http://www.fckeditor.net/
+#  
+#  "Support Open Source software. What about a donation today?"
+#  
+#  File Name: sample04.cgi
+#  	Sample page.
+#  
+#  File Authors:
+#  		Takashi Yamaguchi (jack at omakase.net)
+#####
+
+## 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 '../../fckeditor.pl';
+
+# When $ENV{'PATH_INFO'} cannot be used by perl.
+# $DefRootPath = "/XXXXX/_samples/perl/sample04.cgi"; Please write in script.
+
+my $DefServerPath = "";
+my $ServerPath;
+
+	$ServerPath = &GetServerPath();
+
+	if($ENV{'REQUEST_METHOD'} eq "POST") {
+		read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
+	} else {
+		$buffer = $ENV{'QUERY_STRING'};
+	}
+	@pairs = split(/&/,$buffer);
+	foreach $pair (@pairs) {
+		($name,$value) = split(/=/,$pair);
+		$value =~ tr/+/ /;
+		$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
+		$value =~ s/\t//g;
+		$value =~ s/\r\n/\n/g;
+		$FORM{$name} .= "\0"			if(defined($FORM{$name}));
+		$FORM{$name} .= $value;
+	}
+
+#!!Caution javascript \ Quart
+
+	print "Content-type: text/html\n\n";
+	print <<"_HTML_TAG_";
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title>FCKeditor - Sample</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<link href="../sample.css" rel="stylesheet" type="text/css" />
+		<script type="text/javascript">
+
+function FCKeditor_OnComplete( editorInstance )
+{
+	var oCombo = document.getElementById( 'cmbSkins' ) ;
+
+	// Get the active skin.
+	var sSkin = editorInstance.Config['SkinPath'] ;
+	sSkin = sSkin.match(/[^\\/]+(?=\\/\$)/g) ;
+
+	oCombo.value = sSkin ;
+	oCombo.style.visibility = '' ;
+}
+
+function ChangeSkin( skinName )
+{
+	window.location.href = window.location.pathname + "?Skin=" + skinName ;
+}
+
+		</script>
+	</head>
+	<body>
+		<h1>FCKeditor - Perl - Sample 4</h1>
+		This sample shows how to change the editor skin.
+		<hr>
+		<table cellpadding="0" cellspacing="0" border="0">
+			<tr>
+				<td>
+					Select the skin to load:&nbsp;
+				</td>
+				<td>
+					<select id="cmbSkins" onchange="ChangeSkin(this.value);" style="VISIBILITY: hidden">
+						<option value="default" selected>Default</option>
+						<option value="office2003">Office 2003</option>
+						<option value="silver">Silver</option>
+					</select>
+				</td>
+			</tr>
+		</table>
+		<br>
+		<form action="sampleposteddata.cgi" method="post" target="_blank">
+_HTML_TAG_
+
+	#// Automatically calculates the editor base path based on the _samples directory.
+	#// This is usefull only for these samples. A real application should use something like this:
+	#// $oFCKeditor->BasePath = '/FCKeditor/' ;	// '/FCKeditor/' is the default value.
+	$sBasePath = $ServerPath;
+	$sBasePath = substr( $sBasePath, 0, index( $sBasePath, "_samples" ) ) ;
+
+	&FCKeditor('FCKeditor1');
+	$BasePath = $sBasePath;
+
+	if($FORM{'Skin'} ne "") {
+		$Config{'SkinPath'} = $sBasePath . 'editor/skins/' . $FORM{'Skin'} . '/' ;
+	}
+	$Value = 'This is some <strong>sample text</strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor</a>.' ;
+	&Create() ;
+
+	print <<"_HTML_TAG_";
+			<br>
+			<input type="submit" value="Submit">
+		</form>
+	</body>
+</html>
+_HTML_TAG_
+
+################
+#Please use this function, rewriting it depending on a server's environment.
+################
+sub GetServerPath
+{
+my $dir;
+
+	if($DefServerPath) {
+		$dir = $DefServerPath;
+	} else {
+		if($ENV{'PATH_INFO'}) {
+			$dir  = $ENV{'PATH_INFO'};
+		} elsif($ENV{'FILEPATH_INFO'}) {
+			$dir  = $ENV{'FILEPATH_INFO'};
+		}
+	}
+	return($dir);
+}

Added: zope.html/trunk/src/zope/html/fckeditor/_samples/perl/sampleposteddata.cgi
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_samples/perl/sampleposteddata.cgi	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_samples/perl/sampleposteddata.cgi	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,101 @@
+#!/usr/bin/env perl 
+
+#####
+#  FCKeditor - The text editor for internet
+#  Copyright (C) 2003-2005 Frederico Caldeira Knabben
+#  
+#  Licensed under the terms of the GNU Lesser General Public License:
+#  		http://www.opensource.org/licenses/lgpl-license.php
+#  
+#  For further information visit:
+#  		http://www.fckeditor.net/
+#  
+#  "Support Open Source software. What about a donation today?"
+#  
+#  File Name: sampleposteddata.cgi
+#  	This page lists the data posted by a form.
+#  
+#  File Authors:
+#  		Takashi Yamaguchi (jack at omakase.net)
+#####
+
+## 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 '../../fckeditor.pl';
+
+	if($ENV{'REQUEST_METHOD'} eq "POST") {
+		read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
+	} else {
+		$buffer = $ENV{'QUERY_STRING'};
+	}
+	@pairs = split(/&/,$buffer);
+	foreach $pair (@pairs) {
+		($name,$value) = split(/=/,$pair);
+		$value =~ tr/+/ /;
+		$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
+		$value =~ s/\t//g;
+		$value =~ s/\r\n/\n/g;
+		$FORM{$name} .= "\0"			if(defined($FORM{$name}));
+		$FORM{$name} .= $value;
+	}
+
+	print "Content-type: text/html\n\n";
+	print <<"_HTML_TAG_";
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+	<head>
+		<title>FCKeditor - Samples - Posted Data</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<link href="../sample.css" rel="stylesheet" type="text/css" />
+	</head>
+	<body>
+		<h1>FCKeditor - Samples - Posted Data</h1>
+		This page lists all data posted by the form.
+		<hr>
+		<table width="100%" border="1" cellspacing="0" bordercolor="#999999">
+			<tr style="FONT-WEIGHT: bold; COLOR: #dddddd; BACKGROUND-COLOR: #999999">
+				<td nowrap>Field Name&nbsp;&nbsp;</td>
+				<td>Value</td>
+			</tr>
+_HTML_TAG_
+
+	foreach $key (keys %FORM) {
+		$postedValue = &specialchar_cnv($FORM{$key});
+		print <<"_HTML_TAG_";
+			<tr>
+				<td valign="top" nowrap><b>$key</b></td>
+				<td width="100%">$postedValue</td>
+			</tr>
+_HTML_TAG_
+	}
+		print <<"_HTML_TAG_";
+		</table>
+	</body>
+</html>
+_HTML_TAG_

Added: zope.html/trunk/src/zope/html/fckeditor/_samples/php/sample01.php
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_samples/php/sample01.php	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_samples/php/sample01.php	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,53 @@
+<?php 
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: sample01.php
+ * 	Sample page.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+include("../../fckeditor.php") ;
+?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title>FCKeditor - Sample</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<link href="../sample.css" rel="stylesheet" type="text/css" />
+	</head>
+	<body>
+		<h1>FCKeditor - PHP - Sample 1</h1>
+		This sample displays a normal HTML form with an FCKeditor with full features 
+		enabled.
+		<hr>
+		<form action="sampleposteddata.php" method="post" target="_blank">
+<?php
+// Automatically calculates the editor base path based on the _samples directory.
+// This is usefull only for these samples. A real application should use something like this:
+// $oFCKeditor->BasePath = '/FCKeditor/' ;	// '/FCKeditor/' is the default value.
+$sBasePath = $_SERVER['PHP_SELF'] ;
+$sBasePath = substr( $sBasePath, 0, strpos( $sBasePath, "_samples" ) ) ;
+
+$oFCKeditor = new FCKeditor('FCKeditor1') ;
+$oFCKeditor->BasePath	= $sBasePath ;
+$oFCKeditor->Value		= 'This is some <strong>sample text</strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor</a>.' ;
+$oFCKeditor->Create() ;
+?>
+			<br>
+			<input type="submit" value="Submit">
+		</form>
+	</body>
+</html>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/_samples/php/sample02.php
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_samples/php/sample02.php	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_samples/php/sample02.php	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,104 @@
+<?php 
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: sample02.php
+ * 	Sample page.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+include("../../fckeditor.php") ;
+?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title>FCKeditor - Sample</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<link href="../sample.css" rel="stylesheet" type="text/css" />
+		<script type="text/javascript">
+
+function FCKeditor_OnComplete( editorInstance )
+{
+	var oCombo = document.getElementById( 'cmbLanguages' ) ;
+	for ( code in editorInstance.Language.AvailableLanguages )
+	{
+		AddComboOption( oCombo, editorInstance.Language.AvailableLanguages[code] + ' (' + code + ')', code ) ;
+	}
+	oCombo.value = editorInstance.Language.ActiveLanguage.Code ;
+}	
+
+function AddComboOption(combo, optionText, optionValue)
+{
+	var oOption = document.createElement("OPTION") ;
+
+	combo.options.add(oOption) ;
+
+	oOption.innerHTML = optionText ;
+	oOption.value     = optionValue ;
+	
+	return oOption ;
+}
+
+function ChangeLanguage( languageCode )
+{
+	window.location.href = window.location.pathname + "?Lang=" + languageCode ;
+}
+		</script>
+	</head>
+	<body>
+		<h1>FCKeditor - PHP - Sample 2</h1>
+		This sample shows the editor in all its available languages.
+		<hr>
+		<table cellpadding="0" cellspacing="0" border="0">
+			<tr>
+				<td>
+					Select a language:&nbsp;
+				</td>
+				<td>
+					<select id="cmbLanguages" onchange="ChangeLanguage(this.value);">
+					</select>
+				</td>
+			</tr>
+		</table>
+		<br>
+		<form action="sampleposteddata.php" method="post" target="_blank">
+<?php
+// Automatically calculates the editor base path based on the _samples directory.
+// This is usefull only for these samples. A real application should use something like this:
+// $oFCKeditor->BasePath = '/FCKeditor/' ;	// '/FCKeditor/' is the default value.
+$sBasePath = $_SERVER['PHP_SELF'] ;
+$sBasePath = substr( $sBasePath, 0, strpos( $sBasePath, "_samples" ) ) ;
+
+$oFCKeditor = new FCKeditor('FCKeditor1') ;
+$oFCKeditor->BasePath = $sBasePath ;
+
+if ( isset($_GET['Lang']) )
+{
+	$oFCKeditor->Config['AutoDetectLanguage']	= false ;
+	$oFCKeditor->Config['DefaultLanguage']		= $_GET['Lang'] ;
+}
+else
+{
+	$oFCKeditor->Config['AutoDetectLanguage']	= true ;
+	$oFCKeditor->Config['DefaultLanguage']		= 'en' ;
+}
+
+$oFCKeditor->Value = 'This is some <strong>sample text</strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor</a>.' ;
+$oFCKeditor->Create() ;
+?>			<br>
+			<input type="submit" value="Submit">
+		</form>
+	</body>
+</html>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/_samples/php/sample03.php
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_samples/php/sample03.php	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_samples/php/sample03.php	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,85 @@
+<?php 
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: sample03.php
+ * 	Sample page.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+include("../../fckeditor.php") ;
+?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title>FCKeditor - Sample</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<link href="../sample.css" rel="stylesheet" type="text/css" />
+		<script type="text/javascript">
+
+function FCKeditor_OnComplete( editorInstance )
+{
+	var oCombo = document.getElementById( 'cmbToolbars' ) ;
+	oCombo.value = editorInstance.ToolbarSet.Name ;
+	oCombo.style.visibility = '' ;
+}
+
+function ChangeToolbar( toolbarName )
+{
+	window.location.href = window.location.pathname + "?Toolbar=" + toolbarName ;
+}
+
+		</script>
+	</head>
+	<body>
+		<h1>FCKeditor - PHP - Sample 3</h1>
+		This sample shows how to change the editor toolbar.
+		<hr>
+		<table cellpadding="0" cellspacing="0" border="0">
+			<tr>
+				<td>
+					Select the toolbar to load:&nbsp;
+				</td>
+				<td>
+					<select id="cmbToolbars" onchange="ChangeToolbar(this.value);" style="VISIBILITY: hidden">
+						<option value="Default" selected>Default</option>
+						<option value="Basic">Basic</option>
+					</select>
+				</td>
+			</tr>
+		</table>
+		<br>
+		<form action="sampleposteddata.php" method="post" target="_blank">
+<?php
+// Automatically calculates the editor base path based on the _samples directory.
+// This is usefull only for these samples. A real application should use something like this:
+// $oFCKeditor->BasePath = '/FCKeditor/' ;	// '/FCKeditor/' is the default value.
+$sBasePath = $_SERVER['PHP_SELF'] ;
+$sBasePath = substr( $sBasePath, 0, strpos( $sBasePath, "_samples" ) ) ;
+
+$oFCKeditor = new FCKeditor('FCKeditor1') ;
+$oFCKeditor->BasePath = $sBasePath ;
+
+if ( isset($_GET['Toolbar']) )
+	$oFCKeditor->ToolbarSet = $_GET['Toolbar'] ;
+
+$oFCKeditor->Value = 'This is some <strong>sample text</strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor</a>.' ;
+$oFCKeditor->Create() ;
+?>
+			<br>
+			<input type="submit" value="Submit">
+		</form>
+	</body>
+</html>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/_samples/php/sample04.php
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_samples/php/sample04.php	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_samples/php/sample04.php	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,91 @@
+<?php 
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: sample04.php
+ * 	Sample page.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+include("../../fckeditor.php") ;
+?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title>FCKeditor - Sample</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<link href="../sample.css" rel="stylesheet" type="text/css" />
+		<script type="text/javascript">
+
+function FCKeditor_OnComplete( editorInstance )
+{
+	var oCombo = document.getElementById( 'cmbSkins' ) ;
+	
+	// Get the active skin.
+	var sSkin = editorInstance.Config['SkinPath'] ;
+	sSkin = sSkin.match( /[^\/]+(?=\/$)/g ) ;
+	
+	oCombo.value = sSkin ;
+	oCombo.style.visibility = '' ;
+}
+
+function ChangeSkin( skinName )
+{
+	window.location.href = window.location.pathname + "?Skin=" + skinName ;
+}
+
+		</script>
+	</head>
+	<body>
+		<h1>FCKeditor - PHP - Sample 4</h1>
+		This sample shows how to change the editor skin.
+		<hr>
+		<table cellpadding="0" cellspacing="0" border="0">
+			<tr>
+				<td>
+					Select the skin to load:&nbsp;
+				</td>
+				<td>
+					<select id="cmbSkins" onchange="ChangeSkin(this.value);" style="VISIBILITY: hidden">
+						<option value="default" selected>Default</option>
+						<option value="office2003">Office 2003</option>
+						<option value="silver">Silver</option>
+					</select>
+				</td>
+			</tr>
+		</table>
+		<br>
+		<form action="sampleposteddata.php" method="post" target="_blank">
+<?php
+// Automatically calculates the editor base path based on the _samples directory.
+// This is usefull only for these samples. A real application should use something like this:
+// $oFCKeditor->BasePath = '/FCKeditor/' ;	// '/FCKeditor/' is the default value.
+$sBasePath = $_SERVER['PHP_SELF'] ;
+$sBasePath = substr( $sBasePath, 0, strpos( $sBasePath, "_samples" ) ) ;
+
+$oFCKeditor = new FCKeditor('FCKeditor1') ;
+$oFCKeditor->BasePath = $sBasePath ;
+
+if ( isset($_GET['Skin']) )
+	$oFCKeditor->Config['SkinPath'] = $sBasePath . 'editor/skins/' . $_GET['Skin'] . '/' ;
+
+$oFCKeditor->Value = 'This is some <strong>sample text</strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor</a>.' ;
+$oFCKeditor->Create() ;
+?>
+			<br>
+			<input type="submit" value="Submit">
+		</form>
+	</body>
+</html>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/_samples/php/sampleposteddata.php
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_samples/php/sampleposteddata.php	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_samples/php/sampleposteddata.php	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,60 @@
+<?php 
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: sampleposteddata.php
+ * 	This page lists the data posted by a form.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ * 		Jim Michaels (jmichae3 at yahoo.com)
+ */
+?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title>FCKeditor - Samples - Posted Data</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<link href="../sample.css" rel="stylesheet" type="text/css" />
+	</head>
+	<body>
+		<h1>FCKeditor - Samples - Posted Data</h1>
+		This page lists all data posted by the form.
+		<hr>
+		<table width="100%" border="1" cellspacing="0" bordercolor="#999999">
+			<tr style="FONT-WEIGHT: bold; COLOR: #dddddd; BACKGROUND-COLOR: #999999">
+				<td nowrap>Field Name&nbsp;&nbsp;</td>
+				<td>Value</td>
+			</tr>
+<?php
+
+if ( isset( $_POST ) )
+   $postArray = &$_POST ;			// 4.1.0 or later, use $_POST
+else
+   $postArray = &$HTTP_POST_VARS ;	// prior to 4.1.0, use HTTP_POST_VARS
+
+foreach ( $postArray as $sForm => $value )
+{
+	$postedValue = htmlspecialchars( stripslashes( $value ) ) ;
+
+?>
+			<tr>
+				<td valign="top" nowrap><b><?=$sForm?></b></td>
+				<td width="100%"><?=$postedValue?></td>
+			</tr>
+<?php
+}
+?>
+		</table>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/_samples/sample.css
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_samples/sample.css	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_samples/sample.css	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,37 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: sample.css
+ * 	Styles used in the samples pages.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+body, td, input, select, textarea
+{
+	font-size: 12px;
+	font-family: Arial, Verdana, Sans-Serif;
+}
+
+h1
+{
+	font-weight: bold;
+	font-size: 180%;
+	margin-bottom: 10px;
+}
+
+form
+{
+	margin: 0px 0px 0px 0px;
+	padding: 0px 0px 0px 0px;
+}

Added: zope.html/trunk/src/zope/html/fckeditor/_samples/sampleslist.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_samples/sampleslist.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_samples/sampleslist.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,80 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: sampleslist.html
+ * 	Page used to select the sample to view.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title>FCKeditor - Sample Selection</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<link href="sample.css" rel="stylesheet" type="text/css" />
+		<script language="javascript">
+<!--
+
+if ( window.top == window )
+	document.location = 'default.html' ;
+
+function OpenSample( sample )
+{
+	if ( sample.length > 0 )
+		window.open( sample, 'Sample' ) ;
+}
+
+//-->
+		</script>
+	</head>
+	<body bottommargin="0" topmargin="0">
+		<table height="100%" border="0" cellpadding="0" cellspacing="0">
+			<tr>
+				<td>
+					Please select the sample you want to view:
+					<br>
+					<select onchange="OpenSample(this.value);">
+						<option value="html/sample01.html" selected>Javascript : Sample 01 : Editor with all features</option>
+						<option value="html/sample02.html">Javascript : Sample 02 : Replacement of a TEXTAREA</option>
+						<option value="html/sample03.html">Javascript : Sample 03 : Multi-language support</option>
+						<option value="html/sample04.html">Javascript : Sample 04 : Toolbar selection</option>
+						<option value="html/sample05.html">Javascript : Sample 05 : Skins support</option>
+						<option value="html/sample06.html">Javascript : Sample 06 : Plugins support</option>
+						<option value="html/sample07.html">Javascript : Sample 07 : Full Page editing</option>
+						<option value="html/sample08.html">Javascript : Sample 08 : Editor API usage</option>
+						<option value="html/sample09.html">Javascript : Sample 09 : Complex form (multiple editors)</option>
+						<option value=""> </option>
+						<option value="cfm/sample01.cfm">ColdFusion : Sample 01 : Editor with all features</option>
+						<option value="cfm/sample02_mx.cfm">ColdFusion : Sample 02 : Advanced version for ColdFusion MX</option>
+						<option value=""> </option>
+						<option value="asp/sample01.asp">ASP : Sample 01 : Editor with all features</option>
+						<option value="asp/sample02.asp">ASP : Sample 02 : Multi-language support</option>
+						<option value="asp/sample03.asp">ASP : Sample 03 : Toolbar selection</option>
+						<option value="asp/sample04.asp">ASP : Sample 04 : Skins support</option>
+						<option value=""> </option>
+						<option value="perl/sample01.cgi">Perl : Sample 01 : Editor with all features</option>
+						<option value="perl/sample02.cgi">Perl : Sample 02 : Multi-language support</option>
+						<option value="perl/sample03.cgi">Perl : Sample 03 : Toolbar selection</option>
+						<option value="perl/sample04.cgi">Perl : Sample 04 : Skins support</option>
+						<option value=""> </option>
+						<option value="php/sample01.php">PHP : Sample 01 : Editor with all features</option>
+						<option value="php/sample02.php">PHP : Sample 02 : Multi-language support</option>
+						<option value="php/sample03.php">PHP : Sample 03 : Toolbar selection</option>
+						<option value="php/sample04.php">PHP : Sample 04 : Skins support</option>
+					</select>
+				</td>
+			</tr>
+		</table>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/_testcases/001.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_testcases/001.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_testcases/001.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,70 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: 001.html
+ * 	Test page.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<html>
+	<head>
+		<title>FCKeditor - Sample</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<link href="testcases.css" rel="stylesheet" type="text/css" />
+		<script type="text/javascript" src="../fckeditor.js"></script>
+		<script>
+
+function SubmitForm()
+{
+	document.forms[0].submit() ;
+}
+
+		</script>
+	</head>
+	<body>
+		<h1>FCKeditor - Test 001</h1>
+		<P>
+			<STRONG>Expected results</STRONG>: The editor content must be loaded and the 
+			submit button must post the editors html.<BR>
+			<STRONG>Configurations</STRONG>: Default<BR>
+			<STRONG>Steps to&nbsp;Reproduce</STRONG>:
+		</P>
+		<OL>
+			<LI>
+				Wait the editor to load.</LI>
+			<LI>
+				Hit submit button and check the posted data.</LI></OL>
+		<P>
+			<hr>
+		</P>
+		<form action="sampleposteddata.asp" method="post" target="_blank">
+			<script type="text/javascript">
+<!--
+// Automatically calculates the editor base path based on the _samples directory.
+// This is usefull only for these samples. A real application should use something like this:
+// oFCKeditor.BasePath = '/fckeditor/' ;	// '/fckeditor/' is the default value.
+var sBasePath = document.location.pathname.substring(0,document.location.pathname.lastIndexOf('_testcases')) ;
+
+var oFCKeditor = new FCKeditor( 'FCKeditor1' ) ;
+oFCKeditor.BasePath	= sBasePath ;
+oFCKeditor.Value	= 'This is some <strong>sample text</strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor</a>.' ;
+oFCKeditor.Create() ;
+//-->
+			</script>
+			<br>
+			<input type="submit" value="Submit"> <input type="button" value="Submit by Code" onclick="SubmitForm();">
+		</form>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/_testcases/002.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_testcases/002.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_testcases/002.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,70 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: 002.html
+ * 	Test page.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<html>
+	<head>
+		<title>FCKeditor - Sample</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<link href="testcases.css" rel="stylesheet" type="text/css">
+			<script type="text/javascript" src="../fckeditor.js"></script>
+	</head>
+	<body>
+		<h1>FCKeditor - Test 002</h1>
+		<P><STRONG>Expected results</STRONG>: The editor must work correctly when not value 
+			has been set<BR>
+			<STRONG>Configurations</STRONG>: Default<BR>
+			<STRONG>Steps to Reproduce</STRONG>:
+		</P>
+		<OL>
+			<LI>
+			Wait the editor to load.
+			<LI>
+			Type some text and format it (use the "Bold" and&nbsp;"Style" commands).
+			<LI>
+			Check the toolbar buttons context sensitiveness.
+			<LI>
+			Switch to Source mode.
+			<LI>
+			Repeat steps 2, 3 and 4.
+			<LI>
+				Hit submit button and check the submitted data.
+			</LI>
+		</OL>
+		<P>
+			<hr>
+		<P></P>
+		<form action="sampleposteddata.asp" method="post" target="_blank">
+			<script type="text/javascript">
+<!--
+// Automatically calculates the editor base path based on the _samples directory.
+// This is usefull only for these samples. A real application should use something like this:
+// oFCKeditor.BasePath = '/fckeditor/' ;	// '/fckeditor/' is the default value.
+var sBasePath = document.location.pathname.substring(0,document.location.pathname.lastIndexOf('_testcases')) ;
+
+var oFCKeditor = new FCKeditor( 'FCKeditor1' ) ;
+oFCKeditor.BasePath	= sBasePath ;
+oFCKeditor.Create() ;
+//-->
+			</script>
+			<br>
+			<input type="submit" value="Submit">
+		</form>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/_testcases/003.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_testcases/003.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_testcases/003.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,72 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: 003.html
+ * 	Test page.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<html>
+	<head>
+		<title>FCKeditor - Sample</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<link href="testcases.css" rel="stylesheet" type="text/css">
+			<script type="text/javascript" src="../fckeditor.js"></script>
+	</head>
+	<body>
+		<h1>FCKeditor - Test 003</h1>
+		<P><STRONG>Expected results</STRONG>: The user must be able to edit the complete 
+			page html.<BR>
+			<STRONG>Configurations</STRONG>: FullPage = true ;<BR>
+			<STRONG>Steps to Reproduce</STRONG>:
+		</P>
+		<OL>
+			<LI>
+			Wait the editor to load.
+			<LI>
+			Type some text.
+			<LI>
+			Switch to Source mode.
+			<LI>
+			Switch back to WYSIWYG mode.
+			<LI>
+			Repeat steps 2, 3 and 4.
+			<LI>
+				Hit submit button and check the submitted data.
+			</LI>
+		</OL>
+		<P>
+			<hr>
+		<P></P>
+		<form action="sampleposteddata.asp" method="post" target="_blank">
+			<script type="text/javascript">
+<!--
+// Automatically calculates the editor base path based on the _samples directory.
+// This is usefull only for these samples. A real application should use something like this:
+// oFCKeditor.BasePath = '/fckeditor/' ;	// '/fckeditor/' is the default value.
+var sBasePath = document.location.pathname.substring(0,document.location.pathname.lastIndexOf('_testcases')) ;
+
+var oFCKeditor = new FCKeditor( 'FCKeditor1' ) ;
+oFCKeditor.BasePath	= sBasePath ;
+oFCKeditor.Config["FullPage"] = true ;
+oFCKeditor.Value = '<html>\n\n<head><title></title></head><body>This is a Full Page editing Test:<br/>This is an image: <img src="' + sBasePath + 'editor/images/smiley/msn/lightbulb.gif" alt=""/></body></html>' ;
+oFCKeditor.Create() ;
+//-->
+			</script>
+			<br>
+			<input type="submit" value="Submit">
+		</form>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/_testcases/004.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_testcases/004.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_testcases/004.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,105 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: 004.html
+ * 	Test page.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<html>
+	<head>
+		<title>FCKeditor - Sample</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<link href="testcases.css" rel="stylesheet" type="text/css">
+		<script type="text/javascript" src="../fckeditor.js"></script>
+		<script language="javascript">
+
+function Show()
+{
+	document.getElementById('eEditor').style.display	= '' ;
+	document.getElementById('eNoEditor').style.display	= 'none' ;
+
+	// This is a hack for Gecko... it stops editing when the editor is hidden.
+	if ( !document.all )
+	{
+		var oEditor = FCKeditorAPI.GetInstance( 'FCKeditor1' ) ;
+		
+		if (  oEditor.EditMode == FCK_EDITMODE_WYSIWYG )
+			oEditor.MakeEditable() ;
+	}
+}
+
+function Hide()
+{
+	document.getElementById('eEditor').style.display	= 'none' ;
+	document.getElementById('eNoEditor').style.display	= '' ;
+}
+
+		</script>
+	</head>
+	<body>
+		<h1 id="Prova">FCKeditor - Test 004</h1>
+		<P>
+			<STRONG>Expected results</STRONG> : The editor must still work when hidding it 
+			programmatically (through javascript).<BR>
+			<STRONG>Configurations</STRONG>: Default<BR>
+			<STRONG>Steps to&nbsp;Reproduce</STRONG>:
+		</P>
+		<OL>
+			<LI>
+			Wait the page to load.
+			<LI>
+			Hit the "Show Editor" button.
+			<LI>
+			Insert some text and format it.
+			<LI>
+			Hit the "Hide Editor" button.
+			<LI>
+			Hit the "Submit" and check the posted HTML.
+			<LI>
+			Close the "Submit" window.
+			<LI>
+			Hit the "Show Editor" button.
+			<LI>
+				Repeat steps 2 and 4.</LI></OL>
+		<P>
+			<hr>
+		<P></P>
+		<form action="sampleposteddata.asp" method="post" target="_blank">
+			<div id="eNoEditor">
+				<input type="button" value="Show Editor" onclick="Show();">
+			</div>
+			<div id="eEditor" style="DISPLAY: none">
+				<input type="button" value="Hide Editor" onclick="Hide();">
+				<br><br>
+				<script type="text/javascript">
+<!--
+// Automatically calculates the editor base path based on the _samples directory.
+// This is usefull only for these samples. A real application should use something like this:
+// oFCKeditor.BasePath = '/fckeditor/' ;	// '/fckeditor/' is the default value.
+var sBasePath = document.location.pathname.substring(0,document.location.pathname.lastIndexOf('_testcases')) ;
+
+var oFCKeditor = new FCKeditor( 'FCKeditor1' ) ;
+oFCKeditor.BasePath	= sBasePath ;
+oFCKeditor.Value	= 'This is some <strong>sample text</strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor</a>.' ;
+oFCKeditor.Create() ;
+//-->
+				</script>
+			</div>
+			<br>
+			<input type="submit" value="Submit">
+		</form>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/_testcases/005.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_testcases/005.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_testcases/005.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,68 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: 005.html
+ * 	Test page.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<html>
+	<head>
+		<title>FCKeditor - Sample</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<link href="testcases.css" rel="stylesheet" type="text/css">
+			<script type="text/javascript" src="../fckeditor.js"></script>
+	</head>
+	<body>
+		<h1>FCKeditor - Test 005</h1>
+		<P>
+			<STRONG>Expected results</STRONG>: The editor content must be loaded and the 
+			submit button must post the editors html. No javascript errors should be thorwn 
+			(security errors).<BR>
+			<STRONG>Configurations</STRONG>: BaseHref = http://www.fckeditor.net
+			<BR>
+			<STRONG>Steps to&nbsp;Reproduce</STRONG>:
+		</P>
+		<OL>
+			<LI>
+			Wait the editor to load.
+			<LI>
+			Create a table with border =
+			   0&nbsp;and an anchor. 
+  <LI>Create an image and points it to /images/logotop.gif
+  <LI>Hit submit button and check the posted data.</LI></OL>
+		<P>
+			<hr>
+		<P></P>
+		<form action="sampleposteddata.asp" method="post" target="_blank">
+			<script type="text/javascript">
+<!--
+// Automatically calculates the editor base path based on the _samples directory.
+// This is usefull only for these samples. A real application should use something like this:
+// oFCKeditor.BasePath = '/fckeditor/' ;	// '/fckeditor/' is the default value.
+var sBasePath = document.location.pathname.substring(0,document.location.pathname.lastIndexOf('_testcases')) ;
+
+var oFCKeditor = new FCKeditor( 'FCKeditor1' ) ;
+oFCKeditor.BasePath	= sBasePath ;
+oFCKeditor.Config['BaseHref'] = 'http://www.fckeditor.net' ;
+oFCKeditor.Value	= 'This is some <strong>sample text</strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor</a>.' ;
+oFCKeditor.Create() ;
+//-->
+			</script>
+			<br>
+			<input type="submit" value="Submit">
+		</form>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/_testcases/006.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_testcases/006.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_testcases/006.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,75 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: 006.html
+ * 	Test page.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<html>
+	<head>
+		<title>FCKeditor - Sample</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<link href="testcases.css" rel="stylesheet" type="text/css">
+			<script type="text/javascript" src="../fckeditor.js"></script>
+	</head>
+	<body>
+		<h1>FCKeditor - Test 006</h1>
+		<P>
+			<STRONG>Expected results</STRONG>: The editor content must be loaded and the 
+			submit button must post the editors html. No javascript errors should be thorwn 
+			(security errors).<BR>
+			<STRONG>Configurations</STRONG>: BaseHref = http://www.fckeditor.net / FullPage 
+			= true
+			<BR>
+			<STRONG>Steps to&nbsp;Reproduce</STRONG>:
+		</P>
+		<OL>
+			<LI>
+			Wait the editor to load.
+			<LI>
+			Create a table with border = 0 and an anchor.
+			<LI>
+			Create an image and points it to /images/logotop.gif
+			<LI>
+			Paste the following CSS tag in the source: &lt;link href="/css/main.css" type="text/css" rel="stylesheet" /&gt;
+			<LI>
+			Check the WYSIWYG mode.
+			<LI>
+				Hit submit button and check the posted data.</LI></OL>
+		<P>
+			<hr>
+		<P></P>
+		<form action="sampleposteddata.asp" method="post" target="_blank">
+			<script type="text/javascript">
+<!--
+// Automatically calculates the editor base path based on the _samples directory.
+// This is usefull only for these samples. A real application should use something like this:
+// oFCKeditor.BasePath = '/fckeditor/' ;	// '/fckeditor/' is the default value.
+var sBasePath = document.location.pathname.substring(0,document.location.pathname.lastIndexOf('_testcases')) ;
+
+var oFCKeditor = new FCKeditor( 'FCKeditor1' ) ;
+oFCKeditor.BasePath	= sBasePath ;
+oFCKeditor.Config['FullPage'] = true ;
+oFCKeditor.Config['BaseHref'] = 'http://www.fckeditor.net' ;
+oFCKeditor.Value	= '<html><head><title></title></head><body>This is some <strong>sample text</strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor</a>.</body></html>' ;
+oFCKeditor.Create() ;
+//-->
+			</script>
+			<br>
+			<input type="submit" value="Submit">
+		</form>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/_testcases/007.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_testcases/007.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_testcases/007.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,64 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: 007.html
+ * 	Test Page.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<html>
+	<head>
+		<title>FCKeditor - Sample</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<link href="testcases.css" rel="stylesheet" type="text/css">
+			<script type="text/javascript" src="../fckeditor.js"></script>
+	</head>
+	<body>
+		<h1>FCKeditor - Test 007</h1>
+		<P>
+			<STRONG>Expected results</STRONG>: The editor content must be loaded and the 
+			submit button must post the editor's html.<BR>
+			<STRONG>Configurations</STRONG>: Default<BR>
+			<STRONG>Steps to&nbsp;Reproduce</STRONG>:
+		</P>
+		<OL>
+			<LI>
+			Wait the editor to load.
+			<LI>
+			Enter some text.
+			<LI>
+				Hit submit button and check the posted data.</LI></OL>
+		<P>
+			<hr>
+		<P></P>
+		<form action="sampleposteddata.asp" method="post" target="_blank">
+			<script type="text/javascript">
+<!--
+// Automatically calculates the editor base path based on the _samples directory.
+// This is usefull only for these samples. A real application should use something like this:
+// oFCKeditor.BasePath = '/fckeditor/' ;	// '/fckeditor/' is the default value.
+var sBasePath = document.location.pathname.substring(0,document.location.pathname.lastIndexOf('_testcases')) ;
+
+var oFCKeditor = new FCKeditor( 'FCKeditor1' ) ;
+oFCKeditor.BasePath	= sBasePath ;
+oFCKeditor.Value	= '<div></div>' ;
+oFCKeditor.Create() ;
+//-->
+			</script>
+			<br>
+			<input type="submit" value="Submit">
+		</form>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/_testcases/008.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_testcases/008.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_testcases/008.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,88 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: 008.html
+ * 	Test page.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<html>
+	<head>
+		<title>FCKeditor - Sample</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<link href="testcases.css" rel="stylesheet" type="text/css">
+			<script type="text/javascript" src="../fckeditor.js"></script>
+			<script>
+
+function Validate()
+{
+	// Get the editor instance that we want to interact with.
+	var oEditor = FCKeditorAPI.GetInstance('FCKeditor1') ;
+
+	// Get the editor contents in XHTML.
+	if ( oEditor.GetXHTML( false ).length == 0 )
+	{
+		alert( 'The "Save" command must not submit if the editor is empty' ) ;
+		return false ;
+	}
+}
+
+			</script>
+	</head>
+	<body>
+		<h1>FCKeditor - Test 008</h1>
+		<P>
+			<STRONG>Expected results</STRONG>: The editor content must be loaded and the 
+			submit button must post the editors html.<BR>
+			<STRONG>Configurations</STRONG>: Default<BR>
+			<STRONG>Steps to&nbsp;Reproduce</STRONG>:
+		</P>
+		<OL>
+			<LI>
+			Wait the editor to load.
+			<LI>
+			Select all the content with the mouse and delete it.
+			<LI>
+			Hit the "Save" button - an alert should popup.
+			<LI>
+			Insert some text.
+			<LI>
+			Hit the "Save" button and check the posted data.
+			<LI>
+			Close the data window.
+			<LI>
+			Press the "New Page" button.
+			<LI>
+				Hit the "Save" button - an alert should popup.</LI></OL>
+		<P>
+			<hr>
+		<P></P>
+		<form action="sampleposteddata.asp" method="post" target="_blank" onsubmit="return Validate();">
+			<script type="text/javascript">
+<!--
+// Automatically calculates the editor base path based on the _samples directory.
+// This is usefull only for these samples. A real application should use something like this:
+// oFCKeditor.BasePath = '/fckeditor/' ;	// '/fckeditor/' is the default value.
+var sBasePath = document.location.pathname.substring(0,document.location.pathname.lastIndexOf('_testcases')) ;
+
+var oFCKeditor = new FCKeditor( 'FCKeditor1' ) ;
+oFCKeditor.BasePath	= sBasePath ;
+oFCKeditor.Value	= 'This is some <strong>sample text</strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor</a>.' ;
+oFCKeditor.Create() ;
+//-->
+			</script>
+		</form>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/_testcases/009.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_testcases/009.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_testcases/009.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,109 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: 009.html
+ * 	Test page.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<html>
+	<head>
+		<title>FCKeditor - Sample</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<link href="testcases.css" rel="stylesheet" type="text/css">
+			<script type="text/javascript" src="../fckeditor.js"></script>
+			<script>
+
+function FCKeditor_OnComplete( editorInstance )
+{
+	// Attach to the event fired when the editor's HTML is set.
+	editorInstance.Events.AttachEvent( 'OnAfterSetHTML', FCKeditor_OnAfterSetHTML ) ;
+}
+
+function FCKeditor_OnAfterSetHTML( editorInstance )
+{
+	// Get the actual color from the combo.
+	var sColor = document.getElementById('ActualColor').value ;
+	
+	// Set the color of the editor instance.
+	editorInstance.EditorDocument.body.style.backgroundColor = sColor ;
+}
+
+function SetActualColor()
+{
+	// Get the editor instance that we want to interact with.
+	var oEditor = FCKeditorAPI.GetInstance('FCKeditor1') ;
+	
+	// Call the event function to set the color.
+	FCKeditor_OnAfterSetHTML( oEditor ) ;
+}
+
+			</script>
+	</head>
+	<body>
+		<h1>FCKeditor - Test 009</h1>
+		<P>
+			<STRONG>Expected results</STRONG> : The user should be able to background color 
+			of the editor by code.<BR>
+			<STRONG>Configurations</STRONG>: Default<BR>
+			<STRONG>Steps to&nbsp;Reproduce</STRONG>:
+		</P>
+		<OL>
+			<LI>
+			Wait the editor to load.
+			<LI>
+			Type some text.
+			<LI>
+			Change the background color using the combo.
+			<LI>
+			Type more text.
+			<LI>
+			Switch to source view.
+			<LI>
+			Switch back to WYSIWYG. The background color must be the same.
+			<LI>
+			Repeate steps 3 to 6.
+			<LI>
+				Submit the form.</LI></OL>
+		<P>
+			<hr>
+		<P>
+		Select a color for the background:<br>
+		<select id="ActualColor" onchange="SetActualColor();">
+			<option value="white" selected>White</option>
+			<option value="red">Red</option>
+			<option value="green">Green</option>
+			<option value="gold">Gold</option>
+		</select>
+		</P>
+		<form action="sampleposteddata.asp" method="post" target="_blank">
+			<script type="text/javascript">
+<!--
+// Automatically calculates the editor base path based on the _samples directory.
+// This is usefull only for these samples. A real application should use something like this:
+// oFCKeditor.BasePath = '/fckeditor/' ;	// '/fckeditor/' is the default value.
+var sBasePath = document.location.pathname.substring(0,document.location.pathname.lastIndexOf('_testcases')) ;
+
+var oFCKeditor = new FCKeditor( 'FCKeditor1' ) ;
+oFCKeditor.BasePath	= sBasePath ;
+oFCKeditor.Value	= 'This is some <strong>sample text</strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor</a>.' ;
+oFCKeditor.Create() ;
+//-->
+			</script>
+			<br>
+			<input type="submit" value="Submit">
+		</form>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/_testcases/sampleposteddata.asp
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_testcases/sampleposteddata.asp	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_testcases/sampleposteddata.asp	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,44 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: sampleposteddata.asp
+ * 	This page lists the data posted by a form.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title>FCKeditor - Samples - Posted Data</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<link href="testcases.css" rel="stylesheet" type="text/css" />
+	</head>
+	<body>
+		<h1>FCKeditor - Samples - Posted Data</h1>
+		This page lists all data posted by the form.
+		<hr>
+		<table width="100%" border="1" cellspacing="0" bordercolor="#999999">
+			<tr style="FONT-WEIGHT: bold; COLOR: #dddddd; BACKGROUND-COLOR: #999999">
+				<td noWrap>Field Name&nbsp;&nbsp;</td>
+				<td>Value</td>
+			</tr>
+			<% For Each sForm in Request.Form %>
+			<tr>
+				<td valign="top" nowrap><b><%=sForm%></b></td>
+				<td width="100%"><%=Replace( Server.HTMLEncode( Request.Form(sForm) ), Chr(13), "<br>" )%></td>
+			</tr>
+			<% Next %>
+		</table>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/_testcases/testcases.css
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_testcases/testcases.css	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_testcases/testcases.css	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,37 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: testcases.css
+ * 	Styles used in the samples pages.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+body, td, input, select, textarea
+{
+	font-size: 12px;
+	font-family: Arial, Verdana, Sans-Serif;
+}
+
+h1
+{
+	font-weight: bold;
+	font-size: 180%;
+	margin-bottom: 10px;
+}
+
+form
+{
+	margin: 0px 0px 0px 0px;
+	padding: 0px 0px 0px 0px;
+}

Added: zope.html/trunk/src/zope/html/fckeditor/_whatsnew.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/_whatsnew.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/_whatsnew.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,2132 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+-->
+<html>
+	<head>
+		<title>FCKeditor - What's New?</title>
+		<style>
+			BODY { FONT-FAMILY: Arial, Verdana, Sans-Serif }
+			P { MARGIN-LEFT: 20px }
+			</style>
+	</head>
+	<body>
+		<H3>
+			Version 2.1.1</H3>
+		<P>New Features and Improvements:</P>
+		<UL>
+			<LI>
+				The new "<STRONG>Insert Page Break</STRONG>"&nbsp;command (for printing)&nbsp;has been introduced.*
+  <LI>The editor package now has a root directory called "FCKeditor".</LI></UL>
+		<P>Fixed Bugs:</P>
+		<UL>
+			<LI>
+				[<A 
+  href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1326285&amp;group_id=75348&amp;atid=543653" 
+  target="_blank">SF BUG-1326285</A>] [<A 
+  href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1316430&amp;group_id=75348&amp;atid=543653" 
+  target="_blank">SF BUG-1316430</A>] [<A 
+  href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1323662&amp;group_id=75348&amp;atid=543653" 
+  target="_blank">SF BUG-1323662</A>] [<A 
+  href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1326223&amp;group_id=75348&amp;atid=543653" 
+  target="_blank">SF BUG-1326223</A>] We are doing a little step back with this 
+  version. The ENTER and BACKSPACE behavior changes for Firefox have been 
+  remove. It is a nice feature, but we need much more testing&nbsp;on it. It 
+  introduced some bugs and so its preferable to not have that feature, avoiding 
+  problems (even if that feature was intended to solve some issues).
+  <LI>
+				[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1289372&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1275714</A>] Comments in the beginning of the 
+			source are now preserved when using the "undo" and "redo" commands.
+			<LI>
+				The "undo" and "redo" commands now work for the Style 
+  command.
+  <LI>An error in the execution of the pasting commands on 
+  Firefox has been fixed.
+  <LI>[<A 
+  href="https://sourceforge.net/tracker/?func=detail&amp;atid=543653&amp;aid=1326184&amp;group_id=75348" 
+  target="_blank">SF BUG-1326184</A>] No strange (invalid) entities are created 
+  when using Firefox. Also, the &amp;nbsp; used by the FillEmptyBlocks setting 
+  is maintained even if you disable the ProcessHTMLEntities setting.</LI></UL>
+		<P>* This version has been partially sponsored by <A href="http://www.acttive.com.br/" target="_blank">
+				Acctive Software&nbsp;S.A.</A>.</P>
+		<H3>Version 2.1</H3>
+		<P>New Features and Improvements:</P>
+		<UL>
+			<LI>
+				[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1200328&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1200328</A>] The editor now offers a way to 
+			"protect" part of the source to remain untouched while editing or changing 
+			views.&nbsp;Just use the "FCKConfig.ProtectedSource" object to configure it and 
+			customize to your needs. It is based on regular expressions. See fckconfig.js 
+			for some samples.
+			<LI>
+				The editor now offers native support for <STRONG>Lasso</STRONG>. Thanks and 
+			welcome&nbsp;to our new developer Jason Huck.
+			<LI>
+				New language files are available:
+				<UL>
+					<LI>
+						<STRONG>Faraose</STRONG>
+					(by Smin Lassaberg and&nbsp;Helgi Arnthorsson)
+					<LI>
+						<STRONG>Malay</STRONG>
+					(by Fairul Izham Mohd Mokhlas)
+					<LI>
+						<STRONG>Mongolian</STRONG>
+					(by Lkamtseren Odonbaatar)
+					<LI>
+						<STRONG>Vietnamese</STRONG> (by Phan Binh Giang)</LI></UL>
+			<LI>
+			A new configurable&nbsp;ColdFusion connector is available. Thanks to Mark 
+			Woods. Many enhancements has been introduced with it.
+			<LI>
+			The PHP connector for the default File Browser now sorts the folders and files 
+			names.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1289372&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1289372</A>] [<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1282758&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1282758</A>] In the PHP connector it is now 
+			possible to set the absolute (server) path to the User Files directory, 
+			avoiding problems with Virtual Directories, Symbolic Links or Aliases. Take a 
+			look at the config.php file.
+			<LI>
+			The ASP.Net uploader (for Quick Uploads) has been added to the package.
+			<LI>
+				A new way to define <STRONG>simple "combo" toolbar items</STRONG>
+			, like Style and Font, has been introduced.&nbsp;Thanks&nbsp;to Steve 
+			Lineberry.&nbsp;See sample06.html and the "simplecommands" plugin&nbsp;to fully 
+			understand it.
+			<LI>
+			A new test case has been added that shows how to set the editor background 
+			dynamically without using a CSS.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1155906&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1155906</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1110116&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1110116</A>] [<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1216332&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1216332</A>] The "AutoDetectPasteFromWord" 
+			configuration option is back (IE only feature).
+			<LI>
+			The&nbsp;new "OnAfterLinkedFieldUpdate" event has been introduced. If is fired 
+			when the editor updates its hidden associated field.
+			<LI>
+			Attention: The color of the right border of the toolbar (left on RTL 
+			interfaces) has been moved from code to the CSS (TB_SideBorder class). Update 
+			your custom skins.
+			<LI>
+			A&nbsp;sample "htaccess.txt" file has been added to the editor's package to 
+			show how to configure some Linux sites that could present problems on Firefox 
+			with "Illegal characters" errors. Respectively the "" chars.
+			<LI>
+			With the JavaScript, ASP and PHP integration files, you can set the QueryString 
+			value "fcksource=true" to load the editor using the source files (located in 
+			the _source directory) instead of the compressed ones. Thanks to Kae Verens for 
+			the suggestion.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1246623&amp;group_id=75348&amp;atid=543656"
+					target="_blank">SF Feature-1246623</A>] The new configuration option 
+			"ForceStrongEm" has been introduced so you can force the editor to convert all 
+			&lt;B&gt; and &lt;I&gt; tags to &lt;STRONG&gt; and &lt;EM&gt; respectively.
+			<LI>
+				A nice contribution has been done by Goss Interactive Ltd:
+				<UL>
+					<LI>
+						[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1246949&amp;group_id=75348&amp;atid=543653"
+							target="_blank">SF BUG-1246949</A>] Implemented ENTER key and BACKSPACE key 
+						handlers for Gecko so that P tags (or an appropriate block element) get 
+						inserted instead of BR tags when not in the UseBROnCarriageReturn config mode.
+						<BR>
+						The ENTER key handling has been written to function much the same as the ENTER 
+						key handling on IE : as soon as the ENTER key is pressed, existing content will 
+						be wrapped with a suitable block element (P tag) as appropriate and a new block 
+						element (P tag) will be started.
+						<BR>
+					The ENTER key handler also caters for pressing ENTER within empty list items - 
+					ENTER in an empty item at the top of a list will remove that list item and 
+					start a new P tag above the list; ENTER in an empty item at the bottom of a 
+					list will remove that list item and start a new P tag below the list; ENTER in 
+					an empty item in the middle of a list will remove that list item, split the 
+					list into two, and start a new P tag between the two lists.
+					<LI>
+					Any tables that are found to be incorrectly nested within a block element (P 
+					tag) will be moved out of the block element when loaded into the editor. This 
+					is required for the new ENTER/BACKSPACE key handlers and it also avoids 
+					non-compliant HTML.&nbsp;
+					<LI>
+						The InsertOrderedList and InsertUnorderedList commands have been overridden on 
+						Gecko to ensure that block elements (P tags) are placed around a list item's 
+						content when it is moved out of the list due to clicking on the editor's list 
+						toolbar buttons (when not in the UseBROnCarriageReturn config mode).
+					</LI>
+				</UL>
+			</LI>
+		</UL>
+		<P>Fixed Bugs:</P>
+		<UL>
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1253255&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1253255</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1253255&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1265520</A>] Due to changes on version 2.0, the 
+			anchor list was not anymore visible in the link dialog window. It has been 
+			fixed.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/?func=detail&amp;atid=543653&amp;aid=1242979&amp;group_id=75348"
+					target="_blank">SF BUG-1242979</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1251354&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1251354</A>] [<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1256178&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1256178</A>] [<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1274841&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1274841</A>] [<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1303949&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1303949</A>] Due to a bug on Firefox, some keys 
+			stopped working on startup over Firefox. It has been fixed.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1251373&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1251373</A>
+			] The above fix also has&nbsp;corrected some strange behaviors on Firefox.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/?group_id=75348&amp;atid=543653&amp;func=detail&amp;aid=1144258"
+					target="_blank">SF BUG-1144258</A>] [<A href="https://sourceforge.net/tracker/?group_id=75348&amp;atid=543653&amp;func=detail&amp;aid=1092081"
+					target="_blank">SF BUG-1092081</A>] The File Browsers now run on 
+			the&nbsp;same server session used in the page where the editor is placed in (IE 
+			issue). Thanks to Simone Chiaretta.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1305619&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1305619</A>
+			] No more repeated login dialogs when running the editor with Windows 
+			Integrated Security with IIS.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1245304&amp;group_id=75348&amp;atid=543655"
+					target="_blank">SF Patch-1245304</A>] The Test Case 004 is now working 
+			correctly. It has been changed to set the editor hidden at startup.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1290610&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1290610</A>
+			] Over HTTPS, there were some warnings when loading the Images, Flash and Link 
+			dialogs. Fixed.
+			<LI>
+			Due to Gecko bugs, two errors were thrown when loading the editor in a hidden 
+			div. Workarounds have been introduced. In any case, the testcase 004 hack is 
+			needed when showing the editor (as in a tabbed interface).
+			<LI>
+			An invalid path in the dialogs CSS file has been corrected.
+			<LI>
+			On IE, the Undo/Redo can now be controlled using the Ctrl+Z and Ctrl+Y shortcut 
+			keys.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1295538&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1295538</A>
+			] A few Undo/Redo fixes for IE have been done.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1247070&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1247070</A>] On Gecko, it is now possible to use 
+			the shortcut keys for Bold (CTRL+B), Italic (CTRL+I) and Underline (CTRL+U), 
+			like in IE.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1274303&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1274303</A>] The "Insert Column" command is now 
+			working correctly on TH cells. It also copies any attribute applied to the 
+			source cells.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1287070&amp;group_id=75348&amp;atid=543655"
+					target="_blank">SF Patch-1287070</A>
+			] In the Universal Keyboard, the Arabic keystrokes translator is now working 
+			with Firefox. Thanks again to Abdul-Aziz Al-Oraij.
+			<LI>
+			The editor now handles AJAX requests with HTTP status 304.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1157780&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1157780</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1229077&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1229077</A>] Weird comments are now handled 
+			correctly (ignored on some cases).
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1155774&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1155774</A>] A spelling error in the Bulleted 
+			List Properties dialog has been corrected.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1272018&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1272018</A>] The ampersand character can now be 
+			added from the Special Chars dialog.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1263161&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1263161</A>] A small fix has been applied to the 
+			sampleposteddata.php file. Thanks to Mike Wallace.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1241504&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1241504</A>] The editor now looks also for the 
+			ID of the hidden linked field.
+			<LI>
+			The caption property on tables is now working on Gecko. Thanks to Helen Somers 
+			(Goss Interactive Ltd).
+			<LI>
+				[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1297431&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1297431</A>] With IE, the editor now works 
+			locally when its files are placed in a directory path that contains spaces.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1279551&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1279551</A>] [<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1242105&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1242105</A>] On IE, some features are dependant 
+			of ActiveX components (secure... distributed&nbsp;with IE itself). Some 
+			security setting could avoid the usage of those components and the editor would 
+			stop working. Now a message is shown, indicating the use the minimum necessary 
+			settings need&nbsp;by the editor to run.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1298880&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1298880</A>] Firefox can't handle the STRONG and 
+			EM tags. Those tags are now converted to B and I so it works accordingly.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1271723&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1271723</A>] On IE, it is now possible to select 
+			the text and work correctly in the contents of absolute positioned/dimensioned 
+			divs.
+			<LI>
+			On IE, there is no need to click twice in the editor to&nbsp;activate the 
+			cursor in the editing area.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/?func=detail&amp;atid=543653&amp;aid=1221621&amp;group_id=75348"
+					target="_blank">SF BUG-1221621</A>] Many "warnings" in the Firefox 
+			console are not thrown anymore.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1295526&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1295526</A>] While&nbsp;editing on "FullPage" 
+			mode the basehref is now active for CSS "link" tags.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1222584&amp;group_id=75348&amp;atid=543655"
+					target="_blank">SF Patch-1222584</A>] A small fix to the PHP connector 
+			has been applied.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1281313&amp;group_id=75348&amp;atid=543655"
+					target="_blank">SF Patch-1281313</A>] A few small changes to avoid 
+			problems with Plone. Thanks to Jean-mat.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1275911&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1275911</A>] A check for double dots sequences on 
+				directory names on creation has been introduced to the PHP and ASP connectors.</LI></UL>
+		<H3>Version 2.0</H3>
+		<P>New Features and Improvements:</P>
+		<UL>
+			<LI>
+				The&nbsp;new "<STRONG>Flash</STRONG>" command is available. Now you can 
+			easily handle Flash content, over IE and Gecko, including server browser 
+			integration and context menu support. Due to limitations of the browsers, it is 
+			not possible to see the preview of the movie while editing, so a nice 
+			"placeholder" is used instead. *
+			<LI>
+				A&nbsp;"<STRONG>Quick Upload</STRONG>
+			" option is now available in the link, image and flash dialog windows, so the 
+			user don't need to go (or have) the File Browser for this operations. The ASP 
+			and PHP uploader&nbsp;are included.&nbsp;Take a look at the configuration 
+			file.***
+			<LI>
+				Added support for <STRONG>Active FoxPro Pages</STRONG>
+			. Thanks to our new developer, Snke Freitag.
+			<LI>
+				It is now possible to <STRONG>disable the size handles</STRONG>
+			for images and tables (IE only feature). Take a look at the DisableImageHandles 
+			and DisableTableHandles configuration options.
+			<LI>
+			The handles on form fields&nbsp;(small squares around them) and the inline 
+			editing of&nbsp;its contents&nbsp;have been disabled. This makes it easier to 
+			users to use the controls.
+			<LI>
+			A much better support for Word pasting operations has been introduced. Now it 
+			uses a dialog box, in this way we have better results and more control.**
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1225372&amp;group_id=75348&amp;atid=543655"
+					target="_blank">SF Patch-1225372</A>] A small change has been done to the 
+				PHP integration file. The generic __construct constructor has been added for 
+				better PHP 5 sub-classing&nbsp;compatibility (backward compatible). Thanks to 
+				Marcus Bointon.</LI></UL>
+		<P>Fixed Bugs:</P>
+		<UL>
+			<LI>
+			ATTENTION: Some security changes have been made to the connectors. Now you must 
+			explicitly enable the connector you want to use. Please test your application 
+			before deploying this update.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/?group_id=75348&amp;atid=543653&amp;func=detail&amp;aid=1211591"
+					target="_blank">SF BUG-1211591</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1204273&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1204273</A>] The connectors have been changed so 
+			it is not possible to use ".." on directory names.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1219734&amp;group_id=75348&amp;atid=543655"
+					target="_blank">SF Patch-1219734</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1219728&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1219728</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1208654&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1208654</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1205442&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1205442</A>] There was an error in the page 
+			unload on some cases that has been fixed.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/?group_id=75348&amp;atid=543653&amp;func=detail&amp;aid=1209708"
+					target="_blank">SF BUG-1209708</A>] [<A href="http://sourceforge.net/tracker/?group_id=75348&amp;atid=543653&amp;func=detail&amp;aid=1214125"
+					target="_blank">SF BUG-1214125</A>] The undo on IE is now working 
+			correctly when the user starts typing.
+			<LI>
+			The preview now loads "Full Page" editing correctly. It also uses the same 
+			XHTML code produced by the final output.
+			<LI>
+			The "Templates" dialog was not working on some very specific (and strange) 
+			occasions over IE.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/?func=detail&amp;atid=543653&amp;aid=1199631&amp;group_id=75348"
+					target="_blank">SF BUG-1199631</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1171944&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1171944</A>] A new option is available to avoid 
+			a bad IE behavior that shows the horizontal scrollbar even when not needed. You 
+			can now force the vertical scrollbar to be always visible. Just set the 
+			"IEForceVScroll" configuration option to "true". Thanks to Grant Bartlett.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1212026&amp;group_id=75348&amp;atid=543655"
+					target="_blank">SF Patch-1212026</A>] [<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1228860&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1228860</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1211775&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1211775</A>] [<A href="http://sourceforge.net/tracker/?group_id=75348&amp;atid=543653&amp;func=detail&amp;aid=1199824"
+					target="_blank">SF BUG-1199824</A>] An error in the Packager has been 
+			corrected.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/?group_id=75348&amp;atid=543653&amp;func=detail&amp;aid=1163669"
+					target="_blank">SF BUG-1163669</A>] The XHTML processor now adds a 
+			space before the closing slash of tags that don't have a closing tag, like 
+			&lt;br /&gt;.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1213733&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1213733</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1216866&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1216866</A>]&nbsp;[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1209673&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1209673</A>]&nbsp;[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1155454&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1155454</A>]&nbsp;[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1187936&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1187936</A>
+			]&nbsp;Now, on Gecko, the source is opened in a dialog window to avoid fatal 
+			errors (Gecko bugs).
+			<LI>
+			Some pages have been changed to avoid importing errors on Plone. Thanks to 
+			Arthur Kalmenson.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1171606&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1171606</A>] There&nbsp;is a bug on IE that 
+			makes the editor to not work if the instance name matches a meta tag name. 
+			Fixed.
+			<LI>
+			On Firefox, the source code is now opened in a dialog box, to avoid error on 
+			pages with more than one editor.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1225703&amp;group_id=75348&amp;atid=543655"
+					target="_blank">SF Patch-1225703</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1214941&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1214941</A>] The "ForcePasteAsPlainText" 
+			configuration option is now working correctly on Gecko browsers. Thanks to 
+			Manuel Polo.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1228836&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1228836</A>] The "Show Table Borders" feature is 
+			now working on Gecko browsers.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1212529&amp;group_id=75348&amp;atid=543655"
+					target="_blank">SF Patch-1212529</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1212517&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1212517</A>] The default File Browser now 
+			accepts connectors with querystring parameters (with "?"). Thanks to Tomas 
+			Jucius.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1233318&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1233318</A>] A JavaScript error thrown when 
+			using the Print command has been fixed.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1229696&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1229696</A>] A regular expression has been 
+			escaped to avoid problems when opening the code in some editors. It has been 
+			moved to a&nbsp;dialog window.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1231978&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1231978</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1228939&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1228939</A>] The Preview window is now using the 
+			Content Type and Base href.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1232056&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1232056</A>] The&nbsp;anchor icon is now working 
+			correctly on IE.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1232056&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1202468</A>] The anchor icon is now available on 
+			Gecko too.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1236279&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1236279</A>] A security warning has been 
+			corrected when using the File Browser over HTTPS.
+			<LI>
+			The ASP implementation now avoid errors when setting the editor value to null 
+			values.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1237359&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1237359</A>] The trailing &lt;BR&gt; added by 
+			Gecko at the end of the source is now removed.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/?group_id=75348&amp;atid=543653&amp;func=detail&amp;aid=1170828"
+					target="_blank">SF BUG-1170828</A>] No more &amp;nbsp; is added to the 
+			source when using the "New Page" button.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1165264&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1165264</A>] A&nbsp;new configuration option has 
+			been included to force the editor to ignore empty paragraph 
+			values&nbsp;(&lt;p&gt;&amp;nbsp;&lt;/p&gt;), returning empty ("").
+			<LI>
+			No more &amp;nbsp; is added when creating a table or adding columns, rows or 
+			cells.
+			<LI>
+			The &lt;TD&gt; tags are now included in the FillEmptyBlocks configuration 
+			handling.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1224829&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1224829</A>] A small bug in the "Find" dialog 
+			has been fixed.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1221307&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1221307</A>] A small bug in the "Image" dialog 
+			has been fixed.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1219981&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1219981</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1155726&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1155726</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1178473&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1178473</A>] It is handling the &lt;FORM&gt;, 
+			&lt;TEXTAREA&gt; and &lt;SELECT&gt; tags "name" attribute correctly. Thanks to 
+			thc33.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1205403&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1205403</A>] The checkbox and radio button 
+			values are now handled correctly in their dialog windows. Thanks to thc33.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1236626&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1236626</A>] The toolbar now doesn't need to 
+			collapse when unloading the page (IE only).
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1212559&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1212559</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1017231&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1017231</A>] The "Save" button now calls the 
+			"onsubmit" event before posting the form. The submit can be cancelled if the 
+			onsubmit returns "false".
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1215823&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1215823</A>] The editor now works correctly on 
+			Firefox if it values is set to "&lt;p&gt;&lt;/p&gt;".
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1217546&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1217546</A>] No error is thrown when "pasting as 
+			plain text" and no text is available for pasting (as an image for example).
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1207031&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1207031</A>] [<A href="http://sourceforge.net/tracker/?group_id=75348&amp;atid=543653&amp;func=detail&amp;aid=1223978"
+					target="_blank">SF BUG-1223978</A>] The context menu is now available 
+			in the source view.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/?group_id=75348&amp;atid=543653&amp;func=detail&amp;aid=1213871"
+					target="_blank">SF BUG-1213871</A>] Undo has been added to table 
+			creation and table operation commands.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1205211&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1205211</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1229941&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1229941</A>] Small bug in the mcpuk file 
+				browser&nbsp;have been corrected.</LI></UL>
+		<P>* This version has been partially sponsored by <A href="http://www.infineon.com/" target="_blank">
+				Infineon Technologies AG</A>.<BR>
+			** This version has been partially sponsored by <a href="http://www.visualsoft.co.uk">
+				Visualsoft</a> <a href="http://www.visualsoft.co.uk/websolutions.html">Web 
+				Solutions</a>.<BR>
+			*** This version has been partially sponsored by <A href="http://www.webcrossing.com" target="_blank">
+				Web Crossing, Inc</A>.</P>
+		<H3>Version 2.0&nbsp;FC (Final Candidate)</H3>
+		<P>New Features and Improvements:</P>
+		<UL>
+			<LI>
+				A new tab called "<STRONG>Link</STRONG>" is available in the<STRONG> Image Dialog</STRONG>
+			window. In this way you can insert or modify the image link directly from that 
+			dialog.*
+			<LI>
+				The new "<STRONG>Templates</STRONG>" command is now available. Now the user 
+			can select from a list of pre-build HTML and fill the editor with it. Take a 
+			look at the "_docs" for more info.**
+			<LI>
+				The <A href="http://mcpuk.net/fbxp/" target="_blank">mcpuk's</A>
+			File Browser for PHP has been included in the package. He became the official 
+			developer of the File Manager for FCKeditor, so we can expect good news in the 
+			future.
+			<LI>
+				New configuration options are available to <STRONG>hide tabs</STRONG> from the <STRONG>
+					Image</STRONG> Dialog&nbsp;and <STRONG>Link</STRONG>
+			Dialog windows: LinkDlgHideTarget, LinkDlgHideAdvanced, ImageDlgHideLink and 
+			ImageDlgHideAdvanced.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1189442&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1189442</A>] [<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1187164&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1187164</A>] [<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1185905&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1185905</A>] It is now possible to configure the 
+				editor to <STRONG>not convert Greek</STRONG> or special&nbsp;<STRONG>Latin </STRONG>
+			letters to ther specific HTML entities. You can also configure it to not 
+			convert any character at all. Take a look at the "ProcessHTMLEntities", 
+			"IncludeLatinEntities" and "IncludeGreekEntities" configuration options.
+			<LI>
+				New language files are available:
+				<UL>
+					<LI>
+						<STRONG>Basque</STRONG>
+					(by Ibon Igartua)
+					<LI>
+						<STRONG>English (Australia / United Kingdom)</STRONG>
+					(by Christopher Dawes)
+					<LI>
+						<STRONG>Ukrainian</STRONG> (by Alexander Pervak)</LI></UL>
+			<LI>
+			The version and date information have been removed from the files headers to 
+			avoid unecessary diffs in source control systems when new versions are released 
+			(from now on).
+			<LI>
+				[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1159854&amp;group_id=75348&amp;atid=543655"
+					target="_blank">SF Patch-1159854</A>] Ther HTML output rendered by the 
+			server side integration files are now XHTML compatible.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1181823&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1181823</A>] It is now possible to set the 
+			desired DOCTYPE to use when edit HTML fragments (not in Full Page mode).
+			<LI>
+				There is now an optional way to implement different "mouse over" effects to the 
+				buttons when they are "on" of "off".</LI></UL>
+		<P>Fixed Bugs:</P>
+		<UL>
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1162200&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1162200</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1161633&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1161633</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1050293&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1050293</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1058948&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1058948</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1109120&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1109120</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1155408&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1155408</A>] The IE memory leak bug has been 
+			solved. The code has been completely reviewed and many memory usage 
+			improvements have been done.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1179645&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1179645</A>] [<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1183252&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1183252</A> ] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1166779&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1181647</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1155627&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1155627</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1155782&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1155782</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1155750&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1155750</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1157166&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1157166</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1157857&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1157857</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1158121&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1158121</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1177153&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1177153</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1175847&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1175847</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1155747&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1155747</A>] There was a loading problem in 
+			Gecko browsers in some cases. It has been solved.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1161147&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1161147</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1157635&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1157635</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1149805&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1149805</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1124600&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1124600</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1117535&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1117535</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1118145&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1118145</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1098113&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1098113</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1092272&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1092272</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1086416&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1086416</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1027952&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1027952</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=978441&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-978441</A>
+			] A custom Undo/Redo system has been implemented for IE.
+			<LI>
+			The editor startup execution is now made in the right order (so configurations 
+			override works correctly).
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1166779&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1166779</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1166651&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1166651</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1066198&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1066198</A>]&nbsp;[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1090388&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1090388</A>
+			]&nbsp;No more "illegible" characters in the toolbar when "ClearType" is 
+			active.
+			<LI>
+			It is now possible to set the "width" style of the BODY tag in the 
+			EditorAreaCSS to limit the editing area size.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1113620&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1113620</A>] In IE, the editor doesn't generate 
+			new entries in the browser history anymore.
+			<LI>
+			The editor now uses the same method used on version RC2 to load its contents on 
+			Gecko. It is now possible to have more than one editor in the page. This change 
+			has a negative impact: the BaseHref property is not working.
+			<LI>
+			Changes have been made to make the editor work with PHP versions&nbsp;older 
+			than&nbsp;2.1.0.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1190835&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1190835</A>] [<A href="https://sourceforge.net/tracker/?func=detail&amp;atid=543653&amp;aid=1196547&amp;group_id=75348"
+					target="_blank">SF BUG-1196547</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1156863&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1156863</A>] The "Insert Horizontal Line" 
+			command is now working correctly. Thanks to Hector Raul Colonia Coral.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1101861&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1101861</A>] The editor now shows a normal 
+			textarea correctly (as expected) on Safari browsers (and all "like Gecko" 
+			browsers). Thanks to Bob Paul.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1182224&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1182224</A>] The PHP connector can now handle 
+			file extensions in upper case,&nbsp;like JPG or Gif, correctly. Thanks to Georg 
+			Ivancsic.
+			<LI>
+			The "sample06.html" is now working correctly with Gecko browsers.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1156660&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1156660</A>] Some fixes have been applied to the 
+			Universal Keyboard. Thanks to Abdul-Aziz Al-Oraij.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1192881&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1192881</A>] [<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1185006&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1185006</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1156068&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1156068</A>] The "Browse Server" button is now 
+			working correctly for the Background Image in the "Document Properties" dialog 
+			window (full page editing). The active "BaseHref" is also set to the preview 
+			window.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1191704&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1191704</A>] Invalid HTML tags (according to the 
+			W3C naming standards for XHTML) are ignored with no errors.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1185911&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1185911</A>] The Greek language file name has 
+			been corrected to "el.js".
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1181572&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1181572</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1158421&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1158421</A>] The "Print" button is now active on 
+			startup.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1181572&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1165219</A>] No error occours when the user 
+			defines just one color to the FontColors on "in page" configurations.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1162957&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1162957</A>] The small problem with Zope 
+			(ZPT)&nbsp;has been solved.
+			<LI>
+				Some small RTL / LTR corrections has been done in the interface and the Farsi 
+				language has been added to the Universal Keyboard. Thanks to Silver 
+				Baghdasarian.</LI></UL>
+		<P>* This version has been partially sponsored by the <A href="http://www.hamilton.edu">
+				Hamilton College</A>.<BR>
+			** This version has been partially sponsored by <A href="http://www.infineon.com/" target="_blank">
+				Infineon Technologies AG</A>.</P>
+		<H3>Version 2.0 RC3 (Release Candidate 3)</H3>
+		<P>New Features and Improvements:</P>
+		<UL>
+			<LI>
+				The editor now offers native <STRONG>Perl integration</STRONG>! Thanks and 
+			welcome to Takashi Yamaguchi, our official Perl developer.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1026584&amp;group_id=75348&amp;atid=543656"
+					target="_blank">SF Feature-1026584</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1112692&amp;group_id=75348&amp;atid=543656"
+					target="_blank">SF Feature-1112692</A>] <STRONG>Formatting </STRONG>has 
+				been introduced to the <STRONG>Source View</STRONG>. The output HTML can 
+			also be formatted. You can choose to use spaces or tab for indentation. See the 
+			configuration file.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1031492&amp;group_id=75348&amp;atid=543656"
+					target="_blank">SF Feature-1031492</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1004293&amp;group_id=75348&amp;atid=543656"
+					target="_blank">SF Feature-1004293</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=784281&amp;group_id=75348&amp;atid=543656"
+					target="_blank">SF Feature-784281</A>] It is now possible to edit <STRONG>full 
+					HTML pages</STRONG>
+			with the editor. Use the "FullPage" configuration setting to activate it.
+			<LI>
+				The&nbsp;new toolbar command, "<STRONG>Document Properties</STRONG>"&nbsp;is 
+			available to edit document header info, title, colors, background, etc... Full 
+			page editing must be enabled.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1151448&amp;group_id=75348&amp;atid=543656"
+					target="_blank">SF Feature-1151448</A>] <STRONG>Spell Check</STRONG> is now 
+				available. You can use <STRONG>ieSpell</STRONG> or <STRONG>Speller Pages</STRONG>
+			right from FCKeditor. More info about configuration can be found in the _docs 
+			folder.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1041686&amp;group_id=75348&amp;atid=543656"
+					target="_blank">SF Feature-1041686</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1086386&amp;group_id=75348&amp;atid=543656"
+					target="_blank">SF Feature-1086386</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1124602&amp;group_id=75348&amp;atid=543656"
+					target="_blank">SF Feature-1124602</A>] New "<STRONG>Insert Anchor</STRONG>" 
+			command has been introduced. (The anchor icon is visible only over&nbsp;IE for 
+			now).
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1123816&amp;group_id=75348&amp;atid=543656"
+					target="_blank">SF Feature-1123816</A>] It is now possible to configure the 
+				editor to <STRONG>show "fake" table borders</STRONG>
+			when the border size is set to zero. (It is working only on IE for now).
+			<LI>
+				<STRONG>Numbered</STRONG> and <STRONG>Bulleted</STRONG> lists can now be <STRONG>configured</STRONG>
+			. Just right click on then.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1088608&amp;group_id=75348&amp;atid=543656"
+					target="_blank">SF Feature-1088608</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1144047&amp;group_id=75348&amp;atid=543656"
+					target="_blank">SF Feature-1144047</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1149808&amp;group_id=75348&amp;atid=543656"
+					target="_blank">SF Feature-1149808</A>] A new configuration setting is 
+				available, "<STRONG>BaseHref</STRONG>
+			", to set the URL used to resolve relative links.
+			<LI>
+				It is now possible to set&nbsp;the <STRONG>content language direction</STRONG>
+			. See the "FCKConfig.ContentLangDirection" configurations setting.
+			<LI>
+				All <STRONG>Field Commands</STRONG> available on version 1.6 have been upgraded 
+				and&nbsp;included in this version: <STRONG>form</STRONG>, <STRONG>checkbox</STRONG>,
+				<STRONG>radio button</STRONG>, <STRONG>text field</STRONG>, text <STRONG>area</STRONG>,
+				<STRONG>select field</STRONG>, <STRONG>button</STRONG>, <STRONG>image button</STRONG>
+				and <STRONG>hidden field</STRONG>
+			.
+			<LI>
+				<STRONG>Context menu</STRONG> options (right-click) has been added for: <STRONG>anchors</STRONG>,
+				<STRONG>select field</STRONG>, <STRONG>textarea</STRONG>, <STRONG>checkbox</STRONG>,
+				<STRONG>radio button</STRONG>, <STRONG>text field</STRONG>, <STRONG>hidden field</STRONG>,
+				<STRONG>textarea</STRONG>, <STRONG>button</STRONG>, <STRONG>image button</STRONG>,
+				<STRONG>form</STRONG>, <STRONG>bulleted list</STRONG> and <STRONG>numbered list</STRONG>
+			.
+			<LI>
+				The "<STRONG>Universal Keyboard</STRONG>" has been converted from version 
+			1.6 to this one and it's now available.
+			<LI>
+				It is now possible to <STRONG>configure</STRONG> the items to be shown in the <STRONG>
+					context menu</STRONG>
+			. Just use the FCKConfig.ContextMenu option&nbsp;at fckconfig.js.
+			<LI>
+				A new configuration (FillEmptyBlocks)&nbsp;is available to force the editor to <STRONG>
+					automatically insert a &amp;nbsp;</STRONG>
+			on empty block elements (p, div, pre, h1, etc...) to avoid differences from the 
+			editing and the final result. (Actually, the editor automatically "grows" empty 
+			elements to make the user able to enter text on it). Attention: the extra 
+			&amp;nbsp; will be added when switching from WYSIWYG to Source View, so the 
+			user may see an additional space on empty blocks. (XHTML support must be 
+			enabled).
+			<LI>
+				It is now possible to configure the <STRONG>toolbar</STRONG> to "<STRONG>break</STRONG>
+			" between two toolbar strips. Just insert a "/" between then. Take a look at 
+			fckconfig.js for a sample.
+			<LI>
+				New Language files are available:
+				<UL>
+					<LI>
+						<STRONG>Brazilian Portuguese</STRONG>
+					(by Carlos Alberto Tomatis Loth)
+					<LI>
+						<STRONG>Bulgarian</STRONG>
+					(by Miroslav Ivanov)
+					<LI>
+						<STRONG>Esperanto</STRONG>
+					(by Tim Morley)
+					<LI>
+						<STRONG>Galician</STRONG>
+					(by Fernando Riveiro Lopez)
+					<LI>
+						<STRONG>Japanese</STRONG>
+					( by Takashi Yamaguchi)
+					<LI>
+						<STRONG>Persian</STRONG>
+					(by Hamed Taj-Abadi)
+					<LI>
+						<STRONG>Romanian</STRONG>
+					(by Adrian Nicoara)
+					<LI>
+						<STRONG>Slovak</STRONG>
+					(by Gabriel Kiss)
+					<LI>
+						<STRONG>Thai </STRONG>
+					(by Audy Charin Arsakit)
+					<LI>
+						<STRONG>Turkish</STRONG>
+					(by Reha Bier)
+					<LI>
+						The Chinese Traditional has been set as the default (zn) instead of zn-tw.</LI></UL>
+			<LI>
+			Warning: All toolbar image images have been changed. The "button." prefix has 
+			been removed. If you have your custom skin, please rename your files.
+			<LI>
+				A new plugin is available in the package: "<STRONG>Placeholders</STRONG>". 
+			In this way you can insert non editable tags in your document to be processed 
+			on server side (very specific usage).
+			<LI>
+			The ASPX files are no longer available in this package. They have been moved to 
+			the FCKeditor.Net package. In this way the ASP.Net integration is much better 
+			organized.
+			<LI>
+			The FCKeditor.Packager program is now part of the main package. It is not 
+			anymore&nbsp;distributed separately.
+			<LI>
+			The PHP connector now sets the uploaded file permissions (chmod)&nbsp;to 0777.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1090215&amp;group_id=75348&amp;atid=543655"
+					target="_blank">SF Patch-1090215</A>] It's now possible to give back 
+			more info from your custom image browser calling the SetUrl( url [, width] [, 
+			height] [, alt] ). Thanks to Ben Noblet.
+			<LI>
+			The package files now maintain their original "Last Modified" date, so 
+			incremental FTP uploads can be used to update to&nbsp;new versions of the 
+			editor (from now on).
+			<LI>
+				The "Source" view now forces its contents to be written in "Left to Right" 
+				direction even when the editor interface language is running a RTL language 
+				(like Arabic, Hebrew or Persian).</LI>
+		</UL>
+		<P>Fixed Bugs:</P>
+		<UL>
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1124220&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1124220</A>] [<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1119894&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1119894</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1090986&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1090986</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1100408&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1100408</A>] The editor now works correctly when 
+			starting with an empty value and switching to the Source mode.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1119380&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1119380</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1115750&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1115750</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1101808&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1101808</A>] The problem with the scrollbar and 
+			the toolbar combos (Style, Font, etc...) over Mac has been fixed.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1098460&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1098460</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1076544&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1076544</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1077845&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1077845</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1092395&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1092395</A>] A new upload class has been 
+			included for the ASP File Manager Connector. It uses the "ADODB.Stream" object. 
+			Many thanks to "NetRube".
+			<LI>
+			I small correction has been made to the ColdFusion integration files. Thanks to 
+			Hendrik Kramer.
+			<LI>
+			There was a very specific problem when the editor was running over a FRAME 
+			executed on another domain.
+			<LI>
+			The performance problem on Gecko while typing&nbsp;quickly has been solved.
+			<LI>
+			The &lt;br type= "_moz"&gt;is not anymore shown on XHTML source.
+			<LI>
+			It has been introduced a mechanism to avoid automatic contents duplication on 
+			very specific occasions (bad formatted HTML).
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1146407&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1146407</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1145800&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1145800</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1118803&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1118803</A>
+			] Other&nbsp;issues in the XHTML processor have been solved.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1143969&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1143969</A>] The editor now accepts the 
+			"accept-charset" attribute in the FORM tag (IE specific bug).
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1122742&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1122742</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1089548&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1089548</A>
+			] Now, the contents of the SCRIPT and STYLE tags remain untouched.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1114748&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1114748</A>] The PHP File Manager Connector now 
+			sets the new folders permissions (chmod)&nbsp;to 0777 correctly.
+			<LI>
+			The PHP File Manager Connector now has a configuration file 
+			(editor/filemanager/browser/default/connectors/php/config.php) to set some 
+			security preferences.
+			<LI>
+			The&nbsp;ASP File Manager Connector now has a configuration file 
+			(editor/filemanager/browser/default/connectors/asp/config.asp) to set some 
+			security preferences.
+			<LI>
+			A small bug in the toolbar rendering (strips auto position) has been corrected.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1093732&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1093732</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1091377&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1091377</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1083044&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1083044</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1096307&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1096307</A>] The configurations are now encoded 
+			so a user can use values that has special chars (&amp;=/).
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1103688&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1103688</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1092331&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1092331</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1088220&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1088220</A>] PHP samples now use PHP_SELF to 
+			automatically discover the editor's base path.
+			<LI>
+			Some small wrapping problems with some labels in the Image and Table dialog 
+			windows have been fixed.
+			<LI>
+			All .js files are now encoded in UTF-8 format with the BOM (byte order mask) to 
+			avoid some errors on specific Linux installations.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1114449&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1114449</A>] The editor packager program has 
+			been modified so now it is possible to use the source files to run the editor 
+			as described in the documentation. The new packager must be downloaded.
+			<LI>
+			A small problem with the editor focus while in&nbsp;source&nbsp;mode has been 
+			corrected. Thanks to Eric (ric1607).
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1108167&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1108167</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1085149&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1085149</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1151296&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1151296</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1082433&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1082433</A>] No more IFRAMEs without src 
+			attribute. Now it points to a blank page located in the editor's package. In 
+			this way we avoid security warnings when using the editor over HTTPS. Thanks to 
+			Guillermo Bozovich.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1117779&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1117779</A>] The editor now works well if you 
+			have more than one element named "submit"&nbsp;on its form (even if it is not 
+			correct to have this situation).
+			<LI>
+			The XHTML processor was duplicating the text on some specific situation. It has 
+			been fixed.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1090213&amp;group_id=75348&amp;atid=543655"
+					target="_blank">SF Patch-1090213</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1098929&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF Patch-1098929</A>] With ASP, the editor now works 
+			correctly on pages using "Option Explicit". Thanks to Ben Noblet.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1100759&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1100759</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1029125&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1029125</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=966130&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-966130</A>] The editor was not working with old 
+			IE 5.5 browsers. There was a problem with the XML parser. It has been fixed.
+			<LI>
+			The localization engine is now working correctly over IE 5.5 browsers.
+			<LI>
+			Some commands where not working well over IE 5.5 (emoticons, image,...). It has 
+			been fixed.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1146441&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1146441</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1149777&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1149777</A>] The editor now uses the TEXTAREA 
+			id&nbsp;in the ReplaceTextarea function. If the id is now found, it uses the 
+			"name". The docs have been updated.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1144297&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1144297</A>] Some corrections have been made to 
+			the Dutch language file. Thanks to Erwin Dondorp.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1121365&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1121365</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1090102&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1090102</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1152171&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1152171</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1102907&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1102907</A>] There is no problem now to start 
+			the editor with values like "&lt;div&gt;&lt;/div&gt;" or "&lt;p&gt;&lt;/p&gt;".
+			<LI>
+				[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=1114059&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1114059</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1041861&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1041861</A>] The click on the disabled options 
+			in the Context Menu has no effects now.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1152617&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1152617</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1102441&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1102441</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1095312&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1095312</A>] Some problems when setting the 
+			editor source to very specific values has been fixed.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1093514&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1093514</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1089204&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1089204</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1077609&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1077609</A>] The editor now runs correctly if 
+			called directly (locally)&nbsp;without a server installation (just opening the 
+			HTML sample files).
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1088248&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1088248</A>] The editor now uses a different 
+			method to load its contents. In this way the URLs remain untouched.
+			<LI>
+				The PHP integration file now detects Internet Explorer 5.5 correctly.</LI></UL>
+		<h3>Version 2.0 RC2 (Release Candidate 2)</h3>
+		<ul>
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1042034&amp;group_id=75348&amp;atid=543656"
+					target="_blank">SF Feature-1042034</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1075961&amp;group_id=75348&amp;atid=543656"
+					target="_blank">SF Feature-1075961</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1083200&amp;group_id=75348&amp;atid=543656"
+					target="_blank">SF Feature-1083200</A>] A new dialog window for the <STRONG>table 
+					cell properties</STRONG>
+			is now available (right-click).
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1042034&amp;group_id=75348&amp;atid=543656"
+					target="_blank">SF Feature-1042034</A>] The new "<STRONG>Split Cell</STRONG>
+			", to split a table cell in two columns, has been introduced (right-click).
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1042034&amp;group_id=75348&amp;atid=543656"
+					target="_blank">SF Feature-1042034</A>] The new "<STRONG>Merge Cells</STRONG>", 
+			to merge table cells (in the same row), has been introduced (right-click).
+			<LI>
+				The "fake" <STRONG>TAB key support</STRONG>
+			(available by default over Gecko browsers is now available over IE too. You can 
+			set the number of spaces to add setting the FCKConfig.TabSpaces configuration 
+			setting. Set it to 0 (zero) to disable this feature (IE).
+			<LI>
+				It now possible to tell IE to send a <STRONG>&lt;BR&gt;</STRONG> when the user 
+				presses the <STRONG>Enter key</STRONG>. Take a look at the 
+			FCKConfig.UseBROnCarriageReturn configuration setting.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1085422&amp;group_id=75348&amp;atid=543656"
+					target="_blank">SF Feature-1085422</A>] <STRONG>ColdFusion</STRONG>: The <STRONG>
+					File Manager connector</STRONG>
+			is now available! (Thanks to Hendrik Kramer).
+			<LI>
+				The editor is now available in <STRONG>29 languages!</STRONG> The new language 
+				files available are:&nbsp;
+				<UL>
+					<LI>
+						[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1067775&amp;group_id=75348&amp;atid=543656"
+							target="_blank">SF Feature-1067775</A>] <STRONG>Chinese Simplified and 
+							Traditional</STRONG>
+					(Taiwan and Hong Kong) (by NetRube).
+					<LI>
+						<STRONG>Czech</STRONG>
+					(by David Hork).
+					<LI>
+						<STRONG>Danish</STRONG>
+					(by Jesper Michelsen).
+					<LI>
+						<STRONG>Dutch</STRONG>
+					(by Bram Crins).
+					<LI>
+						<STRONG>German</STRONG>
+					(by Maik Unruh).
+					<LI>
+						<STRONG>Portuguese</STRONG>
+					(Portugal) (by Francisco Pereira).
+					<LI>
+						<STRONG>Russian</STRONG>
+					(by Andrey Grebnev).
+					<LI>
+						<STRONG>Slovenian</STRONG> (by Boris Volaric).</LI></UL>
+			<LI>
+				Updates to the <STRONG>French</STRONG>
+			language files (by Hubert Garrido).
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1085816&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1085816</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1083743&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1083743</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1078783&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1078783</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1077861&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1077861</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1077861&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1037404</A>] Many&nbsp;small bugs&nbsp;in the XHTML 
+				processor has been corrected (workarounds to browser specific bugs). These are 
+				some things to consider regarding the changes:
+				<UL>
+					<LI>
+						[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1083744&amp;group_id=75348&amp;atid=543653"
+							target="_blank">SF BUG-1083744</A>] On Gecko browsers, any element 
+					attribute that the name starts with "_moz" will be ignored.
+					<LI>
+						[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1060073&amp;group_id=75348&amp;atid=543653"
+							target="_blank">SF BUG-1060073</A>] The &lt;STYLE&gt; and &lt;SCRIPT&gt; 
+						elements contents will be handled as is, without CDATA tag surrounding. This 
+						may break XHTML validation. In any case the use of external files for scripts 
+						and styles is recommended (W3C recommendation).</LI></UL>
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1088310&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1088310</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1078837&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1078837</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=999792&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-999792</A>] URLs now remain untouched when 
+			initializing the editor or switching from WYSYWYG to Source and vice versa.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1082323&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1082323</A>] The&nbsp;problem in the ASP and PHP 
+			connectors when handling non "strange" chars in file names has been corrected.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1085034&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1085034</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1076796&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1076796</A>] Some bugs in the PHP connector have 
+			been corrected.
+			<LI>
+			A&nbsp;problem with the "Format" command on IE browsers on languages different 
+			of English has been solved. The negative side of this correction is that due to 
+			a IE bad design it is not possible to update the "Format" combo while moving 
+			throw the text (context sensitive).
+			<LI>
+			On Gecko browsers, when selecting an image and executing the "New Page" 
+			command, the image handles still appear, even if the image is not available 
+			anymore (this is a Gecko bug). When clicking in&nbsp;a "phanton" randle, the 
+			browser crashes. It doesn't&nbsp;happen (the crash)&nbsp;anymore.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1082197&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1082197</A>] On ASP, the bug in the browser 
+			detection system for Gecko browsers has been corrected. Thanks to Alex Varga.
+			<LI>
+			Again on ASP, the browser detection for IE had some problems on servers that 
+			use comma for decimal separators on numbers. It has been corrected. Thanks to 
+			Agrotic.
+			<LI>
+			No error is thrown now when&nbsp;non existing&nbsp;language is configured in 
+			the editor. The English language file is loaded in that case.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1077747&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1077747</A>] The missing images on the 
+			Office2003 and Silver skins are now included in the package.
+			<LI>
+			On some Gecko browsers, the dialog window was not loading correctly. I couldn't 
+			reproduce the problem, but a fix has been applied based on users tests.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1004078&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1004078</A>] ColdFusion: The "config" 
+			structure/hash table with keys and values is in ColdFusion not(!) case 
+			sensitive. All keys returned by ColdFusion are in upper case format. Because 
+			the FCKeditor configuration keys must be case sensitive, we had to match all 
+			structure/hash keys with a list of the correct configuration names in mixed 
+			case. This has been added to the fckeditor.cfc and fckeditor.cfm.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1075166&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1075166</A>] ColdFusion: The "fallback" variant 
+			of the texteditor (&lt;textarea&gt;) has a bug in the fckeditor.cfm. This has 
+			been fixed.
+			<LI>
+			A typo in the Polish language file has been corrected. Thanks to Pawel Tomicki.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1086370&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1086370</A>] A small coding type in the Link dialog 
+				window has been corrected.</LI>
+		</ul>
+		<h3>Version 2.0 RC1 (Release Candidate 1)</h3>
+		<ul>
+			<li>
+				<strong>ASP</strong>
+			support is now available (including the&nbsp;File Manager connector).
+			<li>
+				<strong>PHP</strong>
+			support is now available (including the File Manager connector).
+			<li>
+				[<a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1063217&amp;group_id=75348&amp;atid=543656"
+					target="_blank">SF Feature-1063217</a>] The new advanced&nbsp;<strong>Style</strong>
+			command is available in the toolbar: full preview, context sensitive, style 
+			definitions are loaded from a XML file (see documentation for more 
+			instructions).
+			<li>
+				The <strong>Font Format</strong>, <strong>Font Name</strong> and <strong>Font Size</strong>
+				toolbar command now show a <strong>preview</strong>
+			of the available options.
+			<li>
+				The new <strong>Find</strong> and <strong>Replace</strong>
+			features has been introduced.
+			<li>
+				A new <strong>Plug-in</strong>
+			system has been developed. Now it is quite easy to customize the editor to your 
+			needs. (Take a look at the html/sample06.html file).
+			<li>
+				The editor now handles <strong>HTML entities</strong>
+			in the right way (XHTML support must be set to "true"). It handles all entities 
+			defined in the W3C&nbsp;XHTML DTD file.
+			<li>
+				A new "_docs" folder has been introduced for the <strong>documentation</strong>. 
+			It is not yet complete, but I hope the community will help us to fill it 
+			better.
+			<li>
+			It is now possible (even if it is not recommended by the W3C) to force the use 
+			of simple ampersands (&amp;) on attributes (like the links href) instead of its 
+			entity &amp;amp;. Just set FCKConfig.ForceSimpleAmpersand = true in 
+			the&nbsp;configuration file.
+			<li>
+				[<a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1026866&amp;group_id=75348&amp;atid=543656"
+					target="_blank">SF Feature-1026866</a>] The "<strong>EditorAreaCSS</strong>" 
+			configuration option has been introduced. In this way you can set the CSS to 
+			use in the editor (editable area).
+			<li>
+			The editing area is not anymore clipped if the toolbar is too large and exceeds 
+			the window width.
+			<li>
+				[<a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1064902&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1064902</a>] [<a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1033933&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1033933</a>] The editor <strong>interface</strong> is 
+				now completely <strong>localizable</strong>. The version ships with 19 
+				languages including: <b>Arabic</b>, <b>Bosnian</b>, <b>Catalan</b>, <b>English</b>,
+				<b>Spanish</b>, <b>Estonian</b>, <b>Finnish</b>, <b>French</b>, <b>Greek</b>, <b>Hebrew</b>,
+				<b>Croatian</b>, <b>Italian</b>, <b>Korean</b>, <b>Lithuanian</b>, <b>Norwegian</b>,
+				<STRONG>Polish</STRONG>, <STRONG>Serbian (Cyrillic)</STRONG>, <STRONG>Serbian 
+					(Latin)</STRONG> and <STRONG>Swedish</STRONG>.<li>[<a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1027858&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1027858</a>] Firefox 1.0 
+			PR&nbsp;introduced&nbsp;a bug that made the editor stop working on it. A 
+			workaround has been developed to fix the problem.
+			<li>
+			There was a positioning problem over IE&nbsp;with the color panel. It has been 
+			corrected.
+			<li>
+				[<a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1049842&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1049842</a>] [<a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1033832&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1033832</a>] [<a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1028623&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1028623</a>] [<a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1026610&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1026610</a>] [<a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1064498&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1064498</a>] The combo commands in the toolbar 
+			were not opening in the right way. It has been fixed.
+			<li>
+				[<a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1053399&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1053399</a>] [<a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=965318&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-965318</a>] [<a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1018296&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1018296</a>] The toolbar buttons icons were not 
+			showing on some IE and Firefox/Mac installations. It has been fixed.
+			<li>
+				[<a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1054621&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1054621</a>] Color pickers are now working with 
+			the "office2003" and "silver" skins.
+			<li>
+				[<a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1054108&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1054108</a>] IE doesnt recognize the 
+			"&amp;apos;" entity for apostrophes, so a workaround has been developed to 
+			replace it with "&amp;#39;" (its numeric entity representation).
+			<li>
+				[<a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=983434&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-983434</a>] [<a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=983398&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-983398</a>] [<a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1028103&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1028103</a>] [<a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1072496&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1072496</a>] The problem with elements with name 
+			"submit" inside the editor's form has been solved.
+			<li>
+				[<a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1018743&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1018743</a>] The problem with Gecko when 
+			collapsing the toolbar while in source mode has been fixed.
+			<li>
+				[<a href="https://sourceforge.net/tracker/?func=detail&amp;atid=543653&amp;aid=1065268&amp;group_id=75348"
+					target="_blank">SF BUG-1065268</a>] [<a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1034354&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1034354</a>] The XHTML processor now doesnt use 
+			the minimized tag syntax (like &lt;br/&gt;) for empty elements that are not 
+			marked as EMPTY in the W3C XHTML DTD specifications.
+			<li>
+				[<a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1029654&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1029654</a>] [<a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1046500&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1046500</a>] Due to a bug on Gecko there was a 
+			problem when creating links. It has been fixed.
+			<li>
+				[<a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1065973&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1065973</a>] [<a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=999792&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-999792</a>] The editor now handles relative URLs 
+			in IE. In effect IE transform all relative URLs to absolute links, pointing to 
+			the site the editor is running. So now the editor removes the protocol and host 
+			part of the link if it matches the running server.
+			<li>
+				[<a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1071824&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1071824</a>] The color dialog box bug has been 
+			fixed.
+			<li>
+				[<a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1052856&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1052856</a>] [<a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1046493&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1046493</a>] [<a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1023530&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1023530</a>] [<a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1025978&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1025978</a>] The editor now doesnt throw an 
+			error if no selection was made and the create link command is used.
+			<li>
+				[<a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1036756&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1036756</a>] The XHTML processor has been 
+			reviewed.
+			<li>
+				[<a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1029101&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1029101</a>] The Paste from Word feature is 
+			working correctly.
+			<li>
+				[<a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1034623&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1034623</a>] There is an IE bug when setting the 
+			editor value to "&lt;p&gt;&lt;hr&gt;&lt;/p&gt;". A workaround has been 
+			developed.
+			<li>
+				[<a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1052695&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1052695</a>] There are some rendering 
+			differences between Netscape and Mozilla. (Actually that is a bug on both 
+			browsers). A workaround has been developed to solve it.
+			<li>
+				[<a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1073053&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1073053</a>] [<a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1050394&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1050394</a>] The editor doesnt throw errors 
+			when hidden.
+			<li>
+				[<a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1066321&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1066321</a>] Scrollbars should not appear on 
+			dialog boxes (at least for the Image and Link ones).
+			<li>
+				[<a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1046490&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1046490</a>] Dialogs now are forced to show on 
+			foreground over Mac.
+			<li>
+				[<a href="https://sourceforge.net/tracker/?func=detail&amp;atid=543653&amp;aid=1073955&amp;group_id=75348"
+					target="_blank">SF BUG-1073955</a>] A small bug in the image dialog 
+			window has been corrected.
+			<li>
+				[<a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1049534&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1049534</a>] The Resources Browser window is now 
+			working well over Gecko browsers.
+			<li>
+				[<a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1036675&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1036675</a>] The Resources Browser window now 
+				displays the server error on bad installations.</li></ul>
+		<H3>Version 2.0 Beta 2</H3>
+		<UL>
+			<LI>
+				There is a new configuration - "<STRONG>GeckoUseSPAN</STRONG>" - that can 
+			be used to tell Gecko browsers to use &lt;SPAN style...&gt; or &lt;B&gt;, 
+			&lt;I&gt; and &lt;U&gt; for the bold, italic and underline commands.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1002622&amp;group_id=75348&amp;atid=543656"
+					target="_blank">SF Feature-1002622</A>] New <STRONG>Text Color</STRONG> and&nbsp;<STRONG>Background 
+					Color</STRONG>
+			&nbsp;commands have been added to the editor.
+			<LI>
+			On Gecko browsers, a message is shown when,&nbsp;because of&nbsp;security 
+			settings,&nbsp;the user&nbsp;is not able to&nbsp;cut, copy or paste data from 
+			the clipboard using the toolbar buttons or the context menu.
+			<LI>
+				The new "<STRONG>Paste as Plain Text</STRONG>
+			" command has been introduced.
+			<LI>
+				The new "<STRONG>Paste from Word</STRONG>
+			" command has been introduced.
+			<LI>
+			A new configuration named&nbsp;"StartupFocus" can be used to tell the editor to 
+			get the focus when the page is loaded.
+			<LI>
+				All <STRONG>Java </STRONG>
+			integration files has been moved to a new separated package.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1016781&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1016781</A>] <STRONG>Table operations</STRONG> are 
+				now working when right click inside a table. The following commands has been 
+				introduced: <STRONG>Insert Row</STRONG>, <STRONG>Delete Row</STRONG>, <STRONG>Insert 
+					Column</STRONG>, <STRONG>Delete Column</STRONG>, <STRONG>Insert Cell</STRONG>
+				and <STRONG>Delete Cells</STRONG>
+			.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=965067&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-965067</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1010379&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1010379</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=977713&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-977713</A>] XHTML support was not working with 
+			FireFox, blocking the editor when submitting data. It has been fixed.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1007547&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1007547</A> ] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=974595&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-974595</A>
+			]&nbsp;The "FCKLang not defined" error when loading has been fixed.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1021028&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-1021028</A>] If the editor doesn't have the 
+			focus, some commands were been executed outside the editor in the place where 
+			the focus is. It has been fixed.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=981191&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-981191</A>] We are now using &lt;!--- ---&gt; for 
+				ColdFusion comments.</LI></UL>
+		<H3>Version 2.0 Beta 1</H3>
+		<P>This is the first beta of the 2.x series. It brings a lot of new and important 
+			things. Beta versions will be released until all features available on version 
+			1.x will be introduced in the 2.0.<BR>
+			<BR>
+			<STRONG>Note:</STRONG> As it is a beta, it is not yet completely developed. 
+			Future versions can bring new features that can break backward compatibility 
+			with this version.
+		</P>
+		<UL>
+			<LI>
+				Gecko browsers (<STRONG>Mozilla</STRONG> and <STRONG>Netscape</STRONG>) 
+			support.
+			<LI>
+				<STRONG>Quick startup</STRONG>
+			response times.
+			<LI>
+				Complete <STRONG>XHTML</STRONG>
+			1.0 support.
+			<LI>
+				<STRONG>Advanced link</STRONG> dialog box:
+				<UL>
+					<LI>
+					Target selection.
+					<LI>
+					Popup configurator.
+					<LI>
+					E-Mail link.
+					<LI>
+						Anchor selector.
+					</LI>
+				</UL>
+			<LI>
+				New <STRONG>File Manager</STRONG>.
+			<LI>
+				New dialog box system, with <STRONG>tabbed dialogs</STRONG>
+			support.
+			<LI>
+				New <STRONG>context menus</STRONG>
+			with icons.
+			<LI>
+			New toolbar with "expand/collapse" feature.
+			<LI>
+				<STRONG>Skins</STRONG>
+			support.
+			<LI>
+				<STRONG>Right to left languages</STRONG> support.
+			</LI>
+		</UL>
+		<H3>Version 1.6.1</H3>
+		<UL>
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=862364&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-862364</A>] [<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=812733&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-812733</A>] There was a problem when the user 
+			tried to delete the last row, collumn or cell in a table. It has been 
+			corrected.*
+			<LI>
+			New Estonian language file. Thanks to Kristjan Kivikangur
+			<LI>
+			New Croatian language file. Thanks to Alex Varga.
+			<LI>
+			Updated language file for Czech. Thanks to Plachow.
+			<LI>
+			Updated language file for Chineze (zh-cn). Thanks to Yanglin.
+			<LI>
+				Updated language file for Catalan. Thanks to Jordi Cerdan.</LI></UL>
+		<P>* This version has been partially sponsored by <A href="http://www.genuitec.com/">Genuitec, 
+				LLC</A>.</P>
+		<H3>Version 1.6</H3>
+		<UL>
+			<LI>
+				<STRONG>Context Menu</STRONG> support for <STRONG>form</STRONG>
+			elements.*
+			<LI>
+				New <STRONG>"Selection Field" command</STRONG>
+			with advanced dialog box for options definitions.*
+			<LI>
+				New <STRONG>"Image Button" command</STRONG>
+			is available.*
+			<LI>
+				[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=936196&amp;group_id=75348&amp;atid=543656"
+					target="_blank">SF Feature-936196</A>] Many form elements <STRONG>bugs has been 
+					fixed</STRONG> and <STRONG>many improvements</STRONG>
+			has been done.*
+			<LI>
+				New <STRONG>Java Integration Module</STRONG>. There is a complete Java API 
+			and Tag Library implementations. Take a look at the _jsp directory. Thanks to 
+			Simone Chiaretta and Hao Jiang.
+			<LI>
+				The <STRONG>Word Spell Checker</STRONG>
+			can be used. To be able to run it, your browser security configuration 
+			"Initialize and script ActiveX controls not marked as safe" must be set to 
+			"Enable" or "Prompt". And easier and more secure way to do that is to add your 
+			site in the list of trusted sites. IeSpell can still be used. Take a look at 
+			the fck_config.js file for some configuration options. Thanks to EdwardRF.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=748807&amp;group_id=75348&amp;atid=543656"
+					target="_blank">SF Feature-748807</A>] [<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=801030&amp;group_id=75348&amp;atid=543656"
+					target="_blank">SF Feature-801030</A>] [<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=880684&amp;group_id=75348&amp;atid=543656"
+					target="_blank">SF Feature-880684</A>] New "<STRONG>Anchor" command</STRONG>, 
+			including context menu support. Thanks to G.Meijer.
+			<LI>
+			Special characters are replaced with their decimal HTML entities when the XHMTL 
+			support is enabled (only over IE5.5+).
+			<LI>
+				New <STRONG>Office 2003 Style</STRONG> toolbar icons are available. Just 
+				uncomment the config.ToolbarImagesPath key in the fck_config.js file. Thanks to 
+				Abdul-Aziz A. Al-Oraij. <STRONG>Attention</STRONG>: the default toolbar 
+			items have been moved to the "images/toolbar/default" directory.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=934566&amp;group_id=75348&amp;atid=543655"
+					target="_blank">SF Patch-934566</A>] <STRONG>Double click support</STRONG>
+			for Images, Tables, Links, Anchors and all Form elements. Thanks to Top Man.
+			<LI>
+				New <STRONG>"New Page" command</STRONG>
+			to start a typing from scratch. Thanks to Abdul-Aziz A. Al-Oraij.
+			<LI>
+				New <STRONG>"Replace" command</STRONG>. Thanks to Abdul-Aziz A. Al-Oraij.
+			<LI>
+				New <STRONG>"Advanced Font Style" command</STRONG>. Thanks to Abdul-Aziz A. 
+			Al-Oraij.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=738193&amp;group_id=75348&amp;atid=543656"
+					target="_blank">SF Feature-738193</A>] New <STRONG>"Save" command</STRONG>. 
+			It can be used to simulate a save action, but in fact it just submits the form 
+			where the editor is placed in. Thanks to Abdul-Aziz A. Al-Oraij.
+			<LI>
+				New <STRONG>"Universal Keyboard" command</STRONG>. This 22 charsets are 
+			available: Arabic, Belarusian, Bulgarian, Croatian, Czech, Danish, Finnish, 
+			French, Greek, Hebrew, Hungarian, Diacritical, Macedonian, Norwegian, Polish, 
+			Russian, Serbian (Cyrillic), Serbian (Latin), Slovak, Spanish, Ukrainian and 
+			Vietnamese. Includes a keystroke listener to type Arabic on none Arabic OS or 
+			machine. Thanks to Abdul-Aziz A. Al-Oraij.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=935358&amp;group_id=75348&amp;atid=543655"
+					target="_blank">SF Patch-935358</A>] New <STRONG>"Preview" command</STRONG>. 
+			Context menu option is included and can be deactivated throw the 
+			config.ShowPreviewContextMenu configuration. Thanks to Ben Ramsey.
+			<LI>
+				New "<STRONG>Table Auto Format</STRONG>" context menu command. Hack a 
+			little the fck_config.js and the fck_editorarea.css files. Thanks to Alexandros 
+			Lezos.
+			<LI>
+				New "<STRONG>Bulleted List Properties</STRONG>
+			" context menu to define its type and class. Thanks to Alexandros Lezos.
+			<LI>
+				The <STRONG>image dialog</STRONG> box has been a <STRONG>redesigned</STRONG>
+			. Thanks to Mark Fierling.
+			<LI>
+				Images now always have the <STRONG>"alt" attribute</STRONG>
+			set, even when it's value is empty. Thanks to Andreas Barnet.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=942250&amp;group_id=75348&amp;atid=543655"
+					target="_blank">SF Patch-942250</A>] You can set on fck_config.js to <STRONG>automatically 
+					clean Word</STRONG>
+			pasting operations without a user confirmation.
+			<LI>
+			Forms element dialogs and other localization pending labels has been updated.
+			<LI>
+				A new <STRONG>Lithuanian</STRONG>
+			language file is available. Thanks to Tauras Paliulis.
+			<LI>
+				A new <STRONG>Hebrew</STRONG>
+			language file is available. Thanks to Ophir Radnitz.
+			<LI>
+				A new <STRONG>Serbian</STRONG>
+			language file is available. Thanks to Zoran Subic.
+			<LI>
+				<STRONG>Danish</STRONG>
+			language file updates. Thanks to Flemming Jensen.
+			<LI>
+				<STRONG>Catalan</STRONG>
+			language file updates. Thanks to Jordi Cerdan.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=936514&amp;group_id=75348&amp;atid=543655"
+					target="_blank">SF Patch-936514</A>] [<A href="https://sourceforge.net/tracker/?func=detail&amp;atid=543653&amp;aid=918716&amp;group_id=75348">SF 
+					BUG-918716</A>] [<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=931037&amp;group_id=75348&amp;atid=543653">SF 
+					BUG-931037</A>] [<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=865864&amp;group_id=75348&amp;atid=543653">SF 
+					BUG-865864</A>] [<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=915410&amp;group_id=75348&amp;atid=543653">SF 
+					BUG-915410</A>] [<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=918716&amp;group_id=75348&amp;atid=543653">SF 
+					BUG-918716</A>] Some <STRONG>languages files</STRONG> were not saved on <STRONG>
+					UTF-8</STRONG>
+			format causing some javascript errors on loading the editor or making 
+			"undefined" to show on editor labels. This problem was solved.
+			<LI>
+			Updates on the testsubmit.php file. Thanks to Geat and Gabriel Schillaci
+			<LI>
+				[<A href="https://sourceforge.net/tracker/?func=detail&amp;atid=543653&amp;aid=924620&amp;group_id=75348">SF 
+					BUG-924620</A>] There was a problem when setting a name to an editor 
+			instance when the name is used by another tag. For example when using 
+			"description" as the name in a page with the &lt;META name="description"&gt; 
+			tag.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=935018&amp;group_id=75348&amp;atid=543653">SF 
+					BUG-935018</A>] The "buletted" typo has been corrected.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=902122&amp;group_id=75348&amp;atid=543653">SF 
+					BUG-902122</A>] Wrong css and js file references have been corrected.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=918942&amp;group_id=75348&amp;atid=543653">SF 
+					BUG-918942</A>] All dialog boxes now accept Enter and Escape keys as Ok and 
+				Cancel buttons.</LI></UL>
+		<P>* This version has been partially sponsored by <A href="http://www.genuitec.com/">Genuitec, 
+				LLC</A>.</P>
+		<H3>Version 1.5</H3>
+		<UL>
+			<LI>
+				[<A href="https://sourceforge.net/tracker/?func=detail&amp;atid=543656&amp;aid=913777&amp;group_id=75348"
+					target="_blank">SF Feature-913777</A>] <STRONG>New Form Commands</STRONG>
+			are now available! Special thanks to G.Meijer.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=861149&amp;group_id=75348&amp;atid=543656"
+					target="_blank">SF Feature-861149</A>] <STRONG>Print Command</STRONG>
+			is now available!
+			<LI>
+				[<A href="https://sourceforge.net/tracker/?func=detail&amp;atid=543653&amp;aid=743546&amp;group_id=75348"
+					target="_blank">SF BUG-743546</A>] The <STRONG>XHTML content duplication 
+					problem </STRONG>has been <STRONG>solved</STRONG>
+			. Thanks to Paul Hutchison.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/?func=detail&amp;atid=543653&amp;aid=875853&amp;group_id=75348"
+					target="_blank">SF BUG-875853</A>] The <STRONG>image dialog box</STRONG>
+			now gives precedence for width and height values set as styles. In this way a 
+			user can change the size of the image directly inside the editor and the 
+			changes will be reflected in the dialog box.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/?func=detail&amp;atid=543656&amp;aid=913777&amp;group_id=75348"
+					target="_blank">SF Feature-788368</A>] The sample <STRONG>file upload </STRONG>
+				manager for ASPX now uses <STRONG>guids</STRONG>
+			for the file name generation. In this way a support XML file is not needed 
+			anymore.
+			<LI>
+				It's possible now to <STRONG>programmatically change the Base Path</STRONG> of 
+				the editor if it's installed in a directory different of "/FCKeditor/". 
+				Something like this:<BR>
+				oFCKeditor.BasePath = '/FCKeditor/' ;<BR>
+			Take a look at the _test directory for samples.
+			<LI>
+			There was a little bug in the TAB feature that moved the insertion point if 
+			there were any object (images, tables) in the content. It has been fixed.
+			<LI>
+				The problem with <STRONG>accented and international characters</STRONG>
+			on the PHP test page was solved.
+			<LI>
+				A new <STRONG>Chinese (Taiwan)</STRONG>
+			language file is available. Thanks to Nil.
+			<LI>
+				A new <STRONG>Slovenian</STRONG>
+			language file is available. Thanks to Pavel Rotar.
+			<LI>
+				A new <STRONG>Catalan</STRONG>
+			language file is available. Thanks to Jordi Cerdan.
+			<LI>
+				A new <STRONG>Arabic</STRONG>
+			language file is available. Thanks to Abdul-Aziz A. Al-Oraij.
+			<LI>
+				Small corrections on the <STRONG>Norwegian</STRONG>
+			language file.
+			<LI>
+			A Java version for the test results (testsubmit.jsp) is now available. Thanks 
+			to Pritpal Dhaliwal.
+			<LI>
+			When using Javascript to create a editor instance it's possible now to easily 
+			get the editor's value calling oFCKeditor.GetValue() (eg.). Better Javascript 
+			API interfaces will be available on version 2.0.
+			<LI>
+				If <STRONG>XHTML</STRONG>
+			is enabled the editor cleans the HTML before showing it on the Source View, so 
+			the exact result can be viewed by the user. This option can be activated 
+			setting config.EnableSourceXHTML = true in the fck_config.js file.
+			<LI>
+				The <STRONG>JS integration object</STRONG> now escapes all configuration 
+				settings, in this way a user can use <STRONG>reserved chars</STRONG> on it. For 
+				example:
+				<BR>
+			oFCKeditor.Config["ImageBrowserURL"] = 
+			'/imgs/browse.asp?filter=abc*.jpg&amp;userid=1';
+			<LI>
+				A minimal browse server sample is now available in ASP. Thanks to Andreas 
+				Barnet.
+			</LI>
+		</UL>
+		<H3>Version 1.4</H3>
+		<UL>
+			<LI>
+				<STRONG>ATTENTION: For PHP users</STRONG>: The editor was changed and now uses <STRONG>
+					htmlspecialchars</STRONG> instead of <STRONG>htmlentities</STRONG>
+			when handling the initial value. It should works well, but please make some 
+			tests before upgrading definitively. If there is any problem just uncomment the 
+			line in the fckeditor.php file (and send me a message!).
+			<LI>
+				The editor is now integrated with <STRONG>ieSpell</STRONG> (<A href="http://www.iespell.com">http://www.iespell.com</A>) 
+				for <STRONG>Spell Checking</STRONG>. You can configure the download URL in 
+			then fck_config.js file. Thanks to Sanjay Sharma. (ieSpell is free for personal 
+			use but must be paid for commercial use)
+			<LI>
+				<STRONG>Table</STRONG> and <STRONG>table cell</STRONG> dialogs has been 
+				changed. Now you can <STRONG>select the class</STRONG>
+			you want to be applied. Thanks to Alexander Lezos.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=865378&amp;group_id=75348&amp;atid=543656"
+					target="_blank">SF Feature-865378</A>]A new <STRONG>upload support is available 
+					for ASP</STRONG>. It uses the /UserImages/ folder in the root of the 
+			web site as the files container and a counter controlled by the upload.cnt 
+			file. Both must have write permissions set to the IUSR_xxx user. Thanks to Trax 
+			and Juanjo.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=798128&amp;group_id=75348&amp;atid=543655"
+					target="_blank">SF Patch-798128</A>] The user (programmer) can now define a <STRONG>
+					custom separator</STRONG>
+			for the list items of a combo in the toolbar. Thanks to Wulff D. Heiss.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=741963&amp;group_id=75348&amp;atid=543656"
+					target="_blank">SF Feature-741963</A>][<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=878941&amp;group_id=75348&amp;atid=543656"
+					target="_blank">SF Feature-878941</A>][<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=869389&amp;group_id=75348&amp;atid=543655"
+					target="_blank">SF Patch-869389</A>] A minimal support for a fake <STRONG>TAB 
+					is now available</STRONG>, even if HTML has no support for TAB. Now 
+			when the user presses the TAB key a configurable number of spaces (&amp;nbsp;) 
+			is added. Take a look at config.TabSpaces on the fck_config.js file. No action 
+			is performed if it is set to zero. The default value is 4. Thanks to Phil 
+			Hassey.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=782779&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-782779</A>][<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=790939&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-790939</A>] The problem with big images has been 
+			corrected. Thanks to Raver.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/?func=detail&amp;atid=543653&amp;aid=853374&amp;group_id=75348"
+					target="_blank">SF BUG-862975</A>] Now the editor does nothing if no 
+			image is selected in the image dialog box and the OK button is hit.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=851609&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-851609</A>] The problem with ASP and null values 
+			has been solved.
+			<LI>
+				<STRONG>Norwegean</STRONG>
+			language pack. Thanks to Martin Kronstad.
+			<LI>
+				<STRONG>Hungarian</STRONG>
+			language pack. Thanks to Balzs Szab.
+			<LI>
+				<STRONG>Bosnian</STRONG>
+			language pack. Thanks to Trax.
+			<LI>
+				<STRONG>Japanese</STRONG>
+			language pack. Thanks to Kato Yuichiro.
+			<LI>
+				Updates on the <STRONG>Polish</STRONG>
+			language pack. Thanks to Norbert Neubauer.
+			<LI>
+				The <STRONG>Chinese (Taiwan)</STRONG> (zh-tw) has been removed from the package 
+				because it's corrupt. I'm sorry. I hope someone could send me a good version 
+				soon.
+			</LI>
+		</UL>
+		<H3>Version 1.3.1</H3>
+		<UL>
+			<LI>
+				It's now possible to configure the editor the insert a <STRONG>&lt;BR&gt; tag 
+					instead of &lt;P&gt;</STRONG> when the user presses the <STRONG>&lt;Enter&gt;</STRONG>
+				key. Take a look at the fck_config.js configuration file for the "<STRONG>UseBROnCarriageReturn</STRONG>" 
+			key. This option is disabled by default.
+			<LI>
+				<STRONG>Icelandic</STRONG>
+			language pack. Thanks to Andri skarsson.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/?func=detail&amp;atid=543653&amp;aid=853374&amp;group_id=75348">SF 
+					BUG-853374</A>] On IE 5.0 there was a little error introduced with 
+			version 1.3 on initialization. It was corrected.
+			<LI>
+				[<A href="https://sourceforge.net/tracker/?func=detail&amp;atid=543653&amp;aid=853372&amp;group_id=75348">SF 
+					BUG-853372</A>] On IE 5.0 there was a little error introduced with 
+			version 1.3 when setting the focus in the editor. It was corrected.
+			<LI>
+				Minor errors on the language file for <STRONG>english</STRONG>
+			has been corrected. Thanks to Anders Madsen.
+			<LI>
+				Minor errors on the language file for <STRONG>danish</STRONG> has been 
+				corrected. Thanks to Martin Johansen.
+			</LI>
+		</UL>
+		<H3>Version 1.3</H3>
+		<UL>
+			<LI>
+				Language support for <STRONG>Danish, Polish, Simple Chinese, Slovak, Swedish and 
+					Turkish</STRONG>.
+			<LI>
+				Language updates for <STRONG>Romanian</STRONG>.
+			<LI>
+				It's now possible to <STRONG>override</STRONG> any of the <STRONG>editor's 
+					configurations</STRONG>
+			(for now it's implemented just for JavaScript, ASPX and HTC modules). See 
+			_test/test.html for a sample. I'm now waiting for the Community for the ASP, 
+			CFM and PHP versions.
+			<LI>
+				A new method is available for <STRONG>PHP</STRONG> users. It's called <STRONG>ReturnFCKeditor</STRONG>. 
+				It works exactly like CreateFCKeditor, but it <STRONG>returns a string with the 
+					HTML</STRONG>
+			for the editor instead of output it (echo). This feature is useful for people 
+			who are working with Smarty Templates or something like that. Thanks to Timothy 
+			J. Finucane.
+			<LI>
+				Many people have had problems with <STRONG>international characters</STRONG> over
+				<STRONG>PHP</STRONG>. I had also the same problem. PHP have strange problems 
+				with character encoding. The code hasn't been changed but just saved again with 
+				Western European encoding. <STRONG>Now it works well</STRONG> in my system.<BR>
+			Take a look also at the "default_charset" configuration option at the php.ini 
+			file. It doesn't seem to be an editor's problem but a PHP issue.
+			<LI>
+				The "<STRONG>testsubmit.php</STRONG>" file now strips the "<STRONG>Magic Quotes</STRONG>
+			" that are automatically added by PHP on form posts.
+			<LI>
+				A <STRONG>new language</STRONG> integration module is available for <STRONG>ASP/Jscript</STRONG>. 
+			Thanks to Dimiter Naydenov.
+			<LI>
+				<STRONG>New configuration</STRONG> options are available to <STRONG>customize the 
+					Target</STRONG> combo box in the <STRONG>Insert/Modify Link</STRONG>
+			dialog box. Now you can hide it, or set which options are available in the 
+			combo box. Take a look at the fck_config.js file.
+			<LI>
+				The <STRONG>Text as Plain Text</STRONG> toolbar <STRONG>icon</STRONG> has been 
+				changed <STRONG>to avoid confusion</STRONG>
+			with the Normal Paste or. Thanks to Kaupo Kalda.
+			<LI>
+				The file <STRONG>dhtmled.cab has been removed</STRONG>
+			from the package. It's not needed to the editor to work and caused some 
+			confusion for a few users.
+			<LI>
+				The <STRONG>editor's content</STRONG> now <STRONG>doesn't loose the focus</STRONG>
+			when the user clicks with the mouse in a toolbar button.
+			<LI>
+				On <STRONG>drag-and-drop</STRONG> operations the data to be inserted in the 
+				editor is now <STRONG>converted to plain text</STRONG> when the "<STRONG>ForcePasteAsPlainText</STRONG>" 
+				configuration is set to <STRONG>true</STRONG>.
+			<LI>
+				The <STRONG>image browser</STRONG> sample in PHP now <STRONG>sorts the files</STRONG>
+			by name. Thanks to Sergey Lupashko.
+			<LI>
+				Two <STRONG>new configuration</STRONG> options are available to <STRONG>turn on/off 
+					by default</STRONG> the "<STRONG>Show Borders</STRONG>" and "<STRONG>Show 
+					Details</STRONG>" commands.
+			<LI>
+				Some <STRONG>characters have been removed</STRONG> from the "<STRONG>Insert Special 
+					Chars</STRONG>" dialog box because they were causing encoding problems 
+			in some languages. Thanks to Abomb Hua.
+			<LI>
+				<STRONG>JSP</STRONG> versions of the <STRONG>image and file upload and browsing</STRONG>
+				features. Thanks to Simone Chiaretta.</LI></UL>
+		<H3>Version 1.2.4</H3>
+		<UL>
+			<LI>
+				Language support for <STRONG>Spanish, Finnish, Romanian and Korean</STRONG>.
+			<LI>
+				Language updates for <STRONG>German</STRONG>.
+			<LI>
+				New <STRONG>Zoom</STRONG> toolbar option. (<A href="https://sourceforge.net/forum/forum.php?thread_id=904116&amp;forum_id=257180">Thanks 
+					to "mtn_roadie"</A>)</LI></UL>
+		<H3>Version 1.2.2</H3>
+		<UL>
+			<LI>
+				Language support for <STRONG>French</STRONG>.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=782779&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-782779</A>] Version 1.2 introduced a bug on the 
+				image dialog window: when changing the image, no update was done. This bug is 
+				now fixed.
+			</LI>
+		</UL>
+		<H3>Version 1.2</H3>
+		<UL>
+			<LI>
+				Enhancements to the <STRONG>Word cleaning</STRONG>
+			feature (Thanks to Karl von Randow).
+			<LI>
+				The <STRONG>Table dialog box</STRONG>
+			now handles the Style width and height set in the table (Thanks to Roberto 
+			Arruda). There where many problems on prior version when people changed 
+			manually the table's size, dragging the size handles, and then it was not 
+			possible to set a new size using the table dialog box.
+			<LI>
+				For the <STRONG>Image dialog box:</STRONG>
+				<UL>
+					<LI>
+					No image is shown in the preview pane if no image has been set.
+					<LI>
+						If no HSpace is set in the image a "-1" value was shown in the dialog box. Now, 
+						nothing is shown if the value is negative.
+					</LI>
+				</UL>
+			<LI>
+				[<A href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=739630&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-739630</A>] Image with link lost the link when 
+			changing its properties. The problem is solved.
+			<LI>
+				Due to some problems in the XHTML cleaning (content duplication when the source 
+				HTML is dirty and malformed), the <STRONG>XHTML support is turned off by default</STRONG>
+			from this version. You can still change this behavior and turn it on in the 
+			configuration file.
+			<LI>
+				Some little updates on the <STRONG>English </STRONG>
+			language file.
+			<LI>
+			A few addition of missing entries on all languages files (translations for 
+			these changes are pending).
+			<LI>
+				Language files has been added for the following languages:
+				<UL>
+					<LI>
+						<STRONG>Brazilian Portuguese</STRONG>
+					(pt-br)
+					<LI>
+						<STRONG>Czech</STRONG>
+					(cz)
+					<LI>
+						<STRONG>Dutch</STRONG>
+					(nl)
+					<LI>
+						<STRONG>Russian</STRONG>
+					(ru)
+					<LI>
+						<STRONG>Chinese (Taiwan)</STRONG>
+					(zh-tw)
+					<LI>
+						<STRONG>Greek</STRONG>
+					(gr)
+					<LI>
+						<STRONG>German</STRONG> (de)</LI></UL>
+			</LI>
+		</UL>
+		<H3>Version 1.1</H3>
+		<UL>
+			<LI>
+				The "<STRONG>Multi Language</STRONG>" system is now available. This version 
+				ships with English and Italian versions completed. Other languages will be 
+				available soon. The editor automatically detects the client language and sets 
+				all labels, tooltips and dialog boxes to it, if available. The auto detection 
+				and the default language can be set in the <STRONG>fck_config.file</STRONG>.
+			<LI>
+				Two files can now be created to isolate customizations code from the original 
+				source code of the editor: <STRONG>fckeditor.config.js</STRONG> and <STRONG>fckeditor.custom.js</STRONG>. 
+			Create these files in the root folder of your web site, if needed. The first 
+			one can be used to add or override configurations set on fck_config.js. The 
+			second one is used for custom actions and behaviors.
+			<LI>
+			A problem with relative links and images like "/test/test.doc" has been solved. 
+			In prior versions, only with XHTML support enabled, the URL was changed to 
+			something like "http://www.mysite.xxx/test/test.doc" (The domain was 
+			automatically added). Now the XHTML cleaning procedure gets the URLs exactly 
+			how they are defined in the editors HTML.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=742168&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-742168</A>] Mouse drag and drop from toolbar 
+			buttons has been disabled.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=768210&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-768210</A>] HTML entities, like <STRONG>&amp;lt;</STRONG>, 
+			were not load correctly. The problem is solved.
+			<LI>
+				[<A href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=748812&amp;group_id=75348&amp;atid=543653"
+					target="_blank">SF BUG-748812</A>] The link dialog window doesn't open when 
+				the link button is grayed.
+			</LI>
+		</UL>
+		<H3>Version 1.0</H3>
+		<UL>
+			<LI>
+			Three new options are available in the configuration file to set what file 
+			types are allowed / denied to be uploaded from the "Insert Link" and "Insert 
+			Image" dialog boxes.
+			<LI>
+			Upload options, for links and images, are automatically hidden on IE 5.0 
+			browsers (it's not compatible).
+			<LI>
+			[SF BUG-734894] Fixed a problem on XHTML cleaning: the value on INPUT fields 
+			were lost.
+			<LI>
+			[SF BUG-713797] Fixed some image dialog errors when trying to set image 
+			properties when no image is available.
+			<LI>
+			[SF BUG-736414] Developed a workaround for a DHTML control bug when loading in 
+			the editor some HTML started with &lt;p&gt;&lt;hr&gt;&lt;/p&gt;.
+			<LI>
+			[SF BUG-737143] Paste from Word cleaning changed to solve some IE 5.0 errors. 
+			This feature is still not available over IE 5.0.
+			<LI>
+			[SF BUG-737233] CSS mappings are now OK on the PHP image browser module.
+			<LI>
+			[SF BUG-737495] The image preview in the image dialog box is now working 
+			correctly.
+			<LI>
+			[SF BUG-737532] The editor automatically switches to WYSIWYG mode when the form 
+			is posted.
+			<LI>
+				[SF BUG-739571] The editor is now working well over Opera (as for Netscape, a 
+				TEXTAREA is shown).
+			</LI>
+		</UL>
+		<H3>Version 1.0 Final Candidate</H3>
+		<UL>
+			<LI>
+			A new dialog box for the "Link" command is available. Now you can upload and 
+			browse the server exactly like the image dialog box. It's also possible to 
+			define the link title and target window (_blank, _self, _parent and _top). As 
+			with the image dialog box, a sample (and simple) file server browser is 
+			available.
+			<LI>
+			A new configuration option is available to force every paste action to be 
+			handled as plain text. See "config.ForcePasteAsPlainText" in fck_config.js.
+			<LI>
+			A new Toolbar button is available: "Paste from Word". It automatically cleans 
+			the clipboard content before pasting (removesWord styles, classes, xml stuff, 
+			etc...). This command is available for IE 5.5 and more. For IE 5.0 users, a 
+			message is displayed advising that the text will not be cleaned before pasting.
+			<LI>
+			The editor automatically detects Word clipboard data on pasting operations and 
+			asks the user to clean it before pasting. This option is turned on by default 
+			but it can be configured. See "config.AutoDetectPasteFromWord" in 
+			fck_config.js.
+			<LI>
+			Table properties are now available in cells' right click context menu.
+			<LI>
+				It's now possible to edit cells advanced properties from it's right click 
+				context menu.
+			</LI>
+		</UL>
+		<H3>Version 1.0 Release Candidate 1 (RC1)</H3>
+		<UL>
+			<LI>
+			Some performance improvements.
+			<LI>
+			The file dhtmled.cab has been added to the package for clients ho needs to 
+			install the Microsoft DHTML Editor component.
+			<LI>
+			[SF BUG-713952] The format command options are localized, so it depends on the 
+			IE language to work. Until version 0.9.5 it was working only over English IE 
+			browsers. Now the options are load dynamically on the client using the client's 
+			language.
+			<LI>
+			[SF BUG-712103] The style command is localized, so it depends on the IE 
+			language to work. Until version 0.9.5 it was working only over English IE 
+			browsers. Now it configures itself using the client's language.
+			<LI>
+				[SF BUG-726137] On version 0.9.5, some commands (special chars, image, 
+				emoticons, ...) remove the next available character before inserting the 
+				required content even if no selection was made in the editor. Now the editor 
+				replaces only the selected content (if available).
+			</LI>
+		</UL>
+		<H3>Version 0.9.5 beta</H3>
+		<UL>
+			<LI>
+			XHTML support is now available! It can be enabled/disabled in the fck_config.js 
+			file.
+			<LI>
+			"Show Table Borders" option: show borders for tables with borders size set to 
+			zero.
+			<LI>
+			"Show Details" option: show hidden elements (comments, scripts, paragraphs, 
+			line breaks)
+			<LI>
+			IE behavior integration module. Thanks to Daniel Shryock.
+			<LI>
+			"Find" option: to find text in the document.
+			<LI>
+			More performance enhancements.
+			<LI>
+			New testsubmit.php file. Thansk to Jim Michaels.
+			<LI>
+			Two initial PHP upload manager implementations (not working yet). Thanks to 
+			Frederic Tyndiuk and Christian Liljedahl.
+			<LI>
+			Initial PHP image browser implementation (not working yet). Thanks to Frederic 
+			Tyndiuk.
+			<LI>
+				Initial CFM upload manager implementation. Thanks to John Watson.
+			</LI>
+		</UL>
+		<H3>Version 0.9.4 beta</H3>
+		<UL>
+			<LI>
+			ColdFusion module integration is now available! Thanks to John Watson.
+			<LI>
+			"Insert Smiley" toolbar option! Thanks to Fredox. Take a look at fck_config.js 
+			for configuration options.
+			<LI>
+			"Paste as plain text" toolbar option!
+			<LI>
+			Right click support for links (edit / remove).
+			<LI>
+			Buttons now are shown in gray when disabled.
+			<LI>
+			Buttons are shown just when the image is downloaded (no more "red x" while 
+			waiting for it).
+			<LI>
+			The toolbar background color can be set with a CSS style (see fck_editor.css).
+			<LI>
+				Toolbar images have been reviewed:
+				<UL>
+					<LI>
+					Now they are transparent.
+					<LI>
+					No more over...gif for every button (so the editor loads quicker).
+					<LI>
+						Buttons states are controlled with CSS styles. (see fck_editor.css).</LI></UL>
+			<LI>
+			Internet Explorer 5.0 compatibility, except for the image uploading popup.
+			<LI>
+			Optimizations when loading the editor.
+			<LI>
+			[SF BUG-709544] - Toolbar buttons wait for the images to be downloaded to start 
+			watching and responding the user actions (turn buttons on/off when the user 
+			changes position inside the editor).
+			<LI>
+			Javascript integration is now Object Oriented. CreateFCKeditor function is not 
+			available anymore. Take a look in test.html.
+			<LI>
+				Two new configuration options, ImageBrowser and ImageUpload, are available to 
+				turn on and off the image upload and image browsing options in the Image dialog 
+				box. This options can be hidden for a specific editor instance throw specific 
+				URL parameter in the editors IFRAME (upload=true/false&amp;browse=true/false). 
+				All specific language integration modules handle this option. For sample see 
+				the _test directory.
+			</LI>
+		</UL></SPAN>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckcontextmenugroup.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckcontextmenugroup.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckcontextmenugroup.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,71 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckcontextmenugroup.js
+ * 	FCKContextMenuGroup Class: represents a group of items in the context 
+ * 	menu. Generaly a group of items is directly dependent of the same rules.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+var FCKContextMenuGroup = function( addSeparator, contextMenu, firstItemCommand, firstItemLabel, hasIcon )
+{
+	this.IsVisible = true ;
+	
+	// Array with all available context menu items of this group.
+	this.Items = new Array() ;
+	
+	if ( addSeparator )
+		this.Add( new FCKContextMenuSeparator() ) ;
+	
+	if ( contextMenu && firstItemCommand && firstItemLabel )
+		this.Add( new FCKContextMenuItem( contextMenu, firstItemCommand, firstItemLabel, hasIcon ) ) ;
+
+	// This OPTIONAL function checks if the group must be shown.
+	this.ValidationFunction = null ;
+}
+
+// Adds an item to the group's items collecion.
+FCKContextMenuGroup.prototype.Add = function( contextMenuItem )
+{
+	this.Items[ this.Items.length ] = contextMenuItem ;
+}
+
+// Creates the <TR> elements that represent the item in a table (usually the rendered context menu).
+FCKContextMenuGroup.prototype.CreateTableRows = function( table )
+{
+	for ( var i = 0 ; i < this.Items.length ; i++ )
+	{
+		this.Items[i].CreateTableRow( table ) ;
+	}
+}
+
+FCKContextMenuGroup.prototype.SetVisible = function( isVisible )
+{
+	for ( var i = 0 ; i < this.Items.length ; i++ )
+	{
+		this.Items[i].SetVisible( isVisible ) ;
+	}
+	
+	this.IsVisible = isVisible ;
+}
+
+FCKContextMenuGroup.prototype.RefreshState = function()
+{
+	if ( ! this.IsVisible ) return ;
+	
+	for ( var i = 0 ; i < this.Items.length ; i++ )
+	{
+		this.Items[i].RefreshState() ;
+	}
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckcontextmenuitem.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckcontextmenuitem.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckcontextmenuitem.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,104 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckcontextmenuitem.js
+ * 	FCKContextMenuItem Class: represents a item in the context menu.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+var FCKContextMenuItem = function( contextMenu, commandName, label, hasIcon )
+{
+	this.ContextMenu	= contextMenu ;
+	this.Command		= FCKCommands.GetCommand( commandName ) ;
+	this.Label			= label ? label : commandName ;
+	this.HasIcon		= hasIcon ? true : false ;
+}
+
+function FCKContextMenuItem_OnMouseOver()
+{
+	if ( this.className != 'CM_Disabled' )
+		this.className = 'CM_Over' ;
+}
+	
+function FCKContextMenuItem_OnMouseOut()
+{
+	if ( this.className != 'CM_Disabled' )
+		this.className = 'CM_Option' ;
+}
+	
+function FCKContextMenuItem_OnClick()
+{
+	if ( this.className != 'CM_Disabled' )
+	{
+		this.FCKContextMenuItem.ContextMenu.Hide() ;
+		this.FCKContextMenuItem.Command.Execute() ;
+	}
+	return false ;
+}
+
+FCKContextMenuItem.prototype.CreateTableRow = function( targetTable )
+{
+	// Creates the <TR> element.
+	this._Row = targetTable.insertRow(-1) ;
+	this._Row.className = 'CM_Disabled' ;
+	this._Row.FCKContextMenuItem = this ;
+	
+	this._Row.onmouseover	= FCKContextMenuItem_OnMouseOver ;
+	this._Row.onmouseout	= FCKContextMenuItem_OnMouseOut ;
+	this._Row.onclick		= FCKContextMenuItem_OnClick ;
+	
+	var oCell = this._Row.insertCell(-1) ;
+	oCell.className = 'CM_Icon' ;
+	
+	if ( this.HasIcon ) oCell.innerHTML = '<img alt="" src="' + FCKConfig.SkinPath + 'toolbar/' + this.Command.Name.toLowerCase() + '.gif" width="21" height="20" unselectable="on">' ;
+	
+	oCell = this._Row.insertCell(-1) ;
+	oCell.className		= 'CM_Label' ;
+	oCell.unselectable	= 'on' ;
+	oCell.noWrap		= true ;
+	oCell.innerHTML		= this.Label ;
+}
+
+FCKContextMenuItem.prototype.SetVisible = function( isVisible )
+{
+	this._Row.style.display = isVisible ? '' : 'none' ;
+}
+
+FCKContextMenuItem.prototype.RefreshState = function()
+{
+	switch ( this.Command.GetState() )
+	{
+		case FCK_TRISTATE_ON :
+		case FCK_TRISTATE_OFF :
+			this._Row.className = 'CM_Option' ;
+			break ;
+		default :
+			this._Row.className = 'CM_Disabled' ;
+			break ;
+	}
+} 
+
+/*
+Sample output.
+-----------------------------------------
+<tr class="CM_Disabled">
+	<td class="CM_Icon"><img alt="" src="icons/cut.gif" width="21" height="20" unselectable="on"></td>
+	<td class="CM_Label" unselectable="on">Cut</td>
+</tr>
+-----------------------------------------
+<tr class="CM_Option" onmouseover="OnOver(this);" onmouseout="OnOut(this);">
+	<td class="CM_Icon"></td>
+	<td class="CM_Label">Do Something</td>
+</tr>
+*/
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckcontextmenuseparator.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckcontextmenuseparator.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckcontextmenuseparator.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,55 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckcontextmenuseparator.js
+ * 	FCKContextMenuSeparator Class: represents a separator in the toolbar.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+var FCKContextMenuSeparator = function()
+{
+}
+
+FCKContextMenuSeparator.prototype.CreateTableRow = function( targetTable )
+{
+	// Creates the <TR> element.
+	this._Row = targetTable.insertRow(-1) ;
+	this._Row.className = 'CM_Separator' ;
+	
+	var oCell = this._Row.insertCell(-1) ;
+	oCell.className = 'CM_Icon' ;
+	
+	oCell = this._Row.insertCell(-1) ;
+	oCell.className = 'CM_Label' ;
+	oCell.innerHTML = '<div></div>' ;
+}
+
+FCKContextMenuSeparator.prototype.SetVisible = function( isVisible )
+{
+	this._Row.style.display = isVisible ? '' : 'none' ;
+}
+
+FCKContextMenuSeparator.prototype.RefreshState = function()
+{
+	// Do nothing... its state doesn't change.
+} 
+
+/*
+Sample output.
+-----------------------------------------
+<tr class="CM_Separator">
+	<td class="CM_Icon"></td>
+	<td class="CM_Label"><div></div></td>
+</tr>
+*/
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckevents.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckevents.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckevents.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,50 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckevents.js
+ * 	FCKEvents Class: used to handle events is a advanced way.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+var FCKEvents ;
+
+if ( !( FCKEvents = NS.FCKEvents ) )
+{
+	FCKEvents = NS.FCKEvents = function( eventsOwner )
+	{
+		this.Owner = eventsOwner ;
+		this.RegisteredEvents = new Object() ;
+	}
+
+	FCKEvents.prototype.AttachEvent = function( eventName, functionPointer )
+	{
+		if ( ! this.RegisteredEvents[ eventName ] ) this.RegisteredEvents[ eventName ] = new Array() ;
+
+		this.RegisteredEvents[ eventName ][ this.RegisteredEvents[ eventName ].length ] = functionPointer ;
+	}
+
+	FCKEvents.prototype.FireEvent = function( eventName, params )
+	{
+		var bReturnValue = true ;
+
+		var oCalls = this.RegisteredEvents[ eventName ] ;
+		if ( oCalls )
+		{
+			for ( var i = 0 ; i < oCalls.length ; i++ )
+				bReturnValue = ( oCalls[ i ]( this.Owner, params ) && bReturnValue ) ;
+		}
+
+		return bReturnValue ;
+	}
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckpanel_gecko.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckpanel_gecko.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckpanel_gecko.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,206 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckpanel_gecko.js
+ * 	FCKPanel Class: Creates and manages floating panels in Gecko Browsers.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+var FCKPanel = function( parentWindow )
+{
+	if ( parentWindow )
+		this.Window = parentWindow ;
+	else
+	{
+		this.Window = window ;
+
+		while ( this.Window != window.top )
+		{
+			// Try/Catch must be used to avoit an error when using a frameset
+			// on a different domain:
+			// "Permission denied to get property HTMLDocument.Body".
+			try
+			{
+				if ( this.Window.parent.document.body.tagName == 'FRAMESET' )
+					break ;
+			}
+			catch (e)
+			{
+				break ;
+			}
+
+			this.Window = this.Window.parent ;
+		}
+	}
+}
+
+FCKPanel.prototype.Create = function()
+{
+	this._IFrame = this.Window.document.createElement('iframe') ; 
+	this._IFrame.src = 'about:blank' ;
+    this._IFrame.frameBorder		= '0';
+    this._IFrame.scrolling			= 'no' ;
+    this._IFrame.style.left			= '0px' ;
+	this._IFrame.style.top			= '0px' ;
+    this._IFrame.width				= 10 ;
+	this._IFrame.height				= 10 ;
+    this._IFrame.style.position		= 'absolute';
+	this._IFrame.style.visibility	= 'hidden' ;
+
+	this._IFrame.IsFCKPanel	= true ;
+	this._IFrame.Panel		= this ;
+
+	this.Window.document.body.appendChild( this._IFrame ) ;
+	
+	this.Document = this._IFrame.contentWindow.document ;
+
+	// Initialize the IFRAME document body.
+	this.Document.open() ;
+	this.Document.write( '<html><head></head><body><\/body><\/html>' ) ;
+	this.Document.close() ;
+
+	// Remove the default margins.
+	this.Document.body.style.margin = this.Document.body.style.padding = '0px' ;
+
+	// Add the defined Style Sheet to the document.
+	if ( this.StyleSheet )
+		FCKTools.AppendStyleSheet( this.Document, this.StyleSheet ) ;
+
+
+	this.OuterDiv = this.Document.body.appendChild( this.Document.createElement('DIV') ) ;
+	this.OuterDiv.style.cssFloat = 'left' ;
+
+	this.PanelDiv = this.OuterDiv.appendChild( this.Document.createElement('DIV') ) ;
+	this.PanelDiv.className = 'FCK_Panel' ;
+
+	this.Created = true ;
+}
+
+FCKPanel.prototype.Show = function( panelX, panelY, relElement, width, height, autoSize  )
+{
+	if ( ! this.Created )
+		this.Create() ;
+
+	if ( width != null && autoSize && width < this.OuterDiv.offsetWidth )
+		this.PanelDiv.style.width = width ;
+
+	if ( height != null && autoSize && height < this.PanelDiv.offsetHeight )
+		this.PanelDiv.style.height = height + 'px' ;
+
+	var oPos = this.GetElementPosition( relElement ) ;
+
+	panelX += oPos.X ;
+	panelY += oPos.Y ;
+
+	if ( panelX + this.OuterDiv.offsetWidth > this.Window.innerWidth )
+	{
+		// The following line aligns the panel to the other side of the refElement.
+		// panelX = oPos.X - ( this.PanelDiv.offsetWidth - relElement.offsetWidth ) ;
+
+		panelX -= panelX + this.OuterDiv.offsetWidth - this.Window.innerWidth ;
+	}
+
+	// Set the context menu DIV in the specified location.
+	this._IFrame.style.left	= panelX + 'px' ;
+	this._IFrame.style.top	= panelY + 'px' ;
+
+	// Watch the "OnClick" event for all windows to close the Context Menu.
+	function SetOnClickListener( targetWindow, targetFunction )
+	{
+		// Try/Catch must be used to avoit an error when using a frameset
+		// on a different domain:
+		// "Permission denied to get property Window.frameElement".
+		try
+		{
+			if ( targetWindow == null || ( targetWindow.frameElement && targetWindow.frameElement.IsFCKPanel ) )
+				return ;
+
+			targetWindow.document.addEventListener( 'click', targetFunction, false ) ;
+		}
+		catch (e) {}
+
+		for ( var i = 0 ; i < targetWindow.frames.length ; i++ )
+			SetOnClickListener( targetWindow.frames[i], targetFunction ) ;
+	}
+	SetOnClickListener( window.top, FCKPanelEventHandlers.OnDocumentClick ) ;
+
+	this._IFrame.width	= this.OuterDiv.offsetWidth ;
+	this._IFrame.height = this.OuterDiv.offsetHeight ;
+
+	// Show it.
+	this._IFrame.style.visibility = '' ;
+}
+
+FCKPanel.prototype.GetElementPosition = function( el )
+{
+	// Initializes the Coordinates object that will be returned by the function.
+	var c = { X:0, Y:0 } ;
+
+	// Loop throw the offset chain.
+	while ( el )
+	{
+		c.X += el.offsetLeft ;
+		c.Y += el.offsetTop ;
+
+		if ( el.offsetParent == null && el.ownerDocument.defaultView != this.Window )
+			el = el.ownerDocument.defaultView.frameElement ;
+		else
+			el = el.offsetParent ;
+	}
+
+	// Return the Coordinates object
+	return c ;
+}
+
+FCKPanel.prototype.Hide = function()
+{
+	// There is a bug on Firefox over Mac. It doesn't hide the Panel
+	// scrollbars, so we must force it.
+	this.PanelDiv.style.overflow = 'visible' ;
+
+	this._IFrame.style.visibility = 'hidden' ;
+//	this._IFrame.style.left = this._IFrame.style.top = '0px' ;
+}
+
+var FCKPanelEventHandlers = new Object() ;
+
+FCKPanelEventHandlers.OnDocumentClick = function( e )
+{
+	var oWindow = e.target.ownerDocument.defaultView ;
+
+	if ( ! oWindow.IsFCKPanel )
+	{
+		function RemoveOnClickListener( targetWindow )
+		{
+			if ( targetWindow == null )
+				return ;
+
+			// Try/Catch must be used to avoit an error when using a frameset
+			// on a different domain:
+			// "Permission denied to get property Window.frameElement".
+			try
+			{
+				if ( targetWindow.frameElement && targetWindow.frameElement.IsFCKPanel )
+					targetWindow.frameElement.Panel.Hide() ;
+				else
+					targetWindow.document.removeEventListener( 'click', FCKPanelEventHandlers.OnDocumentClick, false ) ;
+			}
+			catch (e) {}
+
+			for ( var i = 0 ; i < targetWindow.frames.length ; i++ )
+				RemoveOnClickListener( targetWindow.frames[i] ) ;
+		}
+		RemoveOnClickListener( window.top ) ;
+	}
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckpanel_ie.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckpanel_ie.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckpanel_ie.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,78 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckpanel_ie.js
+ * 	FCKPanel Class: Creates and manages floating panels in IE Browsers.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+var FCKPanel = function( parentWindow )
+{
+	this.Window = parentWindow ? parentWindow : window ;
+}
+
+function FCKPanel_OnContextMenu() { return false ; }
+
+FCKPanel.prototype.Create = function()
+{
+	// Create the Popup that will hold the panel.
+	this._Popup = this.Window.createPopup() ;
+	
+	this.Document = this._Popup.document ;
+	
+	aCleanupDocs[ aCleanupDocs.length ] = this.Document ;
+	
+	this.Document.oncontextmenu = FCKPanel_OnContextMenu ;
+
+	if ( this.StyleSheet )
+		FCKTools.AppendStyleSheet( this.Document, this.StyleSheet ) ;
+		
+	// Create the main DIV that is used as the panel base.
+	this.PanelDiv = this.Document.body.appendChild( this.Document.createElement('DIV') ) ;
+	this.PanelDiv.className = 'FCK_Panel' ;
+	
+	this.Created = true ;
+}
+
+FCKPanel.prototype.Show = function( panelX, panelY, relElement, width, height, autoSize )
+{
+	if ( ! this.Created )
+		this._Create() ;
+	
+	// The offsetWidth and offsetHeight properties are not available if the 
+	// element is not visible. So we must "show" the popup with no size to
+	// be able to use that values in the second call.
+	this._Popup.show( panelX, panelY, 0, 0, relElement ) ;
+
+	if ( width == null || ( autoSize && width > this.PanelDiv.offsetWidth ) )
+		var iWidth = this.PanelDiv.offsetWidth ;
+	else
+		var iWidth = width ;
+
+	if ( height == null || ( autoSize && height > this.PanelDiv.offsetHeight ) )
+		var iHeight = this.PanelDiv.offsetHeight ;
+	else
+		var iHeight = height ;
+
+	this.PanelDiv.style.height = iHeight ;
+
+	// Second call: Show the Popup at the specified location.
+	this._Popup.show( panelX, panelY, iWidth, iHeight, relElement ) ;
+}
+
+FCKPanel.prototype.Hide = function()
+{
+	if ( this._Popup )
+		this._Popup.hide() ;
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckplugin.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckplugin.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckplugin.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,56 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckplugin.js
+ * 	FCKPlugin Class: Represents a single plugin.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+// Certifies that the "PluginsPath" configuration ends with a slash.
+if ( !FCKConfig.PluginsPath.endsWith('/') )
+	FCKConfig.PluginsPath += '/' ;
+
+var FCKPlugin = function( name, availableLangs, basePath )
+{
+	this.Name = name ;
+	this.BasePath = basePath ? basePath : FCKConfig.PluginsPath ;
+	this.Path = this.BasePath + name + '/' ;
+	
+	if ( !availableLangs || availableLangs.length == 0 )
+		this.AvailableLangs = new Array() ;
+	else
+		this.AvailableLangs = availableLangs.split(',') ;
+}
+
+FCKPlugin.prototype.Load = function()
+{
+	// Load the language file, if defined.
+	if ( this.AvailableLangs.length > 0 )
+	{
+		var sLang ;
+		
+		// Check if the plugin has the language file for the active language.
+		if ( this.AvailableLangs.indexOf( FCKLanguageManager.ActiveLanguage.Code ) >= 0 )
+			sLang = FCKLanguageManager.ActiveLanguage.Code ;
+		else
+			// Load the default language file (first one) if the current one is not available.
+			sLang = this.AvailableLangs[0] ;
+		
+		// Add the main plugin script.
+		FCKScriptLoader.AddScript( this.Path + 'lang/' + sLang + '.js' ) ;		
+	}
+		
+	// Add the main plugin script.
+	FCKScriptLoader.AddScript( this.Path + 'fckplugin.js' ) ;
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckspecialcombo.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckspecialcombo.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckspecialcombo.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,280 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckspecialcombo.js
+ * 	FCKSpecialCombo Class: represents a special combo.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+var FCKSpecialCombo = function( caption )
+{
+	// Default properties values.
+	this.FieldWidth		= 80 ;
+	this.PanelWidth		= 130 ;
+	this.PanelMaxHeight	= 150 ;
+	this.Label			= '&nbsp;' ;
+	this.Caption		= caption ;
+	this.Tooltip		= caption ;
+	this.Style			= FCK_TOOLBARITEM_ICONTEXT ;
+
+	this.Enabled = true ;
+	
+	this.Items = new Object() ;
+	
+	this._Panel = new FCKPanel() ;
+	this._Panel.StyleSheet = FCKConfig.SkinPath + 'fck_contextmenu.css' ;
+	this._Panel.Create() ;
+	this._Panel.PanelDiv.className += ' SC_Panel' ;
+	this._Panel.PanelDiv.innerHTML = '<table cellpadding="0" cellspacing="0" width="100%" style="TABLE-LAYOUT: fixed"><tr><td nowrap></td></tr></table>' ;
+	
+	this._ItemsHolderEl = this._Panel.PanelDiv.getElementsByTagName('TD')[0] ;
+}
+
+function FCKSpecialCombo_ItemOnMouseOver()
+{
+	this.className += ' SC_ItemOver' ;
+}
+
+function FCKSpecialCombo_ItemOnMouseOut()
+{
+	this.className = this.originalClass ;
+}
+
+function FCKSpecialCombo_ItemOnClick()
+{
+	this.FCKSpecialCombo._Panel.Hide() ;
+
+	this.FCKSpecialCombo.SetLabel( this.FCKItemLabel ) ;
+
+	if ( typeof( this.FCKSpecialCombo.OnSelect ) == 'function' )
+		this.FCKSpecialCombo.OnSelect( this.FCKItemID, this ) ;
+}
+
+FCKSpecialCombo.prototype.AddItem = function( id, html, label )
+{
+	// <div class="SC_Item" onmouseover="this.className='SC_Item SC_ItemOver';" onmouseout="this.className='SC_Item';"><b>Bold 1</b></div>
+	var oDiv = this._ItemsHolderEl.appendChild( this._Panel.Document.createElement( 'DIV' ) ) ;
+	oDiv.className = oDiv.originalClass = 'SC_Item' ;
+	oDiv.innerHTML = html ;
+	oDiv.FCKItemID = id ;
+	oDiv.FCKItemLabel = label ? label : id ;
+	oDiv.FCKSpecialCombo = this ;
+	oDiv.Selected = false ;
+
+	oDiv.onmouseover	= FCKSpecialCombo_ItemOnMouseOver ;
+	oDiv.onmouseout		= FCKSpecialCombo_ItemOnMouseOut ;
+	oDiv.onclick		= FCKSpecialCombo_ItemOnClick ;
+	
+	this.Items[ id.toString().toLowerCase() ] = oDiv ;
+	
+	return oDiv ;
+}
+
+FCKSpecialCombo.prototype.SelectItem = function( itemId )
+{
+	itemId = itemId ? itemId.toString().toLowerCase() : '' ;
+	
+	var oDiv = this.Items[ itemId ] ;
+	if ( oDiv )
+	{
+		oDiv.className = oDiv.originalClass = 'SC_ItemSelected' ;
+		oDiv.Selected = true ;
+	}
+}
+
+FCKSpecialCombo.prototype.DeselectAll = function()
+{
+	for ( var i in this.Items )
+	{
+		this.Items[i].className = this.Items[i].originalClass = 'SC_Item' ;
+		this.Items[i].Selected = false ;
+	}
+}
+
+FCKSpecialCombo.prototype.SetLabelById = function( id )
+{
+	id = id ? id.toString().toLowerCase() : '' ;
+	
+	var oDiv = this.Items[ id ] ;
+	this.SetLabel( oDiv ? oDiv.FCKItemLabel : '' ) ;
+}
+
+FCKSpecialCombo.prototype.SetLabel = function( text )
+{
+	this.Label = text.length == 0 ? '&nbsp;' : text ;
+
+	if ( this._LabelEl )
+		this._LabelEl.innerHTML = this.Label ;
+}
+
+FCKSpecialCombo.prototype.SetEnabled = function( isEnabled )
+{
+	this.Enabled = isEnabled ;
+	
+	this._OuterTable.className = isEnabled ? '' : 'SC_FieldDisabled' ;
+}
+
+FCKSpecialCombo.prototype.Create = function( targetElement )
+{
+	this._OuterTable = targetElement.appendChild( document.createElement( 'TABLE' ) ) ;
+	this._OuterTable.cellPadding = 0 ;
+	this._OuterTable.cellSpacing = 0 ;
+	
+	this._OuterTable.insertRow(-1) ;
+	
+	var sClass ;
+	var bShowLabel ;
+	
+	switch ( this.Style )
+	{
+		case FCK_TOOLBARITEM_ONLYICON :
+			sClass = 'TB_ButtonType_Icon' ;
+			bShowLabel = false;
+			break ;
+		case FCK_TOOLBARITEM_ONLYTEXT :
+			sClass = 'TB_ButtonType_Text' ;
+			bShowLabel = false;
+			break ;
+		case FCK_TOOLBARITEM_ICONTEXT :
+			bShowLabel = true;
+			break ;
+	}
+
+	if ( this.Caption && this.Caption.length > 0 && bShowLabel )
+	{
+		var oCaptionCell = this._OuterTable.rows[0].insertCell(-1) ;
+		oCaptionCell.unselectable = 'on' ;
+		oCaptionCell.innerHTML = this.Caption ;
+		oCaptionCell.className = 'SC_FieldCaption' ;
+	}
+	
+	// Create the main DIV element.
+	var oField = this._OuterTable.rows[0].insertCell(-1).appendChild( document.createElement( 'DIV' ) ) ;
+	if ( bShowLabel )
+	{
+		oField.className = 'SC_Field' ;
+		oField.style.width = this.FieldWidth + 'px' ;
+		oField.innerHTML = '<table width="100%" cellpadding="0" cellspacing="0" style="TABLE-LAYOUT: fixed;" unselectable="on"><tbody><tr><td class="SC_FieldLabel" unselectable="on"><label unselectable="on">&nbsp;</label></td><td class="SC_FieldButton" unselectable="on">&nbsp;</td></tr></tbody></table>' ;
+
+		this._LabelEl = oField.getElementsByTagName('label')[0] ;
+		this._LabelEl.innerHTML = this.Label ;
+	}
+	else
+	{
+		oField.className = 'TB_Button_Off' ;
+		//oField.innerHTML = '<span className="SC_FieldCaption">' + this.Caption + '<table cellpadding="0" cellspacing="0" style="TABLE-LAYOUT: fixed;" unselectable="on"><tbody><tr><td class="SC_FieldButton" style="border-left: none;" unselectable="on">&nbsp;</td></tr></tbody></table>' ;
+		oField.innerHTML = '<table cellpadding="0" cellspacing="0" style="TABLE-LAYOUT: fixed;" unselectable="on"><tbody><tr><td class="SC_FieldButton" style="border-left: none;" unselectable="on">&nbsp;</td></tr></tbody></table>' ;
+		
+		// Gets the correct CSS class to use for the specified style (param).
+		oField.innerHTML ='<table title="' + this.Tooltip + '" class="' + sClass + '" cellspacing="0" cellpadding="0" border="0" unselectable="on">' +
+				'<tr>' +
+					//'<td class="TB_Icon" unselectable="on"><img src="' + FCKConfig.SkinPath + 'toolbar/' + this.Command.Name.toLowerCase() + '.gif" width="21" height="21" unselectable="on"></td>' +
+					'<td class="TB_Text" unselectable="on">' + this.Caption + '</td>' +
+					'<td class="TB_ButtonArrow" unselectable="on"><img src="' + FCKConfig.SkinPath + 'images/toolbar.buttonarrow.gif" width="5" height="3"></td>' +
+				'</tr>' +
+			'</table>' ;
+	}
+
+
+	// Events Handlers
+
+	oField.SpecialCombo = this ;
+	
+	oField.onmouseover	= FCKSpecialCombo_OnMouseOver ;
+	oField.onmouseout	= FCKSpecialCombo_OnMouseOut ;
+	oField.onclick		= FCKSpecialCombo_OnClick ;
+}
+
+function FCKSpecialCombo_OnMouseOver()
+{
+	if ( this.SpecialCombo.Enabled )
+	{
+		switch ( this.SpecialCombo.Style )
+		{
+		case FCK_TOOLBARITEM_ONLYICON :
+			this.className = 'TB_Button_On';
+			break ;
+		case FCK_TOOLBARITEM_ONLYTEXT :
+			this.className = 'TB_Button_On';
+			break ;
+		case FCK_TOOLBARITEM_ICONTEXT :
+			this.className = 'SC_Field SC_FieldOver' ;
+			break ;
+		}
+	}
+}
+	
+function FCKSpecialCombo_OnMouseOut()
+{
+	switch ( this.SpecialCombo.Style )
+	{
+		case FCK_TOOLBARITEM_ONLYICON :
+			this.className = 'TB_Button_Off';
+			break ;
+		case FCK_TOOLBARITEM_ONLYTEXT :
+			this.className = 'TB_Button_Off';
+			break ;
+		case FCK_TOOLBARITEM_ICONTEXT :
+			this.className='SC_Field' ;
+			break ;
+	}
+}
+	
+function FCKSpecialCombo_OnClick( e )
+{
+	// For Mozilla we must stop the event propagation to avoid it hiding 
+	// the panel because of a click outside of it.
+	if ( e )
+	{
+		e.stopPropagation() ;
+		FCKPanelEventHandlers.OnDocumentClick( e ) ;
+	}
+
+	if ( this.SpecialCombo.Enabled )
+	{
+		var oPanel = this.SpecialCombo._Panel ;
+		
+		if ( typeof( this.SpecialCombo.OnBeforeClick ) == 'function' )
+			this.SpecialCombo.OnBeforeClick( this.SpecialCombo ) ;
+
+		if ( this.SpecialCombo._ItemsHolderEl.offsetHeight > this.SpecialCombo.PanelMaxHeight )
+			oPanel.PanelDiv.style.height = this.SpecialCombo.PanelMaxHeight + 'px' ;
+		else
+			oPanel.PanelDiv.style.height = this.SpecialCombo._ItemsHolderEl.offsetHeight + 'px' ;
+			
+		oPanel.PanelDiv.style.width = this.SpecialCombo.PanelWidth + 'px' ;
+		
+		if ( FCKBrowserInfo.IsGecko )
+			oPanel.PanelDiv.style.overflow = '-moz-scrollbars-vertical' ;
+
+		oPanel.Show( 0, this.offsetHeight, this, null, this.SpecialCombo.PanelMaxHeight, true ) ;
+	}
+
+	return false ;
+}
+
+/* 
+Sample Combo Field HTML output:
+
+<div class="SC_Field" style="width: 80px;">
+	<table width="100%" cellpadding="0" cellspacing="0" style="table-layout: fixed;">
+		<tbody>
+			<tr>
+				<td class="SC_FieldLabel"><label>&nbsp;</label></td>
+				<td class="SC_FieldButton">&nbsp;</td>
+			</tr>
+		</tbody>
+	</table>
+</div>
+*/
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckstyledef.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckstyledef.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckstyledef.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,55 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckstyledef.js
+ * 	FCKStyleDef Class: represents a single stylke definition.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+var FCKStyleDef = function( name, element )
+{
+	this.Name = name ;
+	this.Element = element.toUpperCase() ;
+	this.IsObjectElement = FCKRegexLib.ObjectElements.test( this.Element ) ;
+	this.Attributes = new Object() ;
+}
+
+FCKStyleDef.prototype.AddAttribute = function( name, value )
+{
+	this.Attributes[ name ] = value ;
+}
+
+FCKStyleDef.prototype.GetOpenerTag = function()
+{
+	var s = '<' + this.Element ;
+	
+	for ( var a in this.Attributes )
+		s += ' ' + a + '="' + this.Attributes[a] + '"' ;
+	
+	return s + '>' ;
+}
+
+FCKStyleDef.prototype.GetCloserTag = function()
+{
+	return '</' + this.Element + '>' ;
+}
+
+
+FCKStyleDef.prototype.RemoveFromSelection = function()
+{
+	if ( FCKSelection.GetType() == 'Control' )
+		this._RemoveMe( FCKSelection.GetSelectedElement() ) ;
+	else
+		this._RemoveMe( FCKSelection.GetParentElement() ) ;
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckstyledef_gecko.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckstyledef_gecko.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckstyledef_gecko.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,107 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckstyledef_gecko.js
+ * 	FCKStyleDef Class: represents a single stylke definition. (Gecko specific)
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+FCKStyleDef.prototype.ApplyToSelection = function()
+{
+	if ( FCKSelection.GetType() == 'Text' && !this.IsObjectElement )
+	{
+		var oSelection = FCK.EditorWindow.getSelection() ;
+		
+		// Create the main element.
+		var e = FCK.EditorDocument.createElement( this.Element ) ;
+		
+		for ( var i = 0 ; i < oSelection.rangeCount ; i++ )
+		{
+			e.appendChild( oSelection.getRangeAt(i).extractContents() ) ;
+		}
+		
+		// Set the attributes.
+		this._AddAttributes( e ) ;
+		
+		// Remove the duplicated elements.
+		this._RemoveDuplicates( e ) ;
+
+		var oRange = oSelection.getRangeAt(0) ;		
+		oRange.insertNode( e ) ;
+	}
+	else
+	{
+		var oControl = FCKSelection.GetSelectedElement() ;
+		if ( oControl.tagName == this.Element )
+			this._AddAttributes( oControl ) ;
+	}
+}
+
+FCKStyleDef.prototype._AddAttributes = function( targetElement )
+{
+	for ( var a in this.Attributes )
+		targetElement.setAttribute( a, this.Attributes[a], 0 ) ;
+}
+
+FCKStyleDef.prototype._RemoveDuplicates = function( parent )
+{
+	for ( var i = 0 ; i < parent.childNodes.length ; i++ )
+	{
+		var oChild = parent.childNodes[i] ;
+		
+		if ( oChild.nodeType != 1 )
+			continue ;
+		
+		this._RemoveDuplicates( oChild ) ;
+		
+		if ( this.IsEqual( oChild ) )
+			FCKTools.RemoveOuterTags( oChild ) ;
+	}
+}
+
+FCKStyleDef.prototype.IsEqual = function( e )
+{
+	if ( e.tagName != this.Element )
+		return false ;
+	
+	for ( var a in this.Attributes )
+	{
+		if ( e.getAttribute( a ) != this.Attributes[a] )
+			return false ;
+	}
+	
+	return true ;
+}
+
+FCKStyleDef.prototype._RemoveMe = function( elementToCheck )
+{
+	if ( ! elementToCheck )
+		return ;
+
+	var oParent = elementToCheck.parentNode ;
+
+	if ( elementToCheck.nodeType == 1 && this.IsEqual( elementToCheck ) )
+	{
+		if ( this.IsObjectElement )
+		{
+			for ( var a in this.Attributes )
+				elementToCheck.removeAttribute( a, 0 ) ;
+			return ;
+		}
+		else
+			FCKTools.RemoveOuterTags( elementToCheck ) ;
+	}
+	
+	this._RemoveMe( oParent ) ;
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckstyledef_ie.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckstyledef_ie.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckstyledef_ie.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,130 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckstyledef_ie.js
+ * 	FCKStyleDef Class: represents a single stylke definition. (IE specific)
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+FCKStyleDef.prototype.ApplyToSelection = function()
+{
+	var oSelection = FCK.EditorDocument.selection ;
+	
+	if ( oSelection.type == 'Text' )
+	{
+		var oRange = oSelection.createRange() ;
+		
+		// Create the main element.
+		var e = document.createElement( this.Element ) ;
+		e.innerHTML = oRange.htmlText ;
+		
+		// Set the attributes.
+		this._AddAttributes( e ) ;
+		
+		// Remove the duplicated elements.
+		this._RemoveDuplicates( e ) ;
+		
+		// Replace the selection with the resulting HTML.
+		oRange.pasteHTML( e.outerHTML ) ;
+	}
+	else if ( oSelection.type == 'Control' )
+	{
+		var oControl = FCKSelection.GetSelectedElement() ;
+		if ( oControl.tagName == this.Element )
+			this._AddAttributes( oControl ) ;
+	}
+}
+
+FCKStyleDef.prototype._AddAttributes = function( targetElement )
+{
+	for ( var a in this.Attributes )
+	{
+		if ( a.toLowerCase() == 'style' )
+			targetElement.style.cssText = this.Attributes[a] ;
+		else
+			targetElement.setAttribute( a, this.Attributes[a], 0 ) ;
+	}
+}
+
+FCKStyleDef.prototype._RemoveDuplicates = function( parent )
+{
+	for ( var i = 0 ; i < parent.children.length ; i++ )
+	{
+		var oChild = parent.children[i] ;
+		this._RemoveDuplicates( oChild ) ;
+		
+		if ( this.IsEqual( oChild ) )
+		{
+			oChild.insertAdjacentHTML( 'beforeBegin', oChild.innerHTML ) ;
+			oChild.parentElement.removeChild( oChild ) ;
+		}
+	}
+}
+
+FCKStyleDef.prototype.IsEqual = function( e )
+{
+	if ( e.tagName != this.Element )
+		return false ;
+	
+	for ( var a in this.Attributes )
+	{
+		switch ( a.toLowerCase() )
+		{
+			case 'style' :
+				if ( e.style.cssText.toLowerCase() != this.Attributes[a].toLowerCase() )
+					return false ;
+				break ;
+			case 'class' :
+				if ( e.getAttribute( 'className', 0 ) != this.Attributes[a] )
+					return false ;
+				break ;
+			default :
+				if ( e.getAttribute( a, 0 ) != this.Attributes[a] )
+					return false ;
+		}
+	}
+	
+	return true ;
+}
+
+FCKStyleDef.prototype._RemoveMe = function( elementToCheck )
+{
+	if ( ! elementToCheck )
+		return ;
+
+	var oParent = elementToCheck.parentElement ;
+
+	if ( this.IsEqual( elementToCheck ) )
+	{
+		if ( this.IsObjectElement )
+		{
+			for ( var a in this.Attributes )
+			{
+				switch ( a.toLowerCase() )
+				{
+					case 'class' :
+						elementToCheck.removeAttribute( 'className', 0 ) ;
+						break ;
+					default :
+						elementToCheck.removeAttribute( a, 0 ) ;
+				}
+			}
+			return ;
+		}
+		else
+			FCKTools.RemoveOuterTags( elementToCheck ) ;
+	}
+	
+	this._RemoveMe( oParent ) ;
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckstylesloader.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckstylesloader.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckstylesloader.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,84 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckstylesloader.js
+ * 	FCKStylesLoader Class: this class define objects that are responsible
+ * 	for loading the styles defined in the XML file.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+var FCKStylesLoader = function()
+{
+	this.Styles = new Object() ;
+	this.StyleGroups = new Object() ;
+	this.Loaded = false ;
+	this.HasObjectElements = false ;
+}
+
+FCKStylesLoader.prototype.Load = function( stylesXmlUrl )
+{
+	// Load the XML file into a FCKXml object.
+	var oXml = new FCKXml() ;
+	oXml.LoadUrl( stylesXmlUrl ) ;
+	
+	// Get the "Style" nodes defined in the XML file.
+	var aStyleNodes = oXml.SelectNodes( 'Styles/Style' ) ;
+	
+	// Add each style to our "Styles" collection.
+	for ( var i = 0 ; i < aStyleNodes.length ; i++ )
+	{
+		var sElement = aStyleNodes[i].attributes.getNamedItem('element').value.toUpperCase() ;
+	
+		// Create the style definition object.
+		var oStyleDef = new FCKStyleDef( aStyleNodes[i].attributes.getNamedItem('name').value, sElement ) ;
+		
+		if ( oStyleDef.IsObjectElement )
+			this.HasObjectElements = true ;
+		
+		// Get the attributes defined for the style (if any).
+		var aAttNodes = oXml.SelectNodes( 'Attribute', aStyleNodes[i] ) ;
+		
+		// Add the attributes to the style definition object.
+		for ( var j = 0 ; j < aAttNodes.length ; j++ )
+		{
+			var sAttName	= aAttNodes[j].attributes.getNamedItem('name').value ;
+			var sAttValue	= aAttNodes[j].attributes.getNamedItem('value').value ;
+
+			// IE changes the "style" attribute value when applied to an element
+			// so we must get the final resulting value (for comparision issues).
+			if ( sAttName.toLowerCase() == 'style' )
+			{
+				var oTempE = document.createElement( 'SPAN' ) ;
+				oTempE.style.cssText = sAttValue ;
+				sAttValue = oTempE.style.cssText ;
+			}
+			
+			oStyleDef.AddAttribute( sAttName, sAttValue ) ;
+		}
+
+		// Add the style to the "Styles" collection using it's name as the key.
+		this.Styles[ oStyleDef.Name ] = oStyleDef ;
+		
+		// Add the style to the "StyleGroups" collection.
+		var aGroup = this.StyleGroups[sElement] ;
+		if ( aGroup == null )
+		{
+			this.StyleGroups[sElement] = new Array() ;
+			aGroup = this.StyleGroups[sElement] ;
+		}
+		aGroup[aGroup.length] = oStyleDef ;
+	}
+	
+	this.Loaded = true ;
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fcktoolbar.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fcktoolbar.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fcktoolbar.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,62 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fcktoolbar.js
+ * 	FCKToolbar Class: represents a toolbar. A toolbar is not the complete
+ * 	toolbar set visible, but just a strip on it... a group of items.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+var FCKToolbar = function()
+{
+	this.Items = new Array() ;
+	
+	var e = this.DOMTable = document.createElement( 'table' ) ;
+	e.className = 'TB_Toolbar' ;
+
+	// Sets the toolbar direction. IE uses "styleFloat" and Gecko uses "cssFloat".
+	e.style.styleFloat = e.style.cssFloat = FCKLang.Dir == 'rtl' ? 'right' : 'left' ;
+
+	e.cellPadding = 0 ;
+	e.cellSpacing = 0 ;
+	e.border = 0 ;
+
+	this.DOMRow = e.insertRow(-1) ;
+
+	var oCell = this.DOMRow.insertCell(-1) ;
+	oCell.className = 'TB_Start' ;
+	oCell.innerHTML = '<img src="' + FCKConfig.SkinPath + 'images/toolbar.start.gif" width="7" height="21" style="VISIBILITY: hidden" onload="this.style.visibility = \'\';" unselectable="on">' ;
+
+	FCKToolbarSet.DOMElement.appendChild( e ) ;
+}
+
+FCKToolbar.prototype.AddItem = function( toolbarItem )
+{
+	this.Items[ this.Items.length ] = toolbarItem ;
+	toolbarItem.CreateInstance( this ) ;
+}
+
+FCKToolbar.prototype.AddSeparator = function()
+{
+	var oCell = this.DOMRow.insertCell(-1) ;
+	oCell.unselectable = 'on' ;
+	oCell.innerHTML = '<img src="' + FCKConfig.SkinPath + 'images/toolbar.separator.gif" width="5" height="21" style="VISIBILITY: hidden" onload="this.style.visibility = \'\';" unselectable="on">' ;
+}
+
+FCKToolbar.prototype.AddTerminator = function()
+{
+	var oCell = this.DOMRow.insertCell(-1) ;
+	oCell.className = 'TB_End' ;
+	oCell.innerHTML = '<img src="' + FCKConfig.SkinPath + 'images/toolbar.end.gif" width="12" height="21" style="VISIBILITY: hidden" onload="this.style.visibility = \'\';" unselectable="on">' ;
+}

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fcktoolbarbreak_gecko.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fcktoolbarbreak_gecko.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fcktoolbarbreak_gecko.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,29 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fcktoolbarbreak_gecko.js
+ * 	FCKToolbarBreak Class: breaks the toolbars.
+ * 	It makes it possible to force the toolbar to brak to a new line.
+ * 	This is the Gecko specific implementation.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+var FCKToolbarBreak = function()
+{
+	var oBreakDiv = document.createElement( 'div' ) ;
+	
+	oBreakDiv.style.clear = oBreakDiv.style.cssFloat = FCKLang.Dir == 'rtl' ? 'right' : 'left' ;
+	
+	FCKToolbarSet.DOMElement.appendChild( oBreakDiv ) ;
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fcktoolbarbreak_ie.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fcktoolbarbreak_ie.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fcktoolbarbreak_ie.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,31 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fcktoolbarbreak_ie.js
+ * 	FCKToolbarBreak Class: breaks the toolbars.
+ * 	It makes it possible to force the toolbar to brak to a new line.
+ * 	This is the IE specific implementation.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+var FCKToolbarBreak = function()
+{
+	var oBreakDiv = document.createElement( 'div' ) ;
+	
+	oBreakDiv.className = 'TB_Break' ;
+	
+	oBreakDiv.style.clear = FCKLang.Dir == 'rtl' ? 'left' : 'right' ;
+	
+	FCKToolbarSet.DOMElement.appendChild( oBreakDiv ) ;
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fcktoolbarbutton.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fcktoolbarbutton.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fcktoolbarbutton.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,148 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fcktoolbarbutton.js
+ * 	FCKToolbarButton Class: represents a button in the toolbar.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+var FCKToolbarButton = function( commandName, label, tooltip, style, sourceView, contextSensitive )
+{
+	this.Command			= FCKCommands.GetCommand( commandName ) ;
+	this.Label				= label ? label : commandName ;
+	this.Tooltip			= tooltip ? tooltip : ( label ? label : commandName) ;
+	this.Style				= style ? style : FCK_TOOLBARITEM_ONLYICON ;
+	this.SourceView			= sourceView ? true : false ;
+	this.ContextSensitive	= contextSensitive ? true : false ;
+	this.IconPath			= FCKConfig.SkinPath + 'toolbar/' + commandName.toLowerCase() + '.gif' ;
+	this.State				= FCK_UNKNOWN ;
+}
+
+FCKToolbarButton.prototype.CreateInstance = function( parentToolbar )
+{
+	this.DOMDiv = document.createElement( 'div' ) ;
+	this.DOMDiv.className = 'TB_Button_Off' ;
+
+	this.DOMDiv.FCKToolbarButton = this ;
+	
+	var sHtml =
+		'<table title="' + this.Tooltip + '" cellspacing="0" cellpadding="0" border="0" unselectable="on">' +
+			'<tr>' ;
+	
+	if ( this.Style != FCK_TOOLBARITEM_ONLYTEXT ) 
+		sHtml += '<td class="TB_Icon" unselectable="on"><img src="' + this.IconPath + '" width="21" height="21" unselectable="on"></td>' ;
+	
+	if ( this.Style != FCK_TOOLBARITEM_ONLYICON ) 
+		sHtml += '<td class="TB_Text" unselectable="on" nowrap>' + this.Label + '</td>' ;
+	
+	sHtml +=	
+			'</tr>' +
+		'</table>' ;
+	
+	this.DOMDiv.innerHTML = sHtml ;
+
+	var oCell = parentToolbar.DOMRow.insertCell(-1) ;
+	oCell.appendChild( this.DOMDiv ) ;
+	
+	this.RefreshState() ;
+}
+
+FCKToolbarButton.prototype.RefreshState = function()
+{
+/*
+	TODO: Delete this commend block on stable version.
+	// Gets the actual state.
+//	var eState ;
+
+//	if ( FCK.EditMode == FCK_EDITMODE_SOURCE && ! this.SourceView )
+//		eState = FCK_TRISTATE_DISABLED ;
+//	else
+*/
+	// Gets the actual state.
+	var eState = this.Command.GetState() ;
+	
+	// If there are no state changes than do nothing and return.
+	if ( eState == this.State ) return ;
+	
+	// Sets the actual state.
+	this.State = eState ;
+	
+	switch ( this.State )
+	{
+		case FCK_TRISTATE_ON :
+			this.DOMDiv.className = 'TB_Button_On' ;
+
+			this.DOMDiv.onmouseover	= FCKToolbarButton_OnMouseOnOver ;
+			this.DOMDiv.onmouseout	= FCKToolbarButton_OnMouseOnOut ;
+			this.DOMDiv.onclick		= FCKToolbarButton_OnClick ;
+			
+			break ;
+		case FCK_TRISTATE_OFF :
+			this.DOMDiv.className = 'TB_Button_Off' ;
+
+			this.DOMDiv.onmouseover	= FCKToolbarButton_OnMouseOffOver ;
+			this.DOMDiv.onmouseout	= FCKToolbarButton_OnMouseOffOut ;
+			this.DOMDiv.onclick		= FCKToolbarButton_OnClick ;
+			
+			break ;
+		default :
+			this.Disable() ;
+			break ;
+	}
+}
+
+function FCKToolbarButton_OnMouseOnOver()
+{
+	this.className = 'TB_Button_On TB_Button_On_Over' ;
+}
+
+function FCKToolbarButton_OnMouseOnOut()
+{
+	this.className = 'TB_Button_On' ;
+}
+	
+function FCKToolbarButton_OnMouseOffOver()
+{
+	this.className = 'TB_Button_On TB_Button_Off_Over' ;
+}
+
+function FCKToolbarButton_OnMouseOffOut()
+{
+	this.className = 'TB_Button_Off' ;
+}
+	
+function FCKToolbarButton_OnClick(e)
+{
+	this.FCKToolbarButton.Click(e) ;
+	return false ;
+}
+
+FCKToolbarButton.prototype.Click = function()
+{
+	this.Command.Execute() ;
+}
+
+FCKToolbarButton.prototype.Enable = function()
+{
+	this.RefreshState() ;
+}
+
+FCKToolbarButton.prototype.Disable = function()
+{
+	this.State = FCK_TRISTATE_DISABLED ;
+	this.DOMDiv.className = 'TB_Button_Disabled' ;
+	this.DOMDiv.onmouseover	= null ;
+	this.DOMDiv.onmouseout	= null ;
+	this.DOMDiv.onclick		= null ;
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fcktoolbarfontformatcombo.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fcktoolbarfontformatcombo.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fcktoolbarfontformatcombo.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,64 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fcktoolbarfontformatcombo.js
+ * 	FCKToolbarPanelButton Class: Handles the Fonts combo selector.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+var FCKToolbarFontFormatCombo = function( tooltip, style )
+{
+	this.Command	= FCKCommands.GetCommand( 'FontFormat' ) ;
+	this.Label		= this.GetLabel() ;
+	this.Tooltip	= tooltip ? tooltip : this.Label ;
+	this.Style		= style ? style : FCK_TOOLBARITEM_ICONTEXT ;
+	
+	this.PanelWidth = 190 ;
+}
+
+// Inherit from FCKToolbarSpecialCombo.
+FCKToolbarFontFormatCombo.prototype = new FCKToolbarSpecialCombo ;
+
+FCKToolbarFontFormatCombo.prototype.GetLabel = function()
+{
+	return FCKLang.FontFormat ;
+}
+
+FCKToolbarFontFormatCombo.prototype.CreateItems = function( targetSpecialCombo )
+{
+	// Get the format names from the language file.
+	var aNames = FCKLang['FontFormats'].split(';') ;
+	var oNames = {
+		p		: aNames[0],
+		pre		: aNames[1],
+		address	: aNames[2],
+		h1		: aNames[3],
+		h2		: aNames[4],
+		h3		: aNames[5],
+		h4		: aNames[6],
+		h5		: aNames[7],
+		h6		: aNames[8],
+		div		: aNames[9]
+	} ;
+
+	// Get the available formats from the configuration file.
+	var aTags = FCKConfig.FontFormats.split(';') ;
+	
+	for ( var i = 0 ; i < aTags.length ; i++ )
+	{
+		if ( aTags[i] == 'div' && FCKBrowserInfo.IsGecko )
+			continue ;
+		this._Combo.AddItem( aTags[i], '<' + aTags[i] + '>' + oNames[aTags[i]] + '</' + aTags[i] + '>', oNames[aTags[i]] ) ;
+	}
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fcktoolbarfontscombo.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fcktoolbarfontscombo.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fcktoolbarfontscombo.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,42 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fcktoolbarfontscombo.js
+ * 	FCKToolbarPanelButton Class: Handles the Fonts combo selector.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+var FCKToolbarFontsCombo = function( tooltip, style )
+{
+	this.Command	= FCKCommands.GetCommand( 'FontName' ) ;
+	this.Label		= this.GetLabel() ;
+	this.Tooltip	= tooltip ? tooltip : this.Label ;
+	this.Style		= style ? style : FCK_TOOLBARITEM_ICONTEXT ;
+}
+
+// Inherit from FCKToolbarSpecialCombo.
+FCKToolbarFontsCombo.prototype = new FCKToolbarSpecialCombo ;
+
+FCKToolbarFontsCombo.prototype.GetLabel = function()
+{
+	return FCKLang.Font ;
+}
+
+FCKToolbarFontsCombo.prototype.CreateItems = function( targetSpecialCombo )
+{
+	var aFonts = FCKConfig.FontNames.split(';') ;
+	
+	for ( var i = 0 ; i < aFonts.length ; i++ )
+		this._Combo.AddItem( aFonts[i], '<span style="font-family: \'' + aFonts[i] + '\'; font-size: 12px;">' + aFonts[i] + '</span>' ) ;
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fcktoolbarfontsizecombo.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fcktoolbarfontsizecombo.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fcktoolbarfontsizecombo.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,47 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fcktoolbarfontsizecombo.js
+ * 	FCKToolbarPanelButton Class: Handles the Fonts combo selector.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+var FCKToolbarFontSizeCombo = function( tooltip, style )
+{
+	this.Command	= FCKCommands.GetCommand( 'FontSize' ) ;
+	this.Label		= this.GetLabel() ;
+	this.Tooltip	= tooltip ? tooltip : this.Label ;
+	this.Style		= style ? style : FCK_TOOLBARITEM_ICONTEXT ;
+}
+
+// Inherit from FCKToolbarSpecialCombo.
+FCKToolbarFontSizeCombo.prototype = new FCKToolbarSpecialCombo ;
+
+FCKToolbarFontSizeCombo.prototype.GetLabel = function()
+{
+	return FCKLang.FontSize ;
+}
+
+FCKToolbarFontSizeCombo.prototype.CreateItems = function( targetSpecialCombo )
+{
+	targetSpecialCombo.FieldWidth = 70 ;
+	
+	var aSizes = FCKConfig.FontSizes.split(';') ;
+	
+	for ( var i = 0 ; i < aSizes.length ; i++ )
+	{
+		var aSizeParts = aSizes[i].split('/') ;
+		this._Combo.AddItem( aSizeParts[0], '<font size="' + aSizeParts[0] + '">' + aSizeParts[1] + '</font>', aSizeParts[1] ) ;
+	}
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fcktoolbarpanelbutton.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fcktoolbarpanelbutton.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fcktoolbarpanelbutton.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,83 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fcktoolbarpanelbutton.js
+ * 	FCKToolbarPanelButton Class: represents a special button in the toolbar
+ * 	that shows a panel when pressed.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+var FCKToolbarPanelButton = function( commandName, label, tooltip, style )
+{
+	this.Command	= FCKCommands.GetCommand( commandName ) ;
+	this.Label		= label ? label : commandName ;
+	this.Tooltip	= tooltip ? tooltip : ( label ? label : commandName) ;
+	this.Style		= style ? style : FCK_TOOLBARITEM_ONLYICON ;
+	this.State		= FCK_UNKNOWN ;
+}
+
+FCKToolbarPanelButton.prototype.Click = function(e)
+{
+	// For Mozilla we must stop the event propagation to avoid it hiding 
+	// the panel because of a click outside of it.
+	if ( e )
+	{
+		e.stopPropagation() ;
+		FCKPanelEventHandlers.OnDocumentClick( e ) ;
+	}
+
+	if ( this.State != FCK_TRISTATE_DISABLED )
+	{
+		this.Command.Execute(0, this.DOMDiv.offsetHeight, this.DOMDiv) ;
+//			this.FCKToolbarButton.HandleOnClick( this, e ) ;
+	}
+		
+	return false ;
+}
+
+FCKToolbarPanelButton.prototype.CreateInstance = function( parentToolbar )
+{
+	this.DOMDiv = document.createElement( 'div' ) ;
+	this.DOMDiv.className = 'TB_Button_Off' ;
+
+	this.DOMDiv.FCKToolbarButton = this ;
+	
+	var sHtml =
+		'<table title="' + this.Tooltip + '" cellspacing="0" cellpadding="0" border="0" unselectable="on">' +
+			'<tr>' ;
+			
+	if ( this.Style != FCK_TOOLBARITEM_ONLYTEXT ) 
+		sHtml += '<td class="TB_Icon" unselectable="on"><img src="' + FCKConfig.SkinPath + 'toolbar/' + this.Command.Name.toLowerCase() + '.gif" width="21" height="21" unselectable="on"></td>' ;
+				
+	if ( this.Style != FCK_TOOLBARITEM_ONLYICON ) 
+		sHtml += '<td class="TB_Text" unselectable="on" nowrap>' + this.Label + '</td>' ;
+	
+	sHtml +=
+				'<td class="TB_ButtonArrow" unselectable="on"><img src="' + FCKConfig.SkinPath + 'images/toolbar.buttonarrow.gif" width="5" height="3"></td>' +
+			'</tr>' +
+		'</table>' ;
+	
+	this.DOMDiv.innerHTML = sHtml ;
+
+	var oCell = parentToolbar.DOMRow.insertCell(-1) ;
+	oCell.appendChild( this.DOMDiv ) ;
+	
+	this.RefreshState() ;
+}
+
+// The Panel Button works like a normal button so the refresh state functions
+// defined for the normal button can be reused here.
+FCKToolbarPanelButton.prototype.RefreshState	= FCKToolbarButton.prototype.RefreshState ;
+FCKToolbarPanelButton.prototype.Enable			= FCKToolbarButton.prototype.Enable ;
+FCKToolbarPanelButton.prototype.Disable			= FCKToolbarButton.prototype.Disable ;
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fcktoolbarspecialcombo.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fcktoolbarspecialcombo.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fcktoolbarspecialcombo.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,117 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fcktoolbarspecialcombo.js
+ * 	FCKToolbarSpecialCombo Class: This is a "abstract" base class to be used
+ * 	by the special combo toolbar elements like font name, font size, paragraph format, etc...
+ * 	
+ * 	The following properties and methods must be implemented when inheriting from
+ * 	this class:
+ * 		- Property:	Command								[ The command to be executed ]
+ * 		- Method:	GetLabel()							[ Returns the label ]
+ * 		-			CreateItems( targetSpecialCombo )	[ Add all items in the special combo ]
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+var FCKToolbarSpecialCombo = function()
+{
+	this.SourceView			= false ;
+	this.ContextSensitive	= true ;
+}
+
+function FCKToolbarSpecialCombo_OnSelect( itemId, item )
+{
+	this.Command.Execute( itemId, item ) ;
+}
+
+FCKToolbarSpecialCombo.prototype.CreateInstance = function( parentToolbar )
+{
+	this._Combo = new FCKSpecialCombo( this.GetLabel() ) ;
+	this._Combo.FieldWidth		= this.FieldWidth		!= null ? this.FieldWidth		: 100 ;
+	this._Combo.PanelWidth		= this.PanelWidth		!= null ? this.PanelWidth		: 150 ;
+	this._Combo.PanelMaxHeight	= this.PanelMaxHeight	!= null ? this.PanelMaxHeight	: 150 ;
+	
+	//this._Combo.Command.Name = this.Command.Name;
+//	this._Combo.Label	= this.Label ;
+	this._Combo.Tooltip	= this.Tooltip ;
+	this._Combo.Style	= this.Style ;
+	
+	this.CreateItems( this._Combo ) ;
+
+	this._Combo.Create( parentToolbar.DOMRow.insertCell(-1) ) ;
+
+	this._Combo.Command = this.Command ;
+	
+	this._Combo.OnSelect = FCKToolbarSpecialCombo_OnSelect ;
+}
+
+function FCKToolbarSpecialCombo_RefreshActiveItems( combo, value )
+{
+	combo.DeselectAll() ;
+	combo.SelectItem( value ) ;
+	combo.SetLabelById( value ) ;
+}
+
+FCKToolbarSpecialCombo.prototype.RefreshState = function()
+{
+	// Gets the actual state.
+	var eState ;
+	
+//	if ( FCK.EditMode == FCK_EDITMODE_SOURCE && ! this.SourceView )
+//		eState = FCK_TRISTATE_DISABLED ;
+//	else
+//	{
+		var sValue = this.Command.GetState() ;
+
+		if ( sValue != FCK_TRISTATE_DISABLED )
+		{
+			eState = FCK_TRISTATE_ON ;
+			
+			if ( this.RefreshActiveItems )
+				this.RefreshActiveItems( this._Combo, sValue ) ;
+			else
+				FCKToolbarSpecialCombo_RefreshActiveItems( this._Combo, sValue ) ;
+		}
+		else
+			eState = FCK_TRISTATE_DISABLED ;
+//	}
+	
+	// If there are no state changes then do nothing and return.
+	if ( eState == this.State ) return ;
+	
+	if ( eState == FCK_TRISTATE_DISABLED )
+	{
+		this._Combo.DeselectAll() ;
+		this._Combo.SetLabel( '' ) ;
+	}
+
+	// Sets the actual state.
+	this.State = eState ;
+
+	// Updates the graphical state.
+	this._Combo.SetEnabled( eState != FCK_TRISTATE_DISABLED ) ;
+}
+
+FCKToolbarSpecialCombo.prototype.Enable = function()
+{
+	this.RefreshState() ;
+}
+
+FCKToolbarSpecialCombo.prototype.Disable = function()
+{
+	this.State = FCK_TRISTATE_DISABLED ;
+	this._Combo.DeselectAll() ;
+	this._Combo.SetLabel( '' ) ;
+	this._Combo.SetEnabled( false ) ;
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fcktoolbarstylecombo.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fcktoolbarstylecombo.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fcktoolbarstylecombo.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,94 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fcktoolbarstylecombo.js
+ * 	FCKToolbarPanelButton Class: Handles the Fonts combo selector.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+var FCKToolbarStyleCombo = function( tooltip, style )
+{
+	this.Command	= FCKCommands.GetCommand( 'Style' ) ;
+	this.Label		= this.GetLabel() ;
+	this.Tooltip	= tooltip ? tooltip : this.Label ;
+	this.Style		= style ? style : FCK_TOOLBARITEM_ICONTEXT ;
+}
+
+// Inherit from FCKToolbarSpecialCombo.
+FCKToolbarStyleCombo.prototype = new FCKToolbarSpecialCombo ;
+
+FCKToolbarStyleCombo.prototype.GetLabel = function()
+{
+	return FCKLang.Style ;
+}
+
+FCKToolbarStyleCombo.prototype.CreateItems = function( targetSpecialCombo )
+{
+	// Add the Editor Area CSS to the Styles panel so the style classes are previewed correctly.
+	FCKTools.AppendStyleSheet( targetSpecialCombo._Panel.Document, FCKConfig.EditorAreaCSS ) ;
+
+	// For some reason Gecko is blocking inside the "RefreshVisibleItems" function.
+	if ( ! FCKBrowserInfo.IsGecko )
+		targetSpecialCombo.OnBeforeClick = this.RefreshVisibleItems ;
+
+	// Add the styles to the special combo.
+	for ( var s in this.Command.Styles )
+	{
+		var oStyle = this.Command.Styles[s] ;
+		var oItem ;
+		
+		if ( oStyle.IsObjectElement )
+			oItem = targetSpecialCombo.AddItem( s, s ) ;
+		else
+			oItem = targetSpecialCombo.AddItem( s, oStyle.GetOpenerTag() + s + oStyle.GetCloserTag() ) ;
+			
+		oItem.Style = oStyle ;
+	}
+}
+
+FCKToolbarStyleCombo.prototype.RefreshActiveItems = function( targetSpecialCombo )
+{
+	// Clear the actual selection.
+	targetSpecialCombo.DeselectAll() ;
+	
+	// Get the active styles.
+	var aStyles = this.Command.GetActiveStyles() ;
+	
+	if ( aStyles.length > 0 )
+	{
+		// Select the active styles in the combo.
+		for ( var i = 0 ; i < aStyles.length ; i++ )
+			targetSpecialCombo.SelectItem( aStyles[i].Name ) ;
+
+		// Set the combo label to the first style in the collection.
+		targetSpecialCombo.SetLabelById( aStyles[0].Name ) ;
+	}
+	else
+		targetSpecialCombo.SetLabel('') ;
+}
+
+FCKToolbarStyleCombo.prototype.RefreshVisibleItems = function( targetSpecialCombo )
+{
+	if ( FCKSelection.GetType() == 'Control' )
+		var sTagName = FCKSelection.GetSelectedElement().tagName ;
+
+	for ( var i in targetSpecialCombo.Items )
+	{
+		var oItem = targetSpecialCombo.Items[i] ;
+		if ( ( sTagName && oItem.Style.Element == sTagName ) || ( ! sTagName && ! oItem.Style.IsObjectElement ) )
+			oItem.style.display = '' ;
+		else
+			oItem.style.display = 'none' ;	// For some reason Gecko is blocking here.
+	}
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckxml_gecko.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckxml_gecko.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckxml_gecko.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,71 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckxml_gecko.js
+ * 	FCKXml Class: class to load and manipulate XML files.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+var FCKXml ;
+
+if ( !( FCKXml = NS.FCKXml ) )
+{
+	FCKXml = NS.FCKXml = function()
+	{}
+
+	FCKXml.prototype.LoadUrl = function( urlToCall )
+	{
+		var oFCKXml = this ;
+
+		var oXmlHttp = FCKTools.CreateXmlObject( 'XmlHttp' ) ;
+		oXmlHttp.open( "GET", urlToCall, false ) ;
+		oXmlHttp.send( null ) ;
+		
+		if ( oXmlHttp.status == 200 || oXmlHttp.status == 304 )
+			this.DOMDocument = oXmlHttp.responseXML ;
+		else if ( oXmlHttp.status == 0 && oXmlHttp.readyState == 4 )
+			this.DOMDocument = oXmlHttp.responseXML ;
+		else
+			alert( 'Error loading "' + urlToCall + '"' ) ;
+	}
+
+	FCKXml.prototype.SelectNodes = function( xpath, contextNode )
+	{
+		var aNodeArray = new Array();
+
+		var xPathResult = this.DOMDocument.evaluate( xpath, contextNode ? contextNode : this.DOMDocument, 
+				this.DOMDocument.createNSResolver(this.DOMDocument.documentElement), XPathResult.ORDERED_NODE_ITERATOR_TYPE, null) ;
+		if ( xPathResult ) 
+		{
+			var oNode = xPathResult.iterateNext() ;
+ 			while( oNode )
+ 			{
+ 				aNodeArray[aNodeArray.length] = oNode ;
+ 				oNode = xPathResult.iterateNext();
+ 			}
+		} 
+		return aNodeArray ;
+	}
+
+	FCKXml.prototype.SelectSingleNode = function( xpath, contextNode ) 
+	{
+		var xPathResult = this.DOMDocument.evaluate( xpath, contextNode ? contextNode : this.DOMDocument,
+				this.DOMDocument.createNSResolver(this.DOMDocument.documentElement), 9, null);
+
+		if ( xPathResult && xPathResult.singleNodeValue )
+			return xPathResult.singleNodeValue ;
+		else	
+			return null ;
+	}
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckxml_ie.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckxml_ie.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/classes/fckxml_ie.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,83 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckxml_ie.js
+ * 	FCKXml Class: class to load and manipulate XML files.
+ * 	(IE specific implementation)
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+var FCKXml ;
+
+if ( !( FCKXml = NS.FCKXml ) )
+{
+	FCKXml = NS.FCKXml = function()
+	{
+		this.Error = false ;
+	}
+
+	FCKXml.prototype.LoadUrl = function( urlToCall )
+	{
+		this.Error = false ;
+
+		var oXmlHttp = FCKTools.CreateXmlObject( 'XmlHttp' ) ;
+
+		if ( !oXmlHttp )
+		{
+			this.Error = true ;
+			return ;
+		}
+
+		oXmlHttp.open( "GET", urlToCall, false ) ;
+		
+		oXmlHttp.send( null ) ;
+		
+		if ( oXmlHttp.status == 200 || oXmlHttp.status == 304 )
+			this.DOMDocument = oXmlHttp.responseXML ;
+		else if ( oXmlHttp.status == 0 && oXmlHttp.readyState == 4 )
+		{
+			this.DOMDocument = FCKTools.CreateXmlObject( 'DOMDocument' ) ;
+			this.DOMDocument.async = false ;
+			this.DOMDocument.resolveExternals = false ;
+			this.DOMDocument.loadXML( oXmlHttp.responseText ) ;
+		}
+		else
+		{
+			this.Error = true ;
+			alert( 'Error loading "' + urlToCall + '"' ) ;
+		}
+	}
+
+	FCKXml.prototype.SelectNodes = function( xpath, contextNode )
+	{
+		if ( this.Error )
+			return new Array() ;
+
+		if ( contextNode )
+			return contextNode.selectNodes( xpath ) ;
+		else
+			return this.DOMDocument.selectNodes( xpath ) ;
+	}
+
+	FCKXml.prototype.SelectSingleNode = function( xpath, contextNode ) 
+	{
+		if ( this.Error )
+			return ;
+			
+		if ( contextNode )
+			return contextNode.selectSingleNode( xpath ) ;
+		else
+			return this.DOMDocument.selectSingleNode( xpath ) ;
+	}
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/commandclasses/fck_othercommands.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/commandclasses/fck_othercommands.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/commandclasses/fck_othercommands.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,275 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_othercommands.js
+ * 	Definition of other commands that are not available internaly in the
+ * 	browser (see FCKNamedCommand).
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+// ### General Dialog Box Commands.
+var FCKDialogCommand = function( name, title, url, width, height, getStateFunction, getStateParam )
+{
+	this.Name	= name ;
+	this.Title	= title ;
+	this.Url	= url ;
+	this.Width	= width ;
+	this.Height	= height ;
+
+	this.GetStateFunction	= getStateFunction ;
+	this.GetStateParam		= getStateParam ;
+}
+
+FCKDialogCommand.prototype.Execute = function()
+{
+	FCKDialog.OpenDialog( 'FCKDialog_' + this.Name , this.Title, this.Url, this.Width, this.Height ) ;
+}
+
+FCKDialogCommand.prototype.GetState = function()
+{
+	if ( this.GetStateFunction )
+		return this.GetStateFunction( this.GetStateParam ) ;
+	else
+		return FCK_TRISTATE_OFF ;
+}
+
+// Generic Undefined command (usually used when a command is under development).
+var FCKUndefinedCommand = function()
+{
+	this.Name = 'Undefined' ;
+}
+
+FCKUndefinedCommand.prototype.Execute = function()
+{
+	alert( FCKLang.NotImplemented ) ;
+}
+
+FCKUndefinedCommand.prototype.GetState = function()
+{
+	return FCK_TRISTATE_OFF ;
+}
+
+// ### FontName
+var FCKFontNameCommand = function()
+{
+	this.Name = 'FontName' ;
+}
+
+FCKFontNameCommand.prototype.Execute = function( fontName )
+{
+	if (fontName == null || fontName == "")
+	{
+		// TODO: Remove font name attribute.
+	}
+	else
+		FCK.ExecuteNamedCommand( 'FontName', fontName ) ;
+}
+
+FCKFontNameCommand.prototype.GetState = function()
+{
+	return FCK.GetNamedCommandValue( 'FontName' ) ;
+}
+
+// ### FontSize
+var FCKFontSizeCommand = function()
+{
+	this.Name = 'FontSize' ;
+}
+
+FCKFontSizeCommand.prototype.Execute = function( fontSize )
+{
+	if ( typeof( fontSize ) == 'string' ) fontSize = parseInt(fontSize) ;
+
+	if ( fontSize == null || fontSize == '' )
+	{
+		// TODO: Remove font size attribute (Now it works with size 3. Will it work forever?)
+		FCK.ExecuteNamedCommand( 'FontSize', 3 ) ;
+	}
+	else
+		FCK.ExecuteNamedCommand( 'FontSize', fontSize ) ;
+}
+
+FCKFontSizeCommand.prototype.GetState = function()
+{
+	return FCK.GetNamedCommandValue( 'FontSize' ) ;
+}
+
+// ### FormatBlock
+var FCKFormatBlockCommand = function()
+{
+	this.Name = 'FormatBlock' ;
+}
+
+FCKFormatBlockCommand.prototype.Execute = function( formatName )
+{
+	if ( formatName == null || formatName == '' )
+		FCK.ExecuteNamedCommand( 'FormatBlock', '<P>' ) ;
+	else
+		FCK.ExecuteNamedCommand( 'FormatBlock', '<' + formatName + '>' ) ;
+}
+
+FCKFormatBlockCommand.prototype.GetState = function()
+{
+	return FCK.GetNamedCommandValue( 'FormatBlock' ) ;
+}
+
+// ### Preview
+var FCKPreviewCommand = function()
+{
+	this.Name = 'Preview' ;
+}
+
+FCKPreviewCommand.prototype.Execute = function()
+{
+     FCK.Preview() ;
+}
+
+FCKPreviewCommand.prototype.GetState = function()
+{
+	return FCK_TRISTATE_OFF ;
+}
+
+// ### Save
+var FCKSaveCommand = function()
+{
+	this.Name = 'Save' ;
+}
+
+FCKSaveCommand.prototype.Execute = function()
+{
+	// Get the linked field form.
+	var oForm = FCK.LinkedField.form ;
+
+	if ( typeof( oForm.onsubmit ) == 'function' )
+	{
+		var bRet = oForm.onsubmit() ;
+		if ( bRet != null && bRet === false )
+			return ;
+	}
+
+	// Submit the form.
+	oForm.submit() ;
+}
+
+FCKSaveCommand.prototype.GetState = function()
+{
+	return FCK_TRISTATE_OFF ;
+}
+
+// ### NewPage
+var FCKNewPageCommand = function()
+{
+	this.Name = 'NewPage' ;
+}
+
+FCKNewPageCommand.prototype.Execute = function()
+{
+	FCKUndo.SaveUndoStep() ;
+	FCK.SetHTML( '' ) ;
+	FCKUndo.Typing = true ;
+//	FCK.SetHTML( FCKBrowserInfo.IsGecko ? '&nbsp;' : '' ) ;
+//	FCK.SetHTML( FCKBrowserInfo.IsGecko ? GECKO_BOGUS : '' ) ;
+}
+
+FCKNewPageCommand.prototype.GetState = function()
+{
+	return FCK_TRISTATE_OFF ;
+}
+
+// ### Source button
+var FCKSourceCommand = function()
+{
+	this.Name = 'Source' ;
+}
+
+FCKSourceCommand.prototype.Execute = function()
+{
+	if ( FCKBrowserInfo.IsGecko )
+	{
+		var iWidth	= FCKConfig.ScreenWidth * 0.65 ;
+		var iHeight	= FCKConfig.ScreenHeight * 0.65 ;
+		FCKDialog.OpenDialog( 'FCKDialog_Source', FCKLang.Source, 'dialog/fck_source.html', iWidth, iHeight, null, null, true ) ;
+	}
+	else
+	    FCK.SwitchEditMode() ;
+}
+
+FCKSourceCommand.prototype.GetState = function()
+{
+	return ( FCK.EditMode == FCK_EDITMODE_WYSIWYG ? FCK_TRISTATE_OFF : FCK_TRISTATE_ON ) ;
+}
+
+// ### Undo
+var FCKUndoCommand = function()
+{
+	this.Name = 'Undo' ;
+}
+
+FCKUndoCommand.prototype.Execute = function()
+{
+	if ( FCKBrowserInfo.IsIE )
+		FCKUndo.Undo() ;
+	else
+		FCK.ExecuteNamedCommand( 'Undo' ) ;
+}
+
+FCKUndoCommand.prototype.GetState = function()
+{
+	if ( FCKBrowserInfo.IsIE )
+		return ( FCKUndo.CheckUndoState() ? FCK_TRISTATE_OFF : FCK_TRISTATE_DISABLED ) ;
+	else
+		return FCK.GetNamedCommandState( 'Undo' ) ;
+}
+
+// ### Redo
+var FCKRedoCommand = function()
+{
+	this.Name = 'Redo' ;
+}
+
+FCKRedoCommand.prototype.Execute = function()
+{
+	if ( FCKBrowserInfo.IsIE )
+		FCKUndo.Redo() ;
+	else
+		FCK.ExecuteNamedCommand( 'Redo' ) ;
+}
+
+FCKRedoCommand.prototype.GetState = function()
+{
+	if ( FCKBrowserInfo.IsIE )
+		return ( FCKUndo.CheckRedoState() ? FCK_TRISTATE_OFF : FCK_TRISTATE_DISABLED ) ;
+	else
+		return FCK.GetNamedCommandState( 'Redo' ) ;
+}
+
+// ### Page Break
+var FCKPageBreakCommand = function()
+{
+	this.Name = 'PageBreak' ;
+}
+
+FCKPageBreakCommand.prototype.Execute = function()
+{
+	var oCenter = FCK.EditorDocument.createElement( 'CENTER' ) ;
+	oCenter.style.pageBreakAfter = 'always' ;
+	
+	var oFakeImage = FCKDocumentProcessors_CreateFakeImage( 'FCK__PageBreak', oCenter ) ;
+	oFakeImage	= FCK.InsertElement( oFakeImage ) ;
+}
+
+FCKPageBreakCommand.prototype.GetState = function()
+{
+	return 0 ; // FCK_TRISTATE_OFF
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/commandclasses/fcknamedcommand.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/commandclasses/fcknamedcommand.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/commandclasses/fcknamedcommand.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,33 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fcknamedcommand.js
+ * 	FCKNamedCommand Class: represents an internal browser command.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+var FCKNamedCommand = function( commandName )
+{
+	this.Name = commandName ;
+}
+
+FCKNamedCommand.prototype.Execute = function()
+{
+	FCK.ExecuteNamedCommand( this.Name ) ;
+}
+
+FCKNamedCommand.prototype.GetState = function()
+{
+	return FCK.GetNamedCommandState( this.Name ) ;
+}

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/commandclasses/fckpasteplaintextcommand.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/commandclasses/fckpasteplaintextcommand.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/commandclasses/fckpasteplaintextcommand.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,34 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckpasteplaintextcommand.js
+ * 	FCKPastePlainTextCommand Class: represents the 
+ * 	"Paste as Plain Text" command.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+var FCKPastePlainTextCommand = function() 
+{
+	this.Name = 'PasteText' ;
+}
+
+FCKPastePlainTextCommand.prototype.Execute = function()
+{
+	FCK.PasteAsPlainText() ;
+}
+
+FCKPastePlainTextCommand.prototype.GetState = function()
+{
+	return FCK.GetNamedCommandState( 'Paste' ) ;
+}

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/commandclasses/fckpastewordcommand.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/commandclasses/fckpastewordcommand.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/commandclasses/fckpastewordcommand.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,36 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckpastewordcommand.js
+ * 	FCKPasteWordCommand Class: represents the "Paste from Word" command.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+var FCKPasteWordCommand = function() 
+{
+	this.Name = 'PasteWord' ;
+}
+
+FCKPasteWordCommand.prototype.Execute = function()
+{
+	FCK.PasteFromWord() ;
+}
+
+FCKPasteWordCommand.prototype.GetState = function()
+{
+	if ( FCKConfig.ForcePasteAsPlainText )
+		return FCK_TRISTATE_DISABLED ;
+	else
+		return FCK.GetNamedCommandState( 'Paste' ) ;
+}

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/commandclasses/fckspellcheckcommand_gecko.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/commandclasses/fckspellcheckcommand_gecko.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/commandclasses/fckspellcheckcommand_gecko.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,15 @@
+var FCKSpellCheckCommand = function()
+{
+	this.Name = 'SpellCheck' ;
+	this.IsEnabled = ( FCKConfig.SpellChecker == 'SpellerPages' ) ;
+}
+
+FCKSpellCheckCommand.prototype.Execute = function()
+{
+	FCKDialog.OpenDialog( 'FCKDialog_SpellCheck', 'Spell Check', 'dialog/fck_spellerpages.html', 440, 480 ) ;
+}
+
+FCKSpellCheckCommand.prototype.GetState = function()
+{
+	return this.IsEnabled ? FCK_TRISTATE_OFF : FCK_TRISTATE_DISABLED ;
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/commandclasses/fckspellcheckcommand_ie.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/commandclasses/fckspellcheckcommand_ie.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/commandclasses/fckspellcheckcommand_ie.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,43 @@
+var FCKSpellCheckCommand = function()
+{
+	this.Name = 'SpellCheck' ;
+	this.IsEnabled = ( FCKConfig.SpellChecker == 'ieSpell' || FCKConfig.SpellChecker == 'SpellerPages' ) ;
+}
+
+FCKSpellCheckCommand.prototype.Execute = function()
+{
+	switch ( FCKConfig.SpellChecker )
+	{
+		case 'ieSpell' :
+			this._RunIeSpell() ;
+			break ;
+		
+		case 'SpellerPages' :
+			FCKDialog.OpenDialog( 'FCKDialog_SpellCheck', 'Spell Check', 'dialog/fck_spellerpages.html', 440, 480 ) ;
+			break ;
+	}
+}
+
+FCKSpellCheckCommand.prototype._RunIeSpell = function()
+{
+	try
+	{
+		var oIeSpell = new ActiveXObject( "ieSpell.ieSpellExtension" ) ;
+		oIeSpell.CheckAllLinkedDocuments( FCK.EditorDocument ) ;
+	}
+	catch( e )
+	{
+		if( e.number == -2146827859 )
+		{
+			if ( confirm( FCKLang.IeSpellDownload ) )
+				window.open( FCKConfig.IeSpellDownloadUrl , 'IeSpellDownload' ) ;
+		}
+		else
+			alert( 'Error Loading ieSpell: ' + e.message + ' (' + e.number + ')' ) ;
+	}
+}
+
+FCKSpellCheckCommand.prototype.GetState = function()
+{
+	return this.IsEnabled ? FCK_TRISTATE_OFF : FCK_TRISTATE_DISABLED ;
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/commandclasses/fckstylecommand.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/commandclasses/fckstylecommand.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/commandclasses/fckstylecommand.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,92 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckstylecommand.js
+ * 	FCKStyleCommand Class: represents the "Style" command.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+var FCKStyleCommand = function()
+{
+	this.Name = 'Style' ;
+
+	// Load the Styles defined in the XML file.
+	this.StylesLoader = new FCKStylesLoader() ;
+	this.StylesLoader.Load( FCKConfig.StylesXmlPath ) ;
+	this.Styles = this.StylesLoader.Styles ;
+}
+
+FCKStyleCommand.prototype.Execute = function( styleName, styleComboItem )
+{
+	FCKUndo.SaveUndoStep() ;
+
+	if ( styleComboItem.Selected )
+		styleComboItem.Style.RemoveFromSelection() ;
+	else
+		styleComboItem.Style.ApplyToSelection() ;
+
+	FCKUndo.SaveUndoStep() ;
+
+	FCK.Focus() ;
+	
+	FCK.Events.FireEvent( "OnSelectionChange" ) ;
+}
+
+FCKStyleCommand.prototype.GetState = function()
+{
+	var oSelection = FCK.EditorDocument.selection ;
+	
+	if ( FCKSelection.GetType() == 'Control' )
+	{
+		var e = FCKSelection.GetSelectedElement() ;
+		if ( e )
+			return this.StylesLoader.StyleGroups[ e.tagName ] ? FCK_TRISTATE_OFF : FCK_TRISTATE_DISABLED ;
+	}
+
+	return FCK_TRISTATE_OFF ;
+}
+
+FCKStyleCommand.prototype.GetActiveStyles = function()
+{
+	var aActiveStyles = new Array() ;
+	
+	if ( FCKSelection.GetType() == 'Control' )
+		this._CheckStyle( FCKSelection.GetSelectedElement(), aActiveStyles, false ) ;
+	else
+		this._CheckStyle( FCKSelection.GetParentElement(), aActiveStyles, true ) ;
+		
+	return aActiveStyles ;
+}
+
+FCKStyleCommand.prototype._CheckStyle = function( element, targetArray, checkParent )
+{
+	if ( ! element )
+		return ;
+
+	if ( element.nodeType == 1 )
+	{
+		var aStyleGroup = this.StylesLoader.StyleGroups[ element.tagName ] ;
+		if ( aStyleGroup )
+		{
+			for ( var i = 0 ; i < aStyleGroup.length ; i++ )
+			{
+				if ( aStyleGroup[i].IsEqual( element ) )
+					targetArray[ targetArray.length ] = aStyleGroup[i] ;
+			}		
+		}
+	}
+	
+	if ( checkParent )
+		this._CheckStyle( element.parentNode, targetArray, checkParent ) ;
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/commandclasses/fcktablecommand.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/commandclasses/fcktablecommand.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/commandclasses/fcktablecommand.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,64 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fcktablecommand.js
+ * 	FCKPastePlainTextCommand Class: represents the 
+ * 	"Paste as Plain Text" command.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+var FCKTableCommand = function( command )
+{
+	this.Name = command ;
+}
+
+FCKTableCommand.prototype.Execute = function()
+{
+	FCKUndo.SaveUndoStep() ;
+	
+	switch ( this.Name )
+	{
+		case 'TableInsertRow' :
+			FCKTableHandler.InsertRow() ;
+			break ;
+		case 'TableDeleteRows' :
+			FCKTableHandler.DeleteRows() ;
+			break ;
+		case 'TableInsertColumn' :
+			FCKTableHandler.InsertColumn() ;
+			break ;
+		case 'TableDeleteColumns' :
+			FCKTableHandler.DeleteColumns() ;
+			break ;
+		case 'TableInsertCell' :
+			FCKTableHandler.InsertCell() ;
+			break ;
+		case 'TableDeleteCells' :
+			FCKTableHandler.DeleteCells() ;
+			break ;
+		case 'TableMergeCells' :
+			FCKTableHandler.MergeCells() ;
+			break ;
+		case 'TableSplitCell' :
+			FCKTableHandler.SplitCell() ;
+			break ;
+		default :
+			alert( FCKLang.UnknownCommand.replace( /%1/g, this.Name ) ) ;
+	}
+}
+
+FCKTableCommand.prototype.GetState = function()
+{
+	return FCK_TRISTATE_OFF ;
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/commandclasses/fcktextcolorcommand.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/commandclasses/fcktextcolorcommand.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/commandclasses/fcktextcolorcommand.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,177 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fcktextcolorcommand.js
+ * 	FCKTextColorCommand Class: represents the text color comand. It shows the
+ * 	color selection panel.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+// FCKTextColorCommand Contructor
+//		type: can be 'ForeColor' or 'BackColor'.
+var FCKTextColorCommand = function( type )
+{
+	this.Name = type == 'ForeColor' ? 'TextColor' : 'BGColor' ;
+	this.Type = type ;
+
+	/*	BEGIN ###
+		The panel should be created in the "Execute" method for best
+		memory use, but it not works in Gecko in that way.
+	*/
+
+	this._Panel = new FCKPanel() ;
+	this._Panel.StyleSheet = FCKConfig.SkinPath + 'fck_contextmenu.css' ;
+	this._Panel.Create() ;
+
+	this._CreatePanelBody( this._Panel.Document, this._Panel.PanelDiv ) ;
+	
+	//	END ###
+}
+
+FCKTextColorCommand.prototype.Execute = function( panelX, panelY, relElement )
+{
+	/*
+		BEGIN ###
+		This is the right code to create the panel, but it is not
+		working well with Gecko, so it has been moved to the 
+		class contructor.
+	
+	// Create the Color Panel if needed.
+	if ( ! this._Panel )
+	{
+		this._Panel = new FCKPanel() ;
+		this._Panel.StyleSheet = FCKConfig.SkinPath + 'fck_contextmenu.css' ;
+		this._Panel.Create() ;
+
+		this._CreatePanelBody( this._Panel.Document, this._Panel.PanelDiv ) ;
+	}
+		END ###
+	*/
+
+	// We must "cache" the actual panel type to be used in the SetColor method.
+	FCK._ActiveColorPanelType = this.Type ;
+
+	// Show the Color Panel at the desired position.
+	this._Panel.Show( panelX, panelY, relElement ) ;
+}
+
+FCKTextColorCommand.prototype.SetColor = function( color )
+{
+	if ( FCK._ActiveColorPanelType == 'ForeColor' )
+		FCK.ExecuteNamedCommand( 'ForeColor', color ) ;
+	else if ( FCKBrowserInfo.IsGecko )
+		FCK.ExecuteNamedCommand( 'hilitecolor', color ) ;
+	else
+		FCK.ExecuteNamedCommand( 'BackColor', color ) ;
+	
+	// Delete the "cached" active panel type.
+	delete FCK._ActiveColorPanelType ;
+}
+
+FCKTextColorCommand.prototype.GetState = function()
+{
+	return FCK_TRISTATE_OFF ;
+}
+
+function FCKTextColorCommand_OnMouseOver()	{ this.className='ColorSelected' ; }
+
+function FCKTextColorCommand_OnMouseOut()	{ this.className='ColorDeselected' ; }
+
+function FCKTextColorCommand_OnClick()
+{
+	this.className = 'ColorDeselected' ;
+	this.Command.SetColor( '#' + this.Color ) ;
+	this.Command._Panel.Hide() ;
+}
+
+function FCKTextColorCommand_AutoOnClick()
+{
+	this.className = 'ColorDeselected' ;
+	this.Command.SetColor( '' ) ;
+	this.Command._Panel.Hide() ;
+}
+
+function FCKTextColorCommand_MoreOnClick()
+{
+	this.className = 'ColorDeselected' ;
+	this.Command._Panel.Hide() ;
+	FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 400, 330, this.Command.SetColor ) ;
+}
+
+FCKTextColorCommand.prototype._CreatePanelBody = function( targetDocument, targetDiv )
+{
+	function CreateSelectionDiv()
+	{
+		var oDiv = targetDocument.createElement( "DIV" ) ;
+		oDiv.className		= 'ColorDeselected' ;
+		oDiv.onmouseover	= FCKTextColorCommand_OnMouseOver ;
+		oDiv.onmouseout		= FCKTextColorCommand_OnMouseOut ;
+		
+		return oDiv ;
+	}
+
+	// Create the Table that will hold all colors.
+	var oTable = targetDiv.appendChild( targetDocument.createElement( "TABLE" ) ) ;
+	oTable.style.tableLayout = 'fixed' ;
+	oTable.cellPadding = 0 ;
+	oTable.cellSpacing = 0 ;
+	oTable.border = 0 ;
+	oTable.width = 150 ;
+
+	var oCell = oTable.insertRow(-1).insertCell(-1) ;
+	oCell.colSpan = 8 ;
+
+	// Create the Button for the "Automatic" color selection.
+	var oDiv = oCell.appendChild( CreateSelectionDiv() ) ;
+	oDiv.innerHTML = 
+		'<table cellspacing="0" cellpadding="0" width="100%" border="0">\
+			<tr>\
+				<td><div class="ColorBoxBorder"><div class="ColorBox" style="background-color: #000000"></div></div></td>\
+				<td nowrap width="100%" align="center" unselectable="on">' + FCKLang.ColorAutomatic + '</td>\
+			</tr>\
+		</table>' ;
+
+	oDiv.Command = this ;
+	oDiv.onclick = FCKTextColorCommand_AutoOnClick ;
+
+	// Create an array of colors based on the configuration file.
+	var aColors = FCKConfig.FontColors.toString().split(',') ;
+
+	// Create the colors table based on the array.
+	var iCounter = 0 ;
+	while ( iCounter < aColors.length )
+	{
+		var oRow = oTable.insertRow(-1) ;
+		
+		for ( var i = 0 ; i < 8 && iCounter < aColors.length ; i++, iCounter++ )
+		{
+			oDiv = oRow.insertCell(-1).appendChild( CreateSelectionDiv() ) ;
+			oDiv.Color = aColors[iCounter] ;
+			oDiv.innerHTML = '<div class="ColorBoxBorder"><div class="ColorBox" style="background-color: #' + aColors[iCounter] + '"></div></div>' ;
+
+			oDiv.Command = this ;
+			oDiv.onclick = FCKTextColorCommand_OnClick ;
+		}
+	}
+
+	// Create the Row and the Cell for the "More Colors..." button.
+	oCell = oTable.insertRow(-1).insertCell(-1) ;
+	oCell.colSpan = 8 ;
+
+	oDiv = oCell.appendChild( CreateSelectionDiv() ) ;
+	oDiv.innerHTML = '<table width="100%" cellpadding="0" cellspacing="0" border="0"><tr><td nowrap align="center">' + FCKLang.ColorMoreColors + '</td></tr></table>' ;
+
+	oDiv.Command = this ;
+	oDiv.onclick = FCKTextColorCommand_MoreOnClick ;
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/globals/fck_constants.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/globals/fck_constants.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/globals/fck_constants.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,41 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_constants.js
+ * 	Defines some constants used by the editor. These constants are also 
+ * 	globally available in the page where the editor is placed.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+// Editor Instance Status.
+var FCK_STATUS_NOTLOADED	= window.parent.FCK_STATUS_NOTLOADED	= 0 ;
+var FCK_STATUS_ACTIVE		= window.parent.FCK_STATUS_ACTIVE		= 1 ;
+var FCK_STATUS_COMPLETE		= window.parent.FCK_STATUS_COMPLETE		= 2 ;
+
+// Tristate Operations.
+var FCK_TRISTATE_OFF		= window.parent.FCK_TRISTATE_OFF		= 0 ;
+var FCK_TRISTATE_ON			= window.parent.FCK_TRISTATE_ON			= 1 ;
+var FCK_TRISTATE_DISABLED	= window.parent.FCK_TRISTATE_DISABLED	= -1 ;
+
+// For unknown values.
+var FCK_UNKNOWN				= window.parent.FCK_UNKNOWN				= -1000 ;
+
+// Toolbar Items Style.
+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 ;
+
+// Edit Mode
+var FCK_EDITMODE_WYSIWYG	= window.parent.FCK_EDITMODE_WYSIWYG	= 0 ;
+var FCK_EDITMODE_SOURCE		= window.parent.FCK_EDITMODE_SOURCE		= 1 ;
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/globals/fckeditorapi.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/globals/fckeditorapi.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/globals/fckeditorapi.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,45 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckeditorapi.js
+ * 	Create the FCKeditorAPI object that is available as a global object in
+ * 	the page where the editor is placed in.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+var FCKeditorAPI ;
+
+function FCKeditorAPI_GetInstance( instanceName )
+{
+	return this.__Instances[ instanceName ] ;
+}
+
+if ( !window.parent.FCKeditorAPI )
+{
+	// Make the FCKeditorAPI object available in the parent window.
+	FCKeditorAPI = window.parent.FCKeditorAPI = new Object() ;
+	FCKeditorAPI.__Instances = new Object() ;
+
+	// Set the current version.
+	FCKeditorAPI.Version = '2.1.1' ;
+
+	// Function used to get a instance of an existing editor present in the 
+	// page.
+	FCKeditorAPI.GetInstance = FCKeditorAPI_GetInstance ;
+}
+else
+	FCKeditorAPI = window.parent.FCKeditorAPI ;
+
+// Add the current instance to the FCKeditorAPI's instances collection.
+FCKeditorAPI.__Instances[ FCK.Name ] = FCK ;
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fck.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fck.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fck.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,66 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck.js
+ * 	Creation and initialization of the "FCK" object. This is the main object
+ * 	that represents an editor instance.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+// FCK represents the active editor instance
+var FCK = new Object() ;
+FCK.Name			= FCKURLParams[ 'InstanceName' ] ;
+
+FCK.Status			= FCK_STATUS_NOTLOADED ;
+FCK.EditMode		= FCK_EDITMODE_WYSIWYG ;
+
+// There is a bug on IE... getElementById returns any META tag that has the
+// name set to the ID you are looking for. So the best way in to get the array
+// by names and look for the correct one.
+// As ASP.Net generates a ID that is different from the Name, we must also
+// look for the field based on the ID.
+
+var aElements = window.parent.document.getElementsByName( FCK.Name ) ;
+aElements[ aElements.length ] = window.parent.document.getElementById( FCK.Name ) ;
+var i = 0;
+while ( ( FCK.LinkedField = aElements[i++] ) )
+{
+	if ( FCK.LinkedField.tagName == 'INPUT' || FCK.LinkedField.tagName == 'TEXTAREA' )
+		break ;
+}
+
+var FCKTempBin = new Object() ;
+FCKTempBin.Elements = new Array() ;
+
+FCKTempBin.AddElement = function( element )
+{
+	var iIndex = FCKTempBin.Elements.length ;
+	FCKTempBin.Elements[ iIndex ] = element ;
+	return iIndex ;
+}
+
+FCKTempBin.RemoveElement = function( index )
+{
+	var e = FCKTempBin.Elements[ index ] ;
+	FCKTempBin.Elements[ index ] = null ;
+	return e ;
+}
+
+FCKTempBin.Reset = function()
+{
+	var i = 0 ;
+	while ( i < FCKTempBin.Elements.length )
+		FCKTempBin.Elements[ i++ ] == null ;
+	FCKTempBin.Elements.length = 0 ;
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fck_1.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fck_1.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fck_1.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,409 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_1.js
+ * 	This is the first part of the "FCK" object creation. This is the main
+ * 	object that represents an editor instance.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+FCK.Events	= new FCKEvents( FCK ) ;
+FCK.Toolbar	= null ;
+
+FCK.TempBaseTag = FCKConfig.BaseHref.length > 0 ? '<base href="' + FCKConfig.BaseHref + '" _fcktemp="true"></base>' : '' ;
+
+FCK.StartEditor = function()
+{
+	// Get the editor's window and document (DOM)
+	this.EditorWindow	= window.frames[ 'eEditorArea' ] ;
+	this.EditorDocument	= this.EditorWindow.document ;
+
+	// TODO: Wait stable version and remove the following commented lines.
+	// The Base Path of the editor is saved to rebuild relative URL (IE issue).
+//	this.BaseUrl = this.EditorDocument.location.protocol + '//' + this.EditorDocument.location.host ;
+
+//	if ( FCKBrowserInfo.IsGecko )
+//		this.MakeEditable() ;
+
+	// Set the editor's startup contents
+	this.SetHTML( FCKTools.GetLinkedFieldValue() ) ;
+
+	// Attach the editor to the form onsubmit event
+	FCKTools.AttachToLinkedFieldFormSubmit( this.UpdateLinkedField ) ;
+
+	FCKUndo.SaveUndoStep() ;
+
+	this.SetStatus( FCK_STATUS_ACTIVE ) ;
+}
+
+function Window_OnFocus()
+{
+	FCK.Focus() ;
+}
+
+FCK.SetStatus = function( newStatus )
+{
+	this.Status = newStatus ;
+
+	if ( newStatus == FCK_STATUS_ACTIVE )
+	{
+		// Force the focus in the window to go to the editor.
+		window.onfocus = window.document.body.onfocus = Window_OnFocus ;
+
+		// Force the focus in the editor.
+		if ( FCKConfig.StartupFocus )
+			FCK.Focus() ;
+
+		// @Packager.Compactor.Remove.Start
+		var sBrowserSuffix = FCKBrowserInfo.IsIE ? "ie" : "gecko" ;
+
+		FCKScriptLoader.AddScript( '_source/internals/fck_2.js' ) ;
+		FCKScriptLoader.AddScript( '_source/internals/fck_2_' + sBrowserSuffix + '.js' ) ;
+		FCKScriptLoader.AddScript( '_source/internals/fckselection.js' ) ;
+		FCKScriptLoader.AddScript( '_source/internals/fckselection_' + sBrowserSuffix + '.js' ) ;
+		FCKScriptLoader.AddScript( '_source/classes/fckpanel_' + sBrowserSuffix + '.js' ) ;
+		FCKScriptLoader.AddScript( '_source/internals/fcktablehandler.js' ) ;
+		FCKScriptLoader.AddScript( '_source/internals/fcktablehandler_' + sBrowserSuffix + '.js' ) ;
+		FCKScriptLoader.AddScript( '_source/classes/fckxml_' + sBrowserSuffix + '.js' ) ;
+		FCKScriptLoader.AddScript( '_source/classes/fckstyledef.js' ) ;
+		FCKScriptLoader.AddScript( '_source/classes/fckstyledef_' + sBrowserSuffix + '.js' ) ;
+		FCKScriptLoader.AddScript( '_source/classes/fckstylesloader.js' ) ;
+
+		FCKScriptLoader.AddScript( '_source/commandclasses/fcknamedcommand.js' ) ;
+		FCKScriptLoader.AddScript( '_source/commandclasses/fck_othercommands.js' ) ;
+		FCKScriptLoader.AddScript( '_source/commandclasses/fckspellcheckcommand_' + sBrowserSuffix + '.js' ) ;
+		FCKScriptLoader.AddScript( '_source/commandclasses/fcktextcolorcommand.js' ) ;
+		FCKScriptLoader.AddScript( '_source/commandclasses/fckpasteplaintextcommand.js' ) ;
+		FCKScriptLoader.AddScript( '_source/commandclasses/fckpastewordcommand.js' ) ;
+		FCKScriptLoader.AddScript( '_source/commandclasses/fcktablecommand.js' ) ;
+		FCKScriptLoader.AddScript( '_source/commandclasses/fckstylecommand.js' ) ;
+
+		FCKScriptLoader.AddScript( '_source/internals/fckcommands.js' ) ;
+		FCKScriptLoader.AddScript( '_source/classes/fcktoolbarbutton.js' ) ;
+		FCKScriptLoader.AddScript( '_source/classes/fckspecialcombo.js' ) ;
+		FCKScriptLoader.AddScript( '_source/classes/fcktoolbarspecialcombo.js' ) ;
+		FCKScriptLoader.AddScript( '_source/classes/fcktoolbarfontscombo.js' ) ;
+		FCKScriptLoader.AddScript( '_source/classes/fcktoolbarfontsizecombo.js' ) ;
+		FCKScriptLoader.AddScript( '_source/classes/fcktoolbarfontformatcombo.js' ) ;
+		FCKScriptLoader.AddScript( '_source/classes/fcktoolbarstylecombo.js' ) ;
+		FCKScriptLoader.AddScript( '_source/classes/fcktoolbarpanelbutton.js' ) ;
+		FCKScriptLoader.AddScript( '_source/internals/fcktoolbaritems.js' ) ;
+		FCKScriptLoader.AddScript( '_source/classes/fcktoolbar.js' ) ;
+		FCKScriptLoader.AddScript( '_source/classes/fcktoolbarbreak_' + sBrowserSuffix + '.js' ) ;
+		FCKScriptLoader.AddScript( '_source/internals/fcktoolbarset.js' ) ;
+		FCKScriptLoader.AddScript( '_source/internals/fckdialog.js' ) ;
+		FCKScriptLoader.AddScript( '_source/internals/fckdialog_' + sBrowserSuffix + '.js' ) ;
+		FCKScriptLoader.AddScript( '_source/classes/fckcontextmenuitem.js' ) ;
+		FCKScriptLoader.AddScript( '_source/classes/fckcontextmenuseparator.js' ) ;
+		FCKScriptLoader.AddScript( '_source/classes/fckcontextmenugroup.js' ) ;
+		FCKScriptLoader.AddScript( '_source/internals/fckcontextmenu.js' ) ;
+		FCKScriptLoader.AddScript( '_source/internals/fckcontextmenu_' + sBrowserSuffix + '.js' ) ;
+		FCKScriptLoader.AddScript( '_source/classes/fckplugin.js' ) ;
+		FCKScriptLoader.AddScript( '_source/internals/fckplugins.js' ) ;
+		FCKScriptLoader.AddScript( '_source/internals/fck_last.js' ) ;
+		// @Packager.Compactor.Remove.End
+
+		/* @Packager.Compactor.RemoveLine
+
+		if ( FCKBrowserInfo.IsIE )
+			FCKScriptLoader.AddScript( 'js/fckeditorcode_ie_2.js' ) ;
+		else
+			FCKScriptLoader.AddScript( 'js/fckeditorcode_gecko_2.js' ) ;
+
+		@Packager.Compactor.RemoveLine */
+	}
+
+	this.Events.FireEvent( 'OnStatusChange', newStatus ) ;
+}
+
+FCK.GetHTML = function( format )
+{
+	var sHTML ;
+
+	if ( FCK.EditMode == FCK_EDITMODE_WYSIWYG )
+	{
+		// TODO: Wait stable version and remove the following commented lines.
+//		if ( FCKBrowserInfo.IsIE )
+//			FCK.CheckRelativeLinks() ;
+
+		if ( FCKBrowserInfo.IsIE )
+			sHTML = this.EditorDocument.body.innerHTML.replace( FCKRegexLib.ToReplace, '$1' ) ;
+		else
+			sHTML = this.EditorDocument.body.innerHTML ;
+	}
+	else
+		sHTML = document.getElementById('eSourceField').value ;
+
+	if ( format )
+		return FCKCodeFormatter.Format( sHTML ) ;
+	else
+		return sHTML ;
+}
+
+FCK.GetXHTML = function( format )
+{
+	var bSource = ( FCK.EditMode == FCK_EDITMODE_SOURCE ) ;
+
+	if ( bSource )
+		this.SwitchEditMode() ;
+
+	// TODO: Wait stable version and remove the following commented lines.
+//	if ( FCKBrowserInfo.IsIE )
+//		FCK.CheckRelativeLinks() ;
+
+	var sXHTML ;
+	
+	if ( FCKConfig.FullPage )
+		sXHTML = FCKXHtml.GetXHTML( this.EditorDocument.getElementsByTagName( 'html' )[0], true, format ) ;
+	else
+	{
+		if ( FCKConfig.IgnoreEmptyParagraphValue && this.EditorDocument.body.innerHTML == '<P>&nbsp;</P>' )
+			sXHTML = '' ;
+		else
+			sXHTML = FCKXHtml.GetXHTML( this.EditorDocument.body, false, format ) ;
+	}
+
+	if ( bSource )
+		this.SwitchEditMode() ;
+
+	if ( FCKBrowserInfo.IsIE )
+		sXHTML = sXHTML.replace( FCKRegexLib.ToReplace, '$1' ) ;
+
+	if ( FCK.DocTypeDeclaration && FCK.DocTypeDeclaration.length > 0 )
+		sXHTML = FCK.DocTypeDeclaration + '\n' + sXHTML ;
+
+	if ( FCK.XmlDeclaration && FCK.XmlDeclaration.length > 0 )
+		sXHTML = FCK.XmlDeclaration + '\n' + sXHTML ;
+
+	return FCKConfig.ProtectedSource.Revert( sXHTML ) ;
+}
+
+FCK.UpdateLinkedField = function()
+{
+	if ( FCKConfig.EnableXHTML )
+		FCK.LinkedField.value = FCK.GetXHTML( FCKConfig.FormatOutput ) ;
+	else
+		FCK.LinkedField.value = FCK.GetHTML( FCKConfig.FormatOutput ) ;
+		
+	FCK.Events.FireEvent( 'OnAfterLinkedFieldUpdate' ) ;
+}
+
+FCK.ShowContextMenu = function( x, y )
+{
+	if ( this.Status != FCK_STATUS_COMPLETE )
+		return ;
+
+	FCKContextMenu.Show( x, y ) ;
+	this.Events.FireEvent( "OnContextMenu" ) ;
+}
+
+FCK.RegisteredDoubleClickHandlers = new Object() ;
+
+FCK.OnDoubleClick = function( element )
+{
+	var oHandler = FCK.RegisteredDoubleClickHandlers[ element.tagName ] ;
+	if ( oHandler )
+		oHandler( element ) ;
+}
+
+// Register objects that can handle double click operations.
+FCK.RegisterDoubleClickHandler = function( handlerFunction, tag )
+{
+	FCK.RegisteredDoubleClickHandlers[ tag.toUpperCase() ] = handlerFunction ;
+}
+
+FCK.OnAfterSetHTML = function()
+{
+	var oProcessor, i = 0 ;
+	while( ( oProcessor = FCKDocumentProcessors[i++] ) )
+		oProcessor.ProcessDocument( FCK.EditorDocument ) ;
+
+	this.Events.FireEvent( 'OnAfterSetHTML' ) ;
+}
+
+// Advanced document processors.
+
+var FCKDocumentProcessors = new Array() ;
+
+var FCKDocumentProcessors_CreateFakeImage = function( fakeClass, realElement )
+{
+	var oImg = FCK.EditorDocument.createElement( 'IMG' ) ;
+	oImg.className = fakeClass ;
+	oImg.src = FCKConfig.FullBasePath + 'images/spacer.gif' ;
+	oImg.setAttribute( '_fckfakelement', 'true', 0 ) ;
+	oImg.setAttribute( '_fckrealelement', FCKTempBin.AddElement( realElement ), 0 ) ;
+	return oImg ;
+}
+
+// Link Anchors
+var FCKAnchorsProcessor = new Object() ;
+FCKAnchorsProcessor.ProcessDocument = function( document )
+{
+	var aLinks = document.getElementsByTagName( 'A' ) ;
+
+	var oLink ;
+	var i = aLinks.length - 1 ;
+	while ( i >= 0 && ( oLink = aLinks[i--] ) )
+	{
+		// If it is anchor.
+		if ( oLink.name.length > 0 && ( !oLink.getAttribute('href') || oLink.getAttribute('href').length == 0 ) )
+		{
+			var oImg = FCKDocumentProcessors_CreateFakeImage( 'FCK__Anchor', oLink.cloneNode(true) ) ;
+			oImg.setAttribute( '_fckanchor', 'true', 0 ) ;
+			
+			oLink.parentNode.insertBefore( oImg, oLink ) ;
+			oLink.parentNode.removeChild( oLink ) ;
+		}
+	}
+}
+
+FCKDocumentProcessors.addItem( FCKAnchorsProcessor ) ;
+
+// Page Breaks
+var FCKPageBreaksProcessor = new Object() ;
+FCKPageBreaksProcessor.ProcessDocument = function( document )
+{
+	var aCenters = document.getElementsByTagName( 'CENTER' ) ;
+
+	var oCenter ;
+	var i = aCenters.length - 1 ;
+	while ( i >= 0 && ( oCenter = aCenters[i--] ) )
+	{
+		if ( oCenter.style.pageBreakAfter == 'always' && oCenter.innerHTML.trim().length == 0 )
+		{
+			var oFakeImage = FCKDocumentProcessors_CreateFakeImage( 'FCK__PageBreak', oCenter.cloneNode(true) ) ;
+			
+			oCenter.parentNode.insertBefore( oFakeImage, oCenter ) ;
+			oCenter.parentNode.removeChild( oCenter ) ;
+		}
+	}
+}
+
+FCKDocumentProcessors.addItem( FCKPageBreaksProcessor ) ;
+
+// Flash Embeds.
+var FCKFlashProcessor = new Object() ;
+FCKFlashProcessor.ProcessDocument = function( document )
+{
+	/*
+	Sample code:
+	This is some <embed src="/UserFiles/Flash/Yellow_Runners.swf"></embed><strong>sample text</strong>. You are&nbsp;<a name="fred"></a> using <a href="http://www.fckeditor.net/">FCKeditor</a>.
+	*/
+
+	var aEmbeds = document.getElementsByTagName( 'EMBED' ) ;
+
+	var oEmbed ;
+	var i = aEmbeds.length - 1 ;
+	while ( i >= 0 && ( oEmbed = aEmbeds[i--] ) )
+	{
+		if ( oEmbed.src.endsWith( '.swf', true ) )
+		{
+			var oImg = FCKDocumentProcessors_CreateFakeImage( 'FCK__Flash', oEmbed.cloneNode(true) ) ;
+			oImg.setAttribute( '_fckflash', 'true', 0 ) ;
+			
+			FCKFlashProcessor.RefreshView( oImg, oEmbed ) ;
+
+			oEmbed.parentNode.insertBefore( oImg, oEmbed ) ;
+			oEmbed.parentNode.removeChild( oEmbed ) ;
+
+//			oEmbed.setAttribute( '_fckdelete', 'true', 0) ;
+//			oEmbed.style.display = 'none' ;
+//			oEmbed.hidden = true ;
+		}
+	}
+}
+
+FCKFlashProcessor.RefreshView = function( placholderImage, originalEmbed )
+{
+	if ( originalEmbed.width > 0 )
+		placholderImage.style.width = FCKTools.ConvertHtmlSizeToStyle( originalEmbed.width ) ;
+		
+	if ( originalEmbed.height > 0 )
+		placholderImage.style.height = FCKTools.ConvertHtmlSizeToStyle( originalEmbed.height ) ;
+}
+
+FCKDocumentProcessors.addItem( FCKFlashProcessor ) ;
+
+FCK.GetRealElement = function( fakeElement )
+{
+	var e = FCKTempBin.Elements[ fakeElement.getAttribute('_fckrealelement') ] ;
+
+	if ( fakeElement.getAttribute('_fckflash') )
+	{
+		if ( fakeElement.style.width.length > 0 )
+				e.width = FCKTools.ConvertStyleSizeToHtml( fakeElement.style.width ) ;
+		
+		if ( fakeElement.style.height.length > 0 )
+				e.height = FCKTools.ConvertStyleSizeToHtml( fakeElement.style.height ) ;
+	}
+	
+	return e ;
+}
+
+// START iCM MODIFICATIONS
+/*
+var FCKTablesProcessor = new Object() ;
+FCKTablesProcessor.ProcessDocument = function( document )
+{
+	FCKTablesProcessor.CheckTablesNesting( document ) ;
+}
+
+// Ensure that tables are not incorrectly nested within P, H1, H2, etc tags
+FCKTablesProcessor.CheckTablesNesting = function( document )
+{
+	var aTables = document.getElementsByTagName( "TABLE" ) ;
+	var oParentNode ;
+	
+	for ( var i=0; i<aTables.length; i++ )
+	{
+		FCKTablesProcessor.CheckTableNesting( aTables[i] ) ;
+	}
+}
+
+// Corrects nesting of the supplied table as necessary.
+// Also called by fck_table.html to check that a newly inserted table is correctly nested.
+FCKTablesProcessor.CheckTableNesting = function( oTableNode )
+{
+	var oParentBlockNode = FCKTools.GetParentBlockNode( oTableNode.parentNode ) ;
+	
+	if ( oParentBlockNode && !FCKRegexLib.TableBlockElements.test( oParentBlockNode.nodeName ) )
+	{
+		// Create a new tag which holds the content of the child nodes located before the table
+		var oNode1 = FCK.EditorDocument.createElement( oParentBlockNode.tagName ) ;
+		var oFragment1 = FCKTools.GetDocumentFragment( oParentBlockNode, oParentBlockNode.firstChild, oTableNode, true, false, true ) ;
+		oNode1.appendChild( oFragment1 ) ;
+		FCKTools.SetElementAttributes( oNode1, oParentBlockNode.attributes ) ; 	// Transfer across any class attributes, etc
+	
+		// Create a new tag which holds the content of the child nodes located after the table
+		var oNode2 = FCK.EditorDocument.createElement( oParentBlockNode.tagName );
+		var oFragment2 = FCKTools.GetDocumentFragment( oParentBlockNode, oTableNode, oParentBlockNode.lastChild, false, true, true ) ;
+		oNode2.appendChild( oFragment2 ) ;
+		FCKTools.SetElementAttributes( oNode2, oParentBlockNode.attributes ) ; 	// Transfer across any class attributes, etc
+		
+		// Create a document fragment that contains the two new elements with the table element inbetween
+		var oNewNode = FCK.EditorDocument.createDocumentFragment() ;
+		if ( !FCKTools.NodeIsEmpty( oNode1 ) )
+			oNewNode.appendChild( oNode1 ) ;
+		oNewNode.appendChild( oTableNode ) ;
+		if ( !FCKTools.NodeIsEmpty( oNode2 ) )
+			oNewNode.appendChild( oNode2 ) ; 
+		
+		// Replace the existing parent node with the nodes in the fragment
+		oParentBlockNode.parentNode.replaceChild( oNewNode, oParentBlockNode ) ;
+	}
+}		
+
+FCKDocumentProcessors.addItem( FCKTablesProcessor ) ;
+*/
+// END iCM MODIFICATIONS
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fck_1_gecko.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fck_1_gecko.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fck_1_gecko.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,273 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_1_gecko.js
+ * 	This is the first part of the "FCK" object creation. This is the main
+ * 	object that represents an editor instance.
+ * 	(Gecko specific implementations)
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+FCK.Description = "FCKeditor for Gecko Browsers" ;
+
+FCK.InitializeBehaviors = function()
+{
+	// Enable table borders visibility.
+	if ( FCKConfig.ShowBorders ) 
+	{
+		var oStyle = FCKTools.AppendStyleSheet( this.EditorDocument, FCKConfig.FullBasePath + 'css/fck_showtableborders_gecko.css' ) ;
+		oStyle.setAttribute( '_fcktemp', 'true' ) ;
+	}
+
+	// Disable Right-Click
+	var oOnContextMenu = function( e )
+	{
+		e.preventDefault() ;
+		FCK.ShowContextMenu( e.clientX, e.clientY ) ;
+	}
+	this.EditorDocument.addEventListener( 'contextmenu', oOnContextMenu, true ) ;
+
+	// Handle pasting operations.
+	var oOnKeyDown = function( e )
+	{
+		// FCKDebug.Output( 'Which Key: ' +  e.which ) ;
+
+		// START iCM Modifications
+		/*
+		// Need to amend carriage return key handling so inserts block element tags rather than BR all the time
+		if ( e.which == 13 && !e.shiftKey && !e.ctrlKey && !e.altKey && !FCKConfig.UseBROnCarriageReturn && !FCK.Events.FireEvent( "OnEnter" ) )
+		{
+			e.preventDefault() ;
+			e.stopPropagation() ;
+		}
+		// Amend backspace handling so correctly removes empty block elements i.e. those block elements containing nothing or
+		// just the bogus BR node
+		if ( e.which == 8 && !e.shiftKey && !e.ctrlKey && !e.altKey && !FCKConfig.UserBROnCarriageReturn && !FCK.Events.FireEvent( "OnBackSpace" ) )
+		{
+			e.preventDefault() ;
+			e.stopPropagation() ;
+		}
+		*/
+		// END iCM Modifications
+
+		if ( e.ctrlKey && !e.shiftKey && !e.altKey )
+		{
+			var bPrevent = false ;
+			
+			switch ( e.which ) 
+			{
+				case 66 :	// B
+				case 98 :	// b
+					FCK.ExecuteNamedCommand( 'bold' ) ; bPrevent = true ;
+					break;
+				case 105 :	// i
+				case 73 :	// I
+					FCK.ExecuteNamedCommand( 'italic' ) ; bPrevent = true ;
+					break;
+				case 117 :	// u
+				case 85 :	// U
+					FCK.ExecuteNamedCommand( 'underline' ) ; bPrevent = true ;
+					break;
+				case 86 :	// V
+				case 118 :	// v
+					bPrevent = ( FCK.Status != FCK_STATUS_COMPLETE || !FCK.Events.FireEvent( "OnPaste" ) ) ;
+					break ;
+			}
+	
+			if ( bPrevent ) 
+			{
+				e.preventDefault() ;
+				e.stopPropagation() ;
+			}
+		}
+	}
+	this.EditorDocument.addEventListener( 'keypress', oOnKeyDown, true ) ;
+
+	this.ExecOnSelectionChange = function()
+	{
+		FCK.Events.FireEvent( "OnSelectionChange" ) ;
+	}
+
+	this.ExecOnSelectionChangeTimer = function()
+	{
+		if ( FCK.LastOnChangeTimer )
+			window.clearTimeout( FCK.LastOnChangeTimer ) ;
+
+		FCK.LastOnChangeTimer = window.setTimeout( FCK.ExecOnSelectionChange, 100 ) ;
+	}
+
+	this.EditorDocument.addEventListener( 'mouseup', this.ExecOnSelectionChange, false ) ;
+
+	// On Gecko, firing the "OnSelectionChange" event on every key press started to be too much
+	// slow. So, a timer has been implemented to solve performance issues when tipying to quickly.
+	this.EditorDocument.addEventListener( 'keyup', this.ExecOnSelectionChangeTimer, false ) ;
+
+	this._DblClickListener = function( e )
+	{
+		FCK.OnDoubleClick( e.target ) ;
+		e.stopPropagation() ;
+	}
+	this.EditorDocument.addEventListener( 'dblclick', this._DblClickListener, true ) ;
+
+	this._OnLoad = function()
+	{
+		if ( this._FCK_HTML )
+		{
+			this.document.body.innerHTML = this._FCK_HTML ;
+			this._FCK_HTML = null ;
+		}
+	}
+	this.EditorWindow.addEventListener( 'load', this._OnLoad, true ) ;
+
+//	var oEditorWindow_OnUnload = function()
+//	{
+//		FCK.EditorWindow.location = 'fckblank.html' ;
+//	}
+//	this.EditorWindow.addEventListener( 'unload', oEditorWindow_OnUnload, true ) ;
+
+//	var oEditorWindow_OnFocus = function()
+//	{
+//		FCK.MakeEditable() ;
+//	}
+//	this.EditorWindow.addEventListener( 'focus', oEditorWindow_OnFocus, true ) ;
+}
+
+FCK.MakeEditable = function()
+{
+	try 
+	{
+		FCK.EditorDocument.designMode = 'on' ;
+
+		// Tell Gecko to use or not the <SPAN> tag for the bold, italic and underline.
+		FCK.EditorDocument.execCommand( 'useCSS', false, !FCKConfig.GeckoUseSPAN ) ;
+	}
+	catch (e) {}
+}
+
+FCK.Focus = function()
+{
+	try
+	{
+//		window.focus() ;
+		FCK.EditorWindow.focus() ;
+	}
+	catch(e) {}
+}
+
+FCK.SetHTML = function( html, forceWYSIWYG )
+{
+	// Firefox can't handle correctly the editing of the STRONG and EM tags. 
+	// We must replace them with B and I.
+	html = html.replace( FCKRegexLib.StrongOpener, '<b$1' ) ;
+	html = html.replace( FCKRegexLib.StrongCloser, '<\/b>' ) ;
+	html = html.replace( FCKRegexLib.EmOpener, '<i$1' ) ;
+	html = html.replace( FCKRegexLib.EmCloser, '<\/i>' ) ;
+
+	if ( forceWYSIWYG || FCK.EditMode == FCK_EDITMODE_WYSIWYG )
+	{
+		html = FCKConfig.ProtectedSource.Protect( html ) ;
+
+		// Gecko has a lot of bugs mainly when handling editing features.
+		// To avoid an Aplication Exception (that closes the browser!) we
+		// must first write the <HTML> contents with an empty body, and
+		// then insert the body contents.
+		// (Oh yes... it took me a lot of time to find out this workaround)
+
+		if ( FCKConfig.FullPage && FCKRegexLib.BodyContents.test( html ) )
+		{
+			// Add the <BASE> tag to the input HTML.
+			if ( FCK.TempBaseTag.length > 0 && !FCKRegexLib.HasBaseTag.test( html ) )
+				html = html.replace( FCKRegexLib.HeadOpener, '$&' + FCK.TempBaseTag ) ;
+
+			html = html.replace( FCKRegexLib.HeadCloser, '<link href="' + FCKConfig.BasePath + 'css/fck_internal.css' + '" rel="stylesheet" type="text/css" _fcktemp="true" /></head>' ) ;
+
+			// Extract the BODY contents from the html.
+			var oMatch		= html.match( FCKRegexLib.BodyContents ) ;
+			var sOpener		= oMatch[1] ;	// This is the HTML until the <body...> tag, inclusive.
+			var sContents	= oMatch[2] ;	// This is the BODY tag contents.
+			var sCloser		= oMatch[3] ;	// This is the HTML from the </body> tag, inclusive.
+
+			var sHtml = sOpener + '&nbsp;' + sCloser ;
+
+			if ( !this._Initialized )
+			{
+				FCK.EditorDocument.designMode = "on" ;
+
+				// Tell Gecko to use or not the <SPAN> tag for the bold, italic and underline.
+				FCK.EditorDocument.execCommand( "useCSS", false, !FCKConfig.GeckoUseSPAN ) ;
+
+				this._Initialized = true ;
+			}
+
+			this.EditorDocument.open() ;
+			this.EditorDocument.write( sHtml ) ;
+			this.EditorDocument.close() ;
+
+			if ( this.EditorDocument.body )
+				this.EditorDocument.body.innerHTML = sContents ;
+			else
+				this.EditorWindow._FCK_HTML = sContents ;
+
+			this.InitializeBehaviors() ;
+		}
+		else
+		{
+			/* TODO: Wait stable and remove it.
+			sHtml =
+				'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">' +
+				'<html dir="' + FCKConfig.ContentLangDirection + '">' +
+				'<head><title></title>' +
+				'<link href="' + FCKConfig.EditorAreaCSS + '" rel="stylesheet" type="text/css" />' +
+				'<link href="' + FCKConfig.BasePath + 'css/fck_internal.css' + '" rel="stylesheet" type="text/css" _fcktemp="true" />' ;
+
+			sHtml += FCK.TempBaseTag ;
+
+			sHtml += '</head><body>&nbsp;</body></html>' ;
+			*/
+
+			if ( !this._Initialized )
+			{
+				this.EditorDocument.dir = FCKConfig.ContentLangDirection ;
+
+				var sHtml =
+					'<title></title>' +
+					'<link href="' + FCKConfig.EditorAreaCSS + '" rel="stylesheet" type="text/css" />' +
+					'<link href="' + FCKConfig.BasePath + 'css/fck_internal.css' + '" rel="stylesheet" type="text/css" _fcktemp="true" />' +
+					FCK.TempBaseTag ;
+
+				this.EditorDocument.getElementsByTagName("HEAD")[0].innerHTML = sHtml ;
+
+				this.InitializeBehaviors() ;
+
+				this._Initialized = true ;
+			}
+
+			// On Gecko we must disable editing before setting the BODY innerHTML.
+//			FCK.EditorDocument.designMode = 'off' ;
+
+			if ( html.length == 0 )
+				FCK.EditorDocument.body.innerHTML = GECKO_BOGUS ;
+			else if ( FCKRegexLib.EmptyParagraph.test( html ) )
+				FCK.EditorDocument.body.innerHTML = html.replace( FCKRegexLib.TagBody, '>' + GECKO_BOGUS + '<' ) ;
+			else
+				FCK.EditorDocument.body.innerHTML = html ;
+			
+			FCK.MakeEditable() ;
+		}
+
+		FCK.OnAfterSetHTML() ;
+	}
+	else
+		document.getElementById('eSourceField').value = html ;
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fck_1_ie.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fck_1_ie.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fck_1_ie.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,278 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_1_ie.js
+ * 	This is the first part of the "FCK" object creation. This is the main
+ * 	object that represents an editor instance.
+ * 	(IE specific implementations)
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+FCK.Description = "FCKeditor for Internet Explorer 5.5+" ;
+
+// The behaviors should be pointed using the FullBasePath to avoid security
+// errors when using a differente BaseHref.
+FCK._BehaviorsStyle =
+	'<style type="text/css" _fcktemp="true"> \
+		INPUT { behavior: url(' + FCKConfig.FullBasePath + 'css/behaviors/hiddenfield.htc) ; } ' ;
+
+if ( FCKConfig.ShowBorders )
+	FCK._BehaviorsStyle += 'TABLE { behavior: url(' + FCKConfig.FullBasePath + 'css/behaviors/showtableborders.htc) ; }' ;
+
+// Disable resize handlers.
+var sNoHandlers = 'INPUT, TEXTAREA, SELECT, .FCK__Anchor, .FCK__PageBreak' ;
+
+if ( FCKConfig.DisableImageHandles )
+	sNoHandlers += ', IMG' ;
+
+if ( FCKConfig.DisableTableHandles )
+	sNoHandlers += ', TABLE' ;
+
+FCK._BehaviorsStyle += sNoHandlers + ' { behavior: url(' + FCKConfig.FullBasePath + 'css/behaviors/disablehandles.htc) ; }' ;
+
+FCK._BehaviorsStyle += '</style>' ;
+
+function Doc_OnMouseUp()
+{
+	if ( FCK.EditorWindow.event.srcElement.tagName == 'HTML' )
+	{
+		FCK.Focus() ;
+		FCK.EditorWindow.event.cancelBubble	= true ;
+		FCK.EditorWindow.event.returnValue	= false ;
+	}
+}
+
+function Doc_OnPaste()
+{
+	if ( FCK.Status == FCK_STATUS_COMPLETE )
+		return FCK.Events.FireEvent( "OnPaste" ) ;
+	else
+		return false ;
+}
+
+function Doc_OnContextMenu()
+{
+	var e = FCK.EditorWindow.event ;
+	
+	FCK.ShowContextMenu( e.screenX, e.screenY ) ;
+	return false ;
+}
+
+function Doc_OnKeyDown()
+{
+	var e = FCK.EditorWindow.event ;
+
+//	FCKDebug.Output( 'KeyCode: ' + e.keyCode ) ;
+
+	switch ( e.keyCode )
+	{
+		case 13 :	// ENTER
+			if ( FCKConfig.UseBROnCarriageReturn && !(e.ctrlKey || e.altKey || e.shiftKey) )
+			{
+				Doc_OnKeyDownUndo() ;
+				
+				// We must ignore it if we are inside a List.
+				if ( FCK.EditorDocument.queryCommandState( 'InsertOrderedList' ) || FCK.EditorDocument.queryCommandState( 'InsertUnorderedList' ) )
+					return true ;
+
+				// Insert the <BR> (The &nbsp; must be also inserted to make it work)
+				FCK.InsertHtml( '<br>&nbsp;' ) ;
+
+				// Remove the &nbsp;
+				var oRange = FCK.EditorDocument.selection.createRange() ;
+				oRange.moveStart( 'character', -1 ) ;
+				oRange.select() ;
+				FCK.EditorDocument.selection.clear() ;
+
+				return false ;
+			}
+			break ;
+			
+		case 9 :	// TAB
+			if ( FCKConfig.TabSpaces > 0 && !(e.ctrlKey || e.altKey || e.shiftKey) )
+			{
+				Doc_OnKeyDownUndo() ;
+				
+				FCK.InsertHtml( window.FCKTabHTML ) ;
+				return false ;
+			}
+			break ;
+		case 90 :	// Z
+			if ( e.ctrlKey && !(e.altKey || e.shiftKey) )
+			{
+				FCKUndo.Undo() ;
+				return false ;
+			}
+			break ;
+		case 89 :	// Y
+			if ( e.ctrlKey && !(e.altKey || e.shiftKey) )
+			{
+				FCKUndo.Redo() ;
+				return false ;
+			}
+			break ;
+	}
+	
+	if ( !( e.keyCode >=16 && e.keyCode <= 18 ) )
+		Doc_OnKeyDownUndo() ;
+	return true ;
+}
+
+function Doc_OnKeyDownUndo()
+{
+	if ( !FCKUndo.Typing )
+	{
+		FCKUndo.SaveUndoStep() ;
+		FCKUndo.Typing = true ;
+		FCK.Events.FireEvent( "OnSelectionChange" ) ;
+	}
+	
+	FCKUndo.TypesCount++ ;
+
+	if ( FCKUndo.TypesCount > FCKUndo.MaxTypes )
+	{
+		FCKUndo.TypesCount = 0 ;
+		FCKUndo.SaveUndoStep() ;
+	}
+}
+
+function Doc_OnDblClick()
+{
+	FCK.OnDoubleClick( FCK.EditorWindow.event.srcElement ) ;
+	FCK.EditorWindow.event.cancelBubble = true ;
+}
+
+function Doc_OnSelectionChange()
+{
+	FCK.Events.FireEvent( "OnSelectionChange" ) ;
+}
+
+FCK.InitializeBehaviors = function( dontReturn )
+{
+	// Set the focus to the editable area when clicking in the document area.
+	// TODO: The cursor must be positioned at the end.
+	this.EditorDocument.attachEvent( 'onmouseup', Doc_OnMouseUp ) ;
+
+	// Intercept pasting operations
+	this.EditorDocument.body.attachEvent( 'onpaste', Doc_OnPaste ) ;
+
+	// Disable Right-Click and shows the context menu.
+	this.EditorDocument.attachEvent('oncontextmenu', Doc_OnContextMenu ) ;
+
+	// Build the "TAB" key replacement (if necessary).
+	if ( FCKConfig.TabSpaces > 0 )
+	{
+		window.FCKTabHTML = '' ;
+		for ( i = 0 ; i < FCKConfig.TabSpaces ; i++ )
+			window.FCKTabHTML += "&nbsp;" ;
+	}
+	this.EditorDocument.attachEvent("onkeydown", Doc_OnKeyDown ) ;
+
+	this.EditorDocument.attachEvent("ondblclick", Doc_OnDblClick ) ;
+
+	// Catch cursor movements
+	this.EditorDocument.attachEvent("onselectionchange", Doc_OnSelectionChange ) ;
+
+	//Enable editing
+//	this.EditorDocument.body.contentEditable = true ;
+}
+
+FCK.Focus = function()
+{
+	try
+	{
+		if ( FCK.EditMode == FCK_EDITMODE_WYSIWYG )
+			FCK.EditorDocument.body.focus() ;
+		else
+			document.getElementById('eSourceField').focus() ;
+	}
+	catch(e) {}
+}
+
+FCK.SetHTML = function( html, forceWYSIWYG )
+{
+	if ( forceWYSIWYG || FCK.EditMode == FCK_EDITMODE_WYSIWYG )
+	{
+		html = FCKConfig.ProtectedSource.Protect( html ) ;
+
+		var sHtml ;
+
+		if ( FCKConfig.FullPage )
+		{
+			var sHtml =
+				FCK._BehaviorsStyle +
+				'<link href="' + FCKConfig.FullBasePath + 'css/fck_internal.css' + '" rel="stylesheet" type="text/css" _fcktemp="true" />' ;
+
+			if ( FCK.TempBaseTag.length > 0 && !FCKRegexLib.HasBaseTag.test( html ) )
+				sHtml += FCK.TempBaseTag ;
+
+			sHtml = html.replace( FCKRegexLib.HeadOpener, '$&' + sHtml ) ;
+		}
+		else
+		{
+			sHtml =
+				FCKConfig.DocType +
+				'<html dir="' + FCKConfig.ContentLangDirection + '"' ;
+			
+			if ( FCKConfig.IEForceVScroll )
+				sHtml += ' style="overflow-y: scroll"' ;
+			
+			sHtml +=
+				'><head><title></title>' +
+				'<link href="' + FCKConfig.EditorAreaCSS + '" rel="stylesheet" type="text/css" />' +
+				'<link href="' + FCKConfig.FullBasePath + 'css/fck_internal.css' + '" rel="stylesheet" type="text/css" _fcktemp="true" />' ;
+
+			sHtml += FCK._BehaviorsStyle ;
+			sHtml += FCK.TempBaseTag ;
+			sHtml += '</head><body>' + html  + '</body></html>' ;
+		}
+
+		this.EditorDocument.open( '', '_self', '', true ) ;
+		this.EditorDocument.write( sHtml ) ;
+		this.EditorDocument.close() ;
+
+		this.InitializeBehaviors() ;
+		this.EditorDocument.body.contentEditable = true ;
+
+		FCK.OnAfterSetHTML() ;
+	}
+	else
+		document.getElementById('eSourceField').value = html ;
+}
+
+FCK.InsertHtml = function( html )
+{
+	FCK.Focus() ;
+
+	FCKUndo.SaveUndoStep() ;
+
+	// Gets the actual selection.
+	var oSel = FCK.EditorDocument.selection ;
+
+	// Deletes the actual selection contents.
+	if ( oSel.type.toLowerCase() != "none" )
+		oSel.clear() ;
+
+	// Inset the HTML.
+	oSel.createRange().pasteHTML( html ) ;
+}
+
+FCK.SetInnerHtml = function( html )		// IE Only
+{
+	var oDoc = FCK.EditorDocument ;
+	// Using the following trick, any comment in the begining of the HTML will
+	// be preserved.
+	oDoc.body.innerHTML = '<div id="__fakeFCKRemove__">&nbsp;</div>' + html ;
+	oDoc.getElementById('__fakeFCKRemove__').removeNode( true ) ;
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fck_2.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fck_2.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fck_2.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,202 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_2.js
+ * 	This is the second part of the "FCK" object creation. This is the main
+ * 	object that represents an editor instance.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+// This collection is used by the browser specific implementations to tell
+// wich named commands must be handled separately.
+FCK.RedirectNamedCommands = new Object() ;
+
+FCK.ExecuteNamedCommand = function( commandName, commandParameter )
+{
+	FCKUndo.SaveUndoStep() ;
+
+	if ( FCK.RedirectNamedCommands[ commandName ] != null )
+		FCK.ExecuteRedirectedNamedCommand( commandName, commandParameter ) ;
+	else
+	{
+		FCK.Focus() ;
+		FCK.EditorDocument.execCommand( commandName, false, commandParameter ) ; 
+		FCK.Events.FireEvent( 'OnSelectionChange' ) ;
+	}
+	
+	FCKUndo.SaveUndoStep() ;
+}
+
+FCK.GetNamedCommandState = function( commandName )
+{
+	try
+	{
+		if ( !FCK.EditorDocument.queryCommandEnabled( commandName ) )
+			return FCK_TRISTATE_DISABLED ;
+		else
+			return FCK.EditorDocument.queryCommandState( commandName ) ? FCK_TRISTATE_ON : FCK_TRISTATE_OFF ;
+	}
+	catch ( e )
+	{
+		return FCK_TRISTATE_OFF ;
+	}
+}
+
+FCK.GetNamedCommandValue = function( commandName )
+{
+	var sValue = '' ;
+	var eState = FCK.GetNamedCommandState( commandName ) ;
+	
+	if ( eState == FCK_TRISTATE_DISABLED ) 
+		return null ;
+	
+	try
+	{
+		sValue = this.EditorDocument.queryCommandValue( commandName ) ;
+	}
+	catch(e) {}
+	
+	return sValue ? sValue : '' ;
+}
+
+FCK.PasteFromWord = function()
+{
+	FCKDialog.OpenDialog( 'FCKDialog_Paste', FCKLang.PasteFromWord, 'dialog/fck_paste.html', 400, 330, 'Word' ) ;
+}
+
+// TODO: Wait Stable and remove this block.
+//FCK.CleanAndPaste = function( html )
+//{
+	// Remove all SPAN tags
+//	html = html.replace(/<\/?SPAN[^>]*>/gi, "" );
+
+//	html = html.replace(/<o:p>&nbsp;<\/o:p>/g, "") ;
+//	html = html.replace(/<o:p><\/o:p>/g, "") ;
+	
+	// Remove mso-xxx styles.
+//	html = html.replace( /mso-.[^:]:.[^;"]/g, "" ) ;
+	
+	// Remove Class attributes
+//	html = html.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi, "<$1$3") ;
+	
+	// Remove Style attributes
+//	html = html.replace(/<(\w[^>]*) style="([^"]*)"([^>]*)/gi, "<$1$3") ;
+	
+	// Remove Lang attributes
+//	html = html.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi, "<$1$3") ;
+	
+	// Remove XML elements and declarations
+//	html = html.replace(/<\\?\?xml[^>]*>/gi, "") ;
+	
+	// Remove Tags with XML namespace declarations: <o:p></o:p>
+//	html = html.replace(/<\/?\w+:[^>]*>/gi, "") ;
+	
+	// Replace the &nbsp;
+//	html = html.replace(/&nbsp;/, " " );
+	// Replace the &nbsp; from the beggining.
+//	html = html.replace(/^&nbsp;[\s\r\n]*/, ""); 
+	
+	// Transform <P> to <DIV>
+//	var re = new RegExp("(<P)([^>]*>.*?)(<\/P>)","gi") ;	// Different because of a IE 5.0 error
+//	html = html.replace( re, "<div$2</div>" ) ;
+	
+//	FCK.InsertHtml( html ) ;
+//}
+
+FCK.Preview = function()
+{
+	var iWidth	= FCKConfig.ScreenWidth * 0.8 ;
+	var iHeight	= FCKConfig.ScreenHeight * 0.7 ;
+	var iLeft	= ( FCKConfig.ScreenWidth - iWidth ) / 2 ;
+	var oWindow = window.open( '', null, 'toolbar=yes,location=no,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width=' + iWidth + ',height=' + iHeight + ',left=' + iLeft ) ;
+	
+	var sHTML ;
+	
+	if ( FCKConfig.FullPage )
+	{
+		if ( FCK.TempBaseTag.length > 0 )
+			sHTML = FCK.GetXHTML().replace( FCKRegexLib.HeadOpener, '$&' + FCK.TempBaseTag ) ;
+		else
+			sHTML = FCK.GetXHTML() ;
+	}
+	else
+	{
+		sHTML = 
+			FCKConfig.DocType +
+			'<html dir="' + FCKConfig.ContentLangDirection + '">' +
+			'<head><title>' + FCKLang.Preview + '</title>' +
+			'<link href="' + FCKConfig.EditorAreaCSS + '" rel="stylesheet" type="text/css" />' +
+			FCK.TempBaseTag +
+			'</head><body>' + 
+			FCK.GetXHTML() + 
+			'</body></html>' ;
+	}
+	
+	oWindow.document.write( sHTML );
+	oWindow.document.close();
+}
+
+FCK.SwitchEditMode = function()
+{
+	// Check if the actual mode is WYSIWYG.
+	var bWYSIWYG = ( FCK.EditMode == FCK_EDITMODE_WYSIWYG ) ;
+	
+	// Display/Hide the TRs.
+	document.getElementById('eWysiwyg').style.display	= bWYSIWYG ? 'none' : '' ;
+	document.getElementById('eSource').style.display	= bWYSIWYG ? '' : 'none' ;
+
+	// Update the HTML in the view output to show.
+	if ( bWYSIWYG )
+	{
+		if ( FCKBrowserInfo.IsIE )
+			FCKUndo.SaveUndoStep() ;
+		document.getElementById('eSourceField').value = ( FCKConfig.EnableXHTML && FCKConfig.EnableSourceXHTML ? FCK.GetXHTML( FCKConfig.FormatSource ) : FCK.GetHTML( FCKConfig.FormatSource ) ) ;
+	}
+	else
+		FCK.SetHTML( FCK.GetHTML(), true ) ;
+
+	// Updates the actual mode status.
+	FCK.EditMode = bWYSIWYG ? FCK_EDITMODE_SOURCE : FCK_EDITMODE_WYSIWYG ;
+	
+	// Update the toolbar.
+	FCKToolbarSet.RefreshModeState() ;
+
+	// Set the Focus.
+	FCK.Focus() ;
+}
+
+FCK.CreateElement = function( tag )
+{
+	var e = FCK.EditorDocument.createElement( tag ) ;
+	return FCK.InsertElementAndGetIt( e ) ;
+}
+
+FCK.InsertElementAndGetIt = function( e )
+{
+	e.setAttribute( '__FCKTempLabel', 1 ) ;
+	
+	this.InsertElement( e ) ;
+	
+	var aEls = FCK.EditorDocument.getElementsByTagName( e.tagName ) ;
+	
+	for ( var i = 0 ; i < aEls.length ; i++ )
+	{
+		if ( aEls[i].getAttribute( '__FCKTempLabel' ) )
+		{
+			aEls[i].removeAttribute( '__FCKTempLabel' ) ;
+			return aEls[i] ;
+		}
+	}
+	return null ;
+}

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fck_2_gecko.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fck_2_gecko.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fck_2_gecko.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,469 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_2_gecko.js
+ * 	This is the second part of the "FCK" object creation. This is the main
+ * 	object that represents an editor instance.
+ * 	(Gecko specific implementations)
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+// GetNamedCommandState overload for Gecko.
+FCK._BaseGetNamedCommandState = FCK.GetNamedCommandState ;
+FCK.GetNamedCommandState = function( commandName )
+{
+	switch ( commandName )
+	{
+		case 'Unlink' :
+			return FCKSelection.HasAncestorNode('A') ? FCK_TRISTATE_OFF : FCK_TRISTATE_DISABLED ;
+		default :
+			return FCK._BaseGetNamedCommandState( commandName ) ;
+	}
+}
+
+// Named commands to be handled by this browsers specific implementation.
+FCK.RedirectNamedCommands = 
+{
+	Print	: true,
+	Paste	: true,
+	Cut		: true,
+	Copy	: true
+	// START iCM MODIFICATIONS
+	// Include list functions so we can ensure content is wrapped
+	// with P tags if not using BRs on carriage return, etc
+	/*
+	InsertOrderedList	: true,
+	InsertUnorderedList	: true
+	*/
+	// END iCM MODIFICATIONS
+}
+
+// ExecuteNamedCommand overload for Gecko.
+FCK.ExecuteRedirectedNamedCommand = function( commandName, commandParameter )
+{
+	switch ( commandName )
+	{
+		case 'Print' :
+			FCK.EditorWindow.print() ;
+			break ;
+		case 'Paste' :
+			try			{ if ( FCK.Paste() ) FCK.ExecuteNamedCommand( 'Paste' ) ; }
+			catch (e)	{ alert( FCKLang.PasteErrorPaste ) ; }
+			break ;
+		case 'Cut' :
+			try			{ FCK.ExecuteNamedCommand( 'Cut' ) ; }
+			catch (e)	{ alert( FCKLang.PasteErrorCut ) ; }
+			break ;
+		case 'Copy' :
+			try			{ FCK.ExecuteNamedCommand( 'Copy' ) ; }
+			catch (e)	{ alert( FCKLang.PasteErrorCopy ) ; }
+			break ;
+			
+		// START iCM MODIFICATIONS
+		/*
+		case 'InsertOrderedList'   :
+		case 'InsertUnorderedList' :
+		
+			if ( !FCKConfig.UseBROnCarriageReturn && FCK.EditorDocument.queryCommandState( commandName ) )
+			{
+				// We're in a list item which is in the same type of list as the toolbar button clicked
+				// Therefore, move the selected list item out of the list as is done on an ENTER key within
+				// an empty list item.
+				var oSel = FCK.EditorWindow.getSelection() ;
+				var oSelNode = oSel.focusNode ;
+				var oLINode = FCKTools.GetElementAscensor( oSelNode, "LI" ) ;
+				FCK.ToggleListItem( oLINode, oSelNode ) ;
+			}
+			else
+			{
+				// Let the default handler do its stuff
+				FCK.Focus() ;
+				FCK.EditorDocument.execCommand( commandName, false, commandParameter ) ; 
+			}
+			
+			FCK.Events.FireEvent( 'OnSelectionChange' ) ;
+			break ;
+		*/
+		// END iCM MODIFICATIONS
+			
+		default :
+			FCK.ExecuteNamedCommand( commandName, commandParameter ) ;
+	}
+}
+
+FCK.AttachToOnSelectionChange = function( functionPointer )
+{
+	this.Events.AttachEvent( 'OnSelectionChange', functionPointer ) ;
+}
+
+FCK.Paste = function()
+{
+	if ( FCKConfig.ForcePasteAsPlainText )
+	{
+		FCK.PasteAsPlainText() ;	
+		return false ;
+	}
+/* For now, the AutoDetectPasteFromWord feature is IE only.
+	else if ( FCKConfig.AutoDetectPasteFromWord )
+	{
+		var sHTML = FCK.GetClipboardHTML() ;
+		var re = /<\w[^>]* class="?MsoNormal"?/gi ;
+		if ( re.test( sHTML ) )
+		{
+			if ( confirm( FCKLang["PasteWordConfirm"] ) )
+			{
+				FCK.PasteFromWord() ;
+				return false ;
+			}
+		}
+	}
+*/
+	else
+		return true ;
+}
+
+//**
+// FCK.InsertHtml: Inserts HTML at the current cursor location. Deletes the
+// selected content if any.
+FCK.InsertHtml = function( html )
+{
+	// Delete the actual selection.
+	var oSel = FCKSelection.Delete() ;
+	
+//	var oContainer	= oSel.getRangeAt(0).startContainer ;
+//	var iOffSet		= oSel.getRangeAt(0).startOffset ;
+	
+	// Get the first available range.
+	var oRange = oSel.getRangeAt(0) ;
+	
+//	var oRange = this.EditorDocument.createRange() ;
+//	oRange.setStart( oContainer, iOffSet ) ;
+//	oRange.setEnd( oContainer, iOffSet ) ;
+	
+	// Create a fragment with the input HTML.
+	var oFragment = oRange.createContextualFragment( html ) ;
+	
+	// Get the last available node.
+	var oLastNode = oFragment.lastChild ;
+
+	// Insert the fragment in the range.
+	oRange.insertNode(oFragment) ;
+	
+	// Set the cursor after the inserted fragment.
+	oRange.setEndAfter( oLastNode ) ;
+	oRange.setStartAfter( oLastNode ) ;
+	
+	oSel.removeAllRanges() ;
+	oSel = FCK.EditorWindow.getSelection() ;
+	oSel.addRange( oRange ) ;
+		
+	this.Focus() ;
+}
+
+FCK.InsertElement = function( element )
+{
+	// Deletes the actual selection.
+	var oSel = FCKSelection.Delete() ;
+	
+	// Gets the first available range.
+	var oRange = oSel.getRangeAt(0) ;
+	
+	// Inserts the element in the range.
+	oRange.insertNode( element ) ;
+	
+	// Set the cursor after the inserted fragment.
+	oRange.setEndAfter( element ) ;
+	oRange.setStartAfter( element ) ;
+
+	this.Focus() ;
+}
+
+FCK.PasteAsPlainText = function()
+{
+	// TODO: Implement the "Paste as Plain Text" code.
+	
+	FCKDialog.OpenDialog( 'FCKDialog_Paste', FCKLang.PasteAsText, 'dialog/fck_paste.html', 400, 330, 'PlainText' ) ;
+	
+/*
+	var sText = FCKTools.HTMLEncode( clipboardData.getData("Text") ) ;
+	sText = sText.replace( /\n/g, '<BR>' ) ;
+	this.InsertHtml( sText ) ;	
+*/
+}
+/*
+FCK.PasteFromWord = function()
+{
+	// TODO: Implement the "Paste as Plain Text" code.
+	
+	FCKDialog.OpenDialog( 'FCKDialog_Paste', FCKLang.PasteFromWord, 'dialog/fck_paste.html', 400, 330, 'Word' ) ;
+
+//	FCK.CleanAndPaste( FCK.GetClipboardHTML() ) ;
+}
+*/
+FCK.GetClipboardHTML = function()
+{
+	return '' ;
+}
+
+FCK.CreateLink = function( url )
+{	
+	FCK.ExecuteNamedCommand( 'Unlink' ) ;
+	
+	if ( url.length > 0 )
+	{
+		// Generate a temporary name for the link.
+		var sTempUrl = 'javascript:void(0);/*' + ( new Date().getTime() ) + '*/' ;
+		
+		// Use the internal "CreateLink" command to create the link.
+		FCK.ExecuteNamedCommand( 'CreateLink', sTempUrl ) ;
+
+		// Retrieve the just created link using XPath.
+		var oLink = document.evaluate("//a[@href='" + sTempUrl + "']", this.EditorDocument.body, null, 9, null).singleNodeValue ;
+		
+		if ( oLink )
+		{
+			oLink.href = url ;
+			return oLink ;
+		}
+	}
+}
+
+// START iCM Modifications
+/*
+// Ensure that behaviour of the ENTER key or the list toolbar button works correctly for a list item.
+// ENTER in empty list item at top of list should result in the empty list item being
+// removed and selection being moved out of the list into a P tag above it.
+// ENTER in empty list item at bottom of list should result in the empty list item being
+// removed and selection being moved out of the list into a P tag below it.
+// ENTER in empty list item in middle of the list should result in the list being split
+// into two and the selection being moved into a P tag between the two resulting lists.
+// Clicking the list toolbar button in a list item at top of list should result in the list item's contents being
+// moved out of the list into a P tag above it.
+// Clicking the list toolbar button in a list item at the bottom of list should result in the list item's contents being
+// moved out of the list into a P tag below it.
+// Clicking the list toolbar button in a list item in the middle of the list should result in the list being split
+// into two and the list item's contents being moved into a P tag between the two resulting lists.
+FCK.ToggleListItem = function( oLINode, oSelNode )
+{
+	var oListNode = FCKTools.GetElementAscensor( oLINode, "UL,OL" ) ;
+	var oRange = FCK.EditorDocument.createRange() ;	
+
+	// Create a new block element
+	var oBlockNode = FCK.EditorDocument.createElement( "P" ) ;
+	oBlockNode.innerHTML = oLINode.innerHTML ; // Transfer any list item contents
+	if ( FCKTools.NodeIsEmpty( oBlockNode ) )
+		oBlockNode.innerHTML = GECKO_BOGUS ; 			// Ensure it has some content, required for Gecko
+	if ( oLINode.className && oLINode.className != '' )
+		oBlockNode.className = oLINode.className ; 	// Transfer across any class attribute
+	
+	var oCursorNode = oBlockNode ;
+
+	// Then, perform list processing and locate the point at which the new P tag is to be inserted
+	if ( oListNode.childNodes[0] == oLINode )
+	{
+		// First LI was empty so want to leave list and insert P above it
+		oListNode.removeChild( oLINode );
+		// Need to insert a new P tag (or other suitable block element) just before the list
+		oRange.setStartBefore( oListNode ) ;
+		oRange.setEndBefore( oListNode ) ;
+	}
+	else if ( oListNode.childNodes[oListNode.childNodes.length-1] == oLINode )
+	{
+		// Last LI was empty so want to leave list and insert new block element in the parent
+		oListNode.removeChild( oLINode );
+		// Need to insert a new P tag (or other suitable block element) just after the list
+		oRange.setEndAfter( oListNode ) ;
+		oRange.setStartAfter( oListNode ) ;
+	}
+	else
+	{
+		// A middle LI was empty so want to break list into two and insert the new block/text node in between them
+		oListNode = FCKTools.SplitNode( oListNode, oSelNode, 0 ) ;				
+		oListNode.removeChild( oListNode.childNodes[0] ) ;
+		oRange.setStartBefore( oListNode ) ;
+		oRange.setEndBefore( oListNode ) ;
+	}
+
+	// Insert new block/text node
+	oRange.insertNode( oBlockNode ) ;
+	
+	// Ensure that we don't leave empty UL/OL tags behind
+	if ( oListNode.childNodes.length == 0 ) 
+		oListNode.parentNode.removeChild( oListNode ) ;
+	
+	// Reset cursor position to start of the new P tag's contents ready for typing
+	FCK.Selection.SetCursorPosition( oCursorNode ) ;
+}
+
+FCK.ListItemEnter = function( oLINode, oSelNode, nSelOffset )
+{
+	// Ensure that behaviour of ENTER key within an empty list element works correctly.
+	// ENTER in empty list item at top of list should result in the empty list item being
+	// removed and selection being moved out of the list into a P tag above it.
+	// ENTER in empty list item at bottom of list should result in the empty list item being
+	// removed and selection being moved out of the list into a P tag below it.
+	// ENTER in empty list item in middle of the list should result in the list being split
+	// into two and the selection being moved into a P tag between the two resulting lists.
+	if ( FCKTools.NodeIsEmpty( oLINode ) )
+	{
+		FCK.ToggleListItem( oLINode, oSelNode ) ;
+		return false ; // Job done, perform no default handling
+	}
+	
+	return true ; // If non-empty list item, let default handler do its stuff
+}
+
+FCK.ListItemBackSpace = function( oSelNode, nSelOffset )
+{
+	// Ensure that behaviour of BACKSPACE key within an empty list element works correctly.
+	// BACKSPACE in empty list item at top of list should result in the empty list item being
+	// removed and selection being moved out of the list into a P tag above it.
+	// Allow the default handler to do its stuff for backspace in other list elements.
+	var oListNode = oSelNode.parentNode ;
+	
+	if ( FCKTools.NodeIsEmpty( oSelNode ) && ( oListNode.childNodes[0] == oSelNode ) )
+	{
+		var oRange = FCK.EditorDocument.createRange() ;	
+	
+		// Create a new P element
+		var oBlockNode = FCK.EditorDocument.createElement( "P" ) ;
+		if ( FCKTools.NodeIsEmpty( oBlockNode ) ) 
+			oBlockNode.innerHTML = GECKO_BOGUS ; 			// Ensure it has some content, required for Gecko
+	
+		// First LI was empty so want to leave list and insert P above it
+		oListNode.removeChild( oSelNode );
+		oRange.setStartBefore( oListNode ) ;
+		oRange.setEndBefore( oListNode ) ;
+
+		// Insert new P tag
+		oRange.insertNode( oBlockNode ) ;
+		
+		// Ensure that we don't leave empty UL/OL tags behind
+		if ( oListNode.childNodes.length == 0 ) 
+			oListNode.parentNode.removeChild( oListNode ) ;
+		
+		// Reset cursor position to start of the new P tag's contents ready for typing
+		FCK.Selection.SetCursorPosition( oBlockNode ) ;
+		
+		return false ; // Job done, perform no default handling
+	}
+	
+	return true ; // Let default handler do its stuff if not backspacing in an empty first LI
+}
+
+FCK.Enter = function()
+{
+	// Remove any selected content before we begin so we end up with a single selection point
+	FCK.Selection.Delete() ;
+	
+	// Determine the current cursor (selection) point, the node it's within and the offset
+	// position of the cursor within that node
+	var oSel = FCK.EditorWindow.getSelection() ;
+	var nSelOffset = oSel.focusOffset;
+	var oSelNode = oSel.focusNode ;
+
+	// Guard against a null focus node.
+	if ( !oSelNode )
+		return false ;
+	
+	var oLINode = FCKTools.GetElementAscensor( oSelNode, "LI" ) ;
+	
+	if ( oLINode ) // An LI element is selected
+	{
+		// Handle list items separately as need to handle termination of the list, etc
+		return FCK.ListItemEnter( oLINode, oSelNode, nSelOffset ) ;
+	}
+	else if ( oSelNode.nodeType == 3 ) // A TEXT node is selected
+	{
+		// Split it at the selection point and ensure both halves have a suitable enclosing block element
+		var oParentBlockNode = FCKTools.GetParentBlockNode( oSelNode ) ;
+		var oBlockNode2 = FCKTools.SplitNode( oParentBlockNode ? oParentBlockNode : FCK.EditorDocument.body, oSelNode, nSelOffset ) ;
+			
+		FCK.Selection.SetCursorPosition( oBlockNode2 );		
+		
+		return false ;
+	} 
+	else // An ELEMENT node is selected
+	{
+		// Cater for ENTER being pressed after very last element in the editor e.g. pressing ENTER after table element at very end of the editor's content
+		if ( nSelOffset >= oSelNode.childNodes.length )	
+		{
+			var oBlockNode = FCK.EditorDocument.createElement( "P" ) ;
+			if ( FCKTools.NodeIsEmpty( oBlockNode ) )
+				oBlockNode.innerHTML = GECKO_BOGUS ;		// Ensure it has some content, required for Gecko			
+			oSelNode.appendChild( oBlockNode ) ;
+			FCK.Selection.SetCursorPosition( oBlockNode ) ;
+			return false ;
+		}
+		
+		var oBlockNode2 = FCKTools.SplitNode( oSelNode, oSelNode.childNodes[nSelOffset] ) ;
+			
+		FCK.Selection.SetCursorPosition( oBlockNode2 );		
+		
+		return false ;
+	}
+	
+	return true ;
+}
+
+FCK.BackSpace = function()
+{
+	var oSel = FCK.EditorWindow.getSelection() ;
+	var oSelNode = oSel.focusNode ;
+	var nSelOffset = oSel.focusOffset;
+	var oParentNode = null ;
+
+	// Guard against a null focus node.
+	if ( !oSelNode )
+		return false ;
+	
+	if ( oSelNode.nodeName.toUpperCase() == "LI" ) // An LI element is selected
+	{
+		// Handle list items separately as need to handle termination of the list, etc
+		return FCK.ListItemBackSpace( oSelNode, nSelOffset ) ;
+	}
+	else	
+	{
+		// If we are anything other than a TEXT node, move to the child indicated by the selection offset
+		if ( oSelNode.nodeType != 3 )
+		{
+			oSelNode = oSelNode.childNodes[nSelOffset] ;
+			nSelOffset = 0 ;
+		}
+		
+		// If we are the first child and the previous sibling of the parent is an empty block element (containing nothing or just the filler element)
+		// want the backspace to completely remove the empty block element
+		if ( !oSelNode.previousSibling && nSelOffset <= 0 )
+		{
+			oParentNode = oSelNode.parentNode ;
+			
+			if ( oParentNode && oParentNode.previousSibling && FCKRegexLib.BlockElements.test( oParentNode.previousSibling.nodeName ) )
+			{
+				if ( FCKTools.NodeIsEmpty( oParentNode.previousSibling ) )
+				{
+					var oRange = FCK.EditorDocument.createRange() ;
+					oRange.selectNode ( oParentNode.previousSibling );
+					oRange.deleteContents() ;
+					
+					// Don't do any default processing
+					return false ; 
+				}
+			}
+		}
+	}	
+	return true ; // Let default processing do its stuff
+}
+*/
+// END iCM Modifications
+

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fck_2_ie.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fck_2_ie.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fck_2_ie.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,157 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_2_ie.js
+ * 	This is the second part of the "FCK" object creation. This is the main
+ * 	object that represents an editor instance.
+ * 	(IE specific implementations)
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+/*
+if ( FCKConfig.UseBROnCarriageReturn ) 
+{
+	// Named commands to be handled by this browsers specific implementation.
+	FCK.RedirectNamedCommands = 
+	{
+		InsertOrderedList	: true,
+		InsertUnorderedList	: true
+	}
+
+	FCK.ExecuteRedirectedNamedCommand = function( commandName, commandParameter )
+	{
+		if ( commandName == 'InsertOrderedList' || commandName == 'InsertUnorderedList' )
+		{
+			if ( !(FCK.EditorDocument.queryCommandState( 'InsertOrderedList' ) || FCK.EditorDocument.queryCommandState( 'InsertUnorderedList' )) )
+			{
+			}				
+		}
+
+		FCK.ExecuteNamedCommand( commandName, commandParameter ) ;
+	}
+}
+*/
+
+FCK.Paste = function()
+{
+	if ( FCKConfig.ForcePasteAsPlainText )
+	{
+		FCK.PasteAsPlainText() ;	
+		return false ;
+	}
+	else if ( FCKConfig.AutoDetectPasteFromWord )
+	{
+		var sHTML = FCK.GetClipboardHTML() ;
+		var re = /<\w[^>]* class="?MsoNormal"?/gi ;
+		if ( re.test( sHTML ) )
+		{
+			if ( confirm( FCKLang["PasteWordConfirm"] ) )
+			{
+				FCK.PasteFromWord() ;
+				return false ;
+			}
+		}
+	}
+	else
+		return true ;
+}
+
+FCK.PasteAsPlainText = function()
+{
+	// Get the data available in the clipboard and encodes it in HTML.
+	var sText = FCKTools.HTMLEncode( clipboardData.getData("Text") ) ;
+
+	// Replace the carriage returns with <BR>
+	sText = sText.replace( /\n/g, '<BR>' ) ;
+	
+	// Insert the resulting data in the editor.
+	this.InsertHtml( sText ) ;	
+}
+/*
+FCK.PasteFromWord = function()
+{
+	FCK.CleanAndPaste( FCK.GetClipboardHTML() ) ;
+}
+*/
+FCK.InsertElement = function( element )
+{
+	FCK.InsertHtml( element.outerHTML ) ;
+}
+
+FCK.GetClipboardHTML = function()
+{
+	var oDiv = document.getElementById( '___FCKHiddenDiv' ) ;
+	
+	if ( !oDiv )
+	{
+		var oDiv = document.createElement( 'DIV' ) ;
+		oDiv.id = '___FCKHiddenDiv' ;
+		oDiv.style.visibility	= 'hidden' ;
+		oDiv.style.overflow		= 'hidden' ;
+		oDiv.style.position		= 'absolute' ;
+		oDiv.style.width		= 1 ;
+		oDiv.style.height		= 1 ;
+	
+		document.body.appendChild( oDiv ) ;
+	}
+	
+	oDiv.innerHTML = '' ;
+	
+	var oTextRange = document.body.createTextRange() ;
+	oTextRange.moveToElementText( oDiv ) ;
+	oTextRange.execCommand( 'Paste' ) ;
+	
+	var sData = oDiv.innerHTML ;
+	oDiv.innerHTML = '' ;
+	
+	return sData ;
+}
+
+FCK.AttachToOnSelectionChange = function( functionPointer )
+{
+	this.Events.AttachEvent( 'OnSelectionChange', functionPointer ) ;
+}
+
+/*
+FCK.AttachToOnSelectionChange = function( functionPointer )
+{
+	FCK.EditorDocument.attachEvent( 'onselectionchange', functionPointer ) ;
+}
+*/
+
+FCK.CreateLink = function( url )
+{	
+	FCK.ExecuteNamedCommand( 'Unlink' ) ;
+
+	if ( url.length > 0 )
+	{
+		// Generate a temporary name for the link.
+		var sTempUrl = 'javascript:void(0);/*' + ( new Date().getTime() ) + '*/' ;
+		
+		// Use the internal "CreateLink" command to create the link.
+		FCK.ExecuteNamedCommand( 'CreateLink', sTempUrl ) ;
+
+		// Loof for the just create link.
+		var oLinks = this.EditorDocument.links ;
+
+		for ( i = 0 ; i < oLinks.length ; i++ )
+		{
+			if ( oLinks[i].href == sTempUrl )
+			{
+				oLinks[i].href = url ;
+				return oLinks[i] ;
+			}
+		}
+	}
+}

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fck_last.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fck_last.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fck_last.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,67 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_last.js
+ * 	These are the last script lines executed in the editor loading process.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+// This is the last file loaded to complete the editor initialization and activation
+
+// Just check if the document direction has been correctly applied (at fck_onload.js).
+if ( FCKLang && window.document.dir.toLowerCase() != FCKLang.Dir.toLowerCase() )
+	window.document.dir = FCKLang.Dir ;
+	
+// Activate pasting operations.
+if ( FCKConfig.ForcePasteAsPlainText )
+	FCK.Events.AttachEvent( "OnPaste", FCK.Paste ) ;
+
+// START iCM Modifications
+// Override default ENTER key handler for Gecko/Mozilla so 
+// it acts more like IE browsers.
+/*
+if ( FCKBrowserInfo.IsGecko && !FCKConfig.UseBROnCarriageReturn )
+{
+	FCK.Events.AttachEvent( "OnEnter", FCK.Enter ) ;
+	FCK.Events.AttachEvent( "OnBackSpace", FCK.BackSpace ) ;
+}
+*/
+// END iCM Modifications
+
+// Load Plugins.
+if ( FCKPlugins.ItemsCount > 0 )
+{
+	FCKScriptLoader.OnEmpty = CompleteLoading ;
+	FCKPlugins.Load() ;
+}
+else
+	CompleteLoading() ;
+
+function CompleteLoading()
+{
+	// Load the Toolbar
+	FCKToolbarSet.Name = FCKURLParams['Toolbar'] || 'Default' ;
+	FCKToolbarSet.Load( FCKToolbarSet.Name ) ;
+	FCKToolbarSet.Restart() ;
+
+	FCK.AttachToOnSelectionChange( FCKToolbarSet.RefreshItemsState ) ;
+	//FCK.AttachToOnSelectionChange( FCKSelection._Reset ) ;
+
+	FCK.SetStatus( FCK_STATUS_COMPLETE ) ;
+
+	// Call the special "FCKeditor_OnComplete" function that should be present in 
+	// the HTML page where the editor is located.
+	if ( typeof( window.parent.FCKeditor_OnComplete ) == 'function' )
+		window.parent.FCKeditor_OnComplete( FCK ) ;
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fck_onload.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fck_onload.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fck_onload.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,228 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_onload.js
+ * 	This is the script that is called when the editor page is loaded inside
+ * 	its IFRAME. It's the editor startup.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+// Disable the context menu in the editor (areas outside the editor area).
+function Window_OnContextMenu( e )
+{
+	if ( e )
+		e.preventDefault() ;	// The Gecko way.
+	else
+	{
+		if ( event.srcElement == document.getElementById('eSourceField') )
+			return true ;
+	}
+
+	return false ;				// The IE way.
+}
+window.document.oncontextmenu = Window_OnContextMenu ;
+
+// Gecko browsers doens't calculate well that IFRAME size so we must
+// recalculate it every time the window size changes.
+if ( FCKBrowserInfo.IsGecko )
+{
+	function Window_OnResize()
+	{
+		var oFrame = document.getElementById('eEditorArea') ;
+		oFrame.height = 0 ;
+
+		var oCell = document.getElementById( FCK.EditMode == FCK_EDITMODE_WYSIWYG ? 'eWysiwygCell' : 'eSource' ) ;
+		var iHeight = oCell.offsetHeight ;
+
+		oFrame.height = iHeight - 2 ;
+	}
+	window.onresize = Window_OnResize ;
+}
+
+if ( FCKBrowserInfo.IsIE )
+{
+	var aCleanupDocs = new Array() ;
+	aCleanupDocs[0] = document ;
+
+	// On IE, some circular references must be cleared to avoid memory leak.
+	function Window_OnBeforeUnload()
+	{
+//		if ( typeof( FCKToolbarSet ) != 'undefined' )
+//			FCKToolbarSet.Collapse() ;
+
+		var d, e ;
+
+		var j = 0 ;
+		while ( ( d = aCleanupDocs[j++] ) )
+		{
+			var i = 0 ;
+			while ( ( e = d.getElementsByTagName("DIV").item(i++) ) )
+			{
+				if ( e.FCKToolbarButton )
+					e.FCKToolbarButton = null ;
+
+				if ( e.FCKSpecialCombo )
+					e.FCKSpecialCombo = null ;
+
+				if ( e.Command )
+					e.Command = null ;
+			}
+
+			i = 0 ;
+			while ( ( e = d.getElementsByTagName("TR").item(i++) ) )
+			{
+				if ( e.FCKContextMenuItem )
+					e.FCKContextMenuItem = null ;
+			}
+
+			aCleanupDocs[j] = null ;
+		}
+		
+		if ( typeof( FCKTempBin ) != 'undefined' )
+			FCKTempBin.Reset() ;
+	}
+	window.attachEvent( "onunload", Window_OnBeforeUnload ) ;
+}
+
+// The editor startup follows these steps:
+//		1. Load the editor main page (fckeditor.html).
+//		2. Load the main configuration file (fckconfig.js)
+//		3. Process the configurations set directly in the page code (just load then).
+//		4. Override the configurations with the custom config file (if set).
+//		5. Override the configurations with that ones set directly in the page code.
+//		6. Load the editor skin styles CSS files.
+//		7. Load the first part of tha main scripts.
+//		8. Load the language file.
+//		9. Start the editor.
+
+// Start the editor as soon as the window is loaded.
+function Window_OnLoad()
+{
+	// There is a bug on Netscape when rendering the frame. It goes over the
+	// right border. So we must correct it.
+	if ( FCKBrowserInfo.IsNetscape )
+		document.getElementById('eWysiwygCell').style.paddingRight = '2px' ;
+
+	LoadConfigFile() ;
+}
+window.onload = Window_OnLoad ;
+
+function LoadConfigFile()
+{
+	FCKScriptLoader.OnEmpty = ProcessHiddenField ;
+
+	// First of all load the configuration file.
+	FCKScriptLoader.AddScript( '../fckconfig.js' ) ;
+}
+
+function ProcessHiddenField()
+{
+	FCKConfig.ProcessHiddenField() ;
+
+	LoadCustomConfigFile() ;
+}
+
+function LoadCustomConfigFile()
+{
+	// Load the custom configurations file (if defined).
+	if ( FCKConfig.CustomConfigurationsPath.length > 0 )
+	{
+		// Wait for the configuration file to be loaded to call the "LoadPageConfig".
+		FCKScriptLoader.OnEmpty = LoadPageConfig ;
+
+		FCKScriptLoader.AddScript( FCKConfig.CustomConfigurationsPath ) ;
+	}
+	else
+	{
+		// Load the page defined configurations immediately.
+		LoadPageConfig() ;
+	}
+}
+
+function LoadPageConfig()
+{
+	FCKConfig.LoadPageConfig() ;
+
+	// Load the styles for the configured skin.
+	LoadStyles() ;
+}
+
+function LoadStyles()
+{
+	if( window.console ) window.console.log( 'LoadStyles()' ) ;	// @Packager.Compactor.RemoveLine
+
+	FCKScriptLoader.OnEmpty = LoadScripts ;
+
+	// Load the active skin CSS.
+	FCKScriptLoader.AddScript( FCKConfig.SkinPath + 'fck_editor.css' ) ;
+	FCKScriptLoader.AddScript( FCKConfig.SkinPath + 'fck_contextmenu.css' ) ;
+}
+
+function LoadScripts()
+{
+	if( window.console ) window.console.log( 'LoadScripts()' ) ;	// @Packager.Compactor.RemoveLine
+
+	FCKScriptLoader.OnEmpty = null ;
+
+	// @Packager.Compactor.Remove.Start
+	var sSuffix = FCKBrowserInfo.IsIE ? 'ie' : 'gecko' ;
+
+	FCKScriptLoader.AddScript( '_source/internals/fckdebug.js' ) ;
+	FCKScriptLoader.AddScript( '_source/internals/fcktools.js' ) ;
+	FCKScriptLoader.AddScript( '_source/internals/fcktools_' + sSuffix + '.js' ) ;
+	FCKScriptLoader.AddScript( '_source/internals/fckregexlib.js' ) ;
+	FCKScriptLoader.AddScript( '_source/internals/fcklanguagemanager.js' ) ;
+	FCKScriptLoader.AddScript( '_source/classes/fckevents.js' ) ;
+	FCKScriptLoader.AddScript( '_source/internals/fckxhtmlentities.js' ) ;
+	FCKScriptLoader.AddScript( '_source/internals/fckxhtml.js' ) ;
+	FCKScriptLoader.AddScript( '_source/internals/fckxhtml_' + sSuffix + '.js' ) ;
+	FCKScriptLoader.AddScript( '_source/internals/fckcodeformatter.js' ) ;
+	FCKScriptLoader.AddScript( '_source/internals/fckundo_' + sSuffix + '.js' ) ;
+	FCKScriptLoader.AddScript( '_source/internals/fck_1.js' ) ;
+	FCKScriptLoader.AddScript( '_source/internals/fck_1_' + sSuffix + '.js' ) ;
+	// @Packager.Compactor.Remove.End
+
+	/* @Packager.Compactor.RemoveLine
+	if ( FCKBrowserInfo.IsIE )
+		FCKScriptLoader.AddScript( 'js/fckeditorcode_ie_1.js' ) ;
+	else
+		FCKScriptLoader.AddScript( 'js/fckeditorcode_gecko_1.js' ) ;
+	@Packager.Compactor.RemoveLine */
+}
+
+function LoadLanguageFile()
+{
+	if( window.console ) window.console.log( 'LoadLanguageFile()' ) ;	// @Packager.Compactor.RemoveLine
+
+	FCKScriptLoader.OnEmpty = LoadEditor ;
+
+	if( window.console ) window.console.log( 'Active Language: ' + FCKLanguageManager.ActiveLanguage.Code ) ;	// @Packager.Compactor.RemoveLine
+
+	FCKScriptLoader.AddScript( 'lang/' + FCKLanguageManager.ActiveLanguage.Code + '.js' ) ;
+}
+
+function LoadEditor()
+{
+	if( window.console ) window.console.log( 'LoadEditor()' ) ;	// @Packager.Compactor.RemoveLine
+
+	// Removes the OnEmpty listener.
+	FCKScriptLoader.OnEmpty = null ;
+
+	// Correct the editor layout to the correct language direction.
+	if ( FCKLang )
+		window.document.dir = FCKLang.Dir ;
+
+	// Starts the editor.
+	FCK.StartEditor() ;
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckbrowserinfo.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckbrowserinfo.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckbrowserinfo.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,32 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckbrowserinfo.js
+ * 	Defines the FCKBrowserInfo object that hold some browser informations.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+var FCKBrowserInfo ;
+
+if ( !( FCKBrowserInfo = NS.FCKBrowserInfo ) )
+{
+	FCKBrowserInfo = NS.FCKBrowserInfo = new Object() ;
+
+	var sAgent = navigator.userAgent.toLowerCase() ;
+
+	FCKBrowserInfo.IsIE			= ( sAgent.indexOf("msie") != -1 ) ;
+	FCKBrowserInfo.IsGecko		= !FCKBrowserInfo.IsIE ;
+	FCKBrowserInfo.IsSafari		= ( sAgent.indexOf("safari") != -1 ) ;
+	FCKBrowserInfo.IsNetscape	= ( sAgent.indexOf("netscape") != -1 ) ;
+}

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckcodeformatter.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckcodeformatter.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckcodeformatter.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,75 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckcodeformatter.js
+ * 	Format the HTML.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+var FCKCodeFormatter ;
+
+if ( !( FCKCodeFormatter = NS.FCKCodeFormatter ) )
+{
+	FCKCodeFormatter = NS.FCKCodeFormatter = new Object() ;
+
+	FCKCodeFormatter.Regex = new Object() ;
+
+	// Regex for line breaks.
+	FCKCodeFormatter.Regex.BlocksOpener = /\<(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TITLE|META|LINK|BASE|SCRIPT|LINK|TD|AREA|OPTION)[^\>]*\>/gi ;
+	FCKCodeFormatter.Regex.BlocksCloser = /\<\/(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TITLE|META|LINK|BASE|SCRIPT|LINK|TD|AREA|OPTION)[^\>]*\>/gi ;
+
+	FCKCodeFormatter.Regex.NewLineTags	= /\<(BR|HR)[^\>]\>/gi ;
+
+	FCKCodeFormatter.Regex.MainTags = /\<\/?(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR)[^\>]*\>/gi ;
+
+	FCKCodeFormatter.Regex.LineSplitter = /\s*\n+\s*/g ;
+
+	// Regex for indentation.
+	FCKCodeFormatter.Regex.IncreaseIndent = /^\<(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR|UL|OL)[ \/\>]/i ;
+	FCKCodeFormatter.Regex.DecreaseIndent = /^\<\/(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR|UL|OL)[ \>]/i ;
+	FCKCodeFormatter.Regex.FormatIndentatorRemove = new RegExp( FCKConfig.FormatIndentator ) ;
+
+	FCKCodeFormatter.Format = function( html )
+	{
+		// Line breaks.
+		var sFormatted	= html.replace( this.Regex.BlocksOpener, '\n$&' ) ; ;
+		sFormatted		= sFormatted.replace( this.Regex.BlocksCloser, '$&\n' ) ;
+		sFormatted		= sFormatted.replace( this.Regex.NewLineTags, '$&\n' ) ;
+		sFormatted		= sFormatted.replace( this.Regex.MainTags, '\n$&\n' ) ;
+		
+		// Indentation.
+		var sIndentation = '' ;
+		
+		var asLines = sFormatted.split( this.Regex.LineSplitter ) ;
+		sFormatted = '' ;
+		
+		for ( var i = 0 ; i < asLines.length ; i++ )
+		{
+			var sLine = asLines[i] ;
+			
+			if ( sLine.length == 0 )
+				continue ;
+			
+			if ( this.Regex.DecreaseIndent.test( sLine ) )
+				sIndentation = sIndentation.replace( this.Regex.FormatIndentatorRemove, '' ) ;
+
+			sFormatted += sIndentation + sLine + '\n' ;
+			
+			if ( this.Regex.IncreaseIndent.test( sLine ) )
+				sIndentation += FCKConfig.FormatIndentator ;
+		}
+
+		return sFormatted.trim() ;
+	}
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckcommands.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckcommands.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckcommands.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,123 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckcommands.js
+ * 	Define all commands available in the editor.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+var FCKCommands = FCK.Commands = new Object() ;
+FCKCommands.LoadedCommands = new Object() ;
+
+FCKCommands.RegisterCommand = function( commandName, command )
+{
+	this.LoadedCommands[ commandName ] = command ;
+}
+
+FCKCommands.GetCommand = function( commandName )
+{
+	var oCommand = FCKCommands.LoadedCommands[ commandName ] ;
+	
+	if ( oCommand )
+		return oCommand ;
+
+	switch ( commandName )
+	{
+		case 'DocProps'		: oCommand = new FCKDialogCommand( 'DocProps'	, FCKLang.DocProps				, 'dialog/fck_docprops.html'	, 400, 390, FCKCommands.GetFullPageState ) ; break ;
+		case 'Templates'	: oCommand = new FCKDialogCommand( 'Templates'	, FCKLang.DlgTemplatesTitle		, 'dialog/fck_template.html'	, 380, 450 ) ; break ;
+		case 'Link'			: oCommand = new FCKDialogCommand( 'Link'		, FCKLang.DlgLnkWindowTitle		, 'dialog/fck_link.html'		, 400, 330, FCK.GetNamedCommandState, 'CreateLink' ) ; break ;
+		case 'Anchor'		: oCommand = new FCKDialogCommand( 'Anchor'		, FCKLang.DlgAnchorTitle		, 'dialog/fck_anchor.html'		, 370, 170 ) ; break ;
+		case 'BulletedList'	: oCommand = new FCKDialogCommand( 'BulletedList', FCKLang.BulletedListProp		, 'dialog/fck_listprop.html'	, 370, 170 ) ; break ;
+		case 'NumberedList'	: oCommand = new FCKDialogCommand( 'NumberedList', FCKLang.NumberedListProp		, 'dialog/fck_listprop.html'	, 370, 170 ) ; break ;
+		case 'About'		: oCommand = new FCKDialogCommand( 'About'		, FCKLang.About					, 'dialog/fck_about.html'		, 400, 330 ) ; break ;
+
+		case 'Find'			: oCommand = new FCKDialogCommand( 'Find'		, FCKLang.DlgFindTitle			, 'dialog/fck_find.html'		, 340, 170 ) ; break ;
+		case 'Replace'		: oCommand = new FCKDialogCommand( 'Replace'	, FCKLang.DlgReplaceTitle		, 'dialog/fck_replace.html'		, 340, 200 ) ; break ;
+
+		case 'Image'		: oCommand = new FCKDialogCommand( 'Image'		, FCKLang.DlgImgTitle			, 'dialog/fck_image.html'		, 450, 400 ) ; break ;
+		case 'Flash'		: oCommand = new FCKDialogCommand( 'Flash'		, FCKLang.DlgFlashTitle			, 'dialog/fck_flash.html'		, 450, 400 ) ; break ;
+		case 'SpecialChar'	: oCommand = new FCKDialogCommand( 'SpecialChar', FCKLang.DlgSpecialCharTitle	, 'dialog/fck_specialchar.html'	, 400, 300 ) ; break ;
+		case 'Smiley'		: oCommand = new FCKDialogCommand( 'Smiley'		, FCKLang.DlgSmileyTitle		, 'dialog/fck_smiley.html'		, FCKConfig.SmileyWindowWidth, FCKConfig.SmileyWindowHeight ) ; break ;
+		case 'Table'		: oCommand = new FCKDialogCommand( 'Table'		, FCKLang.DlgTableTitle			, 'dialog/fck_table.html'		, 400, 250 ) ; break ;
+		case 'TableProp'	: oCommand = new FCKDialogCommand( 'Table'		, FCKLang.DlgTableTitle			, 'dialog/fck_table.html?Parent', 400, 250 ) ; break ;
+		case 'TableCellProp': oCommand = new FCKDialogCommand( 'TableCell'	, FCKLang.DlgCellTitle			, 'dialog/fck_tablecell.html'	, 500, 250 ) ; break ;
+		case 'UniversalKey'	: oCommand = new FCKDialogCommand( 'UniversalKey', FCKLang.UniversalKeyboard	, 'dialog/fck_universalkey.html', 415, 300 ) ; break ;
+
+		case 'Style'		: oCommand = new FCKStyleCommand() ; break ;
+
+		case 'FontName'		: oCommand = new FCKFontNameCommand() ; break ;
+		case 'FontSize'		: oCommand = new FCKFontSizeCommand() ; break ;
+		case 'FontFormat'	: oCommand = new FCKFormatBlockCommand() ; break ;
+
+		case 'Source'		: oCommand = new FCKSourceCommand() ; break ;
+		case 'Preview'		: oCommand = new FCKPreviewCommand() ; break ;
+		case 'Save'			: oCommand = new FCKSaveCommand() ; break ;
+		case 'NewPage'		: oCommand = new FCKNewPageCommand() ; break ;
+		case 'PageBreak'	: oCommand = new FCKPageBreakCommand() ; break ;
+
+		case 'TextColor'	: oCommand = new FCKTextColorCommand('ForeColor') ; break ;
+		case 'BGColor'		: oCommand = new FCKTextColorCommand('BackColor') ; break ;
+
+		case 'PasteText'	: oCommand = new FCKPastePlainTextCommand() ; break ;
+		case 'PasteWord'	: oCommand = new FCKPasteWordCommand() ; break ;
+
+		case 'TableInsertRow'		: oCommand = new FCKTableCommand('TableInsertRow') ; break ;
+		case 'TableDeleteRows'		: oCommand = new FCKTableCommand('TableDeleteRows') ; break ;
+		case 'TableInsertColumn'	: oCommand = new FCKTableCommand('TableInsertColumn') ; break ;
+		case 'TableDeleteColumns'	: oCommand = new FCKTableCommand('TableDeleteColumns') ; break ;
+		case 'TableInsertCell'		: oCommand = new FCKTableCommand('TableInsertCell') ; break ;
+		case 'TableDeleteCells'		: oCommand = new FCKTableCommand('TableDeleteCells') ; break ;
+		case 'TableMergeCells'		: oCommand = new FCKTableCommand('TableMergeCells') ; break ;
+		case 'TableSplitCell'		: oCommand = new FCKTableCommand('TableSplitCell') ; break ;
+
+		case 'Form'			: oCommand = new FCKDialogCommand( 'Form'		, FCKLang.Form			, 'dialog/fck_form.html'		, 380, 230 ) ; break ;
+		case 'Checkbox'		: oCommand = new FCKDialogCommand( 'Checkbox'	, FCKLang.Checkbox		, 'dialog/fck_checkbox.html'	, 380, 230 ) ; break ;
+		case 'Radio'		: oCommand = new FCKDialogCommand( 'Radio'		, FCKLang.RadioButton	, 'dialog/fck_radiobutton.html'	, 380, 230 ) ; break ;
+		case 'TextField'	: oCommand = new FCKDialogCommand( 'TextField'	, FCKLang.TextField		, 'dialog/fck_textfield.html'	, 380, 230 ) ; break ;
+		case 'Textarea'		: oCommand = new FCKDialogCommand( 'Textarea'	, FCKLang.Textarea		, 'dialog/fck_textarea.html'	, 380, 230 ) ; break ;
+		case 'HiddenField'	: oCommand = new FCKDialogCommand( 'HiddenField', FCKLang.HiddenField	, 'dialog/fck_hiddenfield.html'	, 380, 230 ) ; break ;
+		case 'Button'		: oCommand = new FCKDialogCommand( 'Button'		, FCKLang.Button		, 'dialog/fck_button.html'		, 380, 230 ) ; break ;
+		case 'Select'		: oCommand = new FCKDialogCommand( 'Select'		, FCKLang.SelectionField, 'dialog/fck_select.html'		, 400, 380 ) ; break ;
+		case 'ImageButton'	: oCommand = new FCKDialogCommand( 'ImageButton', FCKLang.ImageButton	, 'dialog/fck_image.html?ImageButton', 450, 400 ) ; break ;
+
+		case 'SpellCheck'	: oCommand = new FCKSpellCheckCommand() ; break ;
+
+		case 'Undo'	: oCommand = new FCKUndoCommand() ; break ;
+		case 'Redo'	: oCommand = new FCKRedoCommand() ; break ;
+
+		// Generic Undefined command (usually used when a command is under development).
+		case 'Undefined'	: oCommand = new FCKUndefinedCommand() ; break ;
+		
+		// By default we assume that it is a named command.
+		default:
+			if ( FCKRegexLib.NamedCommands.test( commandName ) )
+				oCommand = new FCKNamedCommand( commandName ) ;
+			else
+			{
+				alert( FCKLang.UnknownCommand.replace( /%1/g, commandName ) ) ;
+				return null ;
+			}
+	}
+	
+	FCKCommands.LoadedCommands[ commandName ] = oCommand ;
+	
+	return oCommand ;
+}
+
+// Gets the state of the "Document Properties" button. It must be enabled only
+// when "Full Page" editing is available.
+FCKCommands.GetFullPageState = function()
+{
+	return FCKConfig.FullPage ? FCK_TRISTATE_OFF : FCK_TRISTATE_DISABLED ;
+}

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckconfig.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckconfig.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckconfig.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,150 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckconfig.js
+ * 	Creates and initializes the FCKConfig object.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+var FCKConfig = FCK.Config = new Object() ;
+
+// Editor Base Path
+if ( document.location.protocol == 'file:' )
+{
+	FCKConfig.BasePath = document.location.pathname.substr(1) ;
+	FCKConfig.BasePath = FCKConfig.BasePath.replace( /\\/gi, '/' ) ;
+	FCKConfig.BasePath = 'file://' + FCKConfig.BasePath.substring(0,FCKConfig.BasePath.lastIndexOf('/')+1) ;
+}
+else
+{
+	FCKConfig.BasePath = document.location.pathname.substring(0,document.location.pathname.lastIndexOf('/')+1) ;
+	FCKConfig.FullBasePath = document.location.protocol + '//' + document.location.host + FCKConfig.BasePath ;
+}
+
+FCKConfig.EditorPath = FCKConfig.BasePath.replace( /editor\/$/, '' ) ;
+
+// There is a bug in Gecko. If the editor is hidden on startup, an error is 
+// thrown when trying to get the screen dimentions.
+try
+{
+	FCKConfig.ScreenWidth	= screen.width ;
+	FCKConfig.ScreenHeight	= screen.height ;
+}
+catch (e) 
+{
+	FCKConfig.ScreenWidth	= 800 ;
+	FCKConfig.ScreenHeight	= 600 ;
+}
+
+// Override the actual configuration values with the values passed throw the 
+// hidden field "<InstanceName>___Config".
+FCKConfig.ProcessHiddenField = function()
+{
+	this.PageConfig = new Object() ;
+
+	// Get the hidden field.
+	var oConfigField = window.parent.document.getElementById( FCK.Name + '___Config' ) ;
+	
+	// Do nothing if the config field was not defined.
+	if ( ! oConfigField ) return ;
+
+	var aCouples = oConfigField.value.split('&') ;
+
+	for ( var i = 0 ; i < aCouples.length ; i++ )
+	{
+		if ( aCouples[i].length == 0 )
+			continue ;
+
+		var aConfig = aCouples[i].split( '=' ) ;
+		var sKey = unescape( aConfig[0] ) ;
+		var sVal = unescape( aConfig[1] ) ;
+
+		if ( sKey == 'CustomConfigurationsPath' )	// The Custom Config File path must be loaded immediately.
+			FCKConfig[ sKey ] = sVal ;
+			
+		else if ( sVal.toLowerCase() == "true" )	// If it is a boolean TRUE.
+			this.PageConfig[ sKey ] = true ;
+			
+		else if ( sVal.toLowerCase() == "false" )	// If it is a boolean FALSE.
+			this.PageConfig[ sKey ] = false ;
+			
+		else if ( ! isNaN( sVal ) )					// If it is a number.
+			this.PageConfig[ sKey ] = parseInt( sVal ) ;
+			
+		else										// In any other case it is a string.
+			this.PageConfig[ sKey ] = sVal ;
+	}
+}
+
+FCKConfig.LoadPageConfig = function()
+{
+	for ( var sKey in this.PageConfig )
+		FCKConfig[ sKey ] = this.PageConfig[ sKey ] ;
+}
+
+// Define toolbar sets collection.
+FCKConfig.ToolbarSets = new Object() ;
+
+// Defines the plugins collection.
+FCKConfig.Plugins = new Object() ;
+FCKConfig.Plugins.Items = new Array() ;
+
+FCKConfig.Plugins.Add = function( name, langs, path )
+{
+	FCKConfig.Plugins.Items.addItem( [name, langs, path] ) ;
+}
+
+// FCKConfig.ProtectedSource: object that holds a collection of Regular 
+// Expressions that defined parts of the raw HTML that must remain untouched
+// like custom tags, scripts, server side code, etc...
+FCKConfig.ProtectedSource = new Object() ;
+FCKConfig.ProtectedSource.RegexEntries = new Array() ;
+
+FCKConfig.ProtectedSource.Add = function( regexPattern )
+{
+	this.RegexEntries.addItem( regexPattern ) ;
+}
+
+FCKConfig.ProtectedSource.Protect = function( html )
+{
+	function _Replace( protectedSource )
+	{
+		var index = FCKTempBin.AddElement( protectedSource ) ;
+		return '<!--{PS..' + index + '}-->' ;
+	}
+	
+	for ( var i = 0 ; i < this.RegexEntries.length ; i++ )
+	{
+		html = html.replace( this.RegexEntries[i], _Replace ) ;
+	}
+	
+	return html ;
+}
+
+
+FCKConfig.ProtectedSource.Revert = function( html, clearBin )
+{
+	function _Replace( m, opener, index )
+	{
+		var protectedValue = clearBin ? FCKTempBin.RemoveElement( index ) : FCKTempBin.Elements[ index ] ;
+		// There could be protected source inside another one.
+		return FCKConfig.ProtectedSource.Revert( protectedValue, clearBin ) ;
+	}
+
+	return html.replace( /(<|&lt;)!--\{PS..(\d+)\}--(>|&gt;)/g, _Replace ) ;
+}
+
+// First of any other protection, we must protect all comments to avoid 
+// loosing them (of course, IE related).
+FCKConfig.ProtectedSource.Add( /<!--[\s\S]*?-->/g ) ;
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckcontextmenu.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckcontextmenu.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckcontextmenu.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,232 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckcontextmenu.js
+ * 	Defines the FCKContextMenu object that is responsible for all
+ * 	Context Menu operations.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+var FCKContextMenu = new Object() ;
+
+// This property is internally used to indicate that the context menu has been created.
+FCKContextMenu._IsLoaded = false ;
+
+// This method creates the context menu inside a DIV tag. Take a look at the end of this file for a sample output.
+FCKContextMenu.Reload = function()
+{
+	// Create the Main DIV that holds the Context Menu.
+	this._Div = this._Document.createElement( 'DIV' ) ;
+	this._Div.className			= 'CM_ContextMenu' ;
+	this._Div.style.position	= 'absolute' ;
+	this._Div.style.visibility	= 'hidden' ;
+	this._Document.body.appendChild( this._Div );
+
+	// Create the main table for the menu items.
+	var oTable = this._Document.createElement( 'TABLE' ) ;
+	oTable.cellSpacing = 0 ;
+	oTable.cellPadding = 0 ;
+	oTable.border = 0 ;
+	this._Div.appendChild( oTable ) ;
+
+	// Load all configured groups.
+	this.Groups = new Object() ;
+	
+	for ( var i = 0 ; i < FCKConfig.ContextMenu.length ; i++ )
+	{
+		var sGroup = FCKConfig.ContextMenu[i] ;
+		this.Groups[ sGroup ] = this._GetGroup( sGroup ) ;
+		this.Groups[ sGroup ].CreateTableRows( oTable ) ;
+	}
+
+	this._IsLoaded = true ;
+}
+
+FCKContextMenu._GetGroup = function( groupName )
+{
+	var oGroup ;
+
+	switch ( groupName )
+	{
+		case 'Generic' :
+			// Generic items that are always available.
+			oGroup = new FCKContextMenuGroup() ;
+
+			oGroup.Add( new FCKContextMenuItem( this, 'Cut'		, FCKLang.Cut	, true ) ) ;
+			oGroup.Add( new FCKContextMenuItem( this, 'Copy'	, FCKLang.Copy	, true ) ) ;
+			oGroup.Add( new FCKContextMenuItem( this, 'Paste'	, FCKLang.Paste	, true ) ) ;
+
+			break ;
+
+		case 'Link' :
+			oGroup = new FCKContextMenuGroup() ;
+
+			oGroup.Add( new FCKContextMenuSeparator() ) ;
+			oGroup.Add( new FCKContextMenuItem( this, 'Link'	, FCKLang.EditLink	, true ) ) ;
+			oGroup.Add( new FCKContextMenuItem( this, 'Unlink'	, FCKLang.RemoveLink, true ) ) ;
+
+			break ;
+
+		case 'TableCell' :
+			oGroup = new FCKContextMenuGroup() ;
+
+			oGroup.Add( new FCKContextMenuSeparator() ) ;
+			oGroup.Add( new FCKContextMenuItem( this, 'TableInsertRow'		, FCKLang.InsertRow, true ) ) ;
+			oGroup.Add( new FCKContextMenuItem( this, 'TableDeleteRows'		, FCKLang.DeleteRows, true ) ) ;
+			oGroup.Add( new FCKContextMenuSeparator() ) ;
+			oGroup.Add( new FCKContextMenuItem( this, 'TableInsertColumn'	, FCKLang.InsertColumn, true ) ) ;
+			oGroup.Add( new FCKContextMenuItem( this, 'TableDeleteColumns'	, FCKLang.DeleteColumns, true ) ) ;
+			oGroup.Add( new FCKContextMenuSeparator() ) ;
+			oGroup.Add( new FCKContextMenuItem( this, 'TableInsertCell'		, FCKLang.InsertCell, true ) ) ;
+			oGroup.Add( new FCKContextMenuItem( this, 'TableDeleteCells'	, FCKLang.DeleteCells, true ) ) ;
+			oGroup.Add( new FCKContextMenuItem( this, 'TableMergeCells'		, FCKLang.MergeCells, true ) ) ;
+			oGroup.Add( new FCKContextMenuItem( this, 'TableSplitCell'		, FCKLang.SplitCell, true ) ) ;
+			oGroup.Add( new FCKContextMenuSeparator() ) ;
+			oGroup.Add( new FCKContextMenuItem( this, 'TableCellProp'		, FCKLang.CellProperties, true ) ) ;
+			oGroup.Add( new FCKContextMenuItem( this, 'TableProp'			, FCKLang.TableProperties, true ) ) ;
+
+			break ;
+
+		case 'Table' :
+			return new FCKContextMenuGroup( true, this, 'Table', FCKLang.TableProperties, true ) ;
+
+		case 'Image' :
+			return new FCKContextMenuGroup( true, this, 'Image', FCKLang.ImageProperties, true ) ;
+
+		case 'Flash' :
+			return new FCKContextMenuGroup( true, this, 'Flash', FCKLang.FlashProperties, true ) ;
+
+		case 'Form' :
+			return new FCKContextMenuGroup( true, this, 'Form', FCKLang.FormProp, true ) ;
+
+		case 'Checkbox' :
+			return new FCKContextMenuGroup( true, this, 'Checkbox', FCKLang.CheckboxProp, true ) ;
+
+		case 'Radio' :
+			return new FCKContextMenuGroup( true, this, 'Radio', FCKLang.RadioButtonProp, true ) ;
+
+		case 'TextField' :
+			return new FCKContextMenuGroup( true, this, 'TextField', FCKLang.TextFieldProp, true ) ;
+
+		case 'HiddenField' :
+			return new FCKContextMenuGroup( true, this, 'HiddenField', FCKLang.HiddenFieldProp, true ) ;
+
+		case 'ImageButton' :
+			return new FCKContextMenuGroup( true, this, 'ImageButton', FCKLang.ImageButtonProp, true ) ;
+
+		case 'Button' :
+			return new FCKContextMenuGroup( true, this, 'Button', FCKLang.ButtonProp, true ) ;
+
+		case 'Select' :
+			return new FCKContextMenuGroup( true, this, 'Select', FCKLang.SelectionFieldProp, true ) ;
+
+		case 'Textarea' :
+			return new FCKContextMenuGroup( true, this, 'Textarea', FCKLang.TextareaProp, true ) ;
+
+		case 'BulletedList' :
+			return new FCKContextMenuGroup( true, this, 'BulletedList', FCKLang.BulletedListProp, true ) ;
+
+		case 'NumberedList' :
+			return new FCKContextMenuGroup( true, this, 'NumberedList', FCKLang.NumberedListProp, true ) ;
+
+		case 'Anchor' :
+			return new FCKContextMenuGroup( true, this, 'Anchor', FCKLang.AnchorProp, true ) ;
+	}
+	
+	return oGroup ;
+}
+
+FCKContextMenu.RefreshState = function()
+{
+  	// Get the actual selected tag (if any).
+	var oTag = FCKSelection.GetSelectedElement() ;
+	var sTagName ;
+
+	if ( oTag )
+		sTagName = oTag.tagName ;
+
+	// Set items visibility.
+
+//	var bIsAnchor = ( sTagName == 'A' && oTag.name.length > 0 && oTag.href.length == 0 ) ;
+
+//	if ( this.Groups['Link'] )			this.Groups['Link'].SetVisible( !bIsAnchor && FCK.GetNamedCommandState( 'Unlink' ) != FCK_TRISTATE_DISABLED ) ;
+	if ( this.Groups['Link'] )			this.Groups['Link'].SetVisible( FCK.GetNamedCommandState( 'Unlink' ) != FCK_TRISTATE_DISABLED ) ;
+
+	if ( this.Groups['TableCell'] )		this.Groups['TableCell'].SetVisible( sTagName != 'TABLE' && FCKSelection.HasAncestorNode('TABLE') ) ;
+	if ( this.Groups['Table'] )			this.Groups['Table'].SetVisible( sTagName == 'TABLE' ) ;
+	
+	if ( this.Groups['Image'] )			this.Groups['Image'].SetVisible( sTagName == 'IMG' && !oTag.getAttribute('_fckfakelement') ) ;
+	if ( this.Groups['Flash'] )			this.Groups['Flash'].SetVisible( sTagName == 'IMG' && oTag.getAttribute('_fckflash') ) ;
+	if ( this.Groups['Anchor'] )		this.Groups['Anchor'].SetVisible( sTagName == 'IMG' && oTag.getAttribute('_fckanchor') ) ;
+
+	if ( this.Groups['BulletedList'] )	this.Groups['BulletedList'].SetVisible( FCKSelection.HasAncestorNode('UL') ) ;
+	if ( this.Groups['NumberedList'] )	this.Groups['NumberedList'].SetVisible( FCKSelection.HasAncestorNode('OL') ) ;
+
+	if ( this.Groups['Select'] )		this.Groups['Select'].SetVisible( sTagName == 'SELECT' ) ;
+	if ( this.Groups['Textarea'] )		this.Groups['Textarea'].SetVisible( sTagName == 'TEXTAREA' ) ;
+	if ( this.Groups['Form'] )			this.Groups['Form'].SetVisible( FCKSelection.HasAncestorNode('FORM') ) ;
+	if ( this.Groups['Checkbox'] )		this.Groups['Checkbox'].SetVisible(		sTagName == 'INPUT' && oTag.type == 'checkbox' ) ;
+	if ( this.Groups['Radio'] )			this.Groups['Radio'].SetVisible(		sTagName == 'INPUT' && oTag.type == 'radio' ) ;
+	if ( this.Groups['TextField'] )		this.Groups['TextField'].SetVisible(	sTagName == 'INPUT' && ( oTag.type == 'text' || oTag.type == 'password' ) ) ;
+	if ( this.Groups['HiddenField'] )	this.Groups['HiddenField'].SetVisible(	sTagName == 'INPUT' && oTag.type == 'hidden' ) ;
+	if ( this.Groups['ImageButton'] )	this.Groups['ImageButton'].SetVisible(	sTagName == 'INPUT' && oTag.type == 'image' ) ;
+	if ( this.Groups['Button'] )		this.Groups['Button'].SetVisible(		sTagName == 'INPUT' && ( oTag.type == 'button' || oTag.type == 'submit' || oTag.type == 'reset' ) ) ;
+
+	// Refresh the state of all visible items (active/disactive)
+	for ( var o in this.Groups )
+	{
+		this.Groups[o].RefreshState() ;
+	}
+}
+
+/*
+Sample Context Menu Output
+-----------------------------------------
+<div class="CM_ContextMenu">
+	<table cellSpacing="0" cellPadding="0" border="0">
+		<tr class="CM_Disabled">
+			<td class="CM_Icon"><img alt="" src="icons/cut.gif" width="21" height="20" unselectable="on"></td>
+			<td class="CM_Label" unselectable="on">Cut</td>
+		</tr>
+		<tr class="CM_Disabled">
+			<td class="CM_Icon"><img height="20" alt="" src="icons/copy.gif" width="21"></td>
+			<td class="CM_Label">Copy</td>
+		</tr>
+		<tr class="CM_Option" onmouseover="OnOver(this);" onmouseout="OnOut(this);">
+			<td class="CM_Icon"><img height="20" alt="" src="icons/paste.gif" width="21"></td>
+			<td class="CM_Label">Paste</td>
+		</tr>
+		<tr class="CM_Separator">
+			<td class="CM_Icon"></td>
+			<td class="CM_Label"><div></div></td>
+		</tr>
+		<tr class="CM_Option" onmouseover="OnOver(this);" onmouseout="OnOut(this);">
+			<td class="CM_Icon"><img height="20" alt="" src="icons/print.gif" width="21"></td>
+			<td class="CM_Label">Print</td>
+		</tr>
+		<tr class="CM_Separator">
+			<td class="CM_Icon"></td>
+			<td class="CM_Label"><div></div></td>
+		</tr>
+		<tr class="CM_Option" onmouseover="OnOver(this);" onmouseout="OnOut(this);">
+			<td class="CM_Icon"></td>
+			<td class="CM_Label">Do Something</td>
+		</tr>
+		<tr class="CM_Option" onmouseover="OnOver(this);" onmouseout="OnOut(this);">
+			<td class="CM_Icon"></td>
+			<td class="CM_Label">Just Testing</td>
+		</tr>
+	</table>
+</div>
+*/
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckcontextmenu_gecko.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckcontextmenu_gecko.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckcontextmenu_gecko.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,90 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckcontextmenu_gecko.js
+ * 	Context Menu operations. (Gecko specific implementations)
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+// The Context Menu CSS must be added to the parent document.
+FCKTools.AppendStyleSheet( window.parent.document, FCKConfig.SkinPath + 'fck_contextmenu.css' ) ;
+
+FCKContextMenu.Show = function( x, y )
+{
+	if ( ! this._Document )
+	{
+		this._Document = window.parent.document ;
+	}
+
+	// Create the context menu if needed.
+	if ( !this._IsLoaded ) 
+	{
+		this.Reload() ;
+		this._Div.style.zIndex = 10000 ;
+		this._Div.oncontextmenu = function() { return false ; }
+	}
+	
+	this.RefreshState() ;
+
+	// Get the editor area and editor frames positions.	
+	var oCoordsA = FCKTools.GetElementPosition( FCK.EditorWindow.frameElement ) ;
+	var oCoordsB = FCKTools.GetElementPosition( window.frameElement ) ;
+	
+	x += oCoordsA.X + oCoordsB.X ;
+	y += oCoordsA.Y + oCoordsB.Y ;
+
+	// Verifies if the context menu is completely visible.
+	var iXSpace = x + this._Div.offsetWidth - this._Div.ownerDocument.defaultView.innerWidth ;
+	var iYSpace = y + this._Div.offsetHeight - this._Div.ownerDocument.defaultView.innerHeight ;
+	
+	if ( iXSpace > 0 ) x -= this._Div.offsetWidth ;
+	if ( iYSpace > 0 ) y -= this._Div.offsetHeight ;
+	
+	// Set the context menu DIV in the specified location.
+	this._Div.style.left	= x + 'px' ;
+	this._Div.style.top		= y + 'px' ;
+
+	// Watch the "OnClick" event for all windows to close the Context Menu.
+	var oActualWindow = FCK.EditorWindow ;
+	while ( oActualWindow )
+	{
+		oActualWindow.document.addEventListener( 'click', FCKContextMenu._OnDocumentClick, false ) ;
+		if ( oActualWindow != oActualWindow.parent )
+			oActualWindow = oActualWindow.parent ;
+		else if ( oActualWindow.opener == null ) 
+			oActualWindow = oActualWindow.opener ;
+		else
+			break ;
+	}
+	
+	// Show it.
+	this._Div.style.visibility	= '' ;
+}
+
+FCKContextMenu._OnDocumentClick = function( event )
+{
+	var e = event.target ;
+	while ( e )
+	{
+		if ( e == FCKContextMenu._Div ) return ;
+		e = e.parentNode ;
+	}
+	FCKContextMenu.Hide() ;
+}
+
+FCKContextMenu.Hide = function()
+{
+	this._Div.style.visibility = 'hidden' ;
+	this._Div.style.left = this._Div.style.top = '1px' ;
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckcontextmenu_ie.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckcontextmenu_ie.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckcontextmenu_ie.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,71 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckcontextmenu_ie.js
+ * 	Context Menu operations. (IE specific implementations)
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+function FCKContextMenu_OnContextMenu() { return false ; }
+
+FCKContextMenu.Show = function( x, y )
+{
+	// Create the Popup used to show the menu (this is a IE 5.5+ feature).
+	if ( ! this._Popup )
+	{
+		this._Popup = window.createPopup() ;
+		this._Document = this._Popup.document ;
+		this._Document.createStyleSheet( FCKConfig.SkinPath + 'fck_contextmenu.css' ) ;
+		this._Document.oncontextmenu = FCKContextMenu_OnContextMenu ;
+
+		aCleanupDocs[ aCleanupDocs.length ] = this._Document ;
+	}
+
+	// Create the context menu if needed.
+	if ( !this._IsLoaded )
+	{
+		this.Reload() ;
+		this._Div.style.visibility = '' ;
+	}
+
+	this.RefreshState() ;
+
+	// IE doens't get the offsetWidth and offsetHeight values if the element is not visible.
+	// So the Popup must be "shown" with no size to be able to get these values.
+	this._Popup.show( x, y, 0, 0 ) ;
+
+	// This was the previous solution. It works well to.
+	// So a temporary element is created to get this for us.
+	/*
+	if ( !this._DivCopy )
+	{
+		this._DivCopy = document.createElement( 'DIV' ) ;
+		this._DivCopy.className			= 'CM_ContextMenu' ;
+		this._DivCopy.style.position	= 'absolute' ;
+		this._DivCopy.style.visibility	= 'hidden' ;
+		document.body.appendChild( this._DivCopy );
+	}
+
+	this._DivCopy.innerHTML = this._Div.innerHTML ;
+	*/
+
+	// Show the Popup at the specified location.
+	this._Popup.show( x, y, this._Div.offsetWidth, this._Div.offsetHeight ) ;
+}
+
+FCKContextMenu.Hide = function()
+{
+	if ( this._Popup )
+		this._Popup.hide() ;
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckcoreextensions.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckcoreextensions.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckcoreextensions.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,92 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckcoreextensions.js
+ * 	Some extensions to the Javascript Core.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+// Extends the Array object, creating a "addItem" method on it.
+Array.prototype.addItem = function( item )
+{
+	var i = this.length ;
+	this[ i ] = item ;
+	return i ;
+}
+
+Array.prototype.indexOf = function( value )
+{
+	for ( var i = 0 ; i < this.length ; i++ )
+	{
+		if ( this[i] == value )
+			return i ;
+	}
+	return -1 ;
+}
+
+String.prototype.startsWith = function( value )
+{
+	return ( this.substr( 0, value.length ) == value ) ;
+}
+
+// Extends the String object, creating a "endsWith" method on it.
+String.prototype.endsWith = function( value, ignoreCase )
+{
+	var L1 = this.length ;
+	var L2 = value.length ;
+	
+	if ( L2 > L1 )
+		return false ;
+
+	if ( ignoreCase )
+	{
+		var oRegex = new RegExp( value + '$' , 'i' ) ;
+		return oRegex.test( this ) ;
+	}
+	else
+		return ( L2 == 0 || this.substr( L1 - L2, L2 ) == value ) ;
+}
+
+String.prototype.remove = function( start, length )
+{
+	var s = '' ;
+	
+	if ( start > 0 )
+		s = this.substring( 0, start ) ;
+	
+	if ( start + length < this.length )
+		s += this.substring( start + length , this.length ) ;
+		
+	return s ;
+}
+
+String.prototype.trim = function()
+{
+	return this.replace( /(^\s*)|(\s*$)/g, '' ) ;
+}
+
+String.prototype.ltrim = function()
+{
+	return this.replace( /^\s*/g, '' ) ;
+}
+
+String.prototype.rtrim = function()
+{
+	return this.replace( /\s*$/g, '' ) ;
+}
+
+String.prototype.replaceNewLineChars = function( replacement )
+{
+	return this.replace( /\n/g, replacement ) ;
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckdebug.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckdebug.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckdebug.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,39 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckdebug.js
+ * 	Debug window control and operations.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+var FCKDebug = new Object() ;
+
+if ( FCKConfig.Debug )
+{
+	FCKDebug.Output = function( message, color )
+	{
+		if ( ! FCKConfig.Debug ) return ;
+		
+		if ( message != null && isNaN( message ) )
+			message = message.replace(/</g, "&lt;") ;
+
+		if ( !this.DebugWindow || this.DebugWindow.closed )
+			this.DebugWindow = window.open( 'fckdebug.html', 'FCKeditorDebug', 'menubar=no,scrollbars=no,resizable=yes,location=no,toolbar=no,width=600,height=500', true ) ;
+		
+		if ( this.DebugWindow.Output)
+			this.DebugWindow.Output( message, color ) ;
+	}
+}
+else
+	FCKDebug.Output = function() {}

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckdialog.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckdialog.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckdialog.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,34 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckdialog.js
+ * 	Dialog windows operations.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+var FCKDialog = new Object() ;
+
+// This method opens a dialog window using the standard dialog template.
+FCKDialog.OpenDialog = function( dialogName, dialogTitle, dialogPage, width, height, customValue, parentWindow, resizable )
+{
+	// Setup the dialog info.
+	var oDialogInfo = new Object() ;
+	oDialogInfo.Title = dialogTitle ;
+	oDialogInfo.Page = dialogPage ;
+	oDialogInfo.Editor = window ;
+	oDialogInfo.CustomValue = customValue ;		// Optional
+	
+	var sUrl = FCKConfig.BasePath + 'fckdialog.html' ;
+	this.Show( oDialogInfo, dialogName, sUrl, width, height, parentWindow, resizable ) ;
+}

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckdialog_gecko.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckdialog_gecko.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckdialog_gecko.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,91 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckdialog_gecko.js
+ * 	Dialog windows operations. (Gecko specific implementations)
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+FCKDialog.Show = function( dialogInfo, dialogName, pageUrl, dialogWidth, dialogHeight, parentWindow, resizable )
+{
+	var iTop  = (FCKConfig.ScreenHeight - dialogHeight) / 2 ;
+	var iLeft = (FCKConfig.ScreenWidth  - dialogWidth)  / 2 ;
+
+	var sOption  = "location=no,menubar=no,toolbar=no,dependent=yes,dialog=yes,minimizable=no,modal=yes,alwaysRaised=yes" +
+		",resizable="  + ( resizable ? 'yes' : 'no' ) +
+		",width="  + dialogWidth +
+		",height=" + dialogHeight +
+		",top="  + iTop +
+		",left=" + iLeft ;
+
+	if ( !parentWindow )
+		parentWindow = window ;
+	
+	var oWindow = parentWindow.open( '', 'FCKeditorDialog_' + dialogName, sOption, true ) ;
+	oWindow.moveTo( iLeft, iTop ) ;
+	oWindow.resizeTo( dialogWidth, dialogHeight ) ;
+	oWindow.focus() ;
+	oWindow.location.href = pageUrl ;
+	
+	oWindow.dialogArguments = dialogInfo ;
+	
+	// On some Gecko browsers (probably over slow connections) the 
+	// "dialogArguments" are not set to the target window so we must
+	// put it in the opener window so it can be used by the target one.
+	parentWindow.FCKLastDialogInfo = dialogInfo ;
+	
+	this.Window = oWindow ;
+	
+	// Try/Catch must be used to avoit an error when using a frameset 
+	// on a different domain: 
+	// "Permission denied to get property Window.releaseEvents".
+	try
+	{
+		window.top.captureEvents( Event.CLICK | Event.MOUSEDOWN | Event.MOUSEUP | Event.FOCUS ) ;
+		window.top.parent.addEventListener( 'mousedown', this.CheckFocus, true ) ;
+		window.top.parent.addEventListener( 'mouseup', this.CheckFocus, true ) ;
+		window.top.parent.addEventListener( 'click', this.CheckFocus, true ) ;
+		window.top.parent.addEventListener( 'focus', this.CheckFocus, true ) ;
+	}
+	catch (e)
+	{}
+}
+
+FCKDialog.CheckFocus = function()
+{
+	// It is strange, but we have to check the FCKDialog existence to avoid a 
+	// random error: "FCKDialog is not defined".
+	if ( typeof( FCKDialog ) != "object" )
+		return false ;
+	
+	if ( FCKDialog.Window && !FCKDialog.Window.closed )
+		FCKDialog.Window.focus() ;
+	else
+	{
+		// Try/Catch must be used to avoit an error when using a frameset 
+		// on a different domain: 
+		// "Permission denied to get property Window.releaseEvents".
+		try
+		{
+			window.top.releaseEvents(Event.CLICK | Event.MOUSEDOWN | Event.MOUSEUP | Event.FOCUS) ;
+			window.top.parent.removeEventListener( 'onmousedown', FCKDialog.CheckFocus, true ) ;
+			window.top.parent.removeEventListener( 'mouseup', FCKDialog.CheckFocus, true ) ;
+			window.top.parent.removeEventListener( 'click', FCKDialog.CheckFocus, true ) ;
+			window.top.parent.removeEventListener( 'onfocus', FCKDialog.CheckFocus, true ) ;
+		}
+		catch (e)
+		{}
+	}
+	return false ;
+}

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckdialog_ie.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckdialog_ie.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckdialog_ie.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,26 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckdialog_ie.js
+ * 	Dialog windows operations. (IE specific implementations)
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+FCKDialog.Show = function( dialogInfo, dialogName, pageUrl, dialogWidth, dialogHeight, parentWindow )
+{
+	if ( !parentWindow )
+		parentWindow = window ;
+
+	parentWindow.showModalDialog( pageUrl, dialogInfo, "dialogWidth:" + dialogWidth + "px;dialogHeight:" + dialogHeight + "px;help:no;scroll:no;status:no") ;
+}

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fcklanguagemanager.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fcklanguagemanager.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fcklanguagemanager.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,95 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fcklanguagemanager.js
+ * 	Defines the FCKLanguageManager object that is used for language 
+ * 	operations.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+FCKLanguageManager.GetActiveLanguage = function()
+{
+	if ( FCKConfig.AutoDetectLanguage )
+	{
+		var sUserLang ;
+		
+		// IE accepts "navigator.userLanguage" while Gecko "navigator.language".
+		if ( navigator.userLanguage )
+			sUserLang = navigator.userLanguage.toLowerCase() ;
+		else if ( navigator.language )
+			sUserLang = navigator.language.toLowerCase() ;
+		else
+		{
+			// Firefox 1.0 PR has a bug: it doens't support the "language" property.
+			return FCKConfig.DefaultLanguage ;
+		}
+		
+		// Some language codes are set in 5 characters, 
+		// like "pt-br" for Brasilian Portuguese.
+		if ( sUserLang.length >= 5 )
+		{
+			sUserLang = sUserLang.substr(0,5) ;
+			if ( this.AvailableLanguages[sUserLang] ) return sUserLang ;
+		}
+		
+		// If the user's browser is set to, for example, "pt-br" but only the 
+		// "pt" language file is available then get that file.
+		if ( sUserLang.length >= 2 )
+		{
+			sUserLang = sUserLang.substr(0,2) ;
+			if ( this.AvailableLanguages[sUserLang] ) return sUserLang ;
+		}
+	}
+	
+	return this.DefaultLanguage ;
+}
+
+FCKLanguageManager.TranslateElements = function( targetDocument, tag, propertyToSet )
+{
+	var e = targetDocument.getElementsByTagName(tag) ;
+
+	for ( var i = 0 ; i < e.length ; i++ )
+	{
+		var sKey = e[i].getAttribute( 'fckLang' ) ;
+		
+		if ( sKey )
+		{
+			var s = FCKLang[ sKey ] ;
+			if ( s ) 
+				eval( 'e[i].' + propertyToSet + ' = s' ) ;
+		}
+	}
+}
+
+FCKLanguageManager.TranslatePage = function( targetDocument )
+{
+	this.TranslateElements( targetDocument, 'INPUT', 'value' ) ;
+	this.TranslateElements( targetDocument, 'SPAN', 'innerHTML' ) ;
+	this.TranslateElements( targetDocument, 'LABEL', 'innerHTML' ) ;
+	this.TranslateElements( targetDocument, 'OPTION', 'innerHTML' ) ;
+}
+
+if ( FCKLanguageManager.AvailableLanguages[ FCKConfig.DefaultLanguage ] )
+	FCKLanguageManager.DefaultLanguage = FCKConfig.DefaultLanguage ;
+else
+	FCKLanguageManager.DefaultLanguage = 'en' ;
+
+FCKLanguageManager.ActiveLanguage = new Object() ;
+FCKLanguageManager.ActiveLanguage.Code = FCKLanguageManager.GetActiveLanguage() ;
+FCKLanguageManager.ActiveLanguage.Name = FCKLanguageManager.AvailableLanguages[ FCKLanguageManager.ActiveLanguage.Code ] ;
+
+FCK.Language = FCKLanguageManager ;
+
+// Load the language file and start the editor.
+LoadLanguageFile() ;
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fcknamespace.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fcknamespace.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fcknamespace.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,27 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fcknamespace.js
+ * 	This file declares the namespace (object holder) where the common editor 
+ * 	objects and classes are defined.
+ * 	The namespace is located in the page the editor is running on, so it is
+ * 	shared by all editor instances.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+var NS ;
+
+if ( !( NS = window.parent.__FCKeditorNS ) )
+	NS = window.parent.__FCKeditorNS = new Object() ;
+

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckplugins.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckplugins.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckplugins.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,44 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckplugins.js
+ * 	Defines the FCKPlugins object that is responsible for loading the Plugins.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+var FCKPlugins = FCK.Plugins = new Object() ;
+FCKPlugins.ItemsCount = 0 ;
+FCKPlugins.Loaded = false ;
+FCKPlugins.Items = new Object() ;
+
+// Set the defined plugins scripts paths.
+for ( var i = 0 ; i < FCKConfig.Plugins.Items.length ; i++ )
+{
+	var oItem = FCKConfig.Plugins.Items[i] ;
+	FCKPlugins.Items[ oItem[0] ] = new FCKPlugin( oItem[0], oItem[1], oItem[2] ) ;
+	FCKPlugins.ItemsCount++ ;
+}
+	
+FCKPlugins.Load = function()
+{
+	// Load all items.
+	for ( var s in this.Items )
+		this.Items[s].Load() ;
+	
+	// Mark as loaded.
+	this.Loaded = true ;
+	
+	// This is a self destroyable function (must be called once).
+	FCKPlugins.Load = null ;
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckregexlib.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckregexlib.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckregexlib.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,92 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckregexlib.js
+ * 	These are some Regular Expresions used by the editor.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+var FCKRegexLib = new Object() ;
+
+// This is the Regular expression used by the SetHTML method for the "&apos;" entity.
+FCKRegexLib.AposEntity		= /&apos;/gi ;
+
+// Used by the Styles combo to identify styles that can't be applied to text.
+FCKRegexLib.ObjectElements	= /^(?:IMG|TABLE|TR|TD|INPUT|SELECT|TEXTAREA|HR|OBJECT)$/i ;
+
+// START iCM MODIFICATIONS
+// Added TABLE and CAPTION to the block elements for ENTER key handling
+// Block Elements.
+/*
+FCKRegexLib.BlockElements	= /^(?:P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TD|TABLE|CAPTION)$/i ;
+*/
+// END iCM MODIFICATIONS
+FCKRegexLib.BlockElements	= /^(?:P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TD)$/i ;
+
+// Elements marked as empty "Empty" in the XHTML DTD.
+FCKRegexLib.EmptyElements	= /^(?:BASE|META|LINK|HR|BR|PARAM|IMG|AREA|INPUT)$/i ;
+
+// List all named commands (commands that can be interpreted by the browser "execCommand" method.
+FCKRegexLib.NamedCommands	= /^(?:Cut|Copy|Paste|Print|SelectAll|RemoveFormat|Unlink|Undo|Redo|Bold|Italic|Underline|StrikeThrough|Subscript|Superscript|JustifyLeft|JustifyCenter|JustifyRight|JustifyFull|Outdent|Indent|InsertOrderedList|InsertUnorderedList|InsertHorizontalRule)$/i ;
+
+FCKRegexLib.BodyContents	= /([\s\S]*\<body[^\>]*\>)([\s\S]*)(\<\/body\>[\s\S]*)/i ;
+
+// Temporary text used to solve some browser specific limitations.
+FCKRegexLib.ToReplace		= /___fcktoreplace:([\w]+)/ig ;
+
+// Get the META http-equiv attribute from the tag.
+FCKRegexLib.MetaHttpEquiv	= /http-equiv\s*=\s*["']?([^"' ]+)/i ;
+
+FCKRegexLib.HasBaseTag		= /<base /i ;
+
+FCKRegexLib.HeadOpener		= /<head\s?[^>]*>/i ;
+FCKRegexLib.HeadCloser		= /<\/head\s*>/i ;
+
+FCKRegexLib.TableBorderClass = /\s*FCK__ShowTableBorders\s*/ ;
+
+// Validate element names.
+FCKRegexLib.ElementName = /^[A-Za-z_:][\w.-:]*$/ ;
+
+// Used in conjuction with the FCKConfig.ForceSimpleAmpersand configuration option.
+FCKRegexLib.ForceSimpleAmpersand = /___FCKAmp___/g ;
+
+// Get the closing parts of the tags with no closing tags, like <br/>... gets the "/>" part.
+FCKRegexLib.SpaceNoClose = /\/>/g ;
+
+FCKRegexLib.EmptyParagraph = /^<(p|div)>\s*<\/\1>$/i ;
+
+FCKRegexLib.TagBody = /></ ;
+
+// START iCM MODIFICATIONS
+/*
+// HTML table cell elements
+FCKRegexLib.TableCellElements	= /^(?:TD|TH)$/i ;
+// Block elements that can themselves contain block elements - used within the FCKTools.SplitNode
+// function. I know BODY isn't really a block element but means can do the check in one hit.
+FCKRegexLib.SpecialBlockElements	= /^(?:BODY|TH|TD|CAPTION)$/i ;
+// Block elements that can validly contain a nested table. Ditto above for the BODY entry.
+FCKRegexLib.TableBlockElements	= /^(?:BODY|DIV|LI|TD|TH)$/i ;
+// List elements
+FCKRegexLib.ListElements	= /^(?:OL|UL)$/i ;
+// Used to remove empty tags after the split process used on ENTER key press
+FCKRegexLib.EmptyElement = /<(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|SPAN|A)[^\>]*>\s*<\/\1>/gi ;
+*/
+// END iCM MODIFICATIONS
+
+FCKRegexLib.StrongOpener = /<STRONG([ \>])/gi ;
+FCKRegexLib.StrongCloser = /<\/STRONG>/gi ;
+FCKRegexLib.EmOpener = /<EM([ \>])/gi ;
+FCKRegexLib.EmCloser = /<\/EM>/gi ;
+
+FCKRegexLib.GeckoEntitiesMarker = /#\?-\:/g ;

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckscriptloader.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckscriptloader.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckscriptloader.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,156 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckscriptloader.js
+ * 	Defines the FCKScriptLoader object that is used to dynamically load
+ * 	scripts in the editor.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+// This object is used to download scripts and css files sequentialy.
+// A file download is not started until the previous file was not completelly
+// downloaded.
+var FCKScriptLoader = new Object() ;
+FCKScriptLoader.IsLoading = false ;
+FCKScriptLoader.Queue = new Array() ;
+
+// Adds a script or css to the queue.
+FCKScriptLoader.AddScript = function( scriptPath )
+{
+	FCKScriptLoader.Queue[ FCKScriptLoader.Queue.length ] = scriptPath ;
+	
+	if ( !this.IsLoading )
+		this.CheckQueue() ;
+}
+
+// Checks the queue to see if there is something to load.
+// This function should not be called by code. It's a internal function
+// that's called recursively.
+FCKScriptLoader.CheckQueue = function() 
+{
+	// Check if the queue is not empty.
+	if ( this.Queue.length > 0 )
+	{
+		this.IsLoading = true ;
+		
+		// Get the first item in the queue
+		var sScriptPath = this.Queue[0] ;
+		
+		// Removes the first item from the queue
+		var oTempArray = new Array() ;
+		for ( i = 1 ; i < this.Queue.length ; i++ )
+			oTempArray[ i - 1 ] = this.Queue[ i ] ;
+		this.Queue = oTempArray ;
+		
+		this.LoadFile( sScriptPath ) ;
+	}
+	else
+	{
+		this.IsLoading = false ;
+		
+		// Call the "OnEmpty" event.
+		if ( this.OnEmpty ) 
+			this.OnEmpty() ;
+	}
+}
+
+if ( FCKBrowserInfo.IsSafari )
+{
+	FCKScriptLoader.LoadFile = function( filePath ) 
+	{
+		if ( filePath.lastIndexOf( '.css' ) > 0 )
+		{
+			this.CheckQueue() ;
+			return ;
+		}
+		
+		var oXmlRequest = new XMLHttpRequest() ;
+		
+		// Load the script synchronously.
+		oXmlRequest.open( "GET", filePath, false ) ;
+		oXmlRequest.send( null ) ;
+		
+		// Evaluate the script.
+		if ( oXmlRequest.status == 200 )
+		{
+			try
+			{
+				eval( oXmlRequest.responseText ) ;
+			}
+			catch ( e )
+			{
+				alert( 'Error parsing ' + filePath + ': ' + e.message ) ;
+			}
+		}
+		else
+			alert( 'Error loading ' + filePath ) ;
+			
+		this.CheckQueue() ;
+	}
+}
+else
+{
+	FCKScriptLoader.LoadFile = function( filePath ) 
+	{
+		//window.status = ( 'Loading ' + filePath + '...' ) ;
+
+		// Dynamically load the file (it can be a CSS or a JS)
+		var e ;
+		
+		// If is a CSS
+		if ( filePath.lastIndexOf( '.css' ) > 0 )
+		{
+			e = document.createElement( 'LINK' ) ;
+			e.rel	= 'stylesheet' ;
+			e.type	= 'text/css' ;
+		}
+		// It is a JS
+		else
+		{
+			e = document.createElement( "script" ) ;
+				e.type	= "text/javascript" ;
+		}
+		
+		// Add the new object to the HEAD.
+		document.getElementsByTagName("head")[0].appendChild( e ) ; 
+
+		// Start downloading it.
+		if ( e.tagName == 'LINK' )
+		{
+			// IE must wait for the file to be downloaded.
+			if ( FCKBrowserInfo.IsIE )
+				e.onload = FCKScriptLoader_OnLoad ;
+			// Gecko doens't fire any event when the CSS is loaded, so we 
+			// can't wait for it.
+			else
+				FCKScriptLoader.CheckQueue() ;
+				
+			e.href = filePath ;
+		}
+		else
+		{
+			// Gecko fires the "onload" event and IE fires "onreadystatechange"
+			e.onload = e.onreadystatechange = FCKScriptLoader_OnLoad ;
+			e.src = filePath ;
+		}
+	}
+
+	function FCKScriptLoader_OnLoad()
+	{
+		// Gecko doesn't have a "readyState" property
+		if ( this.tagName == 'LINK' || !this.readyState || this.readyState == 'loaded' )
+			// Load the next script available in the queue
+			FCKScriptLoader.CheckQueue() ;
+	}
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckselection.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckselection.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckselection.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,22 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckselection.js
+ * 	Active selection functions.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+var FCKSelection = new Object() ;
+
+FCK.Selection = FCKSelection ;

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckselection_gecko.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckselection_gecko.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckselection_gecko.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,164 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckselection_gecko.js
+ * 	Active selection functions. (Gecko specific implementation)
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+// Get the selection type (like document.select.type in IE).
+FCKSelection.GetType = function()
+{
+//	if ( ! this._Type )
+//	{
+		// By default set the type to "Text".
+		this._Type = 'Text' ;
+
+		// Check if the actual selection is a Control (IMG, TABLE, HR, etc...).
+		var oSel = FCK.EditorWindow.getSelection() ;
+		if ( oSel && oSel.rangeCount == 1 )
+		{
+			var oRange = oSel.getRangeAt(0) ;
+			if ( oRange.startContainer == oRange.endContainer && (oRange.endOffset - oRange.startOffset) == 1 )
+				this._Type = 'Control' ;
+		}
+//	}
+	return this._Type ;
+}
+
+// Retrieves the selected element (if any), just in the case that a single
+// element (object like and image or a table) is selected.
+FCKSelection.GetSelectedElement = function()
+{
+	if ( this.GetType() == 'Control' )
+	{
+		var oSel = FCK.EditorWindow.getSelection() ;
+		return oSel.anchorNode.childNodes[ oSel.anchorOffset ] ;
+	}
+}
+
+FCKSelection.GetParentElement = function()
+{
+	if ( this.GetType() == 'Control' )
+		return FCKSelection.GetSelectedElement().parentElement ;
+	else
+	{
+		var oSel = FCK.EditorWindow.getSelection() ;
+		if ( oSel )
+		{
+			var oNode = oSel.anchorNode ;
+
+			while ( oNode && oNode.nodeType != 1 )
+				oNode = oNode.parentNode ;
+
+			return oNode ;
+		}
+	}
+}
+
+FCKSelection.SelectNode = function( element )
+{
+	FCK.Focus() ;
+
+	var oRange = FCK.EditorDocument.createRange() ;
+	oRange.selectNode( element ) ;
+
+	var oSel = FCK.EditorWindow.getSelection() ;
+	oSel.removeAllRanges() ;
+	oSel.addRange( oRange ) ;
+}
+
+FCKSelection.Collapse = function( toStart )
+{
+	var oSel = FCK.EditorWindow.getSelection() ;
+	
+	if ( toStart == null || toStart === true )
+		oSel.collapseToStart() ;
+	else
+		oSel.collapseToEnd() ;
+}
+
+// The "nodeTagName" parameter must be Upper Case.
+FCKSelection.HasAncestorNode = function( nodeTagName )
+{
+	var oContainer = this.GetSelectedElement() ;
+	if ( ! oContainer && FCK.EditorWindow )
+	{
+		try		{ oContainer = FCK.EditorWindow.getSelection().getRangeAt(0).startContainer ; }
+		catch(e){}
+	}
+
+	while ( oContainer )
+	{
+		if ( oContainer.nodeType == 1 && oContainer.tagName == nodeTagName ) return true ;
+		oContainer = oContainer.parentNode ;
+	}
+
+	return false ;
+}
+
+// The "nodeTagName" parameter must be Upper Case.
+FCKSelection.MoveToAncestorNode = function( nodeTagName )
+{
+	var oNode ;
+
+	var oContainer = this.GetSelectedElement() ;
+	if ( ! oContainer )
+		oContainer = FCK.EditorWindow.getSelection().getRangeAt(0).startContainer ;
+
+	while ( oContainer )
+	{
+		if ( oContainer.tagName == nodeTagName ) 
+			return oContainer ;
+		oContainer = oContainer.parentNode ;
+	}
+	return null ;
+}
+
+FCKSelection.Delete = function()
+{
+	// Gets the actual selection.
+	var oSel = FCK.EditorWindow.getSelection() ;
+
+	// Deletes the actual selection contents.
+	for ( var i = 0 ; i < oSel.rangeCount ; i++ )
+	{
+		oSel.getRangeAt(i).deleteContents() ;
+	}
+
+	return oSel ;
+}
+// START iCM MODIFICATIONS
+/*
+// Move the cursor position (the selection point) to a specific offset within a specific node
+// If no offset specified, the start of the node is assumed
+FCKSelection.SetCursorPosition = function ( oNode, nOffset )
+{
+	if ( typeof nOffset == "undefined" ) nOffset = 0 ;
+
+	var oSel = FCK.EditorWindow.getSelection() ;
+	var oRange = FCK.EditorDocument.createRange() ;
+	
+	oRange.setStart( oNode, nOffset ) ;
+	oRange.collapse( true ) ;
+	
+	oSel.removeAllRanges() ;
+	oSel.addRange( oRange );
+	
+	if ( oNode.scrollIntoView )
+		oNode.scrollIntoView( false );	
+}
+*/
+// END iCM MODIFICATIONS
+

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckselection_ie.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckselection_ie.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckselection_ie.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,150 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckselection_ie.js
+ * 	Active selection functions. (IE specific implementation)
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+// Get the selection type.
+FCKSelection.GetType = function()
+{
+	return FCK.EditorDocument.selection.type ;
+}
+
+// Retrieves the selected element (if any), just in the case that a single
+// element (object like and image or a table) is selected.
+FCKSelection.GetSelectedElement = function()
+{
+	if ( this.GetType() == 'Control' )
+	{
+		var oRange = FCK.EditorDocument.selection.createRange() ;
+
+		if ( oRange && oRange.item )
+			return FCK.EditorDocument.selection.createRange().item(0) ;
+	}
+}
+
+FCKSelection.GetParentElement = function()
+{
+	switch ( this.GetType() )
+	{
+		case 'Control' :
+			return FCKSelection.GetSelectedElement().parentElement ;
+		case 'None' :
+			return ;
+		default :
+			return FCK.EditorDocument.selection.createRange().parentElement() ;
+	}
+}
+
+FCKSelection.SelectNode = function( node )
+{
+	FCK.Focus() ;
+	FCK.EditorDocument.selection.empty() ;
+	var oRange = FCK.EditorDocument.selection.createRange() ;
+	oRange.moveToElementText( node ) ;
+	oRange.select() ;
+}
+
+FCKSelection.Collapse = function( toStart )
+{
+	FCK.Focus() ;
+	var oRange = FCK.EditorDocument.selection.createRange() ;
+	oRange.collapse( toStart == null || toStart === true ) ;
+	oRange.select() ;
+}
+
+// The "nodeTagName" parameter must be Upper Case.
+FCKSelection.HasAncestorNode = function( nodeTagName )
+{
+	var oContainer ;
+
+	if ( FCK.EditorDocument.selection.type == "Control" )
+	{
+		oContainer = this.GetSelectedElement() ;
+	}
+	else
+	{
+		var oRange  = FCK.EditorDocument.selection.createRange() ;
+		oContainer = oRange.parentElement() ;
+	}
+
+	while ( oContainer )
+	{
+		if ( oContainer.tagName == nodeTagName ) return true ;
+		oContainer = oContainer.parentNode ;
+	}
+
+	return false ;
+}
+
+// The "nodeTagName" parameter must be UPPER CASE.
+FCKSelection.MoveToAncestorNode = function( nodeTagName )
+{
+	var oNode ;
+
+	if ( FCK.EditorDocument.selection.type == "Control" )
+	{
+		var oRange = FCK.EditorDocument.selection.createRange() ;
+		for ( i = 0 ; i < oRange.length ; i++ )
+		{
+			if (oRange(i).parentNode)
+			{
+				oNode = oRange(i).parentNode ;
+				break ;
+			}
+		}
+	}
+	else
+	{
+		var oRange  = FCK.EditorDocument.selection.createRange() ;
+		oNode = oRange.parentElement() ;
+	}
+
+	while ( oNode && oNode.nodeName != nodeTagName )
+		oNode = oNode.parentNode ;
+
+	return oNode ;
+}
+
+FCKSelection.Delete = function()
+{
+	// Gets the actual selection.
+	var oSel = FCK.EditorDocument.selection ;
+
+	// Deletes the actual selection contents.
+	if ( oSel.type.toLowerCase() != "none" )
+	{
+		oSel.clear() ;
+	}
+
+	return oSel ;
+}
+// START iCM Modifications
+/*
+// Move the cursor position (the selection point) to a specific offset within a specific node
+// If no offset specified, the start of the node is assumed
+FCKSelection.SetCursorPosition = function ( oNode, nOffset )
+{
+	if ( typeof nOffset == "undefined" ) nOffset = 0 ;
+
+	FCK.Selection.SelectNode( oNode ) ; // Doesn't handle offsets currently but offset always zero at mo
+	FCK.Selection.Collapse( true ) ;
+	
+	oNode.scrollIntoView( false );	
+}
+*/
+// END iCM Modifications
+

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fcktablehandler.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fcktablehandler.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fcktablehandler.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,357 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fcktablehandler.js
+ * 	Manage table operations.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+var FCKTableHandler = new Object() ;
+
+FCKTableHandler.InsertRow = function()
+{
+	// Get the row where the selection is placed in.	
+	var oRow = FCKSelection.MoveToAncestorNode("TR") ;
+	if ( !oRow ) return ;
+
+	// Create a clone of the row.
+	var oNewRow = oRow.cloneNode( true ) ;
+
+	// Insert the new row (copy) before of it.
+	oRow.parentNode.insertBefore( oNewRow, oRow ) ;
+
+	// Clean the row (it seems that the new row has been added after it).
+	FCKTableHandler.ClearRow( oRow ) ;
+}
+
+FCKTableHandler.DeleteRows = function( row )
+{
+	// If no row has been passed as a parameer,
+	// then get the row where the selection is placed in.	
+	if ( !row )
+		row = FCKSelection.MoveToAncestorNode("TR") ;
+	if ( !row ) return ;
+
+	// Get the row's table.	
+	var oTable = FCKTools.GetElementAscensor( row, 'TABLE' ) ;
+
+	// If just one row is available then delete the entire table.
+	if ( oTable.rows.length == 1 ) 
+	{
+		FCKTableHandler.DeleteTable( oTable ) ;
+		return ;
+	}
+
+	// Delete the row.
+	row.parentNode.removeChild( row ) ;
+}
+
+FCKTableHandler.DeleteTable = function( table )
+{
+	// If no table has been passed as a parameer,
+	// then get the table where the selection is placed in.	
+	if ( !table )
+		table = FCKSelection.MoveToAncestorNode("TABLE") ;
+	if ( !table ) return ;
+
+	// Delete the table.
+	table.parentNode.removeChild( table ) ;
+}
+
+FCKTableHandler.InsertColumn = function()
+{
+	// Get the cell where the selection is placed in.
+	var oCell = FCKSelection.MoveToAncestorNode("TD") ;
+	if ( !oCell )
+	    oCell =  FCKSelection.MoveToAncestorNode("TH") ;
+
+	if ( !oCell ) return ;
+	
+	// Get the cell's table.
+	var oTable = FCKTools.GetElementAscensor( oCell, 'TABLE' ) ;
+
+	// Get the index of the column to be created (based on the cell).
+	var iIndex = oCell.cellIndex + 1 ;
+
+	// Loop throw all rows available in the table.
+	for ( var i = 0 ; i < oTable.rows.length ; i++ )
+	{
+		// Get the row.
+		var oRow = oTable.rows[i] ;
+	
+		// If the row doens't have enought cells, ignore it.
+		if ( oRow.cells.length < iIndex )
+			continue ;
+		
+		oCell = oRow.cells[iIndex-1].cloneNode(false) ;
+		
+		if ( FCKBrowserInfo.IsGecko )
+			oCell.innerHTML = FCKBrowserInfo.IsGecko ? GECKO_BOGUS : '' ;
+		
+		// Get the cell that is placed in the new cell place.
+		var oBaseCell = oRow.cells[iIndex] ;
+
+		// If the cell is available (we are not in the last cell of the row).
+		if ( oBaseCell )
+			oRow.insertBefore( oCell, oBaseCell ) ;	// Insert the new cell just before of it.
+		else
+			oRow.appendChild( oCell ) ;				// Append the cell at the end of the row.
+	}
+}
+
+FCKTableHandler.DeleteColumns = function()
+{
+	// Get the cell where the selection is placed in.
+	var oCell = FCKSelection.MoveToAncestorNode("TD") ;
+	if ( !oCell ) return ;
+	
+	// Get the cell's table.	
+	var oTable = FCKTools.GetElementAscensor( oCell, 'TABLE' ) ;
+
+	// Get the cell index.
+	var iIndex = oCell.cellIndex ;
+
+	// Loop throw all rows (from down to up, because it's possible that some
+	// rows will be deleted).
+	for ( var i = oTable.rows.length - 1 ; i >= 0 ; i-- )
+	{
+		// Get the row.
+		var oRow = oTable.rows[i] ;
+		
+		// If the cell to be removed is the first one and the row has just one cell.
+		if ( iIndex == 0 && oRow.cells.length == 1 )
+		{
+			// Remove the entire row.
+			FCKTableHandler.DeleteRows( oRow ) ;
+			continue ;
+		}
+		
+		// If the cell to be removed exists the delete it.
+		if ( oRow.cells[iIndex] )
+			oRow.removeChild( oRow.cells[iIndex] ) ;
+	}
+}
+
+FCKTableHandler.InsertCell = function( cell )
+{
+	// Get the cell where the selection is placed in.
+	var oCell = cell ? cell : FCKSelection.MoveToAncestorNode("TD") ;
+	if ( !oCell ) return ;
+
+	// Create the new cell element to be added.
+	var oNewCell = FCK.EditorDocument.createElement("TD");
+	if ( FCKBrowserInfo.IsGecko )
+		oNewCell.innerHTML = GECKO_BOGUS ;
+//	oNewCell.innerHTML = "&nbsp;" ;
+
+	// If it is the last cell in the row.
+	if ( oCell.cellIndex == oCell.parentNode.cells.lenght - 1 )
+	{
+		// Add the new cell at the end of the row.
+		oCell.parentNode.appendChild( oNewCell ) ;
+	}
+	else
+	{
+		// Add the new cell before the next cell (after the active one).
+		oCell.parentNode.insertBefore( oNewCell, oCell.nextSibling ) ;
+	}
+	
+	return oNewCell ;
+}
+
+FCKTableHandler.DeleteCell = function( cell )
+{
+	// If this is the last cell in the row.
+	if ( cell.parentNode.cells.length == 1 )
+	{
+		// Delete the entire row.
+		FCKTableHandler.DeleteRows( FCKTools.GetElementAscensor( cell, 'TR' ) ) ;
+		return ;
+	}
+
+	// Delete the cell from the row.
+	cell.parentNode.removeChild( cell ) ;
+}
+
+FCKTableHandler.DeleteCells = function()
+{
+	var aCells = FCKTableHandler.GetSelectedCells() ;
+	
+	for ( var i = aCells.length - 1 ; i >= 0  ; i-- )
+	{
+		FCKTableHandler.DeleteCell( aCells[i] ) ;
+	}
+}
+
+FCKTableHandler.MergeCells = function()
+{
+	// Get all selected cells.
+	var aCells = FCKTableHandler.GetSelectedCells() ;
+	
+	// At least 2 cells must be selected.
+	if ( aCells.length < 2 )
+		return ;
+		
+	// The merge can occour only if the selected cells are from the same row.
+	if ( aCells[0].parentNode != aCells[aCells.length-1].parentNode )
+		return ;
+
+	// Calculate the new colSpan for the first cell.
+	var iColSpan = isNaN( aCells[0].colSpan ) ? 1 : aCells[0].colSpan ;
+
+	var sHtml = '' ;
+	
+	for ( var i = aCells.length - 1 ; i > 0  ; i-- )
+	{
+		iColSpan += isNaN( aCells[i].colSpan ) ? 1 : aCells[i].colSpan ;
+		
+		// Append the HTML of each cell.
+		sHtml = aCells[i].innerHTML + sHtml ;
+		
+		// Delete the cell.
+		FCKTableHandler.DeleteCell( aCells[i] ) ;
+	}
+	
+	// Set the innerHTML of the remaining cell (the first one).
+	aCells[0].colSpan = iColSpan ;
+	aCells[0].innerHTML += sHtml ;
+}
+
+FCKTableHandler.SplitCell = function()
+{
+	// Check that just one cell is selected, otherwise return.
+	var aCells = FCKTableHandler.GetSelectedCells() ;
+	if ( aCells.length != 1 )
+		return ;
+	
+	var aMap = this._CreateTableMap( aCells[0].parentNode.parentNode ) ;
+	var iCellIndex = FCKTableHandler._GetCellIndexSpan( aMap, aCells[0].parentNode.rowIndex , aCells[0] ) ;
+		
+	var aCollCells = this._GetCollumnCells( aMap, iCellIndex ) ;
+	
+	for ( var i = 0 ; i < aCollCells.length ; i++ )
+	{
+		if ( aCollCells[i] == aCells[0] )
+		{
+			var oNewCell = this.InsertCell( aCells[0] ) ;
+			if ( !isNaN( aCells[0].rowSpan ) && aCells[0].rowSpan > 1 )
+				oNewCell.rowSpan = aCells[0].rowSpan ;
+		}
+		else
+		{
+			if ( isNaN( aCollCells[i].colSpan ) )
+				aCollCells[i].colSpan = 2 ;
+			else
+				aCollCells[i].colSpan += 1 ;
+		}
+	}
+}
+
+// Get the cell index from a TableMap.
+FCKTableHandler._GetCellIndexSpan = function( tableMap, rowIndex, cell )
+{
+	if ( tableMap.length < rowIndex + 1 )
+		return null ;
+	
+	var oRow = tableMap[ rowIndex ] ;
+	
+	for ( var c = 0 ; c < oRow.length ; c++ )
+	{
+		if ( oRow[c] == cell )
+			return c ;
+	}
+	
+	return null ;
+}
+
+// Get the cells available in a collumn of a TableMap.
+FCKTableHandler._GetCollumnCells = function( tableMap, collumnIndex )
+{
+	var aCollCells = new Array() ;
+
+	for ( var r = 0 ; r < tableMap.length ; r++ )
+	{
+		var oCell = tableMap[r][collumnIndex] ;
+		if ( oCell && ( aCollCells.length == 0 || aCollCells[ aCollCells.length - 1 ] != oCell ) )
+			aCollCells[ aCollCells.length ] = oCell ;
+	}
+	
+	return aCollCells ;
+}
+
+// This function is quite hard to explain. It creates a matrix representing all cells in a table.
+// The difference here is that the "spanned" cells (colSpan and rowSpan) are duplicated on the matrix
+// cells that are "spanned". For example, a row with 3 cells where the second cell has colSpan=2 and rowSpan=3
+// will produce a bi-dimensional matrix with the following values (representing the cells):
+//		Cell1, Cell2, Cell2, Cell 3
+//		Cell4, Cell2, Cell2, Cell 5
+FCKTableHandler._CreateTableMap = function( table )
+{
+	var aRows = table.rows ;
+	
+	// Row and Collumn counters.
+	var r = -1 ;
+	
+	var aMap = new Array() ;
+	
+	for ( var i = 0 ; i < aRows.length ; i++ )
+	{
+		r++ ;
+		if ( !aMap[r] )
+			aMap[r] = new Array() ;
+		
+		var c = -1 ;
+		
+		for ( var j = 0 ; j < aRows[i].cells.length ; j++ )
+		{
+			var oCell = aRows[i].cells[j] ;
+		
+			c++ ;
+			while ( aMap[r][c] )
+				c++ ;
+			
+			var iColSpan = isNaN( oCell.colSpan ) ? 1 : oCell.colSpan ;
+			var iRowSpan = isNaN( oCell.rowSpan ) ? 1 : oCell.rowSpan ;
+
+			for ( var rs = 0 ; rs < iRowSpan ; rs++ )
+			{
+				if ( !aMap[r + rs] )
+					aMap[r + rs] = new Array() ;
+					
+				for ( var cs = 0 ; cs < iColSpan ; cs++ )
+				{
+					aMap[r + rs][c + cs] = aRows[i].cells[j] ;
+				}
+			}
+			
+			c += iColSpan - 1 ;
+		}
+	}
+	return aMap ;
+}
+
+FCKTableHandler.ClearRow = function( tr )
+{
+	// Get the array of row's cells.
+	var aCells = tr.cells ;
+
+	// Replace the contents of each cell with "nothing".
+	for ( var i = 0 ; i < aCells.length ; i++ ) 
+	{
+		if ( FCKBrowserInfo.IsGecko )
+			aCells[i].innerHTML = GECKO_BOGUS ;
+		else
+			aCells[i].innerHTML = '' ;
+	}
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fcktablehandler_gecko.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fcktablehandler_gecko.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fcktablehandler_gecko.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,48 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fcktablehandler_gecko.js
+ * 	Manage table operations (IE specific).
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+FCKTableHandler.GetSelectedCells = function()
+{
+	var aCells = new Array() ;
+
+	var oSelection = FCK.EditorWindow.getSelection() ;
+
+	// If the selection is a text.
+	if ( oSelection.rangeCount == 1 && oSelection.anchorNode.nodeType == 3 )
+	{
+		var oParent = FCKTools.GetElementAscensor( oSelection.anchorNode, 'TD' ) ;
+		
+		if ( oParent )
+		{
+			aCells[0] = oParent ;
+			return aCells ;
+		}	
+	}
+
+	for ( var i = 0 ; i < oSelection.rangeCount ; i++ )
+	{
+		var oRange = oSelection.getRangeAt(i) ;
+		var oCell = oRange.startContainer.childNodes[ oRange.startOffset ] ;
+		
+		if ( oCell.tagName == 'TD' )
+			aCells[aCells.length] = oCell ;
+	}
+
+	return aCells ;
+}

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fcktablehandler_ie.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fcktablehandler_ie.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fcktablehandler_ie.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,53 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fcktablehandler_ie.js
+ * 	Manage table operations (IE specific).
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+FCKTableHandler.GetSelectedCells = function()
+{
+	var aCells = new Array() ;
+
+	var oRange = FCK.EditorDocument.selection.createRange() ;
+	var oParent = oRange.parentElement() ;
+	
+	if ( oParent && oParent.tagName == "TD" )
+		aCells[0] = oParent ;
+	else
+	{
+		var oParent = FCKSelection.MoveToAncestorNode( "TABLE" ) ;
+		
+		if ( oParent )
+		{
+			// Loops throw all cells checking if the cell is, or part of it, is inside the selection
+			// and then add it to the selected cells collection.
+			for ( var i = 0 ; i < oParent.cells.length ; i++ )
+			{
+				var oCellRange = FCK.EditorDocument.selection.createRange() ;
+				oCellRange.moveToElementText( oParent.cells[i] ) ;
+				
+				if ( oRange.inRange( oCellRange ) 
+					|| ( oRange.compareEndPoints('StartToStart',oCellRange) >= 0 &&  oRange.compareEndPoints('StartToEnd',oCellRange) <= 0 )
+					|| ( oRange.compareEndPoints('EndToStart',oCellRange) >= 0 &&  oRange.compareEndPoints('EndToEnd',oCellRange) <= 0 ) )
+				{
+					aCells[aCells.length] = oParent.cells[i] ;
+				}
+			}
+		}
+	}
+	
+	return aCells ;
+}

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fcktoolbaritems.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fcktoolbaritems.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fcktoolbaritems.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,117 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fcktoolbaritems.js
+ * 	Toolbar items definitions.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+var FCKToolbarItems = new Object() ;
+FCKToolbarItems.LoadedItems = new Object() ;
+
+FCKToolbarItems.RegisterItem = function( itemName, item )
+{
+	this.LoadedItems[ itemName ] = item ;
+}
+
+FCKToolbarItems.GetItem = function( itemName )
+{
+	var oItem = FCKToolbarItems.LoadedItems[ itemName ] ;
+
+	if ( oItem )
+		return oItem ;
+
+	switch ( itemName )
+	{
+		case 'Source'			: oItem = new FCKToolbarButton( 'Source'	, FCKLang.Source, null, FCK_TOOLBARITEM_ICONTEXT, true, true ) ; break ;
+		case 'DocProps'			: oItem = new FCKToolbarButton( 'DocProps'	, FCKLang.DocProps ) ; break ;
+		case 'Templates'		: oItem = new FCKToolbarButton( 'Templates'	, FCKLang.Templates ) ; break ;
+		case 'Save'				: oItem = new FCKToolbarButton( 'Save'		, FCKLang.Save, null, null, true ) ; break ;
+		case 'NewPage'			: oItem = new FCKToolbarButton( 'NewPage'	, FCKLang.NewPage, null, null, true  ) ; break ;
+		case 'Preview'			: oItem = new FCKToolbarButton( 'Preview'	, FCKLang.Preview, null, null, true  ) ; break ;
+		case 'About'			: oItem = new FCKToolbarButton( 'About'		, FCKLang.About, null, null, true  ) ; break ;
+
+		case 'Cut'				: oItem = new FCKToolbarButton( 'Cut'		, FCKLang.Cut, null, null, false, true ) ; break ;
+		case 'Copy'				: oItem = new FCKToolbarButton( 'Copy'		, FCKLang.Copy, null, null, false, true ) ; break ;
+		case 'Paste'			: oItem = new FCKToolbarButton( 'Paste'		, FCKLang.Paste, null, null, false, true ) ; break ;
+		case 'PasteText'		: oItem = new FCKToolbarButton( 'PasteText'	, FCKLang.PasteText, null, null, false, true ) ; break ;
+		case 'PasteWord'		: oItem = new FCKToolbarButton( 'PasteWord'	, FCKLang.PasteWord, null, null, false, true ) ; break ;
+		case 'Print'			: oItem = new FCKToolbarButton( 'Print'		, FCKLang.Print, null, null, false, true ) ; break ;
+		case 'SpellCheck'		: oItem = new FCKToolbarButton( 'SpellCheck', FCKLang.SpellCheck ) ; break ;
+		case 'Undo'				: oItem = new FCKToolbarButton( 'Undo'		, FCKLang.Undo, null, null, false, true ) ; break ;
+		case 'Redo'				: oItem = new FCKToolbarButton( 'Redo'		, FCKLang.Redo, null, null, false, true ) ; break ;
+		case 'SelectAll'		: oItem = new FCKToolbarButton( 'SelectAll'	, FCKLang.SelectAll ) ; break ;
+		case 'RemoveFormat'		: oItem = new FCKToolbarButton( 'RemoveFormat', FCKLang.RemoveFormat, null, null, false, true ) ; break ;
+
+		case 'Bold'				: oItem = new FCKToolbarButton( 'Bold'		, FCKLang.Bold, null, null, false, true ) ; break ;
+		case 'Italic'			: oItem = new FCKToolbarButton( 'Italic'	, FCKLang.Italic, null, null, false, true  ) ; break ;
+		case 'Underline'		: oItem = new FCKToolbarButton( 'Underline'	, FCKLang.Underline, null, null, false, true ) ; break ;
+		case 'StrikeThrough'	: oItem = new FCKToolbarButton( 'StrikeThrough'	, FCKLang.StrikeThrough, null, null, false, true ) ; break ;
+		case 'Subscript'		: oItem = new FCKToolbarButton( 'Subscript'		, FCKLang.Subscript, null, null, false, true ) ; break ;
+		case 'Superscript'		: oItem = new FCKToolbarButton( 'Superscript'	, FCKLang.Superscript, null, null, false, true ) ; break ;
+
+		case 'OrderedList'		: oItem = new FCKToolbarButton( 'InsertOrderedList'		, FCKLang.NumberedListLbl, FCKLang.NumberedList, null, false, true ) ; break ;
+		case 'UnorderedList'	: oItem = new FCKToolbarButton( 'InsertUnorderedList'	, FCKLang.BulletedListLbl, FCKLang.BulletedList, null, false, true ) ; break ;
+		case 'Outdent'			: oItem = new FCKToolbarButton( 'Outdent'	, FCKLang.DecreaseIndent, null, null, false, true ) ; break ;
+		case 'Indent'			: oItem = new FCKToolbarButton( 'Indent'	, FCKLang.IncreaseIndent, null, null, false, true ) ; break ;
+
+		case 'Link'				: oItem = new FCKToolbarButton( 'Link'		, FCKLang.InsertLinkLbl, FCKLang.InsertLink, null, false, true ) ; break ;
+		case 'Unlink'			: oItem = new FCKToolbarButton( 'Unlink'	, FCKLang.RemoveLink, null, null, false, true ) ; break ;
+		case 'Anchor'			: oItem = new FCKToolbarButton( 'Anchor'	, FCKLang.Anchor ) ; break ;
+
+		case 'Image'			: oItem = new FCKToolbarButton( 'Image'			, FCKLang.InsertImageLbl, FCKLang.InsertImage ) ; break ;
+		case 'Flash'			: oItem = new FCKToolbarButton( 'Flash'			, FCKLang.InsertFlashLbl, FCKLang.InsertFlash ) ; break ;
+		case 'Table'			: oItem = new FCKToolbarButton( 'Table'			, FCKLang.InsertTableLbl, FCKLang.InsertTable ) ; break ;
+		case 'SpecialChar'		: oItem = new FCKToolbarButton( 'SpecialChar'	, FCKLang.InsertSpecialCharLbl, FCKLang.InsertSpecialChar ) ; break ;
+		case 'Smiley'			: oItem = new FCKToolbarButton( 'Smiley'		, FCKLang.InsertSmileyLbl, FCKLang.InsertSmiley ) ; break ;
+		case 'PageBreak'		: oItem = new FCKToolbarButton( 'PageBreak'		, FCKLang.PageBreakLbl, FCKLang.PageBreak ) ; break ;
+		case 'UniversalKey'		: oItem = new FCKToolbarButton( 'UniversalKey'	, FCKLang.UniversalKeyboard ) ; break ;
+
+		case 'Rule'				: oItem = new FCKToolbarButton( 'InsertHorizontalRule', FCKLang.InsertLineLbl, FCKLang.InsertLine, null, false, true ) ; break ;
+
+		case 'JustifyLeft'		: oItem = new FCKToolbarButton( 'JustifyLeft'	, FCKLang.LeftJustify, null, null, false, true ) ; break ;
+		case 'JustifyCenter'	: oItem = new FCKToolbarButton( 'JustifyCenter'	, FCKLang.CenterJustify, null, null, false, true ) ; break ;
+		case 'JustifyRight'		: oItem = new FCKToolbarButton( 'JustifyRight'	, FCKLang.RightJustify, null, null, false, true ) ; break ;
+		case 'JustifyFull'		: oItem = new FCKToolbarButton( 'JustifyFull'	, FCKLang.BlockJustify, null, null, false, true ) ; break ;
+
+		case 'Style'			: oItem = new FCKToolbarStyleCombo() ; break ;
+		case 'FontName'			: oItem = new FCKToolbarFontsCombo() ; break ;
+		case 'FontSize'			: oItem = new FCKToolbarFontSizeCombo() ; break ;
+		case 'FontFormat'		: oItem = new FCKToolbarFontFormatCombo() ; break ;
+
+		case 'TextColor'		: oItem = new FCKToolbarPanelButton( 'TextColor', FCKLang.TextColor ) ; break ;
+		case 'BGColor'			: oItem = new FCKToolbarPanelButton( 'BGColor'	, FCKLang.BGColor ) ; break ;
+
+		case 'Find'				: oItem = new FCKToolbarButton( 'Find'		, FCKLang.Find ) ; break ;
+		case 'Replace'			: oItem = new FCKToolbarButton( 'Replace'	, FCKLang.Replace ) ; break ;
+
+		case 'Form'				: oItem = new FCKToolbarButton( 'Form'			, FCKLang.Form ) ; break ;
+		case 'Checkbox'			: oItem = new FCKToolbarButton( 'Checkbox'		, FCKLang.Checkbox ) ; break ;
+		case 'Radio'			: oItem = new FCKToolbarButton( 'Radio'			, FCKLang.RadioButton ) ; break ;
+		case 'TextField'		: oItem = new FCKToolbarButton( 'TextField'		, FCKLang.TextField ) ; break ;
+		case 'Textarea'			: oItem = new FCKToolbarButton( 'Textarea'		, FCKLang.Textarea ) ; break ;
+		case 'HiddenField'		: oItem = new FCKToolbarButton( 'HiddenField'	, FCKLang.HiddenField ) ; break ;
+		case 'Button'			: oItem = new FCKToolbarButton( 'Button'		, FCKLang.Button ) ; break ;
+		case 'Select'			: oItem = new FCKToolbarButton( 'Select'		, FCKLang.SelectionField ) ; break ;
+		case 'ImageButton'		: oItem = new FCKToolbarButton( 'ImageButton'	, FCKLang.ImageButton ) ; break ;
+
+		default:
+			alert( FCKLang.UnknownToolbarItem.replace( /%1/g, itemName ) ) ;
+			return null ;
+	}
+
+	FCKToolbarItems.LoadedItems[ itemName ] = oItem ;
+
+	return oItem ;
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fcktoolbarset.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fcktoolbarset.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fcktoolbarset.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,166 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fcktoolbarset.js
+ * 	Defines the FCKToolbarSet object that is used to load and draw the 
+ * 	toolbar.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+var FCKToolbarSet = FCK.ToolbarSet = new Object() ;
+
+document.getElementById( 'ExpandHandle' ).title		= FCKLang.ToolbarExpand ;
+document.getElementById( 'CollapseHandle' ).title	= FCKLang.ToolbarCollapse ;
+
+FCKToolbarSet.Toolbars = new Array() ;
+
+// Array of toolbat items that are active only on WYSIWYG mode.
+FCKToolbarSet.ItemsWysiwygOnly = new Array() ;
+
+// Array of toolbar items that are sensitive to the cursor position.
+FCKToolbarSet.ItemsContextSensitive = new Array() ;
+
+FCKToolbarSet.Expand = function()
+{
+	document.getElementById( 'Collapsed' ).style.display = 'none' ;
+	document.getElementById( 'Expanded' ).style.display = '' ;
+	
+	if ( ! FCKBrowserInfo.IsIE )
+	{
+		// I had to use "setTimeout" because Gecko was not responding in a right
+		// way when calling window.onresize() directly.
+		window.setTimeout( "window.onresize()", 1 ) ;
+	}
+}
+
+FCKToolbarSet.Collapse = function()
+{
+	document.getElementById( 'Collapsed' ).style.display = '' ;
+	document.getElementById( 'Expanded' ).style.display = 'none' ;
+	
+	if ( ! FCKBrowserInfo.IsIE )
+	{
+		// I had to use "setTimeout" because Gecko was not responding in a right
+		// way when calling window.onresize() directly.
+		window.setTimeout( "window.onresize()", 1 ) ;
+	}
+}
+
+FCKToolbarSet.Restart = function()
+{
+	if ( !FCKConfig.ToolbarCanCollapse || FCKConfig.ToolbarStartExpanded )
+		this.Expand() ;
+	else
+		this.Collapse() ;
+	
+	document.getElementById( 'CollapseHandle' ).style.display = FCKConfig.ToolbarCanCollapse ? '' : 'none' ;
+}
+
+FCKToolbarSet.Load = function( toolbarSetName )
+{
+	this.DOMElement = document.getElementById( 'eToolbar' ) ;
+	
+	var ToolbarSet = FCKConfig.ToolbarSets[toolbarSetName] ;
+	
+	if (! ToolbarSet)
+	{
+		alert( FCKLang.UnknownToolbarSet.replace( /%1/g, toolbarSetName ) ) ;
+		return ;
+	}
+	
+	this.Toolbars = new Array() ;
+	
+	for ( var x = 0 ; x < ToolbarSet.length ; x++ ) 
+	{
+		var oToolbarItems = ToolbarSet[x] ;
+		
+		var oToolbar ;
+		
+		if ( typeof( oToolbarItems ) == 'string' )
+		{
+			if ( oToolbarItems == '/' )
+				oToolbar = new FCKToolbarBreak() ;
+		}
+		else
+		{
+			oToolbar = new FCKToolbar() ;
+			
+			for ( var j = 0 ; j < oToolbarItems.length ; j++ ) 
+			{
+				var sItem = oToolbarItems[j] ;
+				
+				if ( sItem == '-')
+					oToolbar.AddSeparator() ;
+				else
+				{
+					var oItem = FCKToolbarItems.GetItem( sItem ) ;
+					if ( oItem )
+					{
+						oToolbar.AddItem( oItem ) ;
+
+						if ( !oItem.SourceView )
+							this.ItemsWysiwygOnly[this.ItemsWysiwygOnly.length] = oItem ;
+						
+						if ( oItem.ContextSensitive )
+							this.ItemsContextSensitive[this.ItemsContextSensitive.length] = oItem ;
+					}
+				}
+			}
+			
+			oToolbar.AddTerminator() ;
+		}
+
+		this.Toolbars[ this.Toolbars.length ] = oToolbar ;
+	}
+}
+
+FCKToolbarSet.RefreshModeState = function()
+{
+	if ( FCK.EditMode == FCK_EDITMODE_WYSIWYG )
+	{
+		// Enable all buttons that are available on WYSIWYG mode only.
+		for ( var i = 0 ; i < FCKToolbarSet.ItemsWysiwygOnly.length ; i++ )
+			FCKToolbarSet.ItemsWysiwygOnly[i].Enable() ;
+
+		// Refresh the buttons state.
+		FCKToolbarSet.RefreshItemsState() ;
+	}
+	else
+	{
+		// Refresh the buttons state.
+		FCKToolbarSet.RefreshItemsState() ;
+
+		// Disable all buttons that are available on WYSIWYG mode only.
+		for ( var i = 0 ; i < FCKToolbarSet.ItemsWysiwygOnly.length ; i++ )
+			FCKToolbarSet.ItemsWysiwygOnly[i].Disable() ;
+	}	
+}
+
+FCKToolbarSet.RefreshItemsState = function()
+{
+
+	for ( var i = 0 ; i < FCKToolbarSet.ItemsContextSensitive.length ; i++ )
+		FCKToolbarSet.ItemsContextSensitive[i].RefreshState() ;
+/*
+	TODO: Delete this commented block on stable version.
+	for ( var i = 0 ; i < FCKToolbarSet.Toolbars.length ; i++ )
+	{
+		var oToolbar = FCKToolbarSet.Toolbars[i] ;
+		for ( var j = 0 ; j < oToolbar.Items.length ; j++ )
+		{
+			oToolbar.Items[j].RefreshState() ;
+		}
+	}
+*/
+}

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fcktools.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fcktools.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fcktools.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,286 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fcktools.js
+ * 	Utility functions.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+var FCKTools = new Object() ;
+
+//**
+// FCKTools.GetLinkedFieldValue: Gets the value of the hidden INPUT element
+// that is associated to the editor. This element has its ID set to the 
+// editor's instance name so the user reffers to the instance name when getting
+// the posted data.
+FCKTools.GetLinkedFieldValue = function()
+{
+	return FCK.LinkedField.value ;
+}
+
+//**
+// FCKTools.AttachToLinkedFieldFormSubmit: attaches a function call to the 
+// submit event of the linked field form. This function us generally used to
+// update the linked field value before submitting the form.
+FCKTools.AttachToLinkedFieldFormSubmit = function( functionPointer )
+{
+	// Gets the linked field form
+	var oForm = FCK.LinkedField.form ;
+	
+	// Return now if no form is available
+	if (!oForm) return ;
+
+	// Attaches the functionPointer call to the onsubmit event
+	if ( FCKBrowserInfo.IsIE )
+		oForm.attachEvent( "onsubmit", functionPointer ) ;
+	else
+		oForm.addEventListener( 'submit', functionPointer, true ) ;
+	
+	//**
+	// Attaches the functionPointer call to the submit method 
+	// This is done because IE doesn't fire onsubmit when the submit method is called
+	// BEGIN --
+	
+	// Creates a Array in the form object that will hold all Attached function call
+	// (in the case there are more than one editor in the same page)
+	if (! oForm.updateFCKeditor) oForm.updateFCKeditor = new Array() ;
+	
+	// Adds the function pointer to the array of functions to call when "submit" is called
+	oForm.updateFCKeditor[oForm.updateFCKeditor.length] = functionPointer ;
+
+	// Switches the original submit method with a new one that first call all functions
+	// on the above array and the call the original submit
+	// IE sees it oForm.submit function as an 'object'.
+	if (! oForm.originalSubmit && ( typeof( oForm.submit ) == 'function' || ( !oForm.submit.tagName && !oForm.submit.length ) ) )
+	{
+		// Creates a copy of the original submit
+		oForm.originalSubmit = oForm.submit ;
+		
+		// Creates our replacement for the submit
+		oForm.submit = FCKTools_SubmitReplacer ;
+	}
+	// END --
+}
+
+function FCKTools_SubmitReplacer()
+{
+	if (this.updateFCKeditor)
+	{
+		// Calls all functions in the functions array
+		for (var i = 0 ; i < this.updateFCKeditor.length ; i++)
+			this.updateFCKeditor[i]() ;
+	}
+	// Calls the original "submit"
+	this.originalSubmit() ;
+}
+
+//**
+// FCKTools.AddSelectOption: Adds a option to a SELECT element.
+FCKTools.AddSelectOption = function( targetDocument, selectElement, optionText, optionValue )
+{
+	var oOption = targetDocument.createElement("OPTION") ;
+
+	oOption.text	= optionText ;
+	oOption.value	= optionValue ;	
+
+	selectElement.options.add(oOption) ;
+
+	return oOption ;
+}
+
+FCKTools.RemoveAllSelectOptions = function( selectElement )
+{
+	for ( var i = selectElement.options.length - 1 ; i >= 0 ; i-- )
+	{
+		selectElement.options.remove(i) ;
+	}
+}
+
+FCKTools.SelectNoCase = function( selectElement, value, defaultValue )
+{
+	var sNoCaseValue = value.toString().toLowerCase() ;
+	
+	for ( var i = 0 ; i < selectElement.options.length ; i++ )
+	{
+		if ( sNoCaseValue == selectElement.options[i].value.toLowerCase() )
+		{
+			selectElement.selectedIndex = i ;
+			return ;
+		}
+	}
+	
+	if ( defaultValue != null ) FCKTools.SelectNoCase( selectElement, defaultValue ) ;
+}
+
+FCKTools.HTMLEncode = function( text )
+{
+	if ( !text )
+		return '' ;
+
+	text = text.replace( /&/g, "&amp;" ) ;
+	text = text.replace( /"/g, "&quot;" ) ;
+	text = text.replace( /</g, "&lt;" ) ;
+	text = text.replace( />/g, "&gt;" ) ;
+	text = text.replace( /'/g, "&#39;" ) ;
+
+	return text ;
+}
+
+//**
+// FCKTools.GetResultingArray: Gets a array from a string (where the elements 
+// are separated by a character), a fuction (that returns a array) or a array.
+FCKTools.GetResultingArray = function( arraySource, separator )
+{
+	switch ( typeof( arraySource ) )
+	{
+		case "string" :
+			return arraySource.split( separator ) ;
+		case "function" :
+			return separator() ;
+		default :
+			if ( isArray( arraySource ) ) return arraySource ;
+			else return new Array() ;
+	}
+}
+
+FCKTools.GetElementPosition = function( el )
+{
+	// Initializes the Coordinates object that will be returned by the function.
+	var c = { X:0, Y:0 } ;
+	
+	// Loop throw the offset chain.
+	while ( el )
+	{
+		c.X += el.offsetLeft ;
+		c.Y += el.offsetTop ;
+		
+		el = el.offsetParent ;
+	}
+	
+	// Return the Coordinates object
+	return c ;
+}
+
+// START iCM MODIFICATIONS
+// Amended to accept a list of one or more ascensor tag names
+// Amended to check the element itself before working back up through the parent hierarchy
+FCKTools.GetElementAscensor = function( element, ascensorTagNames )
+{
+//	var e = element.parentNode ;
+	var e = element ;
+	var lstTags = "," + ascensorTagNames.toUpperCase() + "," ;
+
+	while ( e )
+	{
+		if ( lstTags.indexOf( "," + e.nodeName.toUpperCase() + "," ) != -1 )
+			return e ;
+
+		e = e.parentNode ;
+	}
+	return null ;
+}
+// END iCM MODIFICATIONS
+
+FCKTools.Pause = function( miliseconds )
+{
+	var oStart = new Date() ;
+
+	while (true)
+	{ 
+		var oNow = new Date() ;
+		if ( miliseconds < oNow - oStart ) 
+			return ;
+	}
+}
+
+FCKTools.ConvertStyleSizeToHtml = function( size )
+{
+	return size.endsWith( '%' ) ? size : parseInt( size ) ;
+}
+
+FCKTools.ConvertHtmlSizeToStyle = function( size )
+{
+	return size.endsWith( '%' ) ? size : ( size + 'px' ) ;
+}
+// START iCM MODIFICATIONS
+/*
+// Transfers the supplied attributes to the supplied node
+FCKTools.SetElementAttributes = function( oElement, oAttributes ) 
+{
+	for ( var i = 0; i < oAttributes.length; i++ ) 
+	{
+		if ( oAttributes[i].specified ) // Needed for IE which always returns all attributes whether set or not
+			oElement.setAttribute( oAttributes[i].nodeName, oAttributes[i].nodeValue, 0 ) ;
+	}
+}
+
+// Get immediate block node (P, H1, for example) for the supplied node - the supplied node may itself be a block node in which
+// case it will be returned. If no block node found, returns null.
+FCKTools.GetParentBlockNode = function( oNode )
+{
+	if ( oNode.nodeName.toUpperCase() == "BODY" )
+		return null ;
+	else if ( oNode.nodeType == 1 && FCKRegexLib.BlockElements.test(oNode.tagName) )
+		return oNode ;
+	else
+		return FCKTools.GetParentBlockNode( oNode.parentNode ) ;
+}
+
+// Run through any children of the supplied node. If there are none, or they only comprise 
+// empty text nodes and BR nodes, then the node is effectively empty.
+// Sometimes (on Gecko) a seemingly empty node is coming back with several children that are solely
+// empty text nodes and BRs e.g. the first item in an OL list, for example, when 
+// UseBROnCarriageReturn is set to false. 
+// Seems to be due to the use of the <br _moz_editor_bogus_node="TRUE"> (GECKO_BOGUS) as fillers both
+// in fck_gecko_1.js when html is empty and in ENTER key handler ? If normal BR tags are
+// used instead this doesn't seem to happen....
+FCKTools.NodeIsEmpty = function( oNode )
+{
+	var oSibling = oNode.childNodes[0] ;
+	while ( oSibling )
+	{
+		if ( ( oSibling.nodeType != 1 && oSibling.nodeType != 3 ) || ( oSibling.nodeType == 1 && oSibling.nodeName.toUpperCase() != "BR" ) || ( oSibling.nodeType == 3 && oSibling.nodeValue && oSibling.nodeValue.trim() != '' ) )
+			return false ;
+		
+		oSibling = oSibling.nextSibling ;
+	}
+
+	return true ;
+}
+
+// Returns a document fragment that contains a copy of the specified range of nodes
+FCKTools.GetDocumentFragment = function( oParentNode, oFromNode, oToNode, bIncludeFromNode, bIncludeToNode, bClone )
+{	
+	if ( typeof bIncludeFromNode == "undefined" )  bIncludeFromNode = true ;
+	if ( typeof bIncludeToNode == "undefined" )  bIncludeToNode = true ;
+	if ( typeof bClone == "undefined" )  bClone = true ;
+
+	var oFragment = FCK.EditorDocument.createDocumentFragment() ;
+	
+	var oNode = oFromNode ;
+	while ( oNode && oNode != oToNode )
+	{
+		if ( oNode != oFromNode || bIncludeFromNode )
+			oFragment.appendChild( bClone ? oNode.cloneNode( true ) : oNode ) ;
+			
+		oNode = oNode.nextSibling ;
+	}
+
+	if ( oNode && (oFromNode != oToNode && bIncludeToNode) )
+		oFragment.appendChild( bClone ? oNode.cloneNode( true ) : oNode ) ; // Include To Node
+
+	return oFragment ;
+}
+*/
+// END iCM MODIFICATIONS

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fcktools_gecko.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fcktools_gecko.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fcktools_gecko.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,254 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fcktools_gecko.js
+ * 	Utility functions. (Gecko version).
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+// Constant for the Gecko Bogus Node.
+var GECKO_BOGUS = '<br _moz_editor_bogus_node="TRUE">' ;
+
+// Appends a CSS file to a document.
+FCKTools.AppendStyleSheet = function( documentElement, cssFileUrl )
+{
+	var e = documentElement.createElement( 'LINK' ) ;
+	e.rel	= 'stylesheet' ;
+	e.type	= 'text/css' ;
+	e.href	= cssFileUrl ;
+	documentElement.getElementsByTagName("HEAD")[0].appendChild( e ) ;
+	return e ;
+}
+
+// Removes all attributes and values from the element.
+FCKTools.ClearElementAttributes = function( element )
+{
+	// Loop throw all attributes in the element
+	for ( var i = 0 ; i < element.attributes.length ; i++ )
+	{
+		// Remove the element by name.
+		element.removeAttribute( element.attributes[i].name, 0 ) ;	// 0 : Case Insensitive
+	}
+}
+
+// Returns an Array of strings with all defined in the elements inside another element.
+FCKTools.GetAllChildrenIds = function( parentElement )
+{
+	// Create the array that will hold all Ids.
+	var aIds = new Array() ;
+	
+	// Define a recursive function that search for the Ids.
+	var fGetIds = function( parent )
+	{
+		for ( var i = 0 ; i < parent.childNodes.length ; i++ )
+		{
+			var sId = parent.childNodes[i].id ;
+			
+			// Check if the Id is defined for the element.
+			if ( sId && sId.length > 0 ) aIds[ aIds.length ] = sId ;
+			
+			// Recursive call.
+			fGetIds( parent.childNodes[i] ) ;
+		}
+	}
+	
+	// Start the recursive calls.
+	fGetIds( parentElement ) ;
+
+	return aIds ;
+}
+
+FCKTools.RemoveOuterTags = function( e )
+{
+	var oFragment = e.ownerDocument.createDocumentFragment() ;
+			
+	for ( var i = 0 ; i < e.childNodes.length ; i++ )
+		oFragment.appendChild( e.childNodes[i] ) ;
+			
+	e.parentNode.replaceChild( oFragment, e ) ;
+}
+
+FCKTools.CreateXmlObject = function( object )
+{
+	switch ( object )
+	{
+		case 'XmlHttp' :
+			return new XMLHttpRequest() ;
+		case 'DOMDocument' :
+			return document.implementation.createDocument( '', '', null ) ;
+	}
+	return null ;
+}
+// START iCM Modifications
+/*
+// Starting at the specified node, find the first inline node of the sequence
+// For example, assume we have the following elements : <p>Some text <span>some more text</span> and <a href="href">some link</a> yet some more text</p>
+// If the "some link" text node is the one specified, then the "Some text" text node will be the first inline node returned.
+FCKTools.GetFirstInlineNode = function( oNode )
+{
+	if ( FCKRegexLib.BlockElements.test( oNode.nodeName ) )
+		return oNode ;
+	else if ( oNode.previousSibling && !FCKRegexLib.BlockElements.test( oNode.previousSibling.nodeName ) )
+		return FCKTools.GetFirstInlineNode( oNode.previousSibling ) ;
+	else if ( oNode.parentNode && !FCKRegexLib.BlockElements.test( oNode.parentNode.nodeName ) && oNode.parentNode.nodeName.toUpperCase() != "BODY" )
+		return FCKTools.GetFirstInlineNode( oNode.parentNode ) ;
+	else 
+		return oNode ;
+}
+
+// Starting at the specified node, find the last inline node of the sequence
+// For example, assume we have the following elements : <p>Some text <span>some more text</span> and <a href="href">some link</a> yet some more text</p>
+// If the "some link" text node is the one specified, then the " yet some more text" text node will be the last inline node returned.
+FCKTools.GetLastInlineNode = function( oNode )
+{
+	if ( FCKRegexLib.BlockElements.test( oNode.nodeName ) )
+		return oNode ;
+	else if ( oNode.nextSibling && !FCKRegexLib.BlockElements.test( oNode.nextSibling.nodeName ) )
+		return FCKTools.GetLastInlineNode( oNode.nextSibling ) ;
+	else if ( oNode.parentNode && !FCKRegexLib.BlockElements.test( oNode.parentNode.nodeName ) && oNode.parentNode.nodeName.toUpperCase() != "BODY" )
+		return FCKTools.GetLastInlineNode( oNode.parentNode ) ;
+	else
+		return oNode ;
+}
+
+
+// Split the supplied parent at the specified child and (optionally) offset.
+// Ensure that enclosing block elements are created where missing but that existing 
+// block elements (table for example) don't get incorrectly nested. 
+FCKTools.SplitNode = function( oParentBlockNode, oChildNode, nOffset )
+{
+	if ( typeof nOffset == "undefined" ) nOffset = 0 ;
+
+	var oFragment = FCK.EditorDocument.createDocumentFragment() ;
+	var oRange = FCK.EditorDocument.createRange() ;
+
+	if ( FCKRegexLib.ListElements.test( oParentBlockNode.nodeName ) )
+	{
+		// Treat OL/UL parents differently as want to split at the specified
+		// child LI node to create to OL/UL lists.
+		oStartNode = oParentBlockNode.firstChild ;
+		oEndNode = oParentBlockNode.lastChild ;
+	}
+	else
+	{
+		// Locate the inline nodes adjacent to the specified child node so that these can
+		// be kept together.
+		oStartNode = FCKTools.GetFirstInlineNode( oChildNode ) ;
+		oEndNode = FCKTools.GetLastInlineNode( oChildNode ) ;
+	}
+
+	// Create a new tag which holds the content of the affected node(s) located before (but not including) the child node and offset
+	if ( FCKRegexLib.BlockElements.test( oStartNode.nodeName ) && !FCKRegexLib.ListElements.test( oParentBlockNode.nodeName ) )
+	{
+		// First element of the bunch is already a block element so we don't want to wrap it with a new block element.
+		// Just use this first node provided it is not the same as the last node (to prevent duplication), otherwise
+		// create a new empty P element.
+		if ( oStartNode != oEndNode )
+		{
+			oBlockNode1 = oStartNode.cloneNode( true ) ;
+		}
+		else
+		{
+			oBlockNode1 = FCK.EditorDocument.createElement( "P" ) ;
+			oBlockNode1.innerHTML = GECKO_BOGUS ;
+			
+			if ( !FCKRegexLib.SpecialBlockElements.test( oParentBlockNode.nodeName ) )
+				FCKTools.SetElementAttributes( oBlockNode1, oParentBlockNode.attributes ) ;  // Transfer across any class attributes, etc
+		}
+	}
+	else
+	{
+		// First element of the bunch is not a block element (or it is a LI element which is a special case).
+		// So ensure all of the inline nodes before the selection are wrapped with a suitable block element.
+		var oBlockNode1 = FCK.EditorDocument.createElement( FCKRegexLib.SpecialBlockElements.test( oParentBlockNode.nodeName ) ? "P" : oParentBlockNode.tagName ) ;
+		oRange.setStartBefore( oStartNode ) ;
+		if ( nOffset == 0 )
+			oRange.setEndBefore( oChildNode ) ;
+		else
+			oRange.setEnd( oChildNode, nOffset ) ;
+		oBlockNode1.appendChild( oRange.cloneContents() ) ;
+		oBlockNode1.innerHTML = oBlockNode1.innerHTML.replace(/[\x00-\x1F]/g, "") ; // Prevent any control characters returned within the innerHTML from causing problems
+		if ( FCKTools.NodeIsEmpty( oBlockNode1 ) )
+			oBlockNode1.innerHTML = GECKO_BOGUS ;		// Ensure it has some content, required for Gecko
+		else
+			oBlockNode1.innerHTML = oBlockNode1.innerHTML.replace( FCKRegexLib.EmptyElement, "" ) ; // Strip out any empty tags that may have been generated by the split
+		if ( !FCKRegexLib.SpecialBlockElements.test( oParentBlockNode.nodeName ) )
+			FCKTools.SetElementAttributes( oBlockNode1, oParentBlockNode.attributes ) ; 	// Transfer across any class attributes, etc
+	}
+
+	// Create a new tag which holds the content of the affected node(s) located after (and including) the child node
+	if ( FCKRegexLib.BlockElements.test( oEndNode.nodeName ) && !FCKRegexLib.ListElements.test( oParentBlockNode.nodeName ) )
+	{
+		// Last element of the bunch is already a block element so we don't want to wrap it with a new block element.
+		oBlockNode2 = oEndNode.cloneNode( true ) ;
+	}
+	else
+	{
+		// Last element of the bunch is not a block element (or it is a LI element which is a special case).
+		// So ensure all of the inline nodes after and including the child/offset are wrapped with a suitable block element.
+		var oBlockNode2 = FCK.EditorDocument.createElement( FCKRegexLib.SpecialBlockElements.test( oParentBlockNode.nodeName ) ? "P" : oParentBlockNode.tagName );
+		oRange.setEndAfter( oEndNode );
+		if ( nOffset == 0 )
+			oRange.setStartBefore( oChildNode ) ;
+		else
+			oRange.setStart( oChildNode, nOffset );
+		oBlockNode2.appendChild( oRange.cloneContents() ) ;
+		oBlockNode2.innerHTML = oBlockNode2.innerHTML.replace(/[\x00-\x1F]/g, "") ;  // Prevent any control characters returned within the innerHTML from causing problems
+		if ( FCKTools.NodeIsEmpty( oBlockNode2 ) ) 
+			oBlockNode2.innerHTML = GECKO_BOGUS ; 			// Ensure it has some content, required for Gecko
+		else
+			oBlockNode2.innerHTML = oBlockNode2.innerHTML.replace( FCKRegexLib.EmptyElement, "" ) ; // Strip out any empty tags that may have been generated by the split
+		if ( !FCKRegexLib.SpecialBlockElements.test( oParentBlockNode.nodeName ) )
+			FCKTools.SetElementAttributes( oBlockNode2, oParentBlockNode.attributes ) ; 	// Transfer across any class attributes, etc
+	}
+	
+	// Insert the resulting nodes into a document fragment
+	oFragment.appendChild( oBlockNode1 );
+	oFragment.appendChild( oBlockNode2 );
+	
+	// Replace the affected nodes with the new nodes (fragment)
+	FCKTools.ReplaceNodes( oParentBlockNode, oStartNode, oEndNode, oFragment ) ;	
+	
+	// Return the second node so it can be used for setting cursor position, etc
+	return oBlockNode2 ;
+}
+
+// Function that replaces the specified range of nodes (inclusive) within the supplied parent
+// with the nodes stored in the supplied document fragment.
+FCKTools.ReplaceNodes = function( oParentBlockNode, oStartNode, oEndNode, oFragment )
+{
+	var oRange = FCK.EditorDocument.createRange() ;
+	
+	// Delete the affected node(s)
+	if ( !FCKRegexLib.SpecialBlockElements.test( oParentBlockNode.nodeName ) && (oParentBlockNode.firstChild == oStartNode) && (oParentBlockNode.lastChild == oEndNode) )
+	{
+		// Entire parent block node is to be replaced so insert the two new block elements before it 
+		// and then remove the old node
+		oRange.selectNode ( oParentBlockNode );
+	}
+	else
+	{
+		// Only part of the parent block node is to be replaced so insert the two new block elements
+		// before the first inline node of the affected content and then remove the old nodes
+		oRange.setEndAfter( oEndNode ) ;
+		oRange.setStartBefore( oStartNode ) ;
+	}
+	
+	// Insert the replacement nodes
+	oRange.deleteContents() ;
+	oRange.insertNode( oFragment ) ;
+}
+*/
+// END iCM Modifications
+

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fcktools_ie.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fcktools_ie.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fcktools_ie.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,77 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fcktools_ie.js
+ * 	Utility functions. (IE version).
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+// Appends a CSS file to a document.
+FCKTools.AppendStyleSheet = function( documentElement, cssFileUrl )
+{
+	return documentElement.createStyleSheet( cssFileUrl ) ;
+}
+
+// Removes all attributes and values from the element.
+FCKTools.ClearElementAttributes = function( element )
+{
+	element.clearAttributes() ;
+}
+
+FCKTools.GetAllChildrenIds = function( parentElement )
+{
+	var aIds = new Array() ;
+	for ( var i = 0 ; i < parentElement.all.length ; i++ )
+	{
+		var sId = parentElement.all[i].id ;
+		if ( sId && sId.length > 0 )
+			aIds[ aIds.length ] = sId ;
+	}
+	return aIds ;
+}
+
+FCKTools.RemoveOuterTags = function( e )
+{
+	e.insertAdjacentHTML( 'beforeBegin', e.innerHTML ) ;
+	e.parentNode.removeChild( e ) ;
+}
+
+FCKTools.CreateXmlObject = function( object )
+{
+	var aObjs ;
+	
+	switch ( object )
+	{
+		case 'XmlHttp' :
+			aObjs = [ 'MSXML2.XmlHttp', 'Microsoft.XmlHttp' ] ;
+			break ;
+				
+		case 'DOMDocument' :
+			aObjs = [ 'MSXML2.DOMDocument', 'Microsoft.XmlDom' ] ;
+			break ;
+	}
+
+	for ( var i = 0 ; i < 2 ; i++ )
+	{
+		try { return new ActiveXObject( aObjs[i] ) ; }
+		catch (e) 
+		{}
+	}
+	
+	if ( FCKLang.NoActiveX )
+	{
+		alert( FCKLang.NoActiveX ) ;
+		FCKLang.NoActiveX = null ;
+	}
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckundo_gecko.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckundo_gecko.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckundo_gecko.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,4 @@
+var FCKUndo = new Object() ;
+
+FCKUndo.SaveUndoStep = function()
+{}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckundo_ie.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckundo_ie.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckundo_ie.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,97 @@
+var FCKUndo = new Object() ;
+
+FCKUndo.SavedData = new Array() ;
+FCKUndo.CurrentIndex = -1 ;
+FCKUndo.TypesCount = FCKUndo.MaxTypes = 25 ;
+FCKUndo.Typing = false ;
+
+FCKUndo.SaveUndoStep = function()
+{
+	// Shrink the array to the current level.
+	FCKUndo.SavedData = FCKUndo.SavedData.slice( 0, FCKUndo.CurrentIndex + 1 ) ;
+
+	// Get the Actual HTML.
+	var sHtml = FCK.EditorDocument.body.innerHTML ;
+
+	// Cancel operation if the new step is identical to the previous one.
+	if ( FCKUndo.CurrentIndex >= 0 && sHtml == FCKUndo.SavedData[ FCKUndo.CurrentIndex ][0] )
+		return ;
+
+	// If we reach the Maximun number of undo levels, we must remove the first
+	// entry of the list shifting all elements.
+	if ( FCKUndo.CurrentIndex + 1 >= FCKConfig.MaxUndoLevels )
+		FCKUndo.SavedData.shift() ;
+	else
+		FCKUndo.CurrentIndex++ ;
+
+	// Get the actual selection.
+	var sBookmark ;
+	if ( FCK.EditorDocument.selection.type == 'Text' )
+		sBookmark = FCK.EditorDocument.selection.createRange().getBookmark() ;
+
+	// Save the new level in front of the actual position.
+	FCKUndo.SavedData[ FCKUndo.CurrentIndex ] = [ sHtml, sBookmark ] ;
+
+	FCK.Events.FireEvent( "OnSelectionChange" ) ;
+}
+
+FCKUndo.CheckUndoState = function()
+{
+	return ( FCKUndo.Typing || FCKUndo.CurrentIndex > 0 ) ;
+}
+
+FCKUndo.CheckRedoState = function()
+{
+	return ( !FCKUndo.Typing && FCKUndo.CurrentIndex < ( FCKUndo.SavedData.length - 1 ) ) ;
+}
+
+FCKUndo.Undo = function()
+{
+	if ( FCKUndo.CheckUndoState() )
+	{
+		// If it is the first step.
+		if ( FCKUndo.CurrentIndex == ( FCKUndo.SavedData.length - 1 ) )
+		{
+			// Save the actual state for a possible "Redo" call.
+			FCKUndo.SaveUndoStep() ;
+		}
+
+		// Go a step back.
+		FCKUndo._ApplyUndoLevel( --FCKUndo.CurrentIndex ) ;
+
+		FCK.Events.FireEvent( "OnSelectionChange" ) ;
+	}
+}
+
+FCKUndo.Redo = function()
+{
+	if ( FCKUndo.CheckRedoState() )
+	{
+		// Go a step forward.
+		FCKUndo._ApplyUndoLevel( ++FCKUndo.CurrentIndex ) ;
+
+		FCK.Events.FireEvent( "OnSelectionChange" ) ;
+	}
+}
+
+FCKUndo._ApplyUndoLevel = function(level)
+{
+	var oData = FCKUndo.SavedData[ level ] ;
+	
+	if ( !oData )
+		return ;
+
+	// Update the editor contents with that step data.
+	FCK.SetInnerHtml( oData[0] ) ;
+//	FCK.EditorDocument.body.innerHTML = oData[0] ;
+
+	if ( oData[1] ) 
+	{
+		var oRange = FCK.EditorDocument.selection.createRange() ;
+		oRange.moveToBookmark( oData[1] ) ;
+		oRange.select() ;
+	}
+	
+	FCKUndo.TypesCount = 0 ; 
+	FCKUndo.Typing = false ;
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckurlparams.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckurlparams.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckurlparams.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,32 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckurlparams.js
+ * 	Defines the FCKURLParams object that is used to get all parameters
+ * 	passed by the URL QueryString (after the "?").
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+// #### URLParams: holds all URL passed parameters (like ?Param1=Value1&Param2=Value2)
+var FCKURLParams = new Object() ;
+
+var aParams = document.location.search.substr(1).split('&') ;
+for ( var i = 0 ; i < aParams.length ; i++ )
+{
+	var aParam = aParams[i].split('=') ;
+	var sParamName  = aParam[0] ;
+	var sParamValue = aParam[1] ;
+
+	FCKURLParams[ sParamName ] = sParamValue ;
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckxhtml.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckxhtml.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckxhtml.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,354 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckxhtml.js
+ * 	Defines the FCKXHtml object, responsible for the XHTML operations.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+var FCKXHtml = new Object() ;
+
+FCKXHtml.CurrentJobNum = 0 ;
+
+FCKXHtml.GetXHTML = function( node, includeNode, format )
+{
+	// Special blocks are blocks of content that remain untouched during the
+	// process. It is used for SCRIPTs and STYLEs.
+	FCKXHtml.SpecialBlocks = new Array() ;
+
+	// Create the XML DOMDocument object.
+	this.XML = FCKTools.CreateXmlObject( 'DOMDocument' ) ;
+
+	// Add a root element that holds all child nodes.
+	this.MainNode = this.XML.appendChild( this.XML.createElement( 'xhtml' ) ) ;
+
+	FCKXHtml.CurrentJobNum++ ;
+
+	if ( includeNode )
+		this._AppendNode( this.MainNode, node ) ;
+	else
+		this._AppendChildNodes( this.MainNode, node, false ) ;
+
+	// Get the resulting XHTML as a string.
+	var sXHTML = this._GetMainXmlString() ;
+
+	// Strip the "XHTML" root node.
+	sXHTML = sXHTML.substr( 7, sXHTML.length - 15 ).trim() ;
+	
+	// Remove the trailing <br> added by Gecko.
+	if ( FCKBrowserInfo.IsGecko )
+		sXHTML = sXHTML.replace( /<br\/>$/, '' ) ;
+
+	// Add a space in the tags with no closing tags, like <br/> -> <br />
+	sXHTML = sXHTML.replace( FCKRegexLib.SpaceNoClose, ' />');
+
+	if ( FCKConfig.ForceSimpleAmpersand )
+		sXHTML = sXHTML.replace( FCKRegexLib.ForceSimpleAmpersand, '&' ) ;
+
+	if ( format )
+		sXHTML = FCKCodeFormatter.Format( sXHTML ) ;
+
+	// Now we put back the SpecialBlocks contents.
+	for ( var i = 0 ; i < FCKXHtml.SpecialBlocks.length ; i++ )
+	{
+		var oRegex = new RegExp( '___FCKsi___' + i ) ;
+		sXHTML = sXHTML.replace( oRegex, FCKXHtml.SpecialBlocks[i] ) ;
+	}
+
+	this.XML = null ;
+
+	return sXHTML
+}
+
+FCKXHtml._AppendAttribute = function( xmlNode, attributeName, attributeValue )
+{
+	try
+	{
+		// Create the attribute.
+		var oXmlAtt = this.XML.createAttribute( attributeName ) ;
+
+		oXmlAtt.value = attributeValue ? attributeValue : '' ;
+
+		// Set the attribute in the node.
+		xmlNode.attributes.setNamedItem( oXmlAtt ) ;
+	}
+	catch (e)
+	{}
+}
+
+FCKXHtml._AppendChildNodes = function( xmlNode, htmlNode, isBlockElement )
+{
+	var iCount = 0 ;
+	
+	if ( htmlNode.hasChildNodes() )
+	{
+		// Get all children nodes.
+		var oChildren = htmlNode.childNodes ;
+
+		for ( var i = 0 ; i < oChildren.length ; i++ )
+		{
+			if ( this._AppendNode( xmlNode, oChildren[i] ) )
+				iCount++ ;
+		}
+	}
+	
+	if ( iCount == 0 )
+	{
+		if ( isBlockElement && FCKConfig.FillEmptyBlocks )
+		{
+			this._AppendEntity( xmlNode, 'nbsp' ) ;
+			return ;
+		}
+
+		// We can't use short representation of empty elements that are not marked
+		// as empty in th XHTML DTD.
+		if ( !FCKRegexLib.EmptyElements.test( htmlNode.nodeName ) )
+			xmlNode.appendChild( this.XML.createTextNode('') ) ;
+	}
+}
+
+FCKXHtml._AppendNode = function( xmlNode, htmlNode )
+{
+	switch ( htmlNode.nodeType )
+	{
+		// Element Node.
+		case 1 :
+			if ( htmlNode.getAttribute('_fckfakelement') )
+				return FCKXHtml._AppendNode( xmlNode, FCK.GetRealElement( htmlNode ) ) ;
+		
+			// Mozilla insert custom nodes in the DOM.
+			if ( FCKBrowserInfo.IsGecko && htmlNode.hasAttribute('_moz_editor_bogus_node') )
+				return false ;
+			
+			if ( htmlNode.getAttribute('_fckdelete') )
+				return false ;
+
+			// Create the Element.
+			var sNodeName = htmlNode.nodeName ;
+
+			// Check if the node name is valid, otherwise ignore this tag.
+			if ( !FCKRegexLib.ElementName.test( sNodeName ) )
+				return false ;
+
+			sNodeName = sNodeName.toLowerCase() ;
+
+			if ( FCKBrowserInfo.IsGecko && sNodeName == 'br' && htmlNode.hasAttribute('type') && htmlNode.getAttribute( 'type', 2 ) == '_moz' )
+				return false ;
+
+			// The already processed nodes must be marked to avoid then to be duplicated (bad formatted HTML).
+			// So here, the "mark" is checked... if the element is Ok, then mark it.
+			if ( htmlNode._fckxhtmljob && htmlNode._fckxhtmljob == FCKXHtml.CurrentJobNum )
+				return false ;
+			else
+				htmlNode._fckxhtmljob = FCKXHtml.CurrentJobNum ;
+
+			// If the nodeName starts with a slash, it is a orphan closing tag.
+			// On some strange cases, the nodeName is empty, even if the node exists.
+//			if ( sNodeName.length == 0 || sNodeName.substr(0,1) == '/' )
+//				break ;
+
+			var oNode = this._CreateNode( sNodeName ) ;
+			
+			// Add all attributes.
+			FCKXHtml._AppendAttributes( xmlNode, htmlNode, oNode, sNodeName ) ;
+
+			// Tag specific processing.
+			var oTagProcessor = FCKXHtml.TagProcessors[ sNodeName ] ;
+
+			if ( oTagProcessor )
+			{
+				oNode = oTagProcessor( oNode, htmlNode ) ;
+				if ( !oNode ) break ;
+			}
+			else
+				this._AppendChildNodes( oNode, htmlNode, FCKRegexLib.BlockElements.test( sNodeName ) ) ;
+
+			xmlNode.appendChild( oNode ) ;
+
+			break ;
+
+		// Text Node.
+		case 3 :
+			this._AppendTextNode( xmlNode, htmlNode.nodeValue.replaceNewLineChars(' ') ) ;
+			break ;
+
+		// Comment
+		case 8 :
+			try { xmlNode.appendChild( this.XML.createComment( htmlNode.nodeValue ) ) ; }
+			catch (e) { /* Do nothing... probably this is a wrong format comment. */ }
+			break ;
+
+		// Unknown Node type.
+		default :
+			xmlNode.appendChild( this.XML.createComment( "Element not supported - Type: " + htmlNode.nodeType + " Name: " + htmlNode.nodeName ) ) ;
+			break ;
+	}
+	return true ;
+}
+
+if ( FCKConfig.ForceStrongEm )
+{
+	FCKXHtml._CreateNode = function( nodeName )
+	{
+		switch ( nodeName )
+		{
+			case 'b' :
+				nodeName = 'strong' ;
+				break ;
+			case 'i' :
+				nodeName = 'em' ;
+				break ;
+		}
+		return this.XML.createElement( nodeName ) ;
+	}
+}
+else
+{
+	FCKXHtml._CreateNode = function( nodeName )
+	{
+		return this.XML.createElement( nodeName ) ;
+	}
+}
+
+// Append an item to the SpecialBlocks array and returns the tag to be used.
+FCKXHtml._AppendSpecialItem = function( item )
+{
+	return '___FCKsi___' + FCKXHtml.SpecialBlocks.addItem( item ) ;
+}
+
+//if ( FCKConfig.ProcessHTMLEntities )
+//{
+	FCKXHtml._AppendTextNode = function( targetNode, textValue )
+	{
+		// We can't just replace the special chars with entities and create a
+		// text node with it. We must split the text isolating the special chars
+		// and add each piece a time.
+		var asPieces = textValue.match( FCKXHtmlEntities.EntitiesRegex ) ;
+
+		if ( asPieces )
+		{
+			for ( var i = 0 ; i < asPieces.length ; i++ )
+			{
+				if ( asPieces[i].length == 1 )
+				{
+					var sEntity = FCKXHtmlEntities.Entities[ asPieces[i] ] ;
+					if ( sEntity != null )
+					{
+						this._AppendEntity( targetNode, sEntity ) ;
+						continue ;
+					}
+				}
+				targetNode.appendChild( this.XML.createTextNode( asPieces[i] ) ) ;
+			}
+		}
+	}
+//}
+//else
+//{
+//	FCKXHtml._AppendTextNode = function( targetNode, textValue )
+//	{
+//		targetNode.appendChild( this.XML.createTextNode( textValue ) ) ;
+//	}
+//}
+
+// An object that hold tag specific operations.
+FCKXHtml.TagProcessors = new Object() ;
+
+FCKXHtml.TagProcessors['img'] = function( node )
+{
+	// The "ALT" attribute is required in XHTML.
+	if ( ! node.attributes.getNamedItem( 'alt' ) )
+		FCKXHtml._AppendAttribute( node, 'alt', '' ) ;
+
+	return node ;
+}
+
+FCKXHtml.TagProcessors['script'] = function( node, htmlNode )
+{
+	// The "TYPE" attribute is required in XHTML.
+	if ( ! node.attributes.getNamedItem( 'type' ) )
+		FCKXHtml._AppendAttribute( node, 'type', 'text/javascript' ) ;
+
+	node.appendChild( FCKXHtml.XML.createTextNode( FCKXHtml._AppendSpecialItem( htmlNode.text ) ) ) ;
+
+	return node ;
+}
+
+FCKXHtml.TagProcessors['style'] = function( node, htmlNode )
+{
+	// The "_fcktemp" attribute is used to mark the <STYLE> used by the editor
+	// to set some behaviors.
+	if ( htmlNode.getAttribute( '_fcktemp' ) )
+		return null ;
+
+	// The "TYPE" attribute is required in XHTML.
+	if ( ! node.attributes.getNamedItem( 'type' ) )
+		FCKXHtml._AppendAttribute( node, 'type', 'text/css' ) ;
+
+	node.appendChild( FCKXHtml.XML.createTextNode( FCKXHtml._AppendSpecialItem( htmlNode.innerHTML ) ) ) ;
+
+	return node ;
+}
+
+FCKXHtml.TagProcessors['title'] = function( node, htmlNode )
+{
+	node.appendChild( FCKXHtml.XML.createTextNode( FCK.EditorDocument.title ) ) ;
+
+	return node ;
+}
+
+FCKXHtml.TagProcessors['base'] = function( node, htmlNode )
+{
+	// The "_fcktemp" attribute is used to mark the <BASE> tag when the editor
+	// automatically sets it using the FCKConfig.BaseHref configuration.
+	if ( htmlNode.getAttribute( '_fcktemp' ) )
+		return null ;
+
+	// IE duplicates the BODY inside the <BASE /> tag (don't ask me why!).
+	// This tag processor does nothing... in this way, no child nodes are added
+	// (also because the BASE tag must be empty).
+	return node ;
+}
+
+FCKXHtml.TagProcessors['link'] = function( node, htmlNode )
+{
+	// The "_fcktemp" attribute is used to mark the fck_internal.css <LINK>
+	// reference.
+	if ( htmlNode.getAttribute( '_fcktemp' ) )
+		return null ;
+
+	return node ;
+}
+
+FCKXHtml.TagProcessors['table'] = function( node, htmlNode )
+{
+	// There is a trick to show table borders when border=0. We add to the
+	// table class the FCK__ShowTableBorders rule. So now we must remove it.
+
+	var oClassAtt = node.attributes.getNamedItem( 'class' ) ;
+
+	if ( oClassAtt && FCKRegexLib.TableBorderClass.test( oClassAtt.nodeValue ) )
+	{
+		var sClass = oClassAtt.nodeValue.replace( FCKRegexLib.TableBorderClass, '' ) ;
+
+		if ( sClass.length == 0 )
+			node.attributes.removeNamedItem( 'class' ) ;
+		else
+			FCKXHtml._AppendAttribute( node, 'class', sClass ) ;
+	}
+
+	FCKXHtml._AppendChildNodes( node, htmlNode, false ) ;
+
+	return node ;
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckxhtml_gecko.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckxhtml_gecko.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckxhtml_gecko.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,74 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckxhtml_gecko.js
+ * 	Defines the FCKXHtml object, responsible for the XHTML operations.
+ * 	Gecko specific.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+FCKXHtml._GetMainXmlString = function()
+{
+	// Create the XMLSerializer.
+	var oSerializer = new XMLSerializer() ;
+
+	// Return the serialized XML as a string.
+	// Due to a BUG on Gecko, the special chars sequence "#?-:" must be replaced with "&"
+	// for the XHTML entities.
+	return oSerializer.serializeToString( this.MainNode ).replace( FCKRegexLib.GeckoEntitiesMarker, '&' ) ;
+}
+
+// There is a BUG on Gecko... createEntityReference returns null.
+// So we use a trick to append entities on it.
+FCKXHtml._AppendEntity = function( xmlNode, entity )
+{
+	xmlNode.appendChild( this.XML.createTextNode( '#?-:' + entity + ';' ) ) ;
+}
+
+FCKXHtml._AppendAttributes = function( xmlNode, htmlNode, node )
+{
+	var aAttributes = htmlNode.attributes ;
+	
+	for ( var n = 0 ; n < aAttributes.length ; n++ )
+	{
+		var oAttribute = aAttributes[n] ;
+		
+		if ( oAttribute.specified )
+		{
+			var sAttName = oAttribute.nodeName.toLowerCase() ;
+			var sAttValue ;
+
+			// The "_fckxhtmljob" attribute is used to mark the already processed elements.
+			if ( sAttName == '_fckxhtmljob' )
+				continue ;
+			// There is a bug in Mozilla that returns '_moz_xxx' attributes as specified.
+			else if ( sAttName.indexOf( '_moz' ) == 0 )
+				continue ;
+			// There are one cases (on Gecko) when the oAttribute.nodeValue must be used:
+			//		- for the "class" attribute
+			else if ( sAttName == 'class' )
+				sAttValue = oAttribute.nodeValue ;
+			// XHTML doens't support attribute minimization like "CHECKED". It must be trasformed to cheched="checked".
+			else if ( oAttribute.nodeValue === true )
+				sAttValue = sAttName ;
+			else
+				sAttValue = htmlNode.getAttribute( sAttName, 2 ) ;	// We must use getAttribute to get it exactly as it is defined.
+
+			if ( FCKConfig.ForceSimpleAmpersand && sAttValue.replace )
+				sAttValue = sAttValue.replace( /&/g, '___FCKAmp___' ) ;
+			
+			this._AppendAttribute( node, sAttName, sAttValue ) ;
+		}
+	}
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckxhtml_ie.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckxhtml_ie.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckxhtml_ie.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,197 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckxhtml_ie.js
+ * 	Defines the FCKXHtml object, responsible for the XHTML operations.
+ * 	IE specific.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+FCKXHtml._GetMainXmlString = function()
+{
+	return this.MainNode.xml ;
+}
+
+FCKXHtml._AppendEntity = function( xmlNode, entity )
+{
+	xmlNode.appendChild( this.XML.createEntityReference( entity ) ) ;
+}
+
+FCKXHtml._AppendAttributes = function( xmlNode, htmlNode, node, nodeName )
+{
+	var aAttributes = htmlNode.attributes ;
+
+	for ( var n = 0 ; n < aAttributes.length ; n++ )
+	{
+		var oAttribute = aAttributes[n] ;
+
+		if ( oAttribute.specified )
+		{
+			var sAttName = oAttribute.nodeName.toLowerCase() ;
+			var sAttValue ;
+
+			// The "_fckxhtmljob" attribute is used to mark the already processed elements.
+			if ( sAttName == '_fckxhtmljob' )
+				continue ;
+			// The following must be done because of a bug on IE regarding the style
+			// attribute. It returns "null" for the nodeValue.
+			else if ( sAttName == 'style' )
+				sAttValue = htmlNode.style.cssText ;
+			// There are two cases when the oAttribute.nodeValue must be used:
+			//		- for the "class" attribute
+			//		- for events attributes (on IE only).
+			else if ( sAttName == 'class' || sAttName.indexOf('on') == 0 )
+				sAttValue = oAttribute.nodeValue ;
+			else if ( nodeName == 'body' && sAttName == 'contenteditable' )
+				continue ;
+			// XHTML doens't support attribute minimization like "CHECKED". It must be trasformed to cheched="checked".
+			else if ( oAttribute.nodeValue === true )
+				sAttValue = sAttName ;
+			// We must use getAttribute to get it exactly as it is defined.
+			else if ( ! (sAttValue = htmlNode.getAttribute( sAttName, 2 ) ) )
+				sAttValue = oAttribute.nodeValue ;
+
+			if ( FCKConfig.ForceSimpleAmpersand && sAttValue.replace )
+				sAttValue = sAttValue.replace( /&/g, '___FCKAmp___' ) ;
+
+			this._AppendAttribute( node, sAttName, sAttValue ) ;
+		}
+	}
+}
+
+FCKXHtml.TagProcessors['meta'] = function( node, htmlNode )
+{
+	var oHttpEquiv = node.attributes.getNamedItem( 'http-equiv' ) ;
+
+	if ( oHttpEquiv == null || oHttpEquiv.value.length == 0 )
+	{
+		// Get the http-equiv value from the outerHTML.
+		var sHttpEquiv = htmlNode.outerHTML.match( FCKRegexLib.MetaHttpEquiv ) ;
+
+		if ( sHttpEquiv )
+		{
+			sHttpEquiv = sHttpEquiv[1] ;
+			FCKXHtml._AppendAttribute( node, 'http-equiv', sHttpEquiv ) ;
+		}
+	}
+
+	return node ;
+}
+
+// IE automaticaly changes <FONT> tags to <FONT size=+0>.
+FCKXHtml.TagProcessors['font'] = function( node, htmlNode )
+{
+	if ( node.attributes.length == 0 )
+		node = FCKXHtml.XML.createDocumentFragment() ;
+
+	FCKXHtml._AppendChildNodes( node, htmlNode ) ;
+
+	return node ;
+}
+
+// IE doens't see the value attribute as an attribute for the <INPUT> tag.
+FCKXHtml.TagProcessors['input'] = function( node, htmlNode )
+{
+	if ( htmlNode.name )
+		FCKXHtml._AppendAttribute( node, 'name', htmlNode.name ) ;
+
+	if ( htmlNode.value && !node.attributes.getNamedItem( 'value' ) )
+		FCKXHtml._AppendAttribute( node, 'value', htmlNode.value ) ;
+
+	return node ;
+}
+
+// IE ignores the "SELECTED" attribute so we must add it manually.
+FCKXHtml.TagProcessors['option'] = function( node, htmlNode )
+{
+	if ( htmlNode.selected && !node.attributes.getNamedItem( 'selected' ) )
+		FCKXHtml._AppendAttribute( node, 'selected', 'selected' ) ;
+
+	FCKXHtml._AppendChildNodes( node, htmlNode ) ;
+
+	return node ;
+}
+
+// There is a BUG in IE regarding the ABBR tag.
+FCKXHtml.TagProcessors['abbr'] = function( node, htmlNode )
+{
+	var oNextNode = htmlNode.nextSibling ;
+
+	while ( true )
+	{
+		if ( oNextNode && oNextNode.nodeName != '/ABBR' )
+		{
+			FCKXHtml._AppendNode( node, oNextNode ) ;
+			oNextNode = oNextNode.nextSibling ;
+		}
+		else
+			break ;
+	}
+
+	return node ;
+}
+
+// IE ignores the "COORDS" and "SHAPE" attribute so we must add it manually.
+FCKXHtml.TagProcessors['area'] = function( node, htmlNode )
+{
+	if ( ! node.attributes.getNamedItem( 'coords' ) )
+	{
+		var sCoords = htmlNode.getAttribute( 'coords', 2 ) ;
+		if ( sCoords && sCoords != '0,0,0' )
+			FCKXHtml._AppendAttribute( node, 'coords', sCoords ) ;
+	}
+
+	if ( ! node.attributes.getNamedItem( 'shape' ) )
+	{
+		var sCoords = htmlNode.getAttribute( 'shape', 2 ) ;
+		if ( sCoords && sCoords.length > 0 )
+			FCKXHtml._AppendAttribute( node, 'shape', sCoords ) ;
+	}
+
+	return node ;
+}
+
+FCKXHtml.TagProcessors['label'] = function( node, htmlNode )
+{
+	if ( htmlNode.htmlFor.length > 0 )
+		FCKXHtml._AppendAttribute( node, 'for', htmlNode.htmlFor ) ;
+
+	FCKXHtml._AppendChildNodes( node, htmlNode ) ;
+
+	return node ;
+}
+
+FCKXHtml.TagProcessors['form'] = function( node, htmlNode )
+{
+	if ( htmlNode.acceptCharset.length > 0 && htmlNode.acceptCharset != 'UNKNOWN' )
+		FCKXHtml._AppendAttribute( node, 'accept-charset', htmlNode.acceptCharset ) ;
+
+	if ( htmlNode.name ) 
+		FCKXHtml._AppendAttribute( node, 'name', htmlNode.name ) ; 
+
+	FCKXHtml._AppendChildNodes( node, htmlNode ) ;
+
+	return node ;
+}
+
+// IE doens't hold the name attribute as an attribute for the <TEXTAREA> and <SELECT> tags.
+FCKXHtml.TagProcessors['textarea'] = FCKXHtml.TagProcessors['select'] = function( node, htmlNode )
+{ 
+	if ( htmlNode.name ) 
+		FCKXHtml._AppendAttribute( node, 'name', htmlNode.name ) ; 
+
+	FCKXHtml._AppendChildNodes( node, htmlNode ) ; 
+ 
+	return node ; 
+} 
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckxhtmlentities.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckxhtmlentities.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/_source/internals/fckxhtmlentities.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,322 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckxhtmlentities.js
+ * 	This file define the HTML entities handled by the editor.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+var FCKXHtmlEntities = new Object() ;
+
+if ( FCKConfig.ProcessHTMLEntities )
+{
+	FCKXHtmlEntities.Entities = {
+		// Latin-1 Entities
+		' ':'nbsp',
+		'¡':'iexcl',
+		'¢':'cent',
+		'£':'pound',
+		'¤':'curren',
+		'Â¥':'yen',
+		'¦':'brvbar',
+		'§':'sect',
+		'¨':'uml',
+		'©':'copy',
+		'ª':'ordf',
+		'«':'laquo',
+		'¬':'not',
+		'­':'shy',
+		'®':'reg',
+		'¯':'macr',
+		'°':'deg',
+		'±':'plusmn',
+		'²':'sup2',
+		'³':'sup3',
+		'´':'acute',
+		'µ':'micro',
+		'¶':'para',
+		'·':'middot',
+		'¸':'cedil',
+		'¹':'sup1',
+		'º':'ordm',
+		'»':'raquo',
+		'¼':'frac14',
+		'½':'frac12',
+		'¾':'frac34',
+		'¿':'iquest',
+		'×':'times',
+		'÷':'divide',
+
+		// Symbols and Greek Letters 
+
+		'Æ’':'fnof',
+		'•':'bull',
+		'…':'hellip',
+		'′':'prime',
+		'″':'Prime',
+		'‾':'oline',
+		'⁄':'frasl',
+		'℘':'weierp',
+		'â„‘':'image',
+		'ℜ':'real',
+		'â„¢':'trade',
+		'ℵ':'alefsym',
+		'←':'larr',
+		'↑':'uarr',
+		'→':'rarr',
+		'↓':'darr',
+		'↔':'harr',
+		'↵':'crarr',
+		'⇐':'lArr',
+		'⇑':'uArr',
+		'⇒':'rArr',
+		'⇓':'dArr',
+		'⇔':'hArr',
+		'∀':'forall',
+		'∂':'part',
+		'∃':'exist',
+		'∅':'empty',
+		'∇':'nabla',
+		'∈':'isin',
+		'∉':'notin',
+		'∋':'ni',
+		'∏':'prod',
+		'∑':'sum',
+		'−':'minus',
+		'∗':'lowast',
+		'√':'radic',
+		'∝':'prop',
+		'∞':'infin',
+		'∠':'ang',
+		'∧':'and',
+		'∨':'or',
+		'∩':'cap',
+		'∪':'cup',
+		'∫':'int',
+		'∴':'there4',
+		'∼':'sim',
+		'≅':'cong',
+		'≈':'asymp',
+		'≠':'ne',
+		'≡':'equiv',
+		'≤':'le',
+		'≥':'ge',
+		'⊂':'sub',
+		'⊃':'sup',
+		'⊄':'nsub',
+		'⊆':'sube',
+		'⊇':'supe',
+		'⊕':'oplus',
+		'⊗':'otimes',
+		'⊥':'perp',
+		'â‹…':'sdot',
+		'â—Š':'loz',
+		'â™ ':'spades',
+		'♣':'clubs',
+		'♥':'hearts',
+		'♦':'diams',
+
+		// Other Special Characters 
+
+		'"':'quot',
+	//	'&':'amp',		// This entity is automatically handled by the XHTML parser.
+	//	'<':'lt',		// This entity is automatically handled by the XHTML parser.
+	//	'>':'gt',		// This entity is automatically handled by the XHTML parser.
+		'ˆ':'circ',
+		'˜':'tilde',
+		' ':'ensp',
+		' ':'emsp',
+		' ':'thinsp',
+		'‌':'zwnj',
+		'‍':'zwj',
+		'‎':'lrm',
+		'‏':'rlm',
+		'–':'ndash',
+		'—':'mdash',
+		'‘':'lsquo',
+		'’':'rsquo',
+		'‚':'sbquo',
+		'“':'ldquo',
+		'”':'rdquo',
+		'„':'bdquo',
+		'†':'dagger',
+		'‡':'Dagger',
+		'‰':'permil',
+		'‹':'lsaquo',
+		'›':'rsaquo',
+		'€':'euro'
+	} ;
+
+	FCKXHtmlEntities.Chars = '' ;
+
+	// Process Base Entities.
+	for ( var e in FCKXHtmlEntities.Entities )
+		FCKXHtmlEntities.Chars += e ;
+
+	// Include Latin Letters Entities.
+	if ( FCKConfig.IncludeLatinEntities )
+	{
+		var oEntities = {
+			'À':'Agrave',
+			'Á':'Aacute',
+			'Â':'Acirc',
+			'Ã':'Atilde',
+			'Ä':'Auml',
+			'Ã…':'Aring',
+			'Æ':'AElig',
+			'Ç':'Ccedil',
+			'È':'Egrave',
+			'É':'Eacute',
+			'Ê':'Ecirc',
+			'Ë':'Euml',
+			'Ì':'Igrave',
+			'Í':'Iacute',
+			'ÃŽ':'Icirc',
+			'Ï':'Iuml',
+			'Ð':'ETH',
+			'Ñ':'Ntilde',
+			'Ã’':'Ograve',
+			'Ó':'Oacute',
+			'Ô':'Ocirc',
+			'Õ':'Otilde',
+			'Ö':'Ouml',
+			'Ø':'Oslash',
+			'Ù':'Ugrave',
+			'Ú':'Uacute',
+			'Û':'Ucirc',
+			'Ü':'Uuml',
+			'Ý':'Yacute',
+			'Þ':'THORN',
+			'ß':'szlig',
+			'à':'agrave',
+			'á':'aacute',
+			'â':'acirc',
+			'ã':'atilde',
+			'ä':'auml',
+			'Ã¥':'aring',
+			'æ':'aelig',
+			'ç':'ccedil',
+			'è':'egrave',
+			'é':'eacute',
+			'ê':'ecirc',
+			'ë':'euml',
+			'ì':'igrave',
+			'í':'iacute',
+			'î':'icirc',
+			'ï':'iuml',
+			'ð':'eth',
+			'ñ':'ntilde',
+			'ò':'ograve',
+			'ó':'oacute',
+			'ô':'ocirc',
+			'õ':'otilde',
+			'ö':'ouml',
+			'ø':'oslash',
+			'ù':'ugrave',
+			'ú':'uacute',
+			'û':'ucirc',
+			'ü':'uuml',
+			'ý':'yacute',
+			'þ':'thorn',
+			'ÿ':'yuml',
+			'Å’':'OElig',
+			'Å“':'oelig',
+			'Å ':'Scaron',
+			'Å¡':'scaron',
+			'Ÿ':'Yuml'
+		} ; 
+		
+		for ( var e in oEntities )
+		{
+			FCKXHtmlEntities.Entities[ e ] = oEntities[ e ] ;
+			FCKXHtmlEntities.Chars += e ;
+		}
+		
+		oEntities = null ;
+	}
+
+	// Include Greek Letters Entities.
+	if ( FCKConfig.IncludeGreekEntities )
+	{
+		var oEntities = {
+			'Α':'Alpha',
+			'Î’':'Beta',
+			'Γ':'Gamma',
+			'Δ':'Delta',
+			'Ε':'Epsilon',
+			'Ζ':'Zeta',
+			'Η':'Eta',
+			'Θ':'Theta',
+			'Ι':'Iota',
+			'Κ':'Kappa',
+			'Λ':'Lambda',
+			'Μ':'Mu',
+			'Ν':'Nu',
+			'Ξ':'Xi',
+			'Ο':'Omicron',
+			'Π':'Pi',
+			'Ρ':'Rho',
+			'Σ':'Sigma',
+			'Τ':'Tau',
+			'Î¥':'Upsilon',
+			'Φ':'Phi',
+			'Χ':'Chi',
+			'Ψ':'Psi',
+			'Ω':'Omega',
+			'α':'alpha',
+			'β':'beta',
+			'γ':'gamma',
+			'δ':'delta',
+			'ε':'epsilon',
+			'ζ':'zeta',
+			'η':'eta',
+			'θ':'theta',
+			'ι':'iota',
+			'κ':'kappa',
+			'λ':'lambda',
+			'μ':'mu',
+			'ν':'nu',
+			'ξ':'xi',
+			'ο':'omicron',
+			'Ï€':'pi',
+			'ρ':'rho',
+			'Ï‚':'sigmaf',
+			'σ':'sigma',
+			'Ï„':'tau',
+			'Ï…':'upsilon',
+			'φ':'phi',
+			'χ':'chi',
+			'ψ':'psi',
+			'ω':'omega'
+		} ;
+
+		for ( var e in oEntities )
+		{
+			FCKXHtmlEntities.Entities[ e ] = oEntities[ e ] ;
+			FCKXHtmlEntities.Chars += e ;
+		}
+
+		oEntities = null ;
+	}
+
+	// Create and Compile the Regex used to separate the entities from the text.
+	FCKXHtmlEntities.EntitiesRegex = new RegExp('','') ;
+	FCKXHtmlEntities.EntitiesRegex.compile( '[' + FCKXHtmlEntities.Chars + ']|[^' + FCKXHtmlEntities.Chars + ']+', 'g' ) ;
+}
+else
+{
+	// Even if we are not processing the entities, we must respect the &nbsp;.
+	FCKXHtmlEntities.Entities = { ' ':'nbsp' } ;
+	FCKXHtmlEntities.EntitiesRegex = /[ ]|[^ ]+/g ;
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/css/behaviors/disablehandles.htc
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/css/behaviors/disablehandles.htc	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/css/behaviors/disablehandles.htc	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,15 @@
+<public:component lightweight="true">
+
+<script language="javascript">
+
+function CancelEvent()
+{
+	return false ;
+}
+
+this.onresizestart = CancelEvent ;
+this.onbeforeeditfocus = CancelEvent ;
+
+</script>
+
+</public:component>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/css/behaviors/hiddenfield.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/css/behaviors/hiddenfield.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/css/behaviors/hiddenfield.htc
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/css/behaviors/hiddenfield.htc	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/css/behaviors/hiddenfield.htc	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,30 @@
+<public:component lightweight="true">
+
+<public:attach event="oncontentready" onevent="ShowField()" />
+<public:attach event="ondoubleclick" onevent="EditField()" />
+
+<script language="javascript">
+
+var bIsHiddenField = this.type == 'hidden' ;
+
+function ShowField()
+{
+	if ( bIsHiddenField ) 
+	{
+		this.runtimeStyle.width				= '20px' ;
+		this.runtimeStyle.height			= '20px' ;
+		this.runtimeStyle.border			= '1px dotted #FF0000' ;
+		this.runtimeStyle.backgroundImage	= 'url(css/behaviors/hiddenfield.gif)' ;
+		this.runtimeStyle.fontSize			= '99px' ;
+	}
+}
+
+function EditField()
+{
+	if ( bIsHiddenField ) 
+		alert( this.outerHTML ) ;
+}
+
+</script>
+
+</public:component>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/css/behaviors/showtableborders.htc
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/css/behaviors/showtableborders.htc	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/css/behaviors/showtableborders.htc	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,36 @@
+<public:component lightweight="true">
+
+<public:attach event="oncontentready" onevent="ShowBorders()" />
+<public:attach event="onpropertychange" onevent="OnPropertyChange()" />
+
+<script language="javascript">
+var oClassRegex = /\s*FCK__ShowTableBorders/ ;
+var FCKConfig = window.parent.FCKConfig ;
+
+function ShowBorders()
+{
+	if ( this.border == 0 )
+	{
+		if ( !oClassRegex.test( this.className ) )
+			this.className += ' FCK__ShowTableBorders' ;
+	}
+	else
+	{
+		if ( oClassRegex.test( this.className ) )
+		{
+			this.className = this.className.replace( oClassRegex, '' ) ;
+			if ( this.className.length == 0 )
+				this.removeAttribute( 'className', 0 ) ;
+		}
+	}
+}
+
+function OnPropertyChange()
+{
+	if ( event.propertyName == 'border' || event.propertyName == 'className' )
+		ShowBorders() ;
+}
+
+</script>
+
+</public:component>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/css/fck_editorarea.css
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/css/fck_editorarea.css	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/css/fck_editorarea.css	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,67 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_editorarea.css
+ * 	This is the default CSS file used by the editor area. It defines the
+ * 	initial font of the editor and background color.
+ * 
+ * 	A user can configure the editor to use another CSS file. Just change
+ * 	the value of the FCKConfig.EditorAreaCSS key in the configuration
+ * 	file.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+body
+{
+	font-family: Arial, Verdana, Sans-Serif;
+	font-size: 12px;
+	padding: 5px 5px 5px 5px;
+	margin: 0px;
+	border-style: none;
+	background-color: #ffffff;
+}
+
+/* 
+	Just uncomment the following block if you want to avoid spaces between 
+	paragraphs. Remember to apply the same style in your output front end page.
+*/
+/*
+P, UL, LI
+{
+	margin-top: 0px;
+	margin-bottom: 0px;
+}
+*/
+
+.Bold
+{
+	font-weight: bold;
+}
+
+.Title
+{
+	font-weight: bold;
+	font-size: 18px;
+	color: #cc3300;
+}
+
+.Code
+{
+	border: #8b4513 1px solid;
+	padding-right: 5px;
+	padding-left: 5px;
+	color: #000066;
+	font-family: 'Courier New' , Monospace;
+	background-color: #ff9933;
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/css/fck_internal.css
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/css/fck_internal.css	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/css/fck_internal.css	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,64 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_internal.css
+ * 	This CSS Style Sheet defines rules used by the editor for its internal use.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+TABLE.FCK__ShowTableBorders, TABLE.FCK__ShowTableBorders TD
+{
+	border: #d3d3d3 1px solid ;
+}
+
+FORM
+{
+	border: 1px dotted #FF0000;
+	padding: 2px ;
+}
+
+.FCK__Flash
+{
+	border: darkgray 1px solid;
+	background-position: center center;
+	background-image: url(images/fck_flashlogo.gif);
+	background-repeat: no-repeat;
+	width: 80px ;
+	height: 80px ;
+}
+
+.FCK__Anchor
+{
+	background-position: center center;
+	background-image: url(images/fck_anchor.gif);
+	background-repeat: no-repeat;
+	width: 16px ;
+	height: 15px ;
+}
+
+.FCK__PageBreak
+{
+	background-position: center center;
+	background-image: url(images/fck_pagebreak.gif);
+	background-repeat: no-repeat;
+	clear: both;
+	display: block;
+	float: none;
+	width: 100%;
+	border-top: #999999 1px dotted;
+	border-bottom: #999999 1px dotted;
+	border-right:0px;
+	border-left:0px;
+	height: 5px;
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/css/fck_showtableborders_gecko.css
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/css/fck_showtableborders_gecko.css	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/css/fck_showtableborders_gecko.css	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,23 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_showtableborders_gecko.css
+ * 	This CSS Style Sheet defines the rules to show table borders on Gecko.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+TABLE[border="0"], TABLE[border="0"] TD
+{
+	border: #d3d3d3 1px solid
+}

Added: zope.html/trunk/src/zope/html/fckeditor/editor/css/images/fck_anchor.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/css/images/fck_anchor.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/css/images/fck_flashlogo.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/css/images/fck_flashlogo.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/css/images/fck_pagebreak.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/css/images/fck_pagebreak.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/common/fck_dialog_common.css
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/dialog/common/fck_dialog_common.css	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/dialog/common/fck_dialog_common.css	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,80 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_dialog_common.css
+ * 	This is the CSS file used for interface details in some dialog
+ * 	windows.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+.ImagePreviewArea
+{
+	border: #000000 1px solid;
+	padding: 5px;
+	overflow: auto;
+	width: 100%;
+	height: 170px;
+	background-color: #ffffff;
+}
+
+.FlashPreviewArea
+{
+	border: #000000 1px solid;
+	padding: 5px;
+	overflow: auto;
+	width: 100%;
+	height: 170px;
+	background-color: #ffffff;
+}
+
+.BtnReset
+{
+	float: left;
+	background-position: center center;
+	background-image: url(images/reset.gif);
+	width: 16px;
+	height: 16px;
+	background-repeat: no-repeat;
+	border: 1px none;
+	font-size: 1px ;
+}
+
+.BtnLocked, .BtnUnlocked
+{
+	float: left;
+	background-position: center center;
+	background-image: url(images/locked.gif);
+	width: 16px;
+	height: 16px;
+	background-repeat: no-repeat;
+	border: 1px none;
+	font-size: 1px ;
+}
+
+.BtnUnlocked
+{
+	background-image: url(images/unlocked.gif);
+}
+
+.BtnOver
+{
+	border: 1px outset;
+	cursor: pointer;
+	cursor: hand;
+}
+
+.FCK__FieldNumeric
+{
+	behavior: url(common/fcknumericfield.htc) ;
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/common/fck_dialog_common.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/dialog/common/fck_dialog_common.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/dialog/common/fck_dialog_common.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,94 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_dialog_common.js
+ * 	Useful functions used by almost all dialog window pages.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+// Gets a element by its Id. Used for shorter coding.
+function GetE( elementId )
+{
+	return document.getElementById( elementId )  ;
+}
+
+function ShowE( element, isVisible )
+{
+	if ( typeof( element ) == 'string' )
+		element = GetE( element ) ;
+	element.style.display = isVisible ? '' : 'none' ;
+}
+
+function SetAttribute( element, attName, attValue )
+{
+	if ( attValue == null || attValue.length == 0 )
+		element.removeAttribute( attName, 0 ) ;			// 0 : Case Insensitive
+	else
+		element.setAttribute( attName, attValue, 0 ) ;	// 0 : Case Insensitive
+}
+
+function GetAttribute( element, attName, valueIfNull )
+{
+	var oAtt = element.attributes[attName] ;
+
+	if ( oAtt == null || !oAtt.specified )
+		return valueIfNull ? valueIfNull : '' ;
+
+	var oValue ;
+	
+	if ( !( oValue = element.getAttribute( attName, 2 ) ) )
+		oValue = oAtt.nodeValue ;
+
+	return ( oValue == null ? valueIfNull : oValue ) ;
+}
+
+// Functions used by text fiels to accept numbers only.
+function IsDigit( e )
+{
+	e = e || event ;
+	var iCode = ( e.keyCode || e.charCode ) ;
+
+	event.returnValue =
+		(
+			( iCode >= 48 && iCode <= 57 )		// Numbers
+			|| (iCode >= 37 && iCode <= 40)		// Arrows
+			|| iCode == 8						// Backspace
+			|| iCode == 46						// Delete
+		) ;
+
+	return event.returnValue ;
+}
+
+String.prototype.trim = function()
+{
+	return this.replace( /(^\s*)|(\s*$)/g, '' ) ;
+}
+
+String.prototype.startsWith = function( value )
+{
+	return ( this.substr( 0, value.length ) == value ) ;
+}
+
+String.prototype.remove = function( start, length )
+{
+	var s = '' ;
+
+	if ( start > 0 )
+		s = this.substring( 0, start ) ;
+
+	if ( start + length < this.length )
+		s += this.substring( start + length , this.length ) ;
+
+	return s ;
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/common/fcknumericfield.htc
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/dialog/common/fcknumericfield.htc	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/dialog/common/fcknumericfield.htc	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,24 @@
+<public:component lightweight="true">
+
+<script language="javascript">
+
+function CheckIsDigit()
+{
+	var iCode = event.keyCode ;
+
+	event.returnValue =
+		(
+			( iCode >= 48 && iCode <= 57 )		// Numbers
+			|| (iCode >= 37 && iCode <= 40)		// Arrows
+			|| iCode == 8						// Backspace
+			|| iCode == 46						// Delete
+		) ;
+
+	return event.returnValue ;
+}
+
+this.onkeypress = CheckIsDigit ;
+
+</script>
+
+</public:component>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/common/images/locked.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/common/images/locked.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/common/images/reset.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/common/images/reset.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/common/images/unlocked.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/common/images/unlocked.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/common/moz-bindings.xml
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/dialog/common/moz-bindings.xml	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/dialog/common/moz-bindings.xml	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<bindings xmlns="http://www.mozilla.org/xbl">
+	<binding id="numericfield">
+		<implementation>
+			<constructor>
+				this.keypress = CheckIsDigit ;
+			</constructor>
+			<method name="CheckIsDigit">
+				<body>
+					var iCode = keyCode ;
+
+					var bAccepted =
+						(
+							( iCode >= 48 && iCode <= 57 )		// Numbers
+							|| (iCode >= 37 && iCode <= 40)		// Arrows
+							|| iCode == 8						// Backspace
+							|| iCode == 46						// Delete
+						) ;
+
+					return bAccepted ;
+			   </body>
+			</method>
+		</implementation>
+		<events>
+			<event type="keypress" value="CheckIsDigit()" />
+		</events>
+	</binding>
+</bindings>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_about/lgpl.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_about/lgpl.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_about/lgpl.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,434 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title>GNU Lesser General Public License</title>
+		<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
+		<STYLE>
+			BODY { FONT-SIZE: 12px }
+		</STYLE>
+	</head>
+	<body>
+		<H3>GNU Lesser General Public License</H3>
+		<TT>
+			<P>Version 2.1, February 1999</P>
+			<BLOCKQUOTE>
+				<P>Copyright (C) 1991, 1999 Free Software Foundation, Inc. 59 Temple Place, Suite 
+					330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute 
+					verbatim copies of this license document, but changing it is not allowed.</P>
+				<P>[This is the first released version of the Lesser GPL. It also counts as the 
+					successor of the GNU Library Public License, version 2, hence the version 
+					number 2.1.]</P>
+			</BLOCKQUOTE>
+			<H4>Preamble</H4>
+			<P>The licenses for most software are designed to take away your freedom to share 
+				and change it. By contrast, the GNU General Public Licenses are intended to 
+				guarantee your freedom to share and change free software--to make sure the 
+				software is free for all its users.
+			</P>
+			<P>This license, the Lesser General Public License, applies to some specially 
+				designated software packages--typically libraries--of the Free Software 
+				Foundation and other authors who decide to use it. You can use it too, but we 
+				suggest you first think carefully about whether this license or the ordinary 
+				General Public License is the better strategy to use in any particular case, 
+				based on the explanations below.
+			</P>
+			<P>When we speak of free software, we are referring to freedom of use, not price. 
+				Our General Public Licenses are designed to make sure that you have the freedom 
+				to distribute copies of free software (and charge for this service if you 
+				wish); that you receive source code or can get it if you want it; that you can 
+				change the software and use pieces of it in new free programs; and that you are 
+				informed that you can do these things.</P>
+			<P>To protect your rights, we need to make restrictions that forbid distributors to 
+				deny you these rights or to ask you to surrender these rights. These 
+				restrictions translate to certain responsibilities for you if you distribute 
+				copies of the library or if you modify it.
+			</P>
+			<P>For example, if you distribute copies of the library, whether gratis or for a 
+				fee, you must give the recipients all the rights that we gave you. You must 
+				make sure that they, too, receive or can get the source code. If you link other 
+				code with the library, you must provide complete object files to the 
+				recipients, so that they can relink them with the library after making changes 
+				to the library and recompiling it. And you must show them these terms so they 
+				know their rights.
+			</P>
+			<P>We protect your rights with a two-step method: (1) we copyright the library, and 
+				(2) we offer you this license, which gives you legal permission to copy, 
+				distribute and/or modify the library.
+			</P>
+			<P>To protect each distributor, we want to make it very clear that there is no 
+				warranty for the free library. Also, if the library is modified by someone else 
+				and passed on, the recipients should know that what they have is not the 
+				original version, so that the original author's reputation will not be affected 
+				by problems that might be introduced by others.
+			</P>
+			<P>Finally, software patents pose a constant threat to the existence of any free 
+				program. We wish to make sure that a company cannot effectively restrict the 
+				users of a free program by obtaining a restrictive license from a patent 
+				holder. Therefore, we insist that any patent license obtained for a version of 
+				the library must be consistent with the full freedom of use specified in this 
+				license.
+			</P>
+			<P>Most GNU software, including some libraries, is covered by the ordinary GNU 
+				General Public License. This license, the GNU Lesser General Public License, 
+				applies to certain designated libraries, and is quite different from the 
+				ordinary General Public License. We use this license for certain libraries in 
+				order to permit linking those libraries into non-free programs.
+			</P>
+			<P>When a program is linked with a library, whether statically or using a shared 
+				library, the combination of the two is legally speaking a combined work, a 
+				derivative of the original library. The ordinary General Public License 
+				therefore permits such linking only if the entire combination fits its criteria 
+				of freedom. The Lesser General Public License permits more lax criteria for 
+				linking other code with the library.
+			</P>
+			<P>We call this license the "Lesser" General Public License because it does Less to 
+				protect the user's freedom than the ordinary General Public License. It also 
+				provides other free software developers Less of an advantage over competing 
+				non-free programs. These disadvantages are the reason we use the ordinary 
+				General Public License for many libraries. However, the Lesser license provides 
+				advantages in certain special circumstances.
+			</P>
+			<P>For example, on rare occasions, there may be a special need to encourage the 
+				widest possible use of a certain library, so that it becomes a de-facto 
+				standard. To achieve this, non-free programs must be allowed to use the 
+				library. A more frequent case is that a free library does the same job as 
+				widely used non-free libraries. In this case, there is little to gain by 
+				limiting the free library to free software only, so we use the Lesser General 
+				Public License.
+			</P>
+			<P>In other cases, permission to use a particular library in non-free programs 
+				enables a greater number of people to use a large body of free software. For 
+				example, permission to use the GNU C Library in non-free programs enables many 
+				more people to use the whole GNU operating system, as well as its variant, the 
+				GNU/Linux operating system.
+			</P>
+			<P>Although the Lesser General Public License is Less protective of the users' 
+				freedom, it does ensure that the user of a program that is linked with the 
+				Library has the freedom and the wherewithal to run that program using a 
+				modified version of the Library.
+			</P>
+			<P>The precise terms and conditions for copying, distribution and modification 
+				follow. Pay close attention to the difference between a "work based on the 
+				library" and a "work that uses the library". The former contains code derived 
+				from the library, whereas the latter must be combined with the library in order 
+				to run.
+			</P>
+			<H4>TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION</H4>
+			<P><STRONG>0.</STRONG> This License Agreement applies to any software library or 
+				other program which contains a notice placed by the copyright holder or other 
+				authorized party saying it may be distributed under the terms of this Lesser 
+				General Public License (also called "this License"). Each licensee is addressed 
+				as "you".</P>
+			<P>A "library" means a collection of software functions and/or data prepared so as 
+				to be conveniently linked with application programs (which use some of those 
+				functions and data) to form executables.
+			</P>
+			<P>The "Library", below, refers to any such software library or work which has been 
+				distributed under these terms. A "work based on the Library" means either the 
+				Library or any derivative work under copyright law: that is to say, a work 
+				containing the Library or a portion of it, either verbatim or with 
+				modifications and/or translated straightforwardly into another language. 
+				(Hereinafter, translation is included without limitation in the term 
+				"modification".)
+			</P>
+			<P>"Source code" for a work means the preferred form of the work for making 
+				modifications to it. For a library, complete source code means all the source 
+				code for all modules it contains, plus any associated interface definition 
+				files, plus the scripts used to control compilation and installation of the 
+				library.</P>
+			<P>Activities other than copying, distribution and modification are not covered by 
+				this License; they are outside its scope. The act of running a program using 
+				the Library is not restricted, and output from such a program is covered only 
+				if its contents constitute a work based on the Library (independent of the use 
+				of the Library in a tool for writing it). Whether that is true depends on what 
+				the Library does and what the program that uses the Library does.
+			</P>
+			<P><STRONG>1.</STRONG> You may copy and distribute verbatim copies of the Library's 
+				complete source code as you receive it, in any medium, provided that you 
+				conspicuously and appropriately publish on each copy an appropriate copyright 
+				notice and disclaimer of warranty; keep intact all the notices that refer to 
+				this License and to the absence of any warranty; and distribute a copy of this 
+				License along with the Library.
+			</P>
+			<P>You may charge a fee for the physical act of transferring a copy, and you may at 
+				your option offer warranty protection in exchange for a fee.
+			</P>
+			<P><STRONG>2.</STRONG> You may modify your copy or copies of the Library or any 
+				portion of it, thus forming a work based on the Library, and copy and 
+				distribute such modifications or work under the terms of Section 1 above, 
+				provided that you also meet all of these conditions:
+			</P>
+			<BLOCKQUOTE>
+				<P>a) The modified work must itself be a software library.
+				</P>
+				<P>b) You must cause the files modified to carry prominent notices stating that you 
+					changed the files and the date of any change.</P>
+				<P>c) You must cause the whole of the work to be licensed at no charge to all third 
+					parties under the terms of this License.
+				</P>
+				<P>d) If a facility in the modified Library refers to a function or a table of data 
+					to be supplied by an application program that uses the facility, other than as 
+					an argument passed when the facility is invoked, then you must make a good 
+					faith effort to ensure that, in the event an application does not supply such 
+					function or table, the facility still operates, and performs whatever part of 
+					its purpose remains meaningful.
+				</P>
+				<P>(For example, a function in a library to compute square roots has a purpose that 
+					is entirely well-defined independent of the application. Therefore, Subsection 
+					2d requires that any application-supplied function or table used by this 
+					function must be optional: if the application does not supply it, the square 
+					root function must still compute square roots.)
+				</P>
+				<P>These requirements apply to the modified work as a whole. If identifiable 
+					sections of that work are not derived from the Library, and can be reasonably 
+					considered independent and separate works in themselves, then this License, and 
+					its terms, do not apply to those sections when you distribute them as separate 
+					works. But when you distribute the same sections as part of a whole which is a 
+					work based on the Library, the distribution of the whole must be on the terms 
+					of this License, whose permissions for other licensees extend to the entire 
+					whole, and thus to each and every part regardless of who wrote it.
+				</P>
+				<P>Thus, it is not the intent of this section to claim rights or contest your 
+					rights to work written entirely by you; rather, the intent is to exercise the 
+					right to control the distribution of derivative or collective works based on 
+					the Library.
+				</P>
+				<P>In addition, mere aggregation of another work not based on the Library with the 
+					Library (or with a work based on the Library) on a volume of a storage or 
+					distribution medium does not bring the other work under the scope of this 
+					License.
+				</P>
+			</BLOCKQUOTE>
+			<P><STRONG>3.</STRONG> You may opt to apply the terms of the ordinary GNU General 
+				Public License instead of this License to a given copy of the Library. To do 
+				this, you must alter all the notices that refer to this License, so that they 
+				refer to the ordinary GNU General Public License, version 2, instead of to this 
+				License. (If a newer version than version 2 of the ordinary GNU General Public 
+				License has appeared, then you can specify that version instead if you wish.) 
+				Do not make any other change in these notices.
+			</P>
+			<P>Once this change is made in a given copy, it is irreversible for that copy, so 
+				the ordinary GNU General Public License applies to all subsequent copies and 
+				derivative works made from that copy.
+			</P>
+			<P>This option is useful when you wish to copy part of the code of the Library into 
+				a program that is not a library.
+			</P>
+			<P><STRONG>4.</STRONG> You may copy and distribute the Library (or a portion or 
+				derivative of it, under Section 2) in object code or executable form under the 
+				terms of Sections 1 and 2 above provided that you accompany it with the 
+				complete corresponding machine-readable source code, which must be distributed 
+				under the terms of Sections 1 and 2 above on a medium customarily used for 
+				software interchange.
+			</P>
+			<P>If distribution of object code is made by offering access to copy from a 
+				designated place, then offering equivalent access to copy the source code from 
+				the same place satisfies the requirement to distribute the source code, even 
+				though third parties are not compelled to copy the source along with the object 
+				code.</P>
+			<P><STRONG>5.</STRONG> A program that contains no derivative of any portion of the 
+				Library, but is designed to work with the Library by being compiled or linked 
+				with it, is called a "work that uses the Library". Such a work, in isolation, 
+				is not a derivative work of the Library, and therefore falls outside the scope 
+				of this License.
+			</P>
+			<P>However, linking a "work that uses the Library" with the Library creates an 
+				executable that is a derivative of the Library (because it contains portions of 
+				the Library), rather than a "work that uses the library". The executable is 
+				therefore covered by this License. Section 6 states terms for distribution of 
+				such executables.
+			</P>
+			<P>When a "work that uses the Library" uses material from a header file that is 
+				part of the Library, the object code for the work may be a derivative work of 
+				the Library even though the source code is not. Whether this is true is 
+				especially significant if the work can be linked without the Library, or if the 
+				work is itself a library. The threshold for this to be true is not precisely 
+				defined by law.
+			</P>
+			<P>If such an object file uses only numerical parameters, data structure layouts 
+				and accessors, and small macros and small inline functions (ten lines or less 
+				in length), then the use of the object file is unrestricted, regardless of 
+				whether it is legally a derivative work. (Executables containing this object 
+				code plus portions of the Library will still fall under Section 6.)
+			</P>
+			<P>Otherwise, if the work is a derivative of the Library, you may distribute the 
+				object code for the work under the terms of Section 6. Any executables 
+				containing that work also fall under Section 6, whether or not they are linked 
+				directly with the Library itself.
+			</P>
+			<P><STRONG>6.</STRONG> As an exception to the Sections above, you may also combine 
+				or link a "work that uses the Library" with the Library to produce a work 
+				containing portions of the Library, and distribute that work under terms of 
+				your choice, provided that the terms permit modification of the work for the 
+				customer's own use and reverse engineering for debugging such modifications.
+			</P>
+			<P>You must give prominent notice with each copy of the work that the Library is 
+				used in it and that the Library and its use are covered by this License. You 
+				must supply a copy of this License. If the work during execution displays 
+				copyright notices, you must include the copyright notice for the Library among 
+				them, as well as a reference directing the user to the copy of this License. 
+				Also, you must do one of these things:
+			</P>
+			<BLOCKQUOTE>
+				<P>a) Accompany the work with the complete corresponding machine-readable source 
+					code for the Library including whatever changes were used in the work (which 
+					must be distributed under Sections 1 and 2 above); and, if the work is an 
+					executable linked with the Library, with the complete machine-readable "work 
+					that uses the Library", as object code and/or source code, so that the user can 
+					modify the Library and then relink to produce a modified executable containing 
+					the modified Library. (It is understood that the user who changes the contents 
+					of definitions files in the Library will not necessarily be able to recompile 
+					the application to use the modified definitions.)
+				</P>
+				<P>b) Use a suitable shared library mechanism for linking with the Library. A 
+					suitable mechanism is one that (1) uses at run time a copy of the library 
+					already present on the user's computer system, rather than copying library 
+					functions into the executable, and (2) will operate properly with a modified 
+					version of the library, if the user installs one, as long as the modified 
+					version is interface-compatible with the version that the work was made with.
+				</P>
+				<P>c) Accompany the work with a written offer, valid for at least three years, to 
+					give the same user the materials specified in Subsection 6a, above, for a 
+					charge no more than the cost of performing this distribution.
+				</P>
+				<P>d) If distribution of the work is made by offering access to copy from a 
+					designated place, offer equivalent access to copy the above specified materials 
+					from the same place.
+				</P>
+				<P>e) Verify that the user has already received a copy of these materials or that 
+					you have already sent this user a copy.</P>
+			</BLOCKQUOTE>
+			<P>For an executable, the required form of the "work that uses the Library" must 
+				include any data and utility programs needed for reproducing the executable 
+				from it. However, as a special exception, the materials to be distributed need 
+				not include anything that is normally distributed (in either source or binary 
+				form) with the major components (compiler, kernel, and so on) of the operating 
+				system on which the executable runs, unless that component itself accompanies 
+				the executable.
+			</P>
+			<P>It may happen that this requirement contradicts the license restrictions of 
+				other proprietary libraries that do not normally accompany the operating 
+				system. Such a contradiction means you cannot use both them and the Library 
+				together in an executable that you distribute.
+			</P>
+			<P><STRONG>7.</STRONG> You may place library facilities that are a work based on 
+				the Library side-by-side in a single library together with other library 
+				facilities not covered by this License, and distribute such a combined library, 
+				provided that the separate distribution of the work based on the Library and of 
+				the other library facilities is otherwise permitted, and provided that you do 
+				these two things:
+			</P>
+			<BLOCKQUOTE>
+				<P>a) Accompany the combined library with a copy of the same work based on the 
+					Library, uncombined with any other library facilities. This must be distributed 
+					under the terms of the Sections above.
+				</P>
+				<P>b) Give prominent notice with the combined library of the fact that part of it 
+					is a work based on the Library, and explaining where to find the accompanying 
+					uncombined form of the same work.</P>
+			</BLOCKQUOTE>
+			<P><STRONG>8.</STRONG> You may not copy, modify, sublicense, link with, or 
+				distribute the Library except as expressly provided under this License. Any 
+				attempt otherwise to copy, modify, sublicense, link with, or distribute the 
+				Library is void, and will automatically terminate your rights under this 
+				License. However, parties who have received copies, or rights, from you under 
+				this License will not have their licenses terminated so long as such parties 
+				remain in full compliance.
+			</P>
+			<P><STRONG>9.</STRONG> You are not required to accept this License, since you have 
+				not signed it. However, nothing else grants you permission to modify or 
+				distribute the Library or its derivative works. These actions are prohibited by 
+				law if you do not accept this License. Therefore, by modifying or distributing 
+				the Library (or any work based on the Library), you indicate your acceptance of 
+				this License to do so, and all its terms and conditions for copying, 
+				distributing or modifying the Library or works based on it.
+			</P>
+			<P><STRONG>10.</STRONG> Each time you redistribute the Library (or any work based 
+				on the Library), the recipient automatically receives a license from the 
+				original licensor to copy, distribute, link with or modify the Library subject 
+				to these terms and conditions. You may not impose any further restrictions on 
+				the recipients' exercise of the rights granted herein. You are not responsible 
+				for enforcing compliance by third parties with this License.
+			</P>
+			<P><STRONG>11.</STRONG> If, as a consequence of a court judgment or allegation of 
+				patent infringement or for any other reason (not limited to patent issues), 
+				conditions are imposed on you (whether by court order, agreement or otherwise) 
+				that contradict the conditions of this License, they do not excuse you from the 
+				conditions of this License. If you cannot distribute so as to satisfy 
+				simultaneously your obligations under this License and any other pertinent 
+				obligations, then as a consequence you may not distribute the Library at all. 
+				For example, if a patent license would not permit royalty-free redistribution 
+				of the Library by all those who receive copies directly or indirectly through 
+				you, then the only way you could satisfy both it and this License would be to 
+				refrain entirely from distribution of the Library.
+			</P>
+			<P>If any portion of this section is held invalid or unenforceable under any 
+				particular circumstance, the balance of the section is intended to apply, and 
+				the section as a whole is intended to apply in other circumstances.
+			</P>
+			<P>It is not the purpose of this section to induce you to infringe any patents or 
+				other property right claims or to contest validity of any such claims; this 
+				section has the sole purpose of protecting the integrity of the free software 
+				distribution system which is implemented by public license practices. Many 
+				people have made generous contributions to the wide range of software 
+				distributed through that system in reliance on consistent application of that 
+				system; it is up to the author/donor to decide if he or she is willing to 
+				distribute software through any other system and a licensee cannot impose that 
+				choice.
+			</P>
+			<P>This section is intended to make thoroughly clear what is believed to be a 
+				consequence of the rest of this License.
+			</P>
+			<P><STRONG>12.</STRONG> If the distribution and/or use of the Library is restricted 
+				in certain countries either by patents or by copyrighted interfaces, the 
+				original copyright holder who places the Library under this License may add an 
+				explicit geographical distribution limitation excluding those countries, so 
+				that distribution is permitted only in or among countries not thus excluded. In 
+				such case, this License incorporates the limitation as if written in the body 
+				of this License.
+			</P>
+			<P><STRONG>13.</STRONG> The Free Software Foundation may publish revised and/or new 
+				versions of the Lesser General Public License from time to time. Such new 
+				versions will be similar in spirit to the present version, but may differ in 
+				detail to address new problems or concerns.</P>
+			<P>Each version is given a distinguishing version number. If the Library specifies 
+				a version number of this License which applies to it and "any later version", 
+				you have the option of following the terms and conditions either of that 
+				version or of any later version published by the Free Software Foundation. If 
+				the Library does not specify a license version number, you may choose any 
+				version ever published by the Free Software Foundation.
+			</P>
+			<P><STRONG>14.</STRONG> If you wish to incorporate parts of the Library into other 
+				free programs whose distribution conditions are incompatible with these, write 
+				to the author to ask for permission. For software which is copyrighted by the 
+				Free Software Foundation, write to the Free Software Foundation; we sometimes 
+				make exceptions for this. Our decision will be guided by the two goals of 
+				preserving the free status of all derivatives of our free software and of 
+				promoting the sharing and reuse of software generally.
+			</P>
+			<P>NO WARRANTY
+			</P>
+			<P><STRONG>15. </STRONG>BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO 
+				WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT 
+				WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES 
+				PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR 
+				IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
+				MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE 
+				QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE 
+				DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR 
+				CORRECTION.
+			</P>
+			<P><STRONG>16.</STRONG> IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO 
+				IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR 
+				REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, 
+				INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT 
+				OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS 
+				OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD 
+				PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN 
+				IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH 
+				DAMAGES.
+			</P>
+			<H4><STRONG>END OF TERMS AND CONDITIONS</STRONG></H4>
+		</TT>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_about/logo_fckeditor.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_about/logo_fckeditor.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_about/logo_fredck.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_about/logo_fredck.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_about.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_about.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_about.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,144 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_about.html
+ * 	"About" dialog window.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<html>
+	<head>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<script src="common/fck_dialog_common.js" type="text/javascript"></script>
+		<script language="javascript">
+
+var oEditor = window.parent.InnerDialogLoaded() ;
+var FCKLang	= oEditor.FCKLang ;
+
+window.parent.AddTab( 'About', FCKLang.DlgAboutAboutTab ) ;
+window.parent.AddTab( 'License', 'License' ) ;
+window.parent.AddTab( 'BrowserInfo', FCKLang.DlgAboutBrowserInfoTab ) ;
+
+// Function called when a dialog tag is selected.
+function OnDialogTabChange( tabCode )
+{
+	ShowE('divAbout', ( tabCode == 'About' ) ) ;
+	ShowE('divLicense', ( tabCode == 'License' ) ) ;
+	ShowE('divInfo'	, ( tabCode == 'BrowserInfo' ) ) ;
+}
+
+function SendEMail()
+{
+	var eMail = 'mailto:' ;
+	eMail += 'fredck' ;
+	eMail += '@' ;
+	eMail += 'fckeditor' ;
+	eMail += '.' ;
+	eMail += 'net' ;
+
+	window.location = eMail ;
+}
+
+window.onload = function()
+{
+	// Translate the dialog box texts.
+	oEditor.FCKLanguageManager.TranslatePage(document) ;
+
+	window.parent.SetAutoSize( true ) ;
+}
+
+		</script>
+	</head>
+	<body scroll="no" style="OVERFLOW: hidden">
+		<div id="divAbout">
+			<table cellpadding="0" cellspacing="0" border="0" width="100%" height="100%">
+				<tr>
+					<td>
+						<img alt="" src="fck_about/logo_fckeditor.gif" width="236" height="41" align="left">
+						<table width="80" border="0" cellspacing="0" cellpadding="5" bgcolor="#ffffff" align="right">
+							<tr>
+								<td align="center" style="BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid">
+									<span fckLang="DlgAboutVersion">version</span>
+									<br>
+									<b>2.1.1</b></td>
+							</tr>
+						</table>
+					</td>
+				</tr>
+				<tr height="100%">
+					<td align="center">
+						&nbsp;<br>
+						<span style="FONT-SIZE: 14px" dir="ltr">Support <b>Open Source</b> software.<br>
+							<b><a href="http://www.fckeditor.net/donate/?about" target="_blank" title="Click to go to the donation page">
+									What about a donation today?</a></b> </span>
+						<br><br><br>
+						<span fckLang="DlgAboutInfo">For further information go to</span> <a href="http://www.fckeditor.net/?About" target="_blank">
+							http://www.fckeditor.net/</a>.
+						<br>
+						Copyright &copy; 2003-2005 <a href="#" onclick="SendEMail();">Frederico Caldeira 
+							Knabben</a>
+					</td>
+				</tr>
+				<tr>
+					<td align="center">
+						<img alt="" src="fck_about/logo_fredck.gif" width="87" height="36">
+					</td>
+				</tr>
+			</table>
+		</div>
+		<div id="divLicense" style="DISPLAY: none">
+			<table height="100%" width="100%">
+				<tr>
+					<td>
+						<span fckLang="DlgAboutLicense">Licensed under the terms of the GNU Lesser General 
+							Public License</span>
+						<br>
+						<a href="http://www.opensource.org/licenses/lgpl-license.php" target="_blank">http://www.opensource.org/licenses/lgpl-license.php</a>
+						<br>
+					</td>
+				</tr>
+				<tr>
+					<td height="100%">
+						<iframe height="100%" width="100%" src="fck_about/lgpl.html"></iframe>
+					</td>
+				</tr>
+			</table>
+		</div>
+		<div id="divInfo" style="DISPLAY: none" dir="ltr">
+			<table align="center" width="80%" border="0">
+				<tr>
+					<td>
+						<script language="javascript">
+<!--
+document.write( '<b>User Agent<\/b><br>' + window.navigator.userAgent + '<br><br>' ) ;
+document.write( '<b>Browser<\/b><br>' + window.navigator.appName + ' ' + window.navigator.appVersion + '<br><br>' ) ;
+document.write( '<b>Platform<\/b><br>' + window.navigator.platform + '<br><br>' ) ;
+
+var sUserLang = '?' ;
+
+if ( window.navigator.language )
+	sUserLang = window.navigator.language.toLowerCase() ;
+else if ( window.navigator.userLanguage )
+	sUserLang = window.navigator.userLanguage.toLowerCase() ;
+
+document.write( '<b>User Language<\/b><br>' + sUserLang ) ;
+//-->
+						</script>
+					</td>
+				</tr>
+			</table>
+		</div>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_anchor.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_anchor.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_anchor.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,98 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_anchor.html
+ * 	Anchor dialog window.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<html>
+	<head>
+		<title>Anchor 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>
+		<script type="text/javascript">
+
+var oEditor	= window.parent.InnerDialogLoaded() ;
+var FCK		= oEditor.FCK ;
+
+// Gets the document DOM
+var oDOM = oEditor.FCK.EditorDocument ;
+
+var oFakeImage = FCK.Selection.GetSelectedElement() ;
+var oAnchor ;
+
+if ( oFakeImage )
+{
+	if ( oFakeImage.tagName == 'IMG' && oFakeImage.getAttribute('_fckanchor') )
+		oAnchor = FCK.GetRealElement( oFakeImage ) ;
+	else
+		oFakeImage = null ;
+}
+
+window.onload = function()
+{
+	// First of all, translate the dialog box texts
+	oEditor.FCKLanguageManager.TranslatePage(document) ;
+
+	if ( oAnchor )
+		GetE('txtName').value = oAnchor.name ;
+	else
+		oAnchor = null ;
+
+	window.parent.SetOkButton( true ) ;
+}
+
+function Ok()
+{
+	if ( GetE('txtName').value.length == 0 )
+	{
+		alert( oEditor.FCKLang.DlgAnchorErrorName ) ;
+		return false ;
+	}
+	
+	oEditor.FCKUndo.SaveUndoStep() ;
+	
+	oAnchor		= FCK.EditorDocument.createElement( 'DIV' ) ;
+	oAnchor.innerHTML = '<a name="' + GetE('txtName').value + '"><\/a>' ;
+	oAnchor = oAnchor.firstChild ;
+
+	oFakeImage	= oEditor.FCKDocumentProcessors_CreateFakeImage( 'FCK__Anchor', oAnchor ) ;
+	oFakeImage.setAttribute( '_fckanchor', 'true', 0 ) ;
+	oFakeImage	= FCK.InsertElementAndGetIt( oFakeImage ) ;
+
+//	oEditor.FCK.InsertHtml( '<a name="' + GetE('txtName').value + '"><\/a>' ) ;
+	return true ;
+}
+
+		</script>
+	</head>
+	<body style="OVERFLOW: hidden" scroll="no">
+		<table height="100%" width="100%">
+			<tr>
+				<td align="center">
+					<table border="0" cellpadding="0" cellspacing="0" width="80%">
+						<tr>
+							<td>
+								<span fckLang="DlgAnchorName">Anchor Name</span><BR>
+								<input id="txtName" style="WIDTH: 100%" type="text">
+							</td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+		</table>
+	</body>
+</html>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_button.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_button.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_button.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,103 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_button.html
+ * 	Button dialog window.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<html>
+	<head>
+		<title>Button 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>
+		<script type="text/javascript">
+
+var oEditor = window.parent.InnerDialogLoaded() ;
+
+// Gets the document DOM
+var oDOM = oEditor.FCK.EditorDocument ;
+
+var oActiveEl = oEditor.FCKSelection.GetSelectedElement() ;
+
+window.onload = function()
+{
+	// First of all, translate the dialog box texts
+	oEditor.FCKLanguageManager.TranslatePage(document) ;
+
+	if ( oActiveEl && oActiveEl.tagName.toUpperCase() == "INPUT" && ( oActiveEl.type == "button" || oActiveEl.type == "submit" || oActiveEl.type == "reset" ) )
+	{
+		GetE('txtName').value	= oActiveEl.name ;
+		GetE('txtValue').value	= oActiveEl.value ;
+		GetE('txtType').value	= oActiveEl.type ;
+
+		GetE('txtType').disabled = true ;
+	}
+	else
+		oActiveEl = null ;
+
+	window.parent.SetOkButton( true ) ;
+}
+
+function Ok()
+{
+	if ( !oActiveEl )
+	{
+		oActiveEl = oEditor.FCK.EditorDocument.createElement( 'INPUT' ) ;
+		oActiveEl.type = GetE('txtType').value ;
+		oActiveEl = oEditor.FCK.InsertElementAndGetIt( oActiveEl ) ;
+	}
+
+	oActiveEl.name = GetE('txtName').value ;
+	SetAttribute( oActiveEl, 'value', GetE('txtValue').value ) ;
+
+	return true ;
+}
+
+		</script>
+	</head>
+	<body style="OVERFLOW: hidden" scroll="no">
+		<table height="100%" width="100%">
+			<tr>
+				<td align="center">
+					<table border="0" cellpadding="0" cellspacing="0" width="80%">
+						<tr>
+							<td colSpan="">
+								<span fckLang="DlgCheckboxName">Name</span><br>
+								<input type="text" size="20" id="txtName" style="WIDTH: 100%">
+							</td>
+						</tr>
+						<tr>
+							<td>
+								<span fckLang="DlgButtonText">Text (Value)</span><br>
+								<input type="text" id="txtValue" style="WIDTH: 100%">
+							</td>
+						</tr>
+						<tr>
+							<td>
+								<span fckLang="DlgButtonType">Type</span><br>
+								<select id="txtType">
+									<option value="button" selected>Button</option>
+									<option value="submit">Submit</option>
+									<option value="reset">Reset</option>
+								</select>
+							</td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+		</table>
+	</body>
+</html>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_checkbox.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_checkbox.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_checkbox.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,100 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_checkbox.html
+ * 	Checkbox dialog window.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<html>
+	<head>
+		<title>Checkbox 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>
+		<script type="text/javascript">
+
+var oEditor = window.parent.InnerDialogLoaded() ;
+
+// Gets the document DOM
+var oDOM = oEditor.FCK.EditorDocument ;
+
+var oActiveEl = oEditor.FCKSelection.GetSelectedElement() ;
+
+window.onload = function()
+{
+	// First of all, translate the dialog box texts
+	oEditor.FCKLanguageManager.TranslatePage(document) ;
+
+	if ( oActiveEl && oActiveEl.tagName == 'INPUT' && oActiveEl.type == 'checkbox' )
+	{
+		GetE('txtName').value		= oActiveEl.name ;
+		GetE('txtValue').value		= oActiveEl.value ;
+		GetE('txtSelected').checked	= oActiveEl.checked ;
+	}
+	else
+		oActiveEl = null ;
+
+	window.parent.SetOkButton( true ) ;
+}
+
+function Ok()
+{
+	if ( !oActiveEl )
+	{
+		oActiveEl = oEditor.FCK.EditorDocument.createElement( 'INPUT' ) ;
+		oActiveEl.type = 'checkbox' ;
+		oActiveEl = oEditor.FCK.InsertElementAndGetIt( oActiveEl ) ;
+	}
+
+	oActiveEl.name = GetE('txtName').value ;
+	SetAttribute( oActiveEl, 'value', GetE('txtValue').value ) ;
+
+	if ( GetE('txtSelected').checked )
+	{
+		SetAttribute( oActiveEl, 'checked', 'checked' ) ;
+		oActiveEl.checked = GetE('txtSelected').checked ;
+	}
+
+	return true ;
+}
+
+		</script>
+	</head>
+	<body style="OVERFLOW: hidden" scroll="no">
+		<table height="100%" width="100%">
+			<tr>
+				<td align="center">
+					<table border="0" cellpadding="0" cellspacing="0" width="80%">
+						<tr>
+							<td>
+								<span fckLang="DlgCheckboxName">Name</span><br>
+								<input type="text" size="20" id="txtName" style="WIDTH: 100%">
+							</td>
+						</tr>
+						<tr>
+							<td>
+								<span fckLang="DlgCheckboxValue">Value</span><br>
+								<input type="text" size="20" id="txtValue" style="WIDTH: 100%">
+							</td>
+						</tr>
+						<tr>
+							<td><input type="checkbox" id="txtSelected"><label for="txtSelected" fckLang="DlgCheckboxSelected">Checked</label></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+		</table>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_colorselector.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_colorselector.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_colorselector.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,167 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_colorselector.html
+ * 	Color Selection dialog window.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
+<html>
+	<head>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+		<meta name="robots" content="noindex, nofollow" />
+		<style TYPE="text/css">
+			#ColorTable		{ cursor: pointer ; cursor: hand ; }
+			#hicolor		{ height: 74px ; width: 74px ; border-width: 1px ; border-style: solid ; }
+			#hicolortext	{ width: 75px ; text-align: right ; margin-bottom: 7px ; }
+			#selhicolor		{ height: 20px ; width: 74px ; border-width: 1px ; border-style: solid ; }
+			#selcolor		{ width: 75px ; height: 20px ; margin-top: 0px ; margin-bottom: 7px ; }
+			#btnClear		{ width: 75px ; height: 22px ; margin-bottom: 6px ; }
+			.ColorCell		{ height: 15px ; width: 15px ; }
+		</style>
+		<script type="text/javascript">
+		
+var oEditor = window.parent.InnerDialogLoaded() ;
+
+function OnLoad()
+{
+	// First of all, translate the dialog box texts
+	oEditor.FCKLanguageManager.TranslatePage(document) ;
+	
+	CreateColorTable() ;
+	
+	window.parent.SetOkButton( true ) ;	
+	window.parent.SetAutoSize( true ) ;
+}
+
+function CreateColorTable()
+{
+	// Get the target table.
+	var oTable = document.getElementById('ColorTable') ;
+
+	// Create the base colors array.
+	var aColors = ['00','33','66','99','cc','ff'] ;
+
+	// This function combines two ranges of three values from the color array into a row.
+	function AppendColorRow( rangeA, rangeB )
+	{
+		for ( var i = rangeA ; i < rangeA + 3 ; i++ ) 
+		{ 
+			var oRow = oTable.insertRow(-1) ; 
+
+			for ( var j = rangeB ; j < rangeB + 3 ; j++ ) 
+			{ 
+				for ( var n = 0 ; n < 6 ; n++ ) 
+				{ 
+					AppendColorCell( oRow, '#' + aColors[j] + aColors[n] + aColors[i] ) ; 
+				} 
+			} 
+		}
+	}
+
+	// This function create a single color cell in the color table.
+	function AppendColorCell( targetRow, color )
+	{
+		var oCell = targetRow.insertCell(-1) ;
+		oCell.className = 'ColorCell' ;
+		oCell.bgColor = color ;
+		
+		oCell.onmouseover = function()
+		{
+			document.getElementById('hicolor').style.backgroundColor = this.bgColor ;
+			document.getElementById('hicolortext').innerHTML = this.bgColor ;
+		}
+		
+		oCell.onclick = function()
+		{
+			document.getElementById('selhicolor').style.backgroundColor = this.bgColor ;
+			document.getElementById('selcolor').value = this.bgColor ;
+		}
+	}
+
+	AppendColorRow( 0, 0 ) ;
+	AppendColorRow( 3, 0 ) ;
+	AppendColorRow( 0, 3 ) ;
+	AppendColorRow( 3, 3 ) ;
+
+	// Create the last row.
+	var oRow = oTable.insertRow(-1) ;
+	
+	// Create the gray scale colors cells.
+	for ( var n = 0 ; n < 6 ; n++ )
+	{
+		AppendColorCell( oRow, '#' + aColors[n] + aColors[n] + aColors[n] ) ; 
+	}
+	
+	// Fill the row with black cells.
+	for ( var i = 0 ; i < 12 ; i++ )
+	{
+		AppendColorCell( oRow, '#000000' ) ; 
+	}
+}
+
+function Clear()
+{
+	document.getElementById('selhicolor').style.backgroundColor = '' ;
+	document.getElementById('selcolor').value = '' ;
+}
+
+function ClearActual()
+{
+	document.getElementById('hicolor').style.backgroundColor = '' ;
+	document.getElementById('hicolortext').innerHTML = '&nbsp;' ;
+}
+
+function UpdateColor()
+{
+	try		  { document.getElementById('selhicolor').style.backgroundColor = document.getElementById('selcolor').value ; }
+	catch (e) { Clear() ; }
+}
+
+function Ok()
+{
+	if ( typeof(window.parent.dialogArguments.CustomValue) == 'function' )
+		window.parent.dialogArguments.CustomValue( document.getElementById('selcolor').value ) ;
+
+	return true ;
+}
+		</script>
+	</head>
+	<body onload="OnLoad()" scroll="no" style="OVERFLOW: hidden">
+		<table cellpadding="0" cellspacing="0" border="0" width="100%" height="100%">
+			<tr>
+				<td align="center" valign="middle">
+					<table border="0" cellspacing="5" cellpadding="0" width="100%">
+						<tr>
+							<td valign="top" align="center" nowrap width="100%">
+								<table id="ColorTable" border="0" cellspacing="0" cellpadding="0" width="270" onmouseout="ClearActual();">
+								</table>
+							</td>
+							<td valign="top" align="left" nowrap>
+								<span fckLang="DlgColorHighlight">Highlight</span>
+								<div id="hicolor"></div>
+								<div id="hicolortext">&nbsp;</div>
+								<span fckLang="DlgColorSelected">Selected</span>
+								<div id="selhicolor"></div>
+								<input id="selcolor" type="text" maxlength="20" onchange="UpdateColor();">
+								<br>
+								<input id="btnClear" type="button" fckLang="DlgColorBtnClear" value="Clear" onclick="Clear();" />
+							</td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+		</table>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_docprops/fck_document_preview.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_docprops/fck_document_preview.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_docprops/fck_document_preview.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,109 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_document_preview.html
+ * 	Preview shown in the "Document Properties" dialog window.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<html>
+	<head>
+		<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">
+
+var eBase = parent.FCK.EditorDocument.getElementsByTagName( 'BASE' ) ;
+if ( eBase.length > 0 && eBase[0].href.length > 0 )
+{
+	document.write( '<base href="' + eBase[0].href + '">' ) ;
+}
+
+window.onload = function()
+{
+	if ( typeof( parent.OnPreviewLoad ) == 'function' )
+		parent.OnPreviewLoad( window, document.body ) ;
+}
+
+function SetBaseHRef( baseHref )
+{
+	var eBase = document.createElement( 'BASE' ) ;
+	eBase.href = baseHref ;
+
+	var eHead = document.getElementsByTagName( 'HEAD' )[0] ;
+	eHead.appendChild( eBase ) ;
+}
+
+function SetLinkColor( color )
+{
+	if ( color && color.length > 0 )
+		document.getElementById('eLink').style.color = color ;
+	else
+		document.getElementById('eLink').style.color = window.document.linkColor ;
+}
+
+function SetVisitedColor( color )
+{
+	if ( color && color.length > 0 )
+		document.getElementById('eVisited').style.color = color ;
+	else
+		document.getElementById('eVisited').style.color = window.document.vlinkColor ;
+}
+
+function SetActiveColor( color )
+{
+	if ( color && color.length > 0 )
+		document.getElementById('eActive').style.color = color ;
+	else
+		document.getElementById('eActive').style.color = window.document.alinkColor ;
+}
+		</script>
+	</head>
+	<body>
+		<table width="100%" height="100%" cellpadding="0" cellspacing="0" border="0">
+			<tr>
+				<td align="center" valign="middle">
+					Normal Text
+				</td>
+				<td id="eLink" align="center" valign="middle">
+					<u>Link Text</u>
+				</td>
+			</tr>
+			<tr>
+				<td id="eVisited" valign="middle" align="center">
+					<u>Visited Link</u>
+				</td>
+				<td id="eActive" valign="middle" align="center">
+					<u>Active Link</u>
+				</td>
+			</tr>
+		</table>
+		<br>
+		<br>
+		<br>
+		<br>
+		<br>
+		<br>
+		<br>
+		<br>
+		<br>
+		<br>
+		<br>
+		<br>
+		<br>
+		<br>
+		<br>
+		<br>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_docprops.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_docprops.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_docprops.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,586 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_docprops.html
+ * 	Link dialog window.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<html>
+	<head>
+		<title>Document 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>
+		<script language="javascript">
+
+var oEditor		= window.parent.InnerDialogLoaded() ;
+var FCK			= oEditor.FCK ;
+var FCKLang		= oEditor.FCKLang ;
+var FCKConfig	= oEditor.FCKConfig ;
+
+//#### Dialog Tabs
+
+// Set the dialog tabs.
+window.parent.AddTab( 'General'		, FCKLang.DlgDocGeneralTab ) ;
+window.parent.AddTab( 'Background'	, FCKLang.DlgDocBackTab ) ;
+window.parent.AddTab( 'Colors'		, FCKLang.DlgDocColorsTab ) ;
+window.parent.AddTab( 'Meta'		, FCKLang.DlgDocMetaTab ) ;
+
+// Function called when a dialog tag is selected.
+function OnDialogTabChange( tabCode )
+{
+	ShowE( 'divGeneral'		, ( tabCode == 'General' ) ) ;
+	ShowE( 'divBackground'	, ( tabCode == 'Background' ) ) ;
+	ShowE( 'divColors'		, ( tabCode == 'Colors' ) ) ;
+	ShowE( 'divMeta'		, ( tabCode == 'Meta' ) ) ;
+
+	ShowE( 'ePreview'		, ( tabCode == 'Background' || tabCode == 'Colors' ) ) ;
+}
+
+//#### Get Base elements from the document: BEGIN
+
+// The HTML element of the document.
+var oHTML = FCK.EditorDocument.getElementsByTagName('html')[0] ;
+
+// The HEAD element of the document.
+var oHead = oHTML.getElementsByTagName('head')[0] ;
+
+var oBody = FCK.EditorDocument.body ;
+
+// This object contains all META tags defined in the document.
+var oMetaTags = new Object() ;
+
+// Get all META tags defined in the document.
+var aMetas = oHead.getElementsByTagName('meta') ;
+
+// Loop throw all METAs and put it in the HashTable.
+for ( var i = 0 ; i < aMetas.length ; i++ )
+{
+	// Try to get the "name" attribute.
+	var sName = GetAttribute( aMetas[i], 'name', GetAttribute( aMetas[i], '___fcktoreplace:name', '' ) ) ;
+
+	// If no "name", try with the "http-equiv" attribute.
+	if ( sName.length == 0 )
+	{
+		if ( document.all )
+		{
+			// Get the http-equiv value from the outerHTML.
+			var oHttpEquivMatch = aMetas[i].outerHTML.match( oEditor.FCKRegexLib.MetaHttpEquiv ) ;
+			if ( oHttpEquivMatch )
+				sName = oHttpEquivMatch[1] ;
+		}
+		else
+			sName = GetAttribute( aMetas[i], 'http-equiv', '' ) ;
+	}
+
+	if ( sName.length > 0 )
+		oMetaTags[ sName.toLowerCase() ] = aMetas[i] ;
+}
+
+//#### END
+
+// Set a META tag in the document.
+function SetMetadata( name, content, isHttp )
+{
+	if ( content.length == 0 )
+	{
+		RemoveMetadata( name ) ;
+		return ;
+	}
+
+	var oMeta = oMetaTags[ name.toLowerCase() ] ;
+
+	if ( !oMeta )
+	{
+		oMeta = oHead.appendChild( FCK.EditorDocument.createElement('META') ) ;
+
+		if ( isHttp )
+			SetAttribute( oMeta, 'http-equiv', name ) ;
+		else
+		{
+			// On IE, it is not possible to set the "name" attribute of the META tag.
+			// So a temporary attribute is used and it is replaced when getting the
+			// editor's HTML/XHTML value. This is sad, I know :(
+			if ( document.all )
+				SetAttribute( oMeta, '___fcktoreplace:name', name ) ;
+			else
+				SetAttribute( oMeta, 'name', name ) ;
+		}
+
+		oMetaTags[ name.toLowerCase() ] = oMeta ;
+	}
+
+	oMeta.content = content ;
+}
+
+function RemoveMetadata( name )
+{
+	var oMeta = oMetaTags[ name.toLowerCase() ] ;
+
+	if ( oMeta && oMeta != null )
+	{
+		oMeta.parentNode.removeChild( oMeta ) ;
+		oMetaTags[ name.toLowerCase() ] = null ;
+	}
+}
+
+function GetMetadata( name )
+{
+	var oMeta = oMetaTags[ name.toLowerCase() ] ;
+
+	if ( oMeta && oMeta != null )
+		return oMeta.content ;
+	else
+		return '' ;
+}
+
+window.onload = function ()
+{
+	// First of all, translate the dialog box texts
+	oEditor.FCKLanguageManager.TranslatePage( document ) ;
+
+	FillFields() ;
+
+	UpdatePreview() ;
+
+	// Show the "Ok" button.
+	window.parent.SetOkButton( true ) ;
+
+	window.parent.SetAutoSize( true ) ;
+}
+
+function FillFields()
+{
+	// ### General Info
+	GetE('txtPageTitle').value = FCK.EditorDocument.title ;
+
+	GetE('selDirection').value	= GetAttribute( oHTML, 'dir', '' ) ;
+	GetE('txtLang').value		= GetAttribute( oHTML, 'xml:lang', GetAttribute( oHTML, 'lang', '' ) ) ;	// "xml:lang" takes precedence to "lang".
+
+	// Character Set Encoding.
+//	if ( document.all )
+//		var sCharSet = FCK.EditorDocument.charset ;
+//	else
+		var sCharSet = GetMetadata( 'Content-Type' ) ;
+
+	if ( sCharSet != null && sCharSet.length > 0 )
+	{
+//		if ( !document.all )
+			sCharSet = sCharSet.match( /[^=]*$/ ) ;
+
+		GetE('selCharSet').value = sCharSet ;
+
+		if ( GetE('selCharSet').selectedIndex == -1 )
+		{
+			GetE('selCharSet').value = '...' ;
+			GetE('txtCustomCharSet').value = sCharSet ;
+
+			CheckOther( GetE('selCharSet'), 'txtCustomCharSet' ) ;
+		}
+	}
+
+	// Document Type.
+	if ( FCK.DocTypeDeclaration && FCK.DocTypeDeclaration.length > 0 )
+	{
+		GetE('selDocType').value = FCK.DocTypeDeclaration ;
+
+		if ( GetE('selDocType').selectedIndex == -1 )
+		{
+			GetE('selDocType').value = '...' ;
+			GetE('txtDocType').value = FCK.DocTypeDeclaration ;
+
+			CheckOther( GetE('selDocType'), 'txtDocType' ) ;
+		}
+	}
+
+	// Document Type.
+	GetE('chkIncXHTMLDecl').checked = ( FCK.XmlDeclaration && FCK.XmlDeclaration.length > 0 ) ;
+
+	// ### Background
+	GetE('txtBackColor').value = GetAttribute( oBody, 'bgColor'		, '' ) ;
+	GetE('txtBackImage').value = GetAttribute( oBody, 'background'	, '' ) ;
+	GetE('chkBackNoScroll').checked = ( GetAttribute( oBody, 'bgProperties', '' ).toLowerCase() == 'fixed' ) ;
+
+	// ### Colors
+	GetE('txtColorText').value		= GetAttribute( oBody, 'text'	, '' ) ;
+	GetE('txtColorLink').value		= GetAttribute( oBody, 'link'	, '' ) ;
+	GetE('txtColorVisited').value	= GetAttribute( oBody, 'vLink'	, '' ) ;
+	GetE('txtColorActive').value	= GetAttribute( oBody, 'aLink'	, '' ) ;
+
+	// ### Margins
+	GetE('txtMarginTop').value		= GetAttribute( oBody, 'topMargin'		, '' ) ;
+	GetE('txtMarginLeft').value		= GetAttribute( oBody, 'leftMargin'		, '' ) ;
+	GetE('txtMarginRight').value	= GetAttribute( oBody, 'rightMargin'	, '' ) ;
+	GetE('txtMarginBottom').value	= GetAttribute( oBody, 'bottomMargin'	, '' ) ;
+
+	// ### Meta Data
+	GetE('txtMetaKeywords').value		= GetMetadata( 'keywords' ) ;
+	GetE('txtMetaDescription').value	= GetMetadata( 'description' ) ;
+	GetE('txtMetaAuthor').value			= GetMetadata( 'author' ) ;
+	GetE('txtMetaCopyright').value		= GetMetadata( 'copyright' ) ;
+}
+
+// Called when the "Ok" button is clicked.
+function Ok()
+{
+	// ### General Info
+	FCK.EditorDocument.title = GetE('txtPageTitle').value ;
+
+	var oHTML = FCK.EditorDocument.getElementsByTagName('html')[0] ;
+
+	SetAttribute( oHTML, 'dir'		, GetE('selDirection').value ) ;
+	SetAttribute( oHTML, 'lang'		, GetE('txtLang').value ) ;
+	SetAttribute( oHTML, 'xml:lang'	, GetE('txtLang').value ) ;
+
+	// Character Set Enconding.
+	var sCharSet = GetE('selCharSet').value ;
+	if ( sCharSet == '...' )
+		sCharSet = GetE('txtCustomCharSet').value ;
+
+	if ( sCharSet.length > 0 )
+			sCharSet = 'text/html; charset=' + sCharSet ;
+
+//	if ( document.all )
+//		FCK.EditorDocument.charset = sCharSet ;
+//	else
+		SetMetadata( 'Content-Type', sCharSet, true ) ;
+
+	// Document Type
+	var sDocType = GetE('selDocType').value ;
+	if ( sDocType == '...' )
+		sDocType = GetE('txtDocType').value ;
+
+	FCK.DocTypeDeclaration = sDocType ;
+
+	// XHTML Declarations.
+	if ( GetE('chkIncXHTMLDecl').checked )
+	{
+		if ( sCharSet.length == 0 )
+			sCharSet = 'utf-8' ;
+
+		FCK.XmlDeclaration = '<?xml version="1.0" encoding="' + sCharSet + '"?>' ;
+
+		SetAttribute( oHTML, 'xmlns', 'http://www.w3.org/1999/xhtml' ) ;
+	}
+	else
+	{
+		FCK.XmlDeclaration = null ;
+		oHTML.removeAttribute( 'xmlns', 0 ) ;
+	}
+
+	// ### Background
+	SetAttribute( oBody, 'bgcolor'		, GetE('txtBackColor').value ) ;
+	SetAttribute( oBody, 'background'	, GetE('txtBackImage').value ) ;
+	SetAttribute( oBody, 'bgproperties'	, GetE('chkBackNoScroll').checked ? 'fixed' : '' ) ;
+
+	// ### Colors
+	SetAttribute( oBody, 'text'	, GetE('txtColorText').value ) ;
+	SetAttribute( oBody, 'link'	, GetE('txtColorLink').value ) ;
+	SetAttribute( oBody, 'vlink', GetE('txtColorVisited').value ) ;
+	SetAttribute( oBody, 'alink', GetE('txtColorActive').value ) ;
+
+	// ### Margins
+	SetAttribute( oBody, 'topmargin'	, GetE('txtMarginTop').value ) ;
+	SetAttribute( oBody, 'leftmargin'	, GetE('txtMarginLeft').value ) ;
+	SetAttribute( oBody, 'rightmargin'	, GetE('txtMarginRight').value ) ;
+	SetAttribute( oBody, 'bottommargin'	, GetE('txtMarginBottom').value ) ;
+
+	// ### Meta data
+	SetMetadata( 'keywords'		, GetE('txtMetaKeywords').value ) ;
+	SetMetadata( 'description'	, GetE('txtMetaDescription').value ) ;
+	SetMetadata( 'author'		, GetE('txtMetaAuthor').value ) ;
+	SetMetadata( 'copyright'	, GetE('txtMetaCopyright').value ) ;
+
+	return true ;
+}
+
+var bPreviewIsLoaded = false ;
+var oPreviewWindow ;
+var oPreviewBody ;
+
+// Called by the Preview page when loaded.
+function OnPreviewLoad( previewWindow, previewBody )
+{
+	oPreviewWindow	= previewWindow ;
+	oPreviewBody	= previewBody ;
+
+	bPreviewIsLoaded = true ;
+	UpdatePreview() ;
+}
+
+function UpdatePreview()
+{
+	if ( !bPreviewIsLoaded )
+		return ;
+
+	// ### Background
+	SetAttribute( oPreviewBody, 'bgcolor'		, GetE('txtBackColor').value ) ;
+	SetAttribute( oPreviewBody, 'background'	, GetE('txtBackImage').value ) ;
+	SetAttribute( oPreviewBody, 'bgproperties'	, GetE('chkBackNoScroll').checked ? 'fixed' : '' ) ;
+
+	// ### Colors
+	SetAttribute( oPreviewBody, 'text', GetE('txtColorText').value ) ;
+
+	oPreviewWindow.SetLinkColor( GetE('txtColorLink').value ) ;
+	oPreviewWindow.SetVisitedColor( GetE('txtColorVisited').value ) ;
+	oPreviewWindow.SetActiveColor( GetE('txtColorActive').value ) ;
+}
+
+function CheckOther( combo, txtField )
+{
+	var bNotOther = ( combo.value != '...' ) ;
+
+	GetE(txtField).style.backgroundColor = ( bNotOther ? '#cccccc' : '' ) ;
+	GetE(txtField).disabled = bNotOther ;
+}
+
+function SetColor( inputId, color )
+{
+	GetE( inputId ).value = color + '' ;
+	UpdatePreview() ;
+}
+
+function SelectBackColor( color )		{ SetColor('txtBackColor', color ) ; }
+function SelectColorText( color )		{ SetColor('txtColorText', color ) ; }
+function SelectColorLink( color )		{ SetColor('txtColorLink', color ) ; }
+function SelectColorVisited( color )	{ SetColor('txtColorVisited', color ) ; }
+function SelectColorActive( color )		{ SetColor('txtColorActive', color ) ; }
+
+function SelectColor( wich )
+{
+	switch ( wich )
+	{
+		case 'Back'			: oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 400, 330, SelectBackColor, window ) ; return ;
+		case 'ColorText'	: oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 400, 330, SelectColorText, window ) ; return ;
+		case 'ColorLink'	: oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 400, 330, SelectColorLink, window ) ; return ;
+		case 'ColorVisited'	: oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 400, 330, SelectColorVisited, window ) ; return ;
+		case 'ColorActive'	: oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 400, 330, SelectColorActive, window ) ; return ;
+	}
+}
+
+function BrowseServerBack()
+{
+	var iLeft = (FCKConfig.ScreenWidth  - FCKConfig.ImageBrowserWindowWidth) / 2 ;
+	var iTop  = (FCKConfig.ScreenHeight - FCKConfig.ImageBrowserWindowHeight) / 2 ;
+
+	var sOptions = "toolbar=no,status=no,resizable=yes,dependent=yes" ;
+	sOptions += ",width=" + FCKConfig.LinkBrowserWindowWidth ;
+	sOptions += ",height=" + FCKConfig.LinkBrowserWindowHeight ;
+	sOptions += ",left=" + iLeft ;
+	sOptions += ",top=" + iTop ;
+
+	if ( oEditor.FCKBrowserInfo.IsIE )
+	{
+		// The following change has been made otherwise IE will open the file 
+		// browser on a different server session (on some cases):
+		// http://support.microsoft.com/default.aspx?scid=kb;en-us;831678
+		// by Simone Chiaretta.
+		var oWindow = oEditor.window.open( FCKConfig.ImageBrowserURL, "FCKBrowseWindow", sOptions ) ;
+		oWindow.opener = window ;
+    }
+    else
+		window.open( FCKConfig.ImageBrowserURL, "FCKBrowseWindow", sOptions ) ;
+}
+
+function SetUrl( url )
+{
+	GetE('txtBackImage').value = url ;
+	UpdatePreview() ;
+}
+
+		</script>
+	</head>
+	<body scroll="no" style="OVERFLOW: hidden">
+		<table height="100%" cellSpacing="0" cellPadding="0" width="100%" border="0">
+			<tr>
+				<td vAlign="top" height="100%">
+					<div id="divGeneral">
+						<span fckLang="DlgDocPageTitle">Page Title</span><br>
+						<input id="txtPageTitle" style="WIDTH: 100%" type="text">
+						<br>
+						<table cellSpacing="0" cellPadding="0" border="0">
+							<tr>
+								<td>
+									<span fckLang="DlgDocLangDir">Language Direction</span><br>
+									<select id="selDirection">
+										<option value="" selected></option>
+										<option value="ltr" fckLang="DlgDocLangDirLTR">Left to Right (LTR)</option>
+										<option value="rtl" fckLang="DlgDocLangDirRTL">Right to Left (RTL)</option>
+									</select>
+								</td>
+								<td>&nbsp;&nbsp;&nbsp;</td>
+								<td>
+									<span fckLang="DlgDocLangCode">Language Code</span><br>
+									<input id="txtLang" type="text">
+								</td>
+							</tr>
+						</table>
+						<br>
+						<table cellSpacing="0" cellPadding="0" width="100%" border="0">
+							<tr>
+								<td noWrap><span fckLang="DlgDocCharSet">Character Set Encoding</span><br>
+									<select id="selCharSet" onchange="CheckOther( this, 'txtCustomCharSet' );">
+										<option value="" selected></option>
+										<option value="us-ascii">ASCII</option>
+										<option value="iso-8859-2">Central European</option>
+										<option value="big5">Chinese Traditional (Big5)</option>
+										<option value="iso-8859-5">Cyrillic</option>
+										<option value="iso-8859-7">Greek</option>
+										<option value="iso-2022-jp">Japanese</option>
+										<option value="iso-2022-kr">Korean</option>
+										<option value="iso-8859-9">Turkish</option>
+										<option value="utf-8">Unicode (UTF-8)</option>
+										<option value="iso-8859-1">Western European</option>
+										<option value="..." fckLang="DlgOpOther">&lt;Other&gt;</option>
+									</select>
+								</td>
+								<td>&nbsp;&nbsp;&nbsp;</td>
+								<td width="100%">
+									<span fckLang="DlgDocCharSetOther">Other Character Set Encoding</span><br>
+									<input id="txtCustomCharSet" style="WIDTH: 100%; BACKGROUND-COLOR: #cccccc" disabled type="text">
+								</td>
+							</tr>
+							<tr>
+								<td colspan="3">&nbsp;</td>
+							</tr>
+							<tr>
+								<td nowrap>
+									<span fckLang="DlgDocDocType">Document Type Heading</span><br>
+									<select id="selDocType" name="selDocType" onchange="CheckOther( this, 'txtDocType' );">
+										<option value="" selected></option>
+										<option value='<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">'>HTML
+											4.01 Transitional</option>
+										<option value='<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">'>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">'>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">'>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">'>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">'>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">'>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="..." fckLang="DlgOpOther">&lt;Other&gt;</option>
+									</select>
+								</td>
+								<td></td>
+								<td width="100%">
+									<span fckLang="DlgDocDocTypeOther">Other Document Type Heading</span><br>
+									<input id="txtDocType" style="WIDTH: 100%; BACKGROUND-COLOR: #cccccc" disabled type="text">
+								</td>
+							</tr>
+						</table>
+						<br>
+						<input id="chkIncXHTMLDecl" type="checkbox"> <label for="chkIncXHTMLDecl" fckLang="DlgDocIncXHTML">Include
+							XHTML Declarations</label>
+					</div>
+					<div id="divBackground" style="DISPLAY: none">
+						<span fckLang="DlgDocBgColor">Background Color</span><br>
+						<input id="txtBackColor" type="text" onchange="UpdatePreview();" onkeyup="UpdatePreview();">&nbsp;<input id="btnSelBackColor" onclick="SelectColor( 'Back' )" type="button" value="Select..."
+							fckLang="DlgCellBtnSelect"><br>
+						<br>
+						<span fckLang="DlgDocBgImage">Background Image URL</span><br>
+						<table cellSpacing="0" cellPadding="0" width="100%" border="0">
+							<tr>
+								<td width="100%"><input id="txtBackImage" style="WIDTH: 100%" type="text" onchange="UpdatePreview();" onkeyup="UpdatePreview();"></td>
+								<td nowrap>&nbsp;<input id="btnBrowse" onclick="BrowseServerBack();" type="button" fckLang="DlgBtnBrowseServer" value="Browse Server" fckLang="DlgBtnBrowseServer"></td>
+							</tr>
+						</table>
+						<input id="chkBackNoScroll" type="checkbox" onclick="UpdatePreview();"> <label for="chkBackNoScroll" fckLang="DlgDocBgNoScroll">Nonscrolling
+							Background</label>
+					</div>
+					<div id="divColors" style="DISPLAY: none">
+						<table cellSpacing="0" cellPadding="0" width="100%" border="0">
+							<tr>
+								<td>
+									<span fckLang="DlgDocCText">Text</span><br>
+									<input id="txtColorText" type="text" onchange="UpdatePreview();" onkeyup="UpdatePreview();"><input onclick="SelectColor( 'ColorText' )" type="button" value="Select..." fckLang="DlgCellBtnSelect">
+									<br>
+									<span fckLang="DlgDocCLink">Link</span><br>
+									<input id="txtColorLink" type="text" onchange="UpdatePreview();" onkeyup="UpdatePreview();"><input onclick="SelectColor( 'ColorLink' )" type="button" value="Select..." fckLang="DlgCellBtnSelect">
+									<br>
+									<span fckLang="DlgDocCVisited">Visited Link</span><br>
+									<input id="txtColorVisited" type="text" onchange="UpdatePreview();" onkeyup="UpdatePreview();"><input onclick="SelectColor( 'ColorVisited' )" type="button" value="Select..." fckLang="DlgCellBtnSelect">
+									<br>
+									<span fckLang="DlgDocCActive">Active Link</span><br>
+									<input id="txtColorActive" type="text" onchange="UpdatePreview();" onkeyup="UpdatePreview();"><input onclick="SelectColor( 'ColorActive' )" type="button" value="Select..." fckLang="DlgCellBtnSelect">
+								</td>
+								<td valign="middle" align="center">
+									<table cellspacing="2" cellpadding="0" border="0">
+										<tr>
+											<td><span fckLang="DlgDocMargins">Page Margins</span></td>
+										</tr>
+										<tr>
+											<td style="BORDER: #000000 1px solid; PADDING: 5px">
+												<table cellpadding="0" cellspacing="0" border="0" dir="ltr">
+													<tr>
+														<td align="center" colspan="3">
+															<span fckLang="DlgDocMaTop">Top</span><br>
+															<input id="txtMarginTop" type="text" size="3">
+														</td>
+													</tr>
+													<tr>
+														<td align="left">
+															<span fckLang="DlgDocMaLeft">Left</span><br>
+															<input id="txtMarginLeft" type="text" size="3">
+														</td>
+														<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
+														<td align="right">
+															<span fckLang="DlgDocMaRight">Right</span><BR>
+															<input id="txtMarginRight" type="text" size="3">
+														</td>
+													</tr>
+													<tr>
+														<td align="center" colspan="3">
+															<span fckLang="DlgDocMaBottom">Bottom</span><br>
+															<input id="txtMarginBottom" type="text" size="3">
+														</td>
+													</tr>
+												</table>
+											</td>
+										</tr>
+									</table>
+								</td>
+							</tr>
+						</table>
+					</div>
+					<div id="divMeta" style="DISPLAY: none">
+						<span fckLang="DlgDocMeIndex">Document Indexing Keywords (comma separated)</span><br>
+						<textarea id="txtMetaKeywords" style="WIDTH: 100%" rows="2" cols="20"></textarea>
+						<br>
+						<span fckLang="DlgDocMeDescr">Document Description</span><br>
+						<textarea id="txtMetaDescription" style="WIDTH: 100%" rows="4" cols="20"></textarea>
+						<br>
+						<span fckLang="DlgDocMeAuthor">Author</span><br>
+						<input id="txtMetaAuthor" style="WIDTH: 100%" type="text"><br>
+						<br>
+						<span fckLang="DlgDocMeCopy">Copyright</span><br>
+						<input id="txtMetaCopyright" type="text" style="WIDTH: 100%">
+					</div>
+				</td>
+			</tr>
+			<tr id="ePreview" style="DISPLAY: none">
+				<td>
+					<span fckLang="DlgDocPreview">Preview</span><br>
+					<iframe id="frmPreview" src="fck_docprops/fck_document_preview.html" width="100%" height="100"></iframe>
+				</td>
+			</tr>
+		</table>
+	</body>
+</html>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_find.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_find.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_find.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,162 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_find.html
+ * 	"Find" dialog window.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<html>
+	<head>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta content="noindex, nofollow" name="robots">
+		<script type="text/javascript">
+
+var oEditor = window.parent.InnerDialogLoaded() ;
+
+function OnLoad()
+{
+	// Whole word is available on IE only.
+	if ( oEditor.FCKBrowserInfo.IsIE )
+		document.getElementById('divWord').style.display = '' ;
+
+	// First of all, translate the dialog box texts.
+	oEditor.FCKLanguageManager.TranslatePage( document ) ;
+
+	window.parent.SetAutoSize( true ) ;
+}
+
+function btnStat(frm)
+{
+	document.getElementById('btnFind').disabled =
+		( document.getElementById('txtFind').value.length == 0 ) ;
+}
+
+function ReplaceTextNodes( parentNode, regex, replaceValue, replaceAll )
+{
+	for ( var i = 0 ; i < parentNode.childNodes.length ; i++ )
+	{
+		var oNode = parentNode.childNodes[i] ;
+		if ( oNode.nodeType == 3 )
+		{
+			var sReplaced = oNode.nodeValue.replace( regex, replaceValue ) ;
+			if ( oNode.nodeValue != sReplaced )
+			{
+				oNode.nodeValue = sReplaced ;
+				if ( ! replaceAll )
+					return true ;
+			}
+		}
+		else
+		{
+			if ( ReplaceTextNodes( oNode, regex, replaceValue ) )
+				return true ;
+		}
+	}
+	return false ;
+}
+
+function GetRegexExpr()
+{
+	if ( document.getElementById('chkWord').checked )
+		var sExpr = '\\b' + document.getElementById('txtFind').value + '\\b' ;
+	else
+		var sExpr = document.getElementById('txtFind').value ;
+
+	return sExpr ;
+}
+
+function GetCase()
+{
+	return ( document.getElementById('chkCase').checked ? '' : 'i' ) ;
+}
+
+var oRange = oEditor.FCK.EditorDocument.body.createTextRange() ;
+
+function Ok()
+{
+	if ( document.getElementById('txtFind').value.length == 0 )
+		return ;
+
+	if ( oEditor.FCKBrowserInfo.IsIE )
+		FindIE() ;
+	else
+		FindGecko() ;
+}
+
+function FindIE()
+{
+	var iFlags = 0 ;
+
+	if ( chkCase.checked )
+		iFlags = iFlags | 4 ;
+
+	if ( chkWord.checked )
+		iFlags = iFlags | 2 ;
+
+	var bFound = oRange.findText( document.getElementById('txtFind').value, 1, iFlags ) ;
+
+	if ( bFound )
+	{
+		oRange.scrollIntoView() ;
+		oRange.select() ;
+		oRange.collapse(false) ;
+		oLastRangeFound = oRange ;
+	}
+	else
+	{
+		oRange = oEditor.FCK.EditorDocument.body.createTextRange() ;
+		alert( oEditor.FCKLang.DlgFindNotFoundMsg ) ;
+	}
+}
+
+function FindGecko()
+{
+	var bCase = document.getElementById('chkCase').checked ;
+	var bWord = document.getElementById('chkWord').checked ;
+
+	// window.find( searchString, caseSensitive, backwards, wrapAround, wholeWord, searchInFrames, showDialog ) ;
+	oEditor.FCK.EditorWindow.find( document.getElementById('txtFind').value, bCase, false, false, bWord, false, false ) ;
+
+}
+		</script>
+	</head>
+	<body onload="OnLoad()" scroll="no" style="OVERFLOW: hidden">
+		<table cellSpacing="3" cellPadding="2" width="100%" border="0">
+			<tr>
+				<td nowrap>
+					<label for="txtFind" fckLang="DlgReplaceFindLbl">Find what:</label>&nbsp;
+				</td>
+				<td width="100%">
+					<input id="txtFind" style="WIDTH: 100%" tabIndex="1" type="text">
+				</td>
+				<td>
+					<input id="btnFind" style="WIDTH: 100%; PADDING-RIGHT: 5px; PADDING-LEFT: 5px" onclick="Ok();"
+						type="button" value="Find" fckLang="DlgFindFindBtn">
+				</td>
+			</tr>
+			<tr>
+				<td valign="bottom" colSpan="3">
+					&nbsp;<input id="chkCase" tabIndex="3" type="checkbox"><label for="chkCase" fckLang="DlgReplaceCaseChk">Match 
+						case</label>
+					<br>
+					<div id="divWord" style="DISPLAY: none">
+						&nbsp;<input id="chkWord" tabIndex="4" type="checkbox"><label for="chkWord" fckLang="DlgReplaceWordChk">Match 
+							whole word</label>
+					</div>
+				</td>
+			</tr>
+		</table>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_flash/fck_flash.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_flash/fck_flash.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_flash/fck_flash.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,283 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_flash.js
+ * 	Scripts related to the Flash dialog window (see fck_flash.html).
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+var oEditor		= window.parent.InnerDialogLoaded() ;
+var FCK			= oEditor.FCK ;
+var FCKLang		= oEditor.FCKLang ;
+var FCKConfig	= oEditor.FCKConfig ;
+
+//#### Dialog Tabs
+
+// Set the dialog tabs.
+window.parent.AddTab( 'Info', oEditor.FCKLang.DlgInfoTab ) ;
+
+if ( FCKConfig.FlashUpload )
+	window.parent.AddTab( 'Upload', FCKLang.DlgLnkUpload ) ;
+
+if ( !FCKConfig.FlashDlgHideAdvanced )
+	window.parent.AddTab( 'Advanced', oEditor.FCKLang.DlgAdvancedTag ) ;
+
+// Function called when a dialog tag is selected.
+function OnDialogTabChange( tabCode )
+{
+	ShowE('divInfo'		, ( tabCode == 'Info' ) ) ;
+	ShowE('divUpload'	, ( tabCode == 'Upload' ) ) ;
+	ShowE('divAdvanced'	, ( tabCode == 'Advanced' ) ) ;
+}
+
+// Get the selected flash embed (if available).
+var oFakeImage = FCK.Selection.GetSelectedElement() ;
+var oEmbed ;
+
+if ( oFakeImage )
+{
+	if ( oFakeImage.tagName == 'IMG' && oFakeImage.getAttribute('_fckflash') )
+		oEmbed = FCK.GetRealElement( oFakeImage ) ;
+	else
+		oFakeImage = null ;
+}
+
+window.onload = function()
+{
+	// Translate the dialog box texts.
+	oEditor.FCKLanguageManager.TranslatePage(document) ;
+
+	// Load the selected element information (if any).
+	LoadSelection() ;
+
+	// Show/Hide the "Browse Server" button.
+	GetE('tdBrowse').style.display = FCKConfig.FlashBrowser	? '' : 'none' ;
+
+	// Set the actual uploader URL.
+	if ( FCKConfig.FlashUpload )
+		GetE('frmUpload').action = FCKConfig.FlashUploadURL ;
+
+	window.parent.SetAutoSize( true ) ;
+
+	// Activate the "OK" button.
+	window.parent.SetOkButton( true ) ;
+}
+
+function LoadSelection()
+{
+	if ( ! oEmbed ) return ;
+
+	var sUrl = GetAttribute( oEmbed, 'src', '' ) ;
+
+	GetE('txtUrl').value    = GetAttribute( oEmbed, 'src', '' ) ;
+	GetE('txtWidth').value  = GetAttribute( oEmbed, 'width', '' ) ;
+	GetE('txtHeight').value = GetAttribute( oEmbed, 'height', '' ) ;
+
+	// Get Advances Attributes
+	GetE('txtAttId').value		= oEmbed.id ;
+	GetE('chkAutoPlay').checked	= GetAttribute( oEmbed, 'play', 'true' ) == 'true' ;
+	GetE('chkLoop').checked		= GetAttribute( oEmbed, 'loop', 'true' ) == 'true' ;
+	GetE('chkMenu').checked		= GetAttribute( oEmbed, 'menu', 'true' ) == 'true' ;
+	GetE('cmbScale').value		= GetAttribute( oEmbed, 'scale', '' ).toLowerCase() ;
+	
+	GetE('txtAttTitle').value		= oEmbed.title ;
+	GetE('txtAttClasses').value		= oEmbed.getAttribute('class',2) || '' ;
+
+	if ( oEditor.FCKBrowserInfo.IsIE )
+		GetE('txtAttStyle').value	= oEmbed.style.cssText ;
+	else
+		GetE('txtAttStyle').value	= oEmbed.getAttribute('style',2) ;
+
+	UpdatePreview() ;
+}
+
+//#### The OK button was hit.
+function Ok()
+{
+	if ( GetE('txtUrl').value.length == 0 )
+	{
+		window.parent.SetSelectedTab( 'Info' ) ;
+		GetE('txtUrl').focus() ;
+
+		alert( oEditor.FCKLang.DlgAlertUrl ) ;
+
+		return false ;
+	}
+
+	if ( !oEmbed )
+	{
+		oEmbed		= FCK.EditorDocument.createElement( 'EMBED' ) ;
+		oFakeImage  = null ;
+	}
+	UpdateEmbed( oEmbed ) ;
+	
+	if ( !oFakeImage )
+	{
+		oFakeImage	= oEditor.FCKDocumentProcessors_CreateFakeImage( 'FCK__Flash', oEmbed ) ;
+		oFakeImage.setAttribute( '_fckflash', 'true', 0 ) ;
+		oFakeImage	= FCK.InsertElementAndGetIt( oFakeImage ) ;
+	}
+	else
+		oEditor.FCKUndo.SaveUndoStep() ;
+	
+	oEditor.FCKFlashProcessor.RefreshView( oFakeImage, oEmbed ) ;
+
+	return true ;
+}
+
+function UpdateEmbed( e )
+{
+	SetAttribute( e, 'type'			, 'application/x-shockwave-flash' ) ;
+	SetAttribute( e, 'pluginspage'	, 'http://www.macromedia.com/go/getflashplayer' ) ;
+
+	e.src = GetE('txtUrl').value ;
+	SetAttribute( e, "width" , GetE('txtWidth').value ) ;
+	SetAttribute( e, "height", GetE('txtHeight').value ) ;
+	
+	// Advances Attributes
+
+	SetAttribute( e, 'id'	, GetE('txtAttId').value ) ;
+	SetAttribute( e, 'scale', GetE('cmbScale').value ) ;
+	
+	if ( !GetE('chkAutoPlay').checked )	SetAttribute( e, 'play', 'false' ) ;
+	if ( !GetE('chkLoop').checked )		SetAttribute( e, 'loop', 'false' ) ;
+	if ( !GetE('chkMenu').checked )		SetAttribute( e, 'menu', 'false' ) ;
+
+	SetAttribute( e, 'title'	, GetE('txtAttTitle').value ) ;
+	SetAttribute( e, 'class'	, GetE('txtAttClasses').value ) ;
+
+	if ( oEditor.FCKBrowserInfo.IsIE )
+		e.style.cssText = GetE('txtAttStyle').value ;
+	else
+		SetAttribute( e, 'style', GetE('txtAttStyle').value ) ;
+}
+
+function UpdatePreview()
+{
+	var oCell = GetE('ePreviewCell') ;
+	
+	while ( oCell.firstChild )
+		oCell.removeChild( oCell.firstChild ) ;
+
+	if ( GetE('txtUrl').value.length == 0 )
+		oCell.innerHTML = '&nbsp;' ;
+	else
+	{
+		var e = document.createElement( 'EMBED' ) ;
+		
+		e.src		= GetE('txtUrl').value ;
+		e.type		= 'application/x-shockwave-flash' ;
+		e.width		= '100%' ;
+		e.height	= '100%' ;
+		
+		oCell.appendChild( e ) ;
+	}
+}
+
+// <embed id="ePreview" src="fck_flash/claims.swf" width="100%" height="100%" style="visibility:hidden" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer">
+
+function BrowseServer()
+{
+	OpenServerBrowser(
+		'Flash',
+		FCKConfig.FlashBrowserURL,
+		FCKConfig.FlashBrowserWindowWidth,
+		FCKConfig.FlashBrowserWindowHeight ) ;
+}
+
+function OpenServerBrowser( type, url, width, height )
+{
+	var iLeft = (FCKConfig.ScreenWidth  - width) / 2 ;
+	var iTop  = (FCKConfig.ScreenHeight - height) / 2 ;
+
+	var sOptions = "toolbar=no,status=no,resizable=yes,dependent=yes" ;
+	sOptions += ",width=" + width ;
+	sOptions += ",height=" + height ;
+	sOptions += ",left=" + iLeft ;
+	sOptions += ",top=" + iTop ;
+
+	if ( oEditor.FCKBrowserInfo.IsIE )
+	{
+		// The following change has been made otherwise IE will open the file 
+		// browser on a different server session (on some cases):
+		// http://support.microsoft.com/default.aspx?scid=kb;en-us;831678
+		// by Simone Chiaretta.
+		var oWindow = oEditor.window.open( url, "FCKBrowseWindow", sOptions ) ;
+		oWindow.opener = window ;
+    }
+    else
+		window.open( url, "FCKBrowseWindow", sOptions ) ;
+}
+
+function SetUrl( url )
+{
+	GetE('txtUrl').value = url ;
+	UpdatePreview() ;
+
+	window.parent.SetSelectedTab( 'Info' ) ;
+}
+
+function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )
+{
+	switch ( errorNumber )
+	{
+		case 0 :	// No errors
+			alert( 'Your file has been successfully uploaded' ) ;
+			break ;
+		case 1 :	// Custom error
+			alert( customMsg ) ;
+			return ;
+		case 101 :	// Custom warning
+			alert( customMsg ) ;
+			break ;
+		case 201 :
+			alert( 'A file with the same name is already available. The uploaded file has been renamed to "' + fileName + '"' ) ;
+			break ;
+		case 202 :
+			alert( 'Invalid file type' ) ;
+			return ;
+		case 203 :
+			alert( "Security error. You probably don't have enough permissions to upload. Please check your server." ) ;
+			return ;
+		default :
+			alert( 'Error on file upload. Error number: ' + errorNumber ) ;
+			return ;
+	}
+
+	SetUrl( fileUrl ) ;
+	GetE('frmUpload').reset() ;
+}
+
+var oUploadAllowedExtRegex	= new RegExp( FCKConfig.FlashUploadAllowedExtensions, 'i' ) ;
+var oUploadDeniedExtRegex	= new RegExp( FCKConfig.FlashUploadDeniedExtensions, 'i' ) ;
+
+function CheckUpload()
+{
+	var sFile = GetE('txtUploadFile').value ;
+	
+	if ( sFile.length == 0 )
+	{
+		alert( 'Please select a file to upload' ) ;
+		return false ;
+	}
+	
+	if ( ( FCKConfig.FlashUploadAllowedExtensions.length > 0 && !oUploadAllowedExtRegex.test( sFile ) ) ||
+		( FCKConfig.FlashUploadDeniedExtensions.length > 0 && oUploadDeniedExtRegex.test( sFile ) ) )
+	{
+		OnUploadCompleted( 202 ) ;
+		return false ;
+	}
+	
+	return true ;
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_flash.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_flash.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_flash.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,142 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_flash.html
+ * 	Flash Properties dialog window.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<html>
+	<head>
+		<title>Flash 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>
+		<script src="fck_flash/fck_flash.js" type="text/javascript"></script>
+		<link href="common/fck_dialog_common.css" type="text/css" rel="stylesheet">
+	</head>
+	<body scroll="no" style="OVERFLOW: hidden">
+		<div id="divInfo">
+			<table cellSpacing="1" cellPadding="1" width="100%" border="0">
+				<tr>
+					<td>
+						<table cellSpacing="0" cellPadding="0" width="100%" border="0">
+							<tr>
+								<td width="100%"><span fckLang="DlgImgURL">URL</span>
+								</td>
+								<td id="tdBrowse" style="DISPLAY: none" noWrap rowSpan="2">&nbsp; <input id="btnBrowse" onclick="BrowseServer();" type="button" value="Browse Server" fckLang="DlgBtnBrowseServer">
+								</td>
+							</tr>
+							<tr>
+								<td vAlign="top"><input id="txtUrl" onblur="UpdatePreview();" style="WIDTH: 100%" type="text">
+								</td>
+							</tr>
+						</table>
+					</td>
+				</tr>
+				<TR>
+					<TD>
+						<table cellSpacing="0" cellPadding="0" border="0">
+							<TR>
+								<TD nowrap>
+									<span fckLang="DlgImgWidth">Width</span><br>
+									<input id="txtWidth" class="FCK__FieldNumeric" type="text" size="3">
+								</TD>
+								<TD>&nbsp;</TD>
+								<TD>
+									<span fckLang="DlgImgHeight">Height</span><br>
+									<input id="txtHeight" class="FCK__FieldNumeric" type="text" size="3">
+								</TD>
+							</TR>
+						</table>
+					</TD>
+				</TR>
+				<tr>
+					<td vAlign="top">
+						<table cellSpacing="0" cellPadding="0" width="100%" border="0">
+							<tr>
+								<td valign="top" width="100%">
+									<table cellSpacing="0" cellPadding="0" width="100%">
+										<tr>
+											<td><span fckLang="DlgImgPreview">Preview</span></td>
+										</tr>
+										<tr>
+											<td id="ePreviewCell" valign="top" class="FlashPreviewArea">&nbsp;</td>
+										</tr>
+									</table>
+								</td>
+							</tr>
+						</table>
+					</td>
+				</tr>
+			</table>
+		</div>
+		<div id="divUpload" style="DISPLAY: none">
+			<form id="frmUpload" method="post" target="UploadWindow" enctype="multipart/form-data" action="" onsubmit="return CheckUpload();">
+				<span fckLang="DlgLnkUpload">Upload</span><br />
+				<input id="txtUploadFile" style="WIDTH: 100%" type="file" size="40" name="NewFile" /><br />
+				<br />
+				<input id="btnUpload" type="submit" value="Send it to the Server" fckLang="DlgLnkBtnUpload" />
+				<iframe name="UploadWindow" style="DISPLAY: none" src="../fckblank.html"></iframe> 
+			</form>
+		</div>
+		<div id="divAdvanced" style="DISPLAY: none">
+			<TABLE cellSpacing="0" cellPadding="0" border="0">
+				<TR>
+					<TD nowrap>
+						<span fckLang="DlgFlashScale">Scale</span><BR>
+						<select id="cmbScale">
+							<option value="" selected></option>
+							<option value="showall" fckLang="DlgFlashScaleAll">Show all</option>
+							<option value="noborder" fckLang="DlgFlashScaleNoBorder">No Border</option>
+							<option value="exactfit" fckLang="DlgFlashScaleFit">Exact Fit</option>
+						</select></TD>
+					<TD>&nbsp;&nbsp;&nbsp; &nbsp;
+					</TD>
+					<td valign="bottom">
+						<table>
+							<tr>
+								<td><input id="chkAutoPlay" type="checkbox" checked></td>
+								<td><label for="chkAutoPlay" nowrap fckLang="DlgFlashChkPlay">Auto Play</label>&nbsp;&nbsp;</td>
+								<td><input id="chkLoop" type="checkbox" checked></td>
+								<td><label for="chkLoop" nowrap fckLang="DlgFlashChkLoop">Loop</label>&nbsp;&nbsp;</td>
+								<td><input id="chkMenu" type="checkbox" checked></td>
+								<td><label for="chkMenu" nowrap fckLang="DlgFlashChkMenu">Enable Flash Menu</label></td>
+							</tr>
+						</table>
+					</td>
+				</TR>
+			</TABLE>
+			<br>
+			&nbsp;
+			<table cellSpacing="0" cellPadding="0" width="100%" align="center" border="0">
+				<tr>
+					<td vAlign="top" width="50%"><span fckLang="DlgGenId">Id</span><br>
+						<input id="txtAttId" style="WIDTH: 100%" type="text">
+					</td>
+					<td>&nbsp;&nbsp;</td>
+					<td vAlign="top" nowrap><span fckLang="DlgGenClass">Stylesheet Classes</span><br>
+						<input id="txtAttClasses" style="WIDTH: 100%" type="text">
+					</td>
+					<td>&nbsp;&nbsp;</td>
+					<td vAlign="top" nowrap width="50%">&nbsp;<span fckLang="DlgGenTitle">Advisory Title</span><br>
+						<input id="txtAttTitle" style="WIDTH: 100%" type="text">
+					</td>
+				</tr>
+			</table>
+			<span fckLang="DlgGenStyle">Style</span><br>
+			<input id="txtAttStyle" style="WIDTH: 100%" type="text">
+		</div>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_form.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_form.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_form.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,101 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_form.html
+ * 	Checkbox dialog window.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<html>
+	<head>
+		<title>Checkbox 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>
+		<script type="text/javascript">
+
+var oEditor = window.parent.InnerDialogLoaded() ;
+
+// Gets the document DOM
+var oDOM = oEditor.FCK.EditorDocument ;
+
+var oActiveEl = oEditor.FCKSelection.MoveToAncestorNode( 'FORM' ) ;
+
+window.onload = function()
+{
+	// First of all, translate the dialog box texts
+	oEditor.FCKLanguageManager.TranslatePage(document) ;
+
+	if ( oActiveEl ) 
+	{
+		GetE('txtName').value	= oActiveEl.name ;
+		GetE('txtAction').value	= oActiveEl.action ;
+		GetE('txtMethod').value	= oActiveEl.method ;
+	}
+	else
+		oActiveEl = null ;
+
+	window.parent.SetOkButton( true ) ;
+}
+
+function Ok()
+{
+	if ( !oActiveEl )
+	{
+		oActiveEl = oEditor.FCK.EditorDocument.createElement( 'FORM' ) ;
+		oActiveEl = oEditor.FCK.InsertElementAndGetIt( oActiveEl ) ;
+		oActiveEl.innerHTML = '&nbsp;' ;
+	}
+	
+	oActiveEl.name = GetE('txtName').value ;
+	SetAttribute( oActiveEl, 'action'	, GetE('txtAction').value ) ;
+	oActiveEl.method = GetE('txtMethod').value ;
+
+	return true ;
+}
+
+		</script>
+	</head>
+	<body style="OVERFLOW: hidden" scroll="no">
+		<table height="100%" width="100%">
+			<tr>
+				<td>
+					<table cellspacing="0" cellpadding="0" width="80%" border="0" valign="top" align="center">
+						<tr>
+							<td>
+								<span fckLang="DlgFormName">Name</span><br>
+								<input style="WIDTH: 100%" type="text" id="txtName">
+							</td>
+						</tr>
+						<tr>
+							<td>
+								<span fckLang="DlgFormAction">Action</span><br>
+								<input style="WIDTH: 100%" type="text" id="txtAction">
+							</td>
+						</tr>
+						<tr>
+							<td>
+								<span fckLang="DlgFormMethod">Method</span><br>
+								<select id="txtMethod">
+									<option value="get" selected>GET</option>
+									<option value="post">POST</option>
+								</select>
+							</td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+		</table>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_hiddenfield.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_hiddenfield.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_hiddenfield.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,91 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_hiddenfield.html
+ * 	Hidden Field dialog window.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<html>
+	<head>
+		<title>Hidden Field 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>
+		<script type="text/javascript">
+
+var oEditor = window.parent.InnerDialogLoaded() ;
+
+// Gets the document DOM
+var oDOM = oEditor.FCK.EditorDocument ;
+
+var oActiveEl = oEditor.FCKSelection.GetSelectedElement() ;
+
+window.onload = function()
+{
+	// First of all, translate the dialog box texts
+	oEditor.FCKLanguageManager.TranslatePage(document) ;
+
+	if ( oActiveEl && oActiveEl.tagName == 'INPUT' && oActiveEl.type == 'hidden' ) 
+	{
+		GetE('txtName').value		= oActiveEl.name ;
+		GetE('txtValue').value		= oActiveEl.value ;
+	}
+	else
+		oActiveEl = null ;
+
+	window.parent.SetOkButton( true ) ;
+}	
+
+
+function Ok()
+{
+	if ( !oActiveEl )
+	{
+		oActiveEl = oEditor.FCK.EditorDocument.createElement( 'INPUT' ) ;
+		oActiveEl.type = 'hidden' ;
+		oActiveEl = oEditor.FCK.InsertElementAndGetIt( oActiveEl ) ;
+	}
+	
+	oActiveEl.name = GetE('txtName').value ;
+	SetAttribute( oActiveEl, 'value', GetE('txtValue').value ) ;
+
+	return true ;
+}
+
+		</script>
+	</head>
+	<body style="OVERFLOW: hidden" scroll="no">
+		<table height="100%" width="100%">
+			<tr>
+				<td align="center">
+					<table border="0" class="inhoud" cellpadding="0" cellspacing="0" width="80%">
+						<tr>
+							<td>
+								<span fckLang="DlgHiddenName">Name</span><br>
+								<input type="text" size="20" id="txtName" style="WIDTH: 100%">
+							</td>
+						</tr>
+						<tr>
+							<td>
+								<span fckLang="DlgHiddenValue">Value</span><br>
+								<input type="text" size="30" id="txtValue" style="WIDTH: 100%">
+							</td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+		</table>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_image/fck_image.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_image/fck_image.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_image/fck_image.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,442 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_image.js
+ * 	Scripts related to the Image dialog window (see fck_image.html).
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+var oEditor		= window.parent.InnerDialogLoaded() ;
+var FCK			= oEditor.FCK ;
+var FCKLang		= oEditor.FCKLang ;
+var FCKConfig	= oEditor.FCKConfig ;
+
+var bImageButton = ( document.location.search.length > 0 && document.location.search.substr(1) == 'ImageButton' ) ;
+
+//#### Dialog Tabs
+
+// Set the dialog tabs.
+window.parent.AddTab( 'Info', FCKLang.DlgImgInfoTab ) ;
+
+if ( !bImageButton && !FCKConfig.ImageDlgHideLink )
+	window.parent.AddTab( 'Link', FCKLang.DlgImgLinkTab ) ;
+
+if ( FCKConfig.ImageUpload )
+	window.parent.AddTab( 'Upload', FCKLang.DlgLnkUpload ) ;
+
+if ( !FCKConfig.ImageDlgHideAdvanced )
+	window.parent.AddTab( 'Advanced', FCKLang.DlgAdvancedTag ) ;
+
+// Function called when a dialog tag is selected.
+function OnDialogTabChange( tabCode )
+{
+	ShowE('divInfo'		, ( tabCode == 'Info' ) ) ;
+	ShowE('divLink'		, ( tabCode == 'Link' ) ) ;
+	ShowE('divUpload'	, ( tabCode == 'Upload' ) ) ;
+	ShowE('divAdvanced'	, ( tabCode == 'Advanced' ) ) ;
+}
+
+// Get the selected image (if available).
+var oImage = FCK.Selection.GetSelectedElement() ;
+
+if ( oImage && oImage.tagName != 'IMG' && !( oImage.tagName == 'INPUT' && oImage.type == 'image' ) )
+	oImage = null ;
+
+// Get the active link.
+var oLink = FCK.Selection.MoveToAncestorNode( 'A' ) ;
+
+var oImageOriginal ;
+
+function UpdateOriginal( resetSize )
+{
+	oImageOriginal = document.createElement( 'IMG' ) ;	// new Image() ;
+
+	if ( resetSize )
+	{
+		oImageOriginal.onload = function()
+		{
+			this.onload = null ;
+			ResetSizes() ;
+		}
+	}
+
+	oImageOriginal.src = GetE('imgPreview').src ;
+}
+
+window.onload = function()
+{
+	// Translate the dialog box texts.
+	oEditor.FCKLanguageManager.TranslatePage(document) ;
+
+	GetE('btnLockSizes').title = FCKLang.DlgImgLockRatio ;
+	GetE('btnResetSize').title = FCKLang.DlgBtnResetSize ;
+
+	// Load the selected element information (if any).
+	LoadSelection() ;
+
+	// Show/Hide the "Browse Server" button.
+	GetE('tdBrowse').style.display				= FCKConfig.ImageBrowser	? '' : 'none' ;
+	GetE('divLnkBrowseServer').style.display	= FCKConfig.LinkBrowser		? '' : 'none' ;
+
+	UpdateOriginal() ;
+
+	// Set the actual uploader URL.
+	if ( FCKConfig.ImageUpload )
+		GetE('frmUpload').action = FCKConfig.ImageUploadURL ;
+
+	window.parent.SetAutoSize( true ) ;
+
+	// Activate the "OK" button.
+	window.parent.SetOkButton( true ) ;
+}
+
+function LoadSelection()
+{
+	if ( ! oImage ) return ;
+
+	var sUrl = GetAttribute( oImage, 'src', '' ) ;
+
+	// TODO: Wait stable version and remove the following commented lines.
+//	if ( sUrl.startsWith( FCK.BaseUrl ) )
+//		sUrl = sUrl.remove( 0, FCK.BaseUrl.length ) ;
+
+	GetE('txtUrl').value    = sUrl ;
+	GetE('txtAlt').value    = GetAttribute( oImage, 'alt', '' ) ;
+	GetE('txtVSpace').value	= GetAttribute( oImage, 'vspace', '' ) ;
+	GetE('txtHSpace').value	= GetAttribute( oImage, 'hspace', '' ) ;
+	GetE('txtBorder').value	= GetAttribute( oImage, 'border', '' ) ;
+	GetE('cmbAlign').value	= GetAttribute( oImage, 'align', '' ) ;
+
+	if ( oImage.style.pixelWidth > 0 )
+		GetE('txtWidth').value  = oImage.style.pixelWidth ;
+	else
+		GetE('txtWidth').value  = GetAttribute( oImage, "width", '' ) ;
+
+	if ( oImage.style.pixelHeight > 0 )
+		GetE('txtHeight').value  = oImage.style.pixelHeight ;
+	else
+		GetE('txtHeight').value = GetAttribute( oImage, "height", '' ) ;
+
+	// Get Advances Attributes
+	GetE('txtAttId').value			= oImage.id ;
+	GetE('cmbAttLangDir').value		= oImage.dir ;
+	GetE('txtAttLangCode').value	= oImage.lang ;
+	GetE('txtAttTitle').value		= oImage.title ;
+	GetE('txtAttClasses').value		= oImage.getAttribute('class',2) || '' ;
+	GetE('txtLongDesc').value		= oImage.longDesc ;
+
+	if ( oEditor.FCKBrowserInfo.IsIE )
+		GetE('txtAttStyle').value	= oImage.style.cssText ;
+	else
+		GetE('txtAttStyle').value	= oImage.getAttribute('style',2) ;
+
+	if ( oLink )
+	{
+		GetE('txtLnkUrl').value		= oLink.getAttribute('href',2) ;
+		GetE('cmbLnkTarget').value	= oLink.target ;
+	}
+
+	UpdatePreview() ;
+}
+
+//#### The OK button was hit.
+function Ok()
+{
+	if ( GetE('txtUrl').value.length == 0 )
+	{
+		window.parent.SetSelectedTab( 'Info' ) ;
+		GetE('txtUrl').focus() ;
+
+		alert( FCKLang.DlgImgAlertUrl ) ;
+
+		return false ;
+	}
+
+	var bHasImage = ( oImage != null ) ;
+
+	if ( bHasImage && bImageButton && oImage.tagName == 'IMG' )
+	{
+		if ( confirm( 'Do you want to transform the selected image on a image button?' ) )
+			oImage = null ;
+	}
+	else if ( bHasImage && !bImageButton && oImage.tagName == 'INPUT' )
+	{
+		if ( confirm( 'Do you want to transform the selected image button on a simple image?' ) )
+			oImage = null ;
+	}
+	
+	if ( !bHasImage )
+	{
+		if ( bImageButton )
+		{
+			oImage = FCK.EditorDocument.createElement( 'INPUT' ) ;
+			oImage.type = 'image' ;
+			oImage = FCK.InsertElementAndGetIt( oImage ) ;
+		}
+		else
+			oImage = FCK.CreateElement( 'IMG' ) ;
+	}
+	else
+		oEditor.FCKUndo.SaveUndoStep() ;
+	
+	UpdateImage( oImage ) ;
+
+	var sLnkUrl = GetE('txtLnkUrl').value.trim() ;
+
+	if ( sLnkUrl.length == 0 )
+	{
+		if ( oLink )
+			FCK.ExecuteNamedCommand( 'Unlink' ) ;
+	}
+	else
+	{
+		if ( oLink )	// Modifying an existent link.
+			oLink.href = sLnkUrl ;
+		else			// Creating a new link.
+		{
+			if ( !bHasImage )
+				oEditor.FCKSelection.SelectNode( oImage ) ;
+
+			oLink = oEditor.FCK.CreateLink( sLnkUrl ) ;
+
+			if ( !bHasImage )
+			{
+				oEditor.FCKSelection.SelectNode( oLink ) ;
+				oEditor.FCKSelection.Collapse( false ) ;
+			}
+		}
+
+		SetAttribute( oLink, 'target', GetE('cmbLnkTarget').value ) ;
+	}
+
+	return true ;
+}
+
+function UpdateImage( e, skipId )
+{
+	e.src = GetE('txtUrl').value ;
+	SetAttribute( e, "alt"   , GetE('txtAlt').value ) ;
+	SetAttribute( e, "width" , GetE('txtWidth').value ) ;
+	SetAttribute( e, "height", GetE('txtHeight').value ) ;
+	SetAttribute( e, "vspace", GetE('txtVSpace').value ) ;
+	SetAttribute( e, "hspace", GetE('txtHSpace').value ) ;
+	SetAttribute( e, "border", GetE('txtBorder').value ) ;
+	SetAttribute( e, "align" , GetE('cmbAlign').value ) ;
+
+	// Advances Attributes
+
+	if ( ! skipId )
+		SetAttribute( e, 'id', GetE('txtAttId').value ) ;
+
+	SetAttribute( e, 'dir'		, GetE('cmbAttLangDir').value ) ;
+	SetAttribute( e, 'lang'		, GetE('txtAttLangCode').value ) ;
+	SetAttribute( e, 'title'	, GetE('txtAttTitle').value ) ;
+	SetAttribute( e, 'class'	, GetE('txtAttClasses').value ) ;
+	SetAttribute( e, 'longDesc'	, GetE('txtLongDesc').value ) ;
+
+	if ( oEditor.FCKBrowserInfo.IsIE )
+		e.style.cssText = GetE('txtAttStyle').value ;
+	else
+		SetAttribute( e, 'style', GetE('txtAttStyle').value ) ;
+}
+
+function UpdatePreview()
+{
+	if ( GetE('txtUrl').value.length == 0 )
+		GetE('lnkPreview').style.display = 'none' ;
+	else
+	{
+		UpdateImage( GetE('imgPreview'), true ) ;
+
+		if ( GetE('txtLnkUrl').value.trim().length > 0 )
+			GetE('lnkPreview').href = 'javascript:void(null);' ;
+		else
+			SetAttribute( GetE('lnkPreview'), 'href', '' ) ;
+
+		GetE('lnkPreview').style.display = '' ;
+	}
+}
+
+var bLockRatio = true ;
+
+function SwitchLock( lockButton )
+{
+	bLockRatio = !bLockRatio ;
+	lockButton.className = bLockRatio ? 'BtnLocked' : 'BtnUnlocked' ;
+	lockButton.title = bLockRatio ? 'Lock sizes' : 'Unlock sizes' ;
+
+	if ( bLockRatio )
+	{
+		if ( GetE('txtWidth').value.length > 0 )
+			OnSizeChanged( 'Width', GetE('txtWidth').value ) ;
+		else
+			OnSizeChanged( 'Height', GetE('txtHeight').value ) ;
+	}
+}
+
+// Fired when the width or height input texts change
+function OnSizeChanged( dimension, value )
+{
+	// Verifies if the aspect ration has to be mantained
+	if ( oImageOriginal && bLockRatio )
+	{
+		if ( value.length == 0 || isNaN( value ) )
+		{
+			GetE('txtHeight').value = GetE('txtWidth').value = '' ;
+			return ;
+		}
+
+		if ( dimension == 'Width' )
+			GetE('txtHeight').value = value == 0 ? 0 : Math.round( oImageOriginal.height * ( value  / oImageOriginal.width ) ) ;
+		else
+			GetE('txtWidth').value  = value == 0 ? 0 : Math.round( oImageOriginal.width  * ( value / oImageOriginal.height ) ) ;
+	}
+
+	UpdatePreview() ;
+}
+
+// Fired when the Reset Size button is clicked
+function ResetSizes()
+{
+	if ( ! oImageOriginal ) return ;
+
+	GetE('txtWidth').value  = oImageOriginal.width ;
+	GetE('txtHeight').value = oImageOriginal.height ;
+
+	UpdatePreview() ;
+}
+
+function BrowseServer()
+{
+	OpenServerBrowser(
+		'Image',
+		FCKConfig.ImageBrowserURL,
+		FCKConfig.ImageBrowserWindowWidth,
+		FCKConfig.ImageBrowserWindowHeight ) ;
+}
+
+function LnkBrowseServer()
+{
+	OpenServerBrowser(
+		'Link',
+		FCKConfig.LinkBrowserURL,
+		FCKConfig.LinkBrowserWindowWidth,
+		FCKConfig.LinkBrowserWindowHeight ) ;
+}
+
+function OpenServerBrowser( type, url, width, height )
+{
+	sActualBrowser = type ;
+
+	var iLeft = (FCKConfig.ScreenWidth  - width) / 2 ;
+	var iTop  = (FCKConfig.ScreenHeight - height) / 2 ;
+
+	var sOptions = "toolbar=no,status=no,resizable=yes,dependent=yes" ;
+	sOptions += ",width=" + width ;
+	sOptions += ",height=" + height ;
+	sOptions += ",left=" + iLeft ;
+	sOptions += ",top=" + iTop ;
+
+	if ( oEditor.FCKBrowserInfo.IsIE )
+	{
+		// The following change has been made otherwise IE will open the file 
+		// browser on a different server session (on some cases):
+		// http://support.microsoft.com/default.aspx?scid=kb;en-us;831678
+		// by Simone Chiaretta.
+		var oWindow = oEditor.window.open( url, "FCKBrowseWindow", sOptions ) ;
+		oWindow.opener = window ;
+    }
+    else
+		window.open( url, "FCKBrowseWindow", sOptions ) ;
+}
+
+var sActualBrowser ;
+
+function SetUrl( url, width, height, alt )
+{
+	if ( sActualBrowser == 'Link' )
+	{
+		GetE('txtLnkUrl').value = url ;
+		UpdatePreview() ;
+	}
+	else
+	{
+		GetE('txtUrl').value = url ;
+		GetE('txtWidth').value = width ? width : '' ;
+		GetE('txtHeight').value = height ? height : '' ;
+
+		if ( alt )
+			GetE('txtAlt').value = alt;
+
+		UpdatePreview() ;
+		UpdateOriginal( true ) ;
+	}
+	
+	window.parent.SetSelectedTab( 'Info' ) ;
+}
+
+function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )
+{
+	switch ( errorNumber )
+	{
+		case 0 :	// No errors
+			alert( 'Your file has been successfully uploaded' ) ;
+			break ;
+		case 1 :	// Custom error
+			alert( customMsg ) ;
+			return ;
+		case 101 :	// Custom warning
+			alert( customMsg ) ;
+			break ;
+		case 201 :
+			alert( 'A file with the same name is already available. The uploaded file has been renamed to "' + fileName + '"' ) ;
+			break ;
+		case 202 :
+			alert( 'Invalid file type' ) ;
+			return ;
+		case 203 :
+			alert( "Security error. You probably don't have enough permissions to upload. Please check your server." ) ;
+			return ;
+		default :
+			alert( 'Error on file upload. Error number: ' + errorNumber ) ;
+			return ;
+	}
+
+	sActualBrowser = ''
+	SetUrl( fileUrl ) ;
+	GetE('frmUpload').reset() ;
+}
+
+var oUploadAllowedExtRegex	= new RegExp( FCKConfig.ImageUploadAllowedExtensions, 'i' ) ;
+var oUploadDeniedExtRegex	= new RegExp( FCKConfig.ImageUploadDeniedExtensions, 'i' ) ;
+
+function CheckUpload()
+{
+	var sFile = GetE('txtUploadFile').value ;
+	
+	if ( sFile.length == 0 )
+	{
+		alert( 'Please select a file to upload' ) ;
+		return false ;
+	}
+	
+	if ( ( FCKConfig.ImageUploadAllowedExtensions.length > 0 && !oUploadAllowedExtRegex.test( sFile ) ) ||
+		( FCKConfig.ImageUploadDeniedExtensions.length > 0 && oUploadDeniedExtRegex.test( sFile ) ) )
+	{
+		OnUploadCompleted( 202 ) ;
+		return false ;
+	}
+	
+	return true ;
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_image.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_image.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_image.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,242 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_image.html
+ * 	Image Properties dialog window.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title>Image Properties</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<script src="common/fck_dialog_common.js" type="text/javascript"></script>
+		<script src="fck_image/fck_image.js" type="text/javascript"></script>
+		<link href="common/fck_dialog_common.css" rel="stylesheet" type="text/css" />
+	</head>
+	<body scroll="no" style="OVERFLOW: hidden">
+		<div id="divInfo">
+			<table cellspacing="1" cellpadding="1" border="0" width="100%" height="100%">
+				<tr>
+					<td>
+						<table cellspacing="0" cellpadding="0" width="100%" border="0">
+							<tr>
+								<td width="100%">
+									<span fckLang="DlgImgURL">URL</span>
+								</td>
+								<td id="tdBrowse" style="DISPLAY: none" nowrap rowspan="2">
+									&nbsp; <input id="btnBrowse" onclick="BrowseServer();" type="button" value="Browse Server" fckLang="DlgBtnBrowseServer">
+								</td>
+							</tr>
+							<tr>
+								<td valign="top">
+									<input id="txtUrl" style="WIDTH: 100%" type="text" onblur="UpdatePreview();">
+								</td>
+							</tr>
+						</table>
+					</td>
+				</tr>
+				<tr>
+					<td>
+						<span fckLang="DlgImgAlt">Short Description</span><br />
+						<input id="txtAlt" style="WIDTH: 100%" type="text"><br />
+					</td>
+				</tr>
+				<tr height="100%">
+					<td valign="top">
+						<table cellspacing="0" cellpadding="0" width="100%" border="0" height="100%">
+							<tr>
+								<td valign="top">
+									<br />
+									<table cellspacing="0" cellpadding="0" border="0">
+										<tr>
+											<td nowrap><span fckLang="DlgImgWidth">Width</span>&nbsp;</td>
+											<td>
+												<input type="text" size="3" id="txtWidth" onkeyup="OnSizeChanged('Width',this.value);"></td>
+											<td nowrap rowspan="2">
+												<div id="btnLockSizes" class="BtnLocked" onmouseover="this.className = (bLockRatio ? 'BtnLocked' : 'BtnUnlocked' ) + ' BtnOver';"
+													onmouseout="this.className = (bLockRatio ? 'BtnLocked' : 'BtnUnlocked' );" title="Lock Sizes"
+													onclick="SwitchLock(this);"></div>
+												<div id="btnResetSize" class="BtnReset" onmouseover="this.className='BtnReset BtnOver';"
+													onmouseout="this.className='BtnReset';" title="Reset Size" onclick="ResetSizes();"></div>
+											</td>
+										</tr>
+										<tr>
+											<td nowrap><span fckLang="DlgImgHeight">Height</span>&nbsp;</td>
+											<td>
+												<input type="text" size="3" id="txtHeight" onkeyup="OnSizeChanged('Height',this.value);"></td>
+										</tr>
+									</table>
+									<br />
+									<table cellspacing="0" cellpadding="0" border="0">
+										<tr>
+											<td nowrap><span fckLang="DlgImgBorder">Border</span>&nbsp;</td>
+											<td>
+												<input type="text" size="2" value="" id="txtBorder" onkeyup="UpdatePreview();"></td>
+										</tr>
+										<tr>
+											<td nowrap><span fckLang="DlgImgHSpace">HSpace</span>&nbsp;</td>
+											<td>
+												<input type="text" size="2" id="txtHSpace" onkeyup="UpdatePreview();"></td>
+										</tr>
+										<tr>
+											<td nowrap><span fckLang="DlgImgVSpace">VSpace</span>&nbsp;</td>
+											<td>
+												<input type="text" size="2" id="txtVSpace" onkeyup="UpdatePreview();"></td>
+										</tr>
+										<tr>
+											<td nowrap><span fckLang="DlgImgAlign">Align</span>&nbsp;</td>
+											<td><select id="cmbAlign" onchange="UpdatePreview();">
+													<option value="" selected></option>
+													<option fckLang="DlgImgAlignLeft" value="left">Left</option>
+													<option fckLang="DlgImgAlignAbsBottom" value="absBottom">Abs Bottom</option>
+													<option fckLang="DlgImgAlignAbsMiddle" value="absMiddle">Abs Middle</option>
+													<option fckLang="DlgImgAlignBaseline" value="baseline">Baseline</option>
+													<option fckLang="DlgImgAlignBottom" value="bottom">Bottom</option>
+													<option fckLang="DlgImgAlignMiddle" value="middle">Middle</option>
+													<option fckLang="DlgImgAlignRight" value="right">Right</option>
+													<option fckLang="DlgImgAlignTextTop" value="textTop">Text Top</option>
+													<option fckLang="DlgImgAlignTop" value="top">Top</option>
+												</select>
+											</td>
+										</tr>
+									</table>
+								</td>
+								<td>&nbsp;&nbsp;&nbsp;</td>
+								<td width="100%" valign="top">
+									<table cellpadding="0" cellspacing="0" width="100%" style="TABLE-LAYOUT: fixed">
+										<tr>
+											<td><span fckLang="DlgImgPreview">Preview</span></td>
+										</tr>
+										<tr>
+											<td valign="top">
+												<div class="ImagePreviewArea">
+													<a id="lnkPreview" onclick="return false;" style="CURSOR: default"><img id="imgPreview" style="DISPLAY: none"></a>Magnus 
+													es, domine, et laudabilis valde: magna virtus tua, et sapientiae tuae non est 
+													numerus. et laudare te vult homo, aliqua portio creaturae tuae, et homo 
+													circumferens mortalitem suam, circumferens testimonium peccati sui et 
+													testimonium, quia superbis resistis: et tamen laudare te vult homo, aliqua 
+													portio creaturae tuae.tu excitas, ut laudare te delectet, quia fecisti nos ad 
+													te et inquietum est cor nostrum, donec requiescat in te. da mihi, domine, scire 
+													et intellegere, utrum sit prius invocare te an laudare te, et scire te prius 
+													sit an invocare te. sed quis te invocat nesciens te? aliud enim pro alio potest 
+													invocare nesciens. an potius invocaris, ut sciaris? quomodo autem invocabunt, 
+													in quem non crediderunt? aut quomodo credent sine praedicante? et laudabunt 
+													dominum qui requirunt eum. quaerentes enim inveniunt eum et invenientes 
+													laudabunt eum. quaeram te, domine, invocans te, et invocem te credens in te: 
+													praedicatus enim es nobis. invocat te, domine, fides mea, quam dedisti mihi, 
+													quam inspirasti mihi per humanitatem filii tui, per ministerium praedicatoris 
+													tui.
+												</div>
+											</td>
+										</tr>
+									</table>
+								</td>
+							</tr>
+						</table>
+					</td>
+				</tr>
+			</table>
+		</div>
+		<div id="divUpload" style="DISPLAY: none">
+			<form id="frmUpload" method="post" target="UploadWindow" enctype="multipart/form-data" action="" onsubmit="return CheckUpload();">
+				<span fckLang="DlgLnkUpload">Upload</span><br />
+				<input id="txtUploadFile" style="WIDTH: 100%" type="file" size="40" name="NewFile" /><br />
+				<br />
+				<input id="btnUpload" type="submit" value="Send it to the Server" fckLang="DlgLnkBtnUpload" />
+				<iframe name="UploadWindow" style="DISPLAY: none" src="../fckblank.html"></iframe> 
+			</form>
+		</div>
+		<div id="divLink" style="DISPLAY: none">
+			<table cellspacing="1" cellpadding="1" border="0" width="100%">
+				<tr>
+					<td>
+						<div>
+							<span fckLang="DlgLnkURL">URL</span><br />
+							<input id="txtLnkUrl" style="WIDTH: 100%" type="text" onblur="UpdatePreview();" />
+						</div>
+						<div id="divLnkBrowseServer" align="right">
+							<input type="button" value="Browse Server" fckLang="DlgBtnBrowseServer" onclick="LnkBrowseServer();" />
+						</div>
+						<div>
+							<span fckLang="DlgLnkTarget">Target</span><br />
+							<select id="cmbLnkTarget">
+								<option value="" fckLang="DlgGenNotSet" selected="selected">&lt;not set&gt;</option>
+								<option value="_blank" fckLang="DlgLnkTargetBlank">New Window (_blank)</option>
+								<option value="_top" fckLang="DlgLnkTargetTop">Topmost Window (_top)</option>
+								<option value="_self" fckLang="DlgLnkTargetSelf">Same Window (_self)</option>
+								<option value="_parent" fckLang="DlgLnkTargetParent">Parent Window (_parent)</option>
+							</select>
+						</div>
+					</td>
+				</tr>
+			</table>
+		</div>
+		<div id="divAdvanced" style="DISPLAY: none">
+			<table cellspacing="0" cellpadding="0" width="100%" align="center" border="0">
+				<tr>
+					<td valign="top" width="50%">
+						<span fckLang="DlgGenId">Id</span><br />
+						<input id="txtAttId" style="WIDTH: 100%" type="text">
+					</td>
+					<td width="1">&nbsp;&nbsp;</td>
+					<td valign="top">
+						<table cellspacing="0" cellpadding="0" width="100%" align="center" border="0">
+							<tr>
+								<td width="60%">
+									<span fckLang="DlgGenLangDir">Language Direction</span><br />
+									<select id="cmbAttLangDir" style="WIDTH: 100%">
+										<option value="" fckLang="DlgGenNotSet" selected>&lt;not set&gt;</option>
+										<option value="ltr" fckLang="DlgGenLangDirLtr">Left to Right (LTR)</option>
+										<option value="rtl" fckLang="DlgGenLangDirRtl">Right to Left (RTL)</option>
+									</select>
+								</td>
+								<td width="1%">&nbsp;&nbsp;</td>
+								<td nowrap>
+									<span fckLang="DlgGenLangCode">Language Code</span><br />
+									<input id="txtAttLangCode" style="WIDTH: 100%" type="text">&nbsp;
+								</td>
+							</tr>
+						</table>
+					</td>
+				</tr>
+				<tr>
+					<td colspan="3">&nbsp;</td>
+				</tr>
+				<tr>
+					<td colspan="3">
+						<span fckLang="DlgGenLongDescr">Long Description URL</span><br />
+						<input id="txtLongDesc" style="WIDTH: 100%" type="text">
+					</td>
+				</tr>
+				<tr>
+					<td colspan="3">&nbsp;</td>
+				</tr>
+				<tr>
+					<td valign="top">
+						<span fckLang="DlgGenClass">Stylesheet Classes</span><br />
+						<input id="txtAttClasses" style="WIDTH: 100%" type="text">
+					</td>
+					<td></td>
+					<td valign="top">&nbsp;<span fckLang="DlgGenTitle">Advisory Title</span><br />
+						<input id="txtAttTitle" style="WIDTH: 100%" type="text">
+					</td>
+				</tr>
+			</table>
+			<span fckLang="DlgGenStyle">Style</span><br />
+			<input id="txtAttStyle" style="WIDTH: 100%" type="text">
+		</div>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_link/fck_link.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_link/fck_link.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_link/fck_link.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,602 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_link.js
+ * 	Scripts related to the Link dialog window (see fck_link.html).
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+var oEditor		= window.parent.InnerDialogLoaded() ;
+var FCK			= oEditor.FCK ;
+var FCKLang		= oEditor.FCKLang ;
+var FCKConfig	= oEditor.FCKConfig ;
+
+//#### Dialog Tabs
+
+// Set the dialog tabs.
+window.parent.AddTab( 'Info', FCKLang.DlgLnkInfoTab ) ;
+
+if ( !FCKConfig.LinkDlgHideTarget )
+	window.parent.AddTab( 'Target', FCKLang.DlgLnkTargetTab, true ) ;
+
+if ( FCKConfig.LinkUpload )
+	window.parent.AddTab( 'Upload', FCKLang.DlgLnkUpload, true ) ;
+
+if ( !FCKConfig.LinkDlgHideAdvanced )
+	window.parent.AddTab( 'Advanced', FCKLang.DlgAdvancedTag ) ;
+
+// Function called when a dialog tag is selected.
+function OnDialogTabChange( tabCode )
+{
+	ShowE('divInfo'		, ( tabCode == 'Info' ) ) ;
+	ShowE('divTarget'	, ( tabCode == 'Target' ) ) ;
+	ShowE('divUpload'	, ( tabCode == 'Upload' ) ) ;
+	ShowE('divAttribs'	, ( tabCode == 'Advanced' ) ) ;
+}
+
+//#### Regular Expressions library.
+var oRegex = new Object() ;
+
+oRegex.UriProtocol = new RegExp('') ;
+oRegex.UriProtocol.compile( '^(((http|https|ftp|news):\/\/)|mailto:)', 'gi' ) ;
+
+oRegex.UrlOnChangeProtocol = new RegExp('') ;
+oRegex.UrlOnChangeProtocol.compile( '^(http|https|ftp|news)://(?=.)', 'gi' ) ;
+
+oRegex.UrlOnChangeTestOther = new RegExp('') ;
+//oRegex.UrlOnChangeTestOther.compile( '^(javascript:|#|/)', 'gi' ) ;
+oRegex.UrlOnChangeTestOther.compile( '^((javascript:)|[#/\.])', 'gi' ) ; 
+
+oRegex.ReserveTarget = new RegExp('') ;
+oRegex.ReserveTarget.compile( '^_(blank|self|top|parent)$', 'i' ) ;
+
+oRegex.PopupUri = new RegExp('') ;
+oRegex.PopupUri.compile( "^javascript:void\\(\\s*window.open\\(\\s*'([^']+)'\\s*,\\s*(?:'([^']*)'|null)\\s*,\\s*'([^']*)'\\s*\\)\\s*\\)\\s*$" ) ;
+
+oRegex.PopupFeatures = new RegExp('') ;
+oRegex.PopupFeatures.compile( '(?:^|,)([^=]+)=(\\d+|yes|no)', 'gi' ) ;
+
+//#### Parser Functions
+
+var oParser = new Object() ;
+
+oParser.ParseEMailUrl = function( emailUrl )
+{
+	// Initializes the EMailInfo object.
+	var oEMailInfo = new Object() ;
+	oEMailInfo.Address	= '' ;
+	oEMailInfo.Subject	= '' ;
+	oEMailInfo.Body		= '' ;
+
+	var oParts = emailUrl.match( /^([^\?]+)\??(.+)?/ ) ;
+	if ( oParts )
+	{
+		// Set the e-mail address.
+		oEMailInfo.Address = oParts[1] ;
+
+		// Look for the optional e-mail parameters.
+		if ( oParts[2] )
+		{
+			var oMatch = oParts[2].match( /(^|&)subject=([^&]+)/i ) ;
+			if ( oMatch ) oEMailInfo.Subject = unescape( oMatch[2] ) ;
+
+			oMatch = oParts[2].match( /(^|&)body=([^&]+)/i ) ;
+			if ( oMatch ) oEMailInfo.Body = unescape( oMatch[2] ) ;
+		}
+	}
+
+	return oEMailInfo ;
+}
+
+oParser.CreateEMailUri = function( address, subject, body )
+{
+	var sBaseUri = 'mailto:' + address ;
+
+	var sParams = '' ;
+
+	if ( subject.length > 0 )
+		sParams = '?subject=' + escape( subject ) ;
+
+	if ( body.length > 0 )
+	{
+		sParams += ( sParams.length == 0 ? '?' : '&' ) ;
+		sParams += 'body=' + escape( body ) ;
+	}
+
+	return sBaseUri + sParams ;
+}
+
+//#### Initialization Code
+
+// oLink: The actual selected link in the editor.
+var oLink = FCK.Selection.MoveToAncestorNode( 'A' ) ;
+if ( oLink )
+	FCK.Selection.SelectNode( oLink ) ;
+
+window.onload = function()
+{
+	// Translate the dialog box texts.
+	oEditor.FCKLanguageManager.TranslatePage(document) ;
+
+	// Fill the Anchor Names and Ids combos.
+	LoadAnchorNamesAndIds() ;
+
+	// Load the selected link information (if any).
+	LoadSelection() ;
+
+	// Update the dialog box.
+	SetLinkType( GetE('cmbLinkType').value ) ;
+
+	// Show/Hide the "Browse Server" button.
+	GetE('divBrowseServer').style.display = FCKConfig.LinkBrowser ? '' : 'none' ;
+
+	// Show the initial dialog content.
+	GetE('divInfo').style.display = '' ;
+
+	// Set the actual uploader URL.
+	if ( FCKConfig.LinkUpload )
+		GetE('frmUpload').action = FCKConfig.LinkUploadURL ;
+
+	// Activate the "OK" button.
+	window.parent.SetOkButton( true ) ;
+}
+
+var bHasAnchors ;
+
+function LoadAnchorNamesAndIds()
+{
+	// Since version 2.0, the anchors are replaced in the DOM by IMGs so the user see the icon 
+	// to edit them. So, we must look for that images now.
+	var aAnchors = new Array() ;
+	
+	var oImages = oEditor.FCK.EditorDocument.getElementsByTagName( 'IMG' ) ;
+	for( var i = 0 ; i < oImages.length ; i++ )
+	{
+		if ( oImages[i].getAttribute('_fckanchor') )
+			aAnchors[ aAnchors.length ] = oEditor.FCK.GetRealElement( oImages[i] ) ;
+	}
+	
+	var aIds = oEditor.FCKTools.GetAllChildrenIds( oEditor.FCK.EditorDocument.body ) ;
+
+	bHasAnchors = ( aAnchors.length > 0 || aIds.length > 0 ) ;
+
+	for ( var i = 0 ; i < aAnchors.length ; i++ )
+	{
+		var sName = aAnchors[i].name ;
+		if ( sName && sName.length > 0 )
+			oEditor.FCKTools.AddSelectOption( document, GetE('cmbAnchorName'), sName, sName ) ;
+	}
+
+	for ( var i = 0 ; i < aIds.length ; i++ )
+	{
+		oEditor.FCKTools.AddSelectOption( document, GetE('cmbAnchorId'), aIds[i], aIds[i] ) ;
+	}
+
+	ShowE( 'divSelAnchor'	, bHasAnchors ) ;
+	ShowE( 'divNoAnchor'	, !bHasAnchors ) ;
+}
+
+function LoadSelection()
+{
+	if ( !oLink ) return ;
+
+	var sType = 'url' ;
+
+	// Get the actual Link href.
+	var sHRef = oLink.getAttribute('href',2) + '' ;
+
+	// TODO: Wait stable version and remove the following commented lines.
+//	if ( sHRef.startsWith( FCK.BaseUrl ) )
+//		sHRef = sHRef.remove( 0, FCK.BaseUrl.length ) ;
+
+	// Look for a popup javascript link.
+	var oPopupMatch = oRegex.PopupUri.exec( sHRef ) ;
+	if( oPopupMatch )
+	{
+		GetE('cmbTarget').value = 'popup' ;
+		sHRef = oPopupMatch[1] ;
+		FillPopupFields( oPopupMatch[2], oPopupMatch[3] ) ;
+		SetTarget( 'popup' ) ;
+	}
+
+	// Search for the protocol.
+	var sProtocol = oRegex.UriProtocol.exec( sHRef ) ;
+
+	if ( sProtocol )
+	{
+		sProtocol = sProtocol[0].toLowerCase() ;
+		GetE('cmbLinkProtocol').value = sProtocol ;
+
+		// Remove the protocol and get the remainig URL.
+		var sUrl = sHRef.replace( oRegex.UriProtocol, '' ) ;
+
+		if ( sProtocol == 'mailto:' )	// It is an e-mail link.
+		{
+			sType = 'email' ;
+
+			var oEMailInfo = oParser.ParseEMailUrl( sUrl ) ;
+			GetE('txtEMailAddress').value	= oEMailInfo.Address ;
+			GetE('txtEMailSubject').value	= oEMailInfo.Subject ;
+			GetE('txtEMailBody').value		= oEMailInfo.Body ;
+		}
+		else				// It is a normal link.
+		{
+			sType = 'url' ;
+			GetE('txtUrl').value = sUrl ;
+		}
+	}
+	else if ( sHRef.substr(0,1) == '#' && sHRef.length > 2 )	// It is an anchor link.
+	{
+		sType = 'anchor' ;
+		GetE('cmbAnchorName').value = GetE('cmbAnchorId').value = sHRef.substr(1) ;
+	}
+	else					// It is another type of link.
+	{
+		sType = 'url' ;
+
+		GetE('cmbLinkProtocol').value = '' ;
+		GetE('txtUrl').value = sHRef ;
+	}
+
+	if ( !oPopupMatch )
+	{
+		// Get the target.
+		var sTarget = oLink.target ;
+
+		if ( sTarget && sTarget.length > 0 )
+		{
+			if ( oRegex.ReserveTarget.test( sTarget ) )
+			{
+				sTarget = sTarget.toLowerCase() ;
+				GetE('cmbTarget').value = sTarget ;
+			}
+			else
+				GetE('cmbTarget').value = 'frame' ;
+			GetE('txtTargetFrame').value = sTarget ;
+		}
+	}
+
+	// Get Advances Attributes
+	GetE('txtAttId').value			= oLink.id ;
+	GetE('txtAttName').value		= oLink.name ;
+	GetE('cmbAttLangDir').value		= oLink.dir ;
+	GetE('txtAttLangCode').value	= oLink.lang ;
+	GetE('txtAttAccessKey').value	= oLink.accessKey ;
+	GetE('txtAttTabIndex').value	= oLink.tabIndex <= 0 ? '' : oLink.tabIndex ;
+	GetE('txtAttTitle').value		= oLink.title ;
+	GetE('txtAttContentType').value	= oLink.type ;
+	GetE('txtAttCharSet').value		= oLink.charset ;
+
+	if ( oEditor.FCKBrowserInfo.IsIE )
+	{
+		GetE('txtAttClasses').value	= oLink.getAttribute('className',2) || '' ;
+		GetE('txtAttStyle').value	= oLink.style.cssText ;
+	}
+	else
+	{
+		GetE('txtAttClasses').value	= oLink.getAttribute('class',2) || '' ;
+		GetE('txtAttStyle').value	= oLink.getAttribute('style',2) ;
+	}
+
+	// Update the Link type combo.
+	GetE('cmbLinkType').value = sType ;
+}
+
+//#### Link type selection.
+function SetLinkType( linkType )
+{
+	ShowE('divLinkTypeUrl'		, (linkType == 'url') ) ;
+	ShowE('divLinkTypeAnchor'	, (linkType == 'anchor') ) ;
+	ShowE('divLinkTypeEMail'	, (linkType == 'email') ) ;
+
+	if ( !FCKConfig.LinkDlgHideTarget )
+		window.parent.SetTabVisibility( 'Target'	, (linkType == 'url') ) ;
+
+	if ( FCKConfig.LinkUpload )
+		window.parent.SetTabVisibility( 'Upload'	, (linkType == 'url') ) ;
+
+	if ( !FCKConfig.LinkDlgHideAdvanced )
+		window.parent.SetTabVisibility( 'Advanced'	, (linkType != 'anchor' || bHasAnchors) ) ;
+
+	if ( linkType == 'email' )
+		window.parent.SetAutoSize( true ) ;
+}
+
+//#### Target type selection.
+function SetTarget( targetType )
+{
+	GetE('tdTargetFrame').style.display	= ( targetType == 'popup' ? 'none' : '' ) ;
+	GetE('tdPopupName').style.display	=
+		GetE('tablePopupFeatures').style.display = ( targetType == 'popup' ? '' : 'none' ) ;
+
+	switch ( targetType )
+	{
+		case "_blank" :
+		case "_self" :
+		case "_parent" :
+		case "_top" :
+			GetE('txtTargetFrame').value = targetType ;
+			break ;
+		case "" :
+			GetE('txtTargetFrame').value = '' ;
+			break ;
+	}
+
+	if ( targetType == 'popup' )
+		window.parent.SetAutoSize( true ) ;
+}
+
+//#### Called while the user types the URL.
+function OnUrlChange()
+{
+	var sUrl = GetE('txtUrl').value ;
+	var sProtocol = oRegex.UrlOnChangeProtocol.exec( sUrl ) ;
+
+	if ( sProtocol )
+	{
+		sUrl = sUrl.substr( sProtocol[0].length ) ;
+		GetE('txtUrl').value = sUrl ;
+		GetE('cmbLinkProtocol').value = sProtocol[0].toLowerCase() ;
+	}
+	else if ( oRegex.UrlOnChangeTestOther.test( sUrl ) )
+	{
+		GetE('cmbLinkProtocol').value = '' ;
+	}
+}
+
+//#### Called while the user types the target name.
+function OnTargetNameChange()
+{
+	var sFrame = GetE('txtTargetFrame').value ;
+
+	if ( sFrame.length == 0 )
+		GetE('cmbTarget').value = '' ;
+	else if ( oRegex.ReserveTarget.test( sFrame ) )
+		GetE('cmbTarget').value = sFrame.toLowerCase() ;
+	else
+		GetE('cmbTarget').value = 'frame' ;
+}
+
+//#### Builds the javascript URI to open a popup to the specified URI.
+function BuildPopupUri( uri )
+{
+	var oReg = new RegExp( "'", "g" ) ;
+	var sWindowName = "'" + GetE('txtPopupName').value.replace(oReg, "\\'") + "'" ;
+
+	var sFeatures = '' ;
+	var aChkFeatures = document.getElementsByName('chkFeature') ;
+	for ( var i = 0 ; i < aChkFeatures.length ; i++ )
+	{
+		if ( i > 0 ) sFeatures += ',' ;
+		sFeatures += aChkFeatures[i].value + '=' + ( aChkFeatures[i].checked ? 'yes' : 'no' ) ;
+	}
+
+	if ( GetE('txtPopupWidth').value.length > 0 )	sFeatures += ',width=' + GetE('txtPopupWidth').value ;
+	if ( GetE('txtPopupHeight').value.length > 0 )	sFeatures += ',height=' + GetE('txtPopupHeight').value ;
+	if ( GetE('txtPopupLeft').value.length > 0 )	sFeatures += ',left=' + GetE('txtPopupLeft').value ;
+	if ( GetE('txtPopupTop').value.length > 0 )		sFeatures += ',top=' + GetE('txtPopupTop').value ;
+
+	return ( "javascript:void(window.open('" + uri + "'," + sWindowName + ",'" + sFeatures + "'))" ) ;
+}
+
+//#### Fills all Popup related fields.
+function FillPopupFields( windowName, features )
+{
+	if ( windowName )
+		GetE('txtPopupName').value = windowName ;
+
+	var oFeatures = new Object() ;
+	var oFeaturesMatch ;
+	while( ( oFeaturesMatch = oRegex.PopupFeatures.exec( features ) ) != null )
+	{
+		var sValue = oFeaturesMatch[2] ;
+		if ( sValue == ( 'yes' || '1' ) )
+			oFeatures[ oFeaturesMatch[1] ] = true ;
+		else if ( ! isNaN( sValue ) && sValue != 0 )
+			oFeatures[ oFeaturesMatch[1] ] = sValue ;
+	}
+
+	// Update all features check boxes.
+	var aChkFeatures = document.getElementsByName('chkFeature') ;
+	for ( var i = 0 ; i < aChkFeatures.length ; i++ )
+	{
+		if ( oFeatures[ aChkFeatures[i].value ] )
+			aChkFeatures[i].checked = true ;
+	}
+
+	// Update position and size text boxes.
+	if ( oFeatures['width'] )	GetE('txtPopupWidth').value		= oFeatures['width'] ;
+	if ( oFeatures['height'] )	GetE('txtPopupHeight').value	= oFeatures['height'] ;
+	if ( oFeatures['left'] )	GetE('txtPopupLeft').value		= oFeatures['left'] ;
+	if ( oFeatures['top'] )		GetE('txtPopupTop').value		= oFeatures['top'] ;
+}
+
+//#### The OK button was hit.
+function Ok()
+{
+	var sUri ;
+
+	switch ( GetE('cmbLinkType').value )
+	{
+		case 'url' :
+			sUri = GetE('txtUrl').value ;
+
+			if ( sUri.length == 0 )
+			{
+				alert( FCKLang.DlnLnkMsgNoUrl ) ;
+				return false ;
+			}
+
+			sUri = GetE('cmbLinkProtocol').value + sUri ;
+
+			if( GetE('cmbTarget').value == 'popup' )
+				sUri = BuildPopupUri( sUri ) ;
+
+			break ;
+
+		case 'email' :
+			sUri = GetE('txtEMailAddress').value ;
+
+			if ( sUri.length == 0 )
+			{
+				alert( FCKLang.DlnLnkMsgNoEMail ) ;
+				return false ;
+			}
+
+			sUri = oParser.CreateEMailUri(
+				sUri,
+				GetE('txtEMailSubject').value,
+				GetE('txtEMailBody').value ) ;
+			break ;
+
+		case 'anchor' :
+			var sAnchor = GetE('cmbAnchorName').value ;
+			if ( sAnchor.length == 0 ) sAnchor = GetE('cmbAnchorId').value ;
+
+			if ( sAnchor.length == 0 )
+			{
+				alert( FCKLang.DlnLnkMsgNoAnchor ) ;
+				return false ;
+			}
+
+			sUri = '#' + sAnchor ;
+			break ;
+	}
+
+	if ( oLink )	// Modifying an existent link.
+	{
+		oEditor.FCKUndo.SaveUndoStep() ;
+		oLink.href = sUri ;
+	}
+	else			// Creating a new link.
+	{
+		oLink = oEditor.FCK.CreateLink( sUri ) ;
+		if ( ! oLink )
+			return true ;
+	}
+
+	// Target
+	if( GetE('cmbTarget').value != 'popup' )
+		SetAttribute( oLink, 'target', GetE('txtTargetFrame').value ) ;
+	else
+		SetAttribute( oLink, 'target', null ) ;
+
+	// Advances Attributes
+	SetAttribute( oLink, 'id'		, GetE('txtAttId').value ) ;
+	SetAttribute( oLink, 'name'		, GetE('txtAttName').value ) ;		// No IE. Set but doesnt't update the outerHTML.
+	SetAttribute( oLink, 'dir'		, GetE('cmbAttLangDir').value ) ;
+	SetAttribute( oLink, 'lang'		, GetE('txtAttLangCode').value ) ;
+	SetAttribute( oLink, 'accesskey', GetE('txtAttAccessKey').value ) ;
+	SetAttribute( oLink, 'tabindex'	, ( GetE('txtAttTabIndex').value > 0 ? GetE('txtAttTabIndex').value : null ) ) ;
+	SetAttribute( oLink, 'title'	, GetE('txtAttTitle').value ) ;
+	SetAttribute( oLink, 'class'	, GetE('txtAttClasses').value ) ;
+	SetAttribute( oLink, 'type'		, GetE('txtAttContentType').value ) ;
+	SetAttribute( oLink, 'charset'	, GetE('txtAttCharSet').value ) ;
+
+	if ( oEditor.FCKBrowserInfo.IsIE )
+		oLink.style.cssText = GetE('txtAttStyle').value ;
+	else
+		SetAttribute( oLink, 'style', GetE('txtAttStyle').value ) ;
+
+	return true ;
+}
+
+function BrowseServer()
+{
+	// Set the browser window feature.
+	var iWidth	= FCKConfig.LinkBrowserWindowWidth ;
+	var iHeight	= FCKConfig.LinkBrowserWindowHeight ;
+
+	var iLeft = (FCKConfig.ScreenWidth  - iWidth) / 2 ;
+	var iTop  = (FCKConfig.ScreenHeight - iHeight) / 2 ;
+
+	var sOptions = "toolbar=no,status=no,resizable=yes,dependent=yes" ;
+	sOptions += ",width=" + iWidth ;
+	sOptions += ",height=" + iHeight ;
+	sOptions += ",left=" + iLeft ;
+	sOptions += ",top=" + iTop ;
+
+	if ( oEditor.FCKBrowserInfo.IsIE )
+	{
+		// The following change has been made otherwise IE will open the file 
+		// browser on a different server session (on some cases):
+		// http://support.microsoft.com/default.aspx?scid=kb;en-us;831678
+		// by Simone Chiaretta.
+		var oWindow = oEditor.window.open( FCKConfig.LinkBrowserURL, "FCKBrowseWindow", sOptions ) ;
+		oWindow.opener = window ;
+    }
+    else
+		window.open( FCKConfig.LinkBrowserURL, "FCKBrowseWindow", sOptions ) ;
+}
+
+function SetUrl( url )
+{
+	document.getElementById('txtUrl').value = url ;
+	OnUrlChange() ;
+	window.parent.SetSelectedTab( 'Info' ) ;
+}
+
+function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )
+{
+	switch ( errorNumber )
+	{
+		case 0 :	// No errors
+			alert( 'Your file has been successfully uploaded' ) ;
+			break ;
+		case 1 :	// Custom error
+			alert( customMsg ) ;
+			return ;
+		case 101 :	// Custom warning
+			alert( customMsg ) ;
+			break ;
+		case 201 :
+			alert( 'A file with the same name is already available. The uploaded file has been renamed to "' + fileName + '"' ) ;
+			break ;
+		case 202 :
+			alert( 'Invalid file type' ) ;
+			return ;
+		case 203 :
+			alert( "Security error. You probably don't have enough permissions to upload. Please check your server." ) ;
+			return ;
+		default :
+			alert( 'Error on file upload. Error number: ' + errorNumber ) ;
+			return ;
+	}
+
+	SetUrl( fileUrl ) ;
+	GetE('frmUpload').reset() ;
+}
+
+var oUploadAllowedExtRegex	= new RegExp( FCKConfig.LinkUploadAllowedExtensions, 'i' ) ;
+var oUploadDeniedExtRegex	= new RegExp( FCKConfig.LinkUploadDeniedExtensions, 'i' ) ;
+
+function CheckUpload()
+{
+	var sFile = GetE('txtUploadFile').value ;
+	
+	if ( sFile.length == 0 )
+	{
+		alert( 'Please select a file to upload' ) ;
+		return false ;
+	}
+	
+	if ( ( FCKConfig.LinkUploadAllowedExtensions.length > 0 && !oUploadAllowedExtRegex.test( sFile ) ) ||
+		( FCKConfig.LinkUploadDeniedExtensions.length > 0 && oUploadDeniedExtRegex.test( sFile ) ) )
+	{
+		OnUploadCompleted( 202 ) ;
+		return false ;
+	}
+	
+	return true ;
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_link.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_link.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_link.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,289 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_link.html
+ * 	Link dialog window.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title>Link Properties</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+		<meta name="robots" content="noindex, nofollow" />
+		<script src="common/fck_dialog_common.js" type="text/javascript"></script>
+		<script src="fck_link/fck_link.js" type="text/javascript"></script>
+	</head>
+	<body scroll="no" style="OVERFLOW: hidden">
+		<div id="divInfo" style="DISPLAY: none">
+			<span fckLang="DlgLnkType">Link Type</span><br />
+			<select id="cmbLinkType" onchange="SetLinkType(this.value);">
+				<option value="url" fckLang="DlgLnkTypeURL" selected="selected">URL</option>
+				<option value="anchor" fckLang="DlgLnkTypeAnchor">Anchor in this page</option>
+				<option value="email" fckLang="DlgLnkTypeEMail">E-Mail</option>
+			</select>
+			<br />
+			<br />
+			<div id="divLinkTypeUrl">
+				<table cellspacing="0" cellpadding="0" width="100%" border="0" dir="ltr">
+					<tr>
+						<td nowrap="nowrap">
+							<span fckLang="DlgLnkProto">Protocol</span><br />
+							<select id="cmbLinkProtocol">
+								<option value="http://" selected="selected">http://</option>
+								<option value="https://">https://</option>
+								<option value="ftp://">ftp://</option>
+								<option value="news://">news://</option>
+								<option value="" fckLang="DlgLnkProtoOther">&lt;other&gt;</option>
+							</select>
+						</td>
+						<td nowrap="nowrap">&nbsp;</td>
+						<td nowrap="nowrap" width="100%">
+							<span fckLang="DlgLnkURL">URL</span><br />
+							<input id="txtUrl" style="WIDTH: 100%" type="text" onkeyup="OnUrlChange();" onchange="OnUrlChange();" />
+						</td>
+					</tr>
+				</table>
+				<br />
+				<div id="divBrowseServer">
+				<input type="button" value="Browse Server" fckLang="DlgBtnBrowseServer" onclick="BrowseServer();" />
+				</div>
+			</div>
+			<div id="divLinkTypeAnchor" style="DISPLAY: none" align="center">
+				<div id="divSelAnchor" style="DISPLAY: none">
+					<table cellspacing="0" cellpadding="0" border="0" width="70%">
+						<tr>
+							<td colspan="3">
+								<span fckLang="DlgLnkAnchorSel">Select an Anchor</span>
+							</td>
+						</tr>
+						<tr>
+							<td width="50%">
+								<span fckLang="DlgLnkAnchorByName">By Anchor Name</span><br />
+								<select id="cmbAnchorName" onchange="GetE('cmbAnchorId').value='';" style="WIDTH: 100%">
+									<option value="" selected="selected"></option>
+								</select>
+							</td>
+							<td>&nbsp;&nbsp;&nbsp;</td>
+							<td width="50%">
+								<span fckLang="DlgLnkAnchorById">By Element Id</span><br />
+								<select id="cmbAnchorId" onchange="GetE('cmbAnchorName').value='';" style="WIDTH: 100%">
+									<option value="" selected="selected"></option>
+								</select>
+							</td>
+						</tr>
+					</table>
+				</div>
+				<div id="divNoAnchor" style="DISPLAY: none">
+					<span fckLang="DlgLnkNoAnchors">&lt;No anchors available in the document&gt;</span>
+				</div>
+			</div>
+			<div id="divLinkTypeEMail" style="DISPLAY: none">
+				<span fckLang="DlgLnkEMail">E-Mail Address</span><br />
+				<input id="txtEMailAddress" style="WIDTH: 100%" type="text" /><br />
+				<span fckLang="DlgLnkEMailSubject">Message Subject</span><br />
+				<input id="txtEMailSubject" style="WIDTH: 100%" type="text" /><br />
+				<span fckLang="DlgLnkEMailBody">Message Body</span><br />
+				<textarea id="txtEMailBody" style="WIDTH: 100%" rows="3" cols="20"></textarea>
+			</div>
+		</div>
+		<div id="divUpload" style="DISPLAY: none">
+			<form id="frmUpload" method="post" target="UploadWindow" enctype="multipart/form-data" action="" onsubmit="return CheckUpload();">
+				<span fckLang="DlgLnkUpload">Upload</span><br />
+				<input id="txtUploadFile" style="WIDTH: 100%" type="file" size="40" name="NewFile" /><br />
+				<br />
+				<input id="btnUpload" type="submit" value="Send it to the Server" fckLang="DlgLnkBtnUpload" />
+				<iframe name="UploadWindow" style="DISPLAY: none" src="../fckblank.html"></iframe> 
+			</form>
+		</div>
+		<div id="divTarget" style="DISPLAY: none">
+			<table cellspacing="0" cellpadding="0" width="100%" border="0">
+				<tr>
+					<td nowrap="nowrap">
+						<span fckLang="DlgLnkTarget">Target</span><br />
+						<select id="cmbTarget" onchange="SetTarget(this.value);">
+							<option value="" fckLang="DlgGenNotSet" selected="selected">&lt;not set&gt;</option>
+							<option value="frame" fckLang="DlgLnkTargetFrame">&lt;frame&gt;</option>
+							<option value="popup" fckLang="DlgLnkTargetPopup">&lt;popup window&gt;</option>
+							<option value="_blank" fckLang="DlgLnkTargetBlank">New Window (_blank)</option>
+							<option value="_top" fckLang="DlgLnkTargetTop">Topmost Window (_top)</option>
+							<option value="_self" fckLang="DlgLnkTargetSelf">Same Window (_self)</option>
+							<option value="_parent" fckLang="DlgLnkTargetParent">Parent Window (_parent)</option>
+						</select>
+					</td>
+					<td>&nbsp;</td>
+					<td id="tdTargetFrame" nowrap="nowrap" width="100%">
+						<span fckLang="DlgLnkTargetFrameName">Target Frame Name</span><br />
+						<input id="txtTargetFrame" style="WIDTH: 100%" type="text" onkeyup="OnTargetNameChange();"
+							onchange="OnTargetNameChange();" />
+					</td>
+					<td id="tdPopupName" style="DISPLAY: none" nowrap="nowrap" width="100%">
+						<span fckLang="DlgLnkPopWinName">Popup Window Name</span><br />
+						<input id="txtPopupName" style="WIDTH: 100%" type="text" />
+					</td>
+				</tr>
+			</table>
+			<br />
+			<table id="tablePopupFeatures" style="DISPLAY: none" cellspacing="0" cellpadding="0" align="center"
+				border="0">
+				<tr>
+					<td>
+						<span fckLang="DlgLnkPopWinFeat">Popup Window Features</span><br />
+						<table cellspacing="0" cellpadding="0" border="0">
+							<tr>
+								<td valign="top" nowrap="nowrap" width="50%">
+									<input id="chkPopupResizable" name="chkFeature" value="resizable" type="checkbox" /><label for="chkPopupResizable" fckLang="DlgLnkPopResize">Resizable</label><br />
+									<input id="chkPopupLocationBar" name="chkFeature" value="location" type="checkbox" /><label for="chkPopupLocationBar" fckLang="DlgLnkPopLocation">Location 
+										Bar</label><br />
+									<input id="chkPopupManuBar" name="chkFeature" value="menubar" type="checkbox" /><label for="chkPopupManuBar" fckLang="DlgLnkPopMenu">Menu 
+										Bar</label><br />
+									<input id="chkPopupScrollBars" name="chkFeature" value="scrollbars" type="checkbox" /><label for="chkPopupScrollBars" fckLang="DlgLnkPopScroll">Scroll 
+										Bars</label>
+								</td>
+								<td></td>
+								<td valign="top" nowrap="nowrap" width="50%">
+									<input id="chkPopupStatusBar" name="chkFeature" value="status" type="checkbox" /><label for="chkPopupStatusBar" fckLang="DlgLnkPopStatus">Status 
+										Bar</label><br />
+									<input id="chkPopupToolbar" name="chkFeature" value="toolbar" type="checkbox" /><label for="chkPopupToolbar" fckLang="DlgLnkPopToolbar">Toolbar</label><br />
+									<input id="chkPopupFullScreen" name="chkFeature" value="fullscreen" type="checkbox" /><label for="chkPopupFullScreen" fckLang="DlgLnkPopFullScrn">Full 
+										Screen (IE)</label><br />
+									<input id="chkPopupDependent" name="chkFeature" value="dependent" type="checkbox" /><label for="chkPopupDependent" fckLang="DlgLnkPopDependent">Dependent 
+										(Netscape)</label>
+								</td>
+							</tr>
+							<tr>
+								<td valign="top" nowrap="nowrap" width="50%">&nbsp;</td>
+								<td></td>
+								<td valign="top" nowrap="nowrap" width="50%"></td>
+							</tr>
+							<tr>
+								<td valign="top">
+									<table cellspacing="0" cellpadding="0" border="0">
+										<tr>
+											<td nowrap="nowrap"><span fckLang="DlgLnkPopWidth">Width</span></td>
+											<td>&nbsp;<input id="txtPopupWidth" type="text" maxlength="4" size="4" /></td>
+										</tr>
+										<tr>
+											<td nowrap="nowrap"><span fckLang="DlgLnkPopHeight">Height</span></td>
+											<td>&nbsp;<input id="txtPopupHeight" type="text" maxlength="4" size="4" /></td>
+										</tr>
+									</table>
+								</td>
+								<td>&nbsp;&nbsp;</td>
+								<td valign="top">
+									<table cellspacing="0" cellpadding="0" border="0">
+										<tr>
+											<td nowrap="nowrap"><span fckLang="DlgLnkPopLeft">Left Position</span></td>
+											<td>&nbsp;<input id="txtPopupLeft" type="text" maxlength="4" size="4" /></td>
+										</tr>
+										<tr>
+											<td nowrap="nowrap"><span fckLang="DlgLnkPopTop">Top Position</span></td>
+											<td>&nbsp;<input id="txtPopupTop" type="text" maxlength="4" size="4" /></td>
+										</tr>
+									</table>
+								</td>
+							</tr>
+						</table>
+					</td>
+				</tr>
+			</table>
+		</div>
+		<div id="divAttribs" style="DISPLAY: none">
+			<table cellspacing="0" cellpadding="0" width="100%" align="center" border="0">
+				<tr>
+					<td valign="top" width="50%">
+						<span fckLang="DlgGenId">Id</span><br />
+						<input id="txtAttId" style="WIDTH: 100%" type="text" />
+					</td>
+					<td width="1"></td>
+					<td valign="top">
+						<table cellspacing="0" cellpadding="0" width="100%" align="center" border="0">
+							<tr>
+								<td width="60%">
+									<span fckLang="DlgGenLangDir">Language Direction</span><br />
+									<select id="cmbAttLangDir" style="WIDTH: 100%">
+										<option value="" fckLang="DlgGenNotSet" selected>&lt;not set&gt;</option>
+										<option value="ltr" fckLang="DlgGenLangDirLtr">Left to Right (LTR)</option>
+										<option value="rtl" fckLang="DlgGenLangDirRtl">Right to Left (RTL)</option>
+									</select>
+								</td>
+								<td width="1%">&nbsp;&nbsp;&nbsp;</td>
+								<td nowrap="nowrap"><span fckLang="DlgGenAccessKey">Access Key</span><br />
+									<input id="txtAttAccessKey" style="WIDTH: 100%" type="text" maxlength="1" size="1" />
+								</td>
+							</tr>
+						</table>
+					</td>
+				</tr>
+				<tr>
+					<td valign="top" width="50%">
+						<span fckLang="DlgGenName">Name</span><br />
+						<input id="txtAttName" style="WIDTH: 100%" type="text" />
+					</td>
+					<td width="1"></td>
+					<td valign="top">
+						<table cellspacing="0" cellpadding="0" width="100%" align="center" border="0">
+							<tr>
+								<td width="60%">
+									<span fckLang="DlgGenLangCode">Language Code</span><br />
+									<input id="txtAttLangCode" style="WIDTH: 100%" type="text" />
+								</td>
+								<td width="1%">&nbsp;&nbsp;&nbsp;</td>
+								<td nowrap="nowrap">
+									<span fckLang="DlgGenTabIndex">Tab Index</span><br />
+									<input id="txtAttTabIndex" style="WIDTH: 100%" type="text" maxlength="5" size="5" />
+								</td>
+							</tr>
+						</table>
+					</td>
+				</tr>
+				<tr>
+					<td valign="top" width="50%">&nbsp;</td>
+					<td width="1"></td>
+					<td valign="top"></td>
+				</tr>
+				<tr>
+					<td valign="top" width="50%">
+						<span fckLang="DlgGenTitle">Advisory Title</span><br />
+						<input id="txtAttTitle" style="WIDTH: 100%" type="text" />
+					</td>
+					<td width="1">&nbsp;&nbsp;&nbsp;</td>
+					<td valign="top">
+						<span fckLang="DlgGenContType">Advisory Content Type</span><br />
+						<input id="txtAttContentType" style="WIDTH: 100%" type="text" />
+					</td>
+				</tr>
+				<tr>
+					<td valign="top">
+						<span fckLang="DlgGenClass">Stylesheet Classes</span><br />
+						<input id="txtAttClasses" style="WIDTH: 100%" type="text" />
+					</td>
+					<td></td>
+					<td valign="top">
+						<span fckLang="DlgGenLinkCharset">Linked Resource Charset</span><br />
+						<input id="txtAttCharSet" style="WIDTH: 100%" type="text" />
+					</td>
+				</tr>
+			</table>
+			<table cellspacing="0" cellpadding="0" width="100%" align="center" border="0">
+				<tr>
+					<td>
+						<span fckLang="DlgGenStyle">Style</span><br />
+						<input id="txtAttStyle" style="WIDTH: 100%" type="text" />
+					</td>
+				</tr>
+			</table>
+		</div>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_listprop.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_listprop.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_listprop.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,101 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_listprop.html
+ * 	Bulleted List dialog window.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<html>
+	<head>
+		<title>Bulleted List 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>
+		<script type="text/javascript">
+
+var oEditor = window.parent.InnerDialogLoaded() ;
+
+// Gets the document DOM
+var oDOM = oEditor.FCK.EditorDocument ;
+
+var oActiveEl = oEditor.FCKSelection.MoveToAncestorNode( 'UL' ) ;
+var oActiveSel ;
+
+window.onload = function()
+{
+	// First of all, translate the dialog box texts
+	oEditor.FCKLanguageManager.TranslatePage(document) ;
+
+	if ( oActiveEl )
+		oActiveSel = GetE('selBulleted') ;
+	else
+	{
+		oActiveEl = oEditor.FCKSelection.MoveToAncestorNode( 'OL' ) ;
+		if ( oActiveEl )
+			oActiveSel = GetE('selNumbered') ;
+	}
+
+	oActiveSel.style.display = '' ;
+
+	if ( oActiveEl )
+	{
+		if ( oActiveEl.getAttribute('type') )
+			oActiveSel.value = oActiveEl.getAttribute('type').toLowerCase() ;
+	}
+
+	window.parent.SetOkButton( true ) ;
+}
+
+function Ok()
+{
+	if ( oActiveEl )
+		SetAttribute( oActiveEl, 'type'	, oActiveSel.value ) ;
+
+	return true ;
+}
+
+		</script>
+	</head>
+	<body style="OVERFLOW: hidden" scroll="no">
+		<table width="100%" height="100%">
+			<tr>
+				<td>
+					<table cellspacing="0" cellpadding="0" border="0" align="center">
+						<tr>
+							<td>
+								<span fckLang="DlgLstType">List Type</span><br>
+								<select id="selBulleted" style="DISPLAY: none">
+									<option value="" selected></option>
+									<option value="circle" fckLang="DlgLstTypeCircle">Circle</option>
+									<option value="disc" fckLang="DlgLstTypeDisc">Disc</option>
+									<option value="square" fckLang="DlgLstTypeSquare">Square</option>
+								</select>
+								<select id="selNumbered" style="DISPLAY: none">
+									<option value="" selected></option>
+									<option value="1" fckLang="DlgLstTypeNumbers">Numbers (1, 2, 3)</option>
+									<option value="a" fckLang="DlgLstTypeLCase">Lowercase Letters (a, b, c)</option>
+									<option value="A" fckLang="DlgLstTypeUCase">Uppercase Letters (A, B, C)</option>
+									<option value="i" fckLang="DlgLstTypeSRoman">Small Roman Numerals (i, ii, iii)</option>
+									<option value="I" fckLang="DlgLstTypeLRoman">Large Roman Numerals (I, II, III)</option>
+								</select>
+								&nbsp;
+							</td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+		</table>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_paste.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_paste.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_paste.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,216 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_paste.html
+ * 	This dialog is shown when, for some reason (usually security settings), 
+ * 	the user is not able to paste data from the clipboard to the editor using 
+ * 	the toolbar buttons or the context menu.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<html>
+	<head>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<script language="javascript">
+var oEditor = window.parent.InnerDialogLoaded() ;
+
+window.onload = function ()
+{
+	// First of all, translate the dialog box texts
+	oEditor.FCKLanguageManager.TranslatePage(document) ;
+	
+	window.parent.SetOkButton( true ) ;	
+
+	if ( window.parent.dialogArguments.CustomValue == 'Word' )
+	{
+		var oFrame = document.getElementById('frmData')
+		oFrame.style.display = '' ;
+		
+		if ( oFrame.contentDocument ) 
+			oFrame.contentDocument.designMode = 'on' ;
+		else
+			oFrame.contentWindow.document.body.contentEditable = true ;
+	}
+	else
+	{
+		document.getElementById('txtData').style.display = '' ;
+		document.getElementById('oWordCommands').style.display = 'none' ;
+	}
+}
+
+function Ok()
+{
+	var sHtml ;
+	
+	if ( window.parent.dialogArguments.CustomValue == 'Word' )
+	{
+		var oFrame = document.getElementById('frmData') ;
+		
+		if ( oFrame.contentDocument ) 
+			sHtml = oFrame.contentDocument.body.innerHTML ;
+		else
+			sHtml = oFrame.contentWindow.document.body.innerHTML ;
+
+		sHtml = CleanWord( sHtml ) ;
+	}
+	else
+	{
+		var sHtml = oEditor.FCKTools.HTMLEncode( document.getElementById('txtData').value )  ;
+		sHtml = sHtml.replace( /\n/g, '<BR>' ) ;
+	}
+	
+	oEditor.FCK.InsertHtml( sHtml ) ;
+	
+	return true ;
+}
+
+function CleanUpBox()
+{
+	var oFrame = document.getElementById('frmData') ;
+	
+	if ( oFrame.contentDocument ) 
+		oFrame.contentDocument.body.innerHTML = '' ;
+	else
+		oFrame.contentWindow.document.body.innerHTML = '' ;
+}
+
+function CleanWord( html )
+{
+	var bIgnoreFont = document.getElementById('chkRemoveFont').checked ;
+	var bRemoveStyles = document.getElementById('chkRemoveStyles').checked ;
+
+	html = html.replace(/<o:p>\s*<\/o:p>/g, "") ;
+	html = html.replace(/<o:p>.*?<\/o:p>/g, "&nbsp;") ;
+	
+	// Remove mso-xxx styles.
+	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*TEXT-INDENT: 0cm\s*;/gi, "" ) ;
+	html = html.replace( /\s*TEXT-INDENT: 0cm\s*"/gi, "\"" ) ;
+
+	html = html.replace( /\s*TEXT-ALIGN: [^\s;]+;?"/gi, "\"" ) ;
+
+	html = html.replace( /\s*PAGE-BREAK-BEFORE: [^\s;]+;?"/gi, "\"" ) ;
+
+	html = html.replace( /\s*FONT-VARIANT: [^\s;]+;?"/gi, "\"" ) ;
+
+	html = html.replace( /\s*tab-stops:[^;"]*;?/gi, "" ) ;
+	html = html.replace( /\s*tab-stops:[^"]*/gi, "" ) ;
+
+	// Remove FONT face attributes.
+	if ( bIgnoreFont )
+	{
+		html = html.replace( /\s*face="[^"]*"/gi, "" ) ;
+		html = html.replace( /\s*face=[^ >]*/gi, "" ) ;
+
+		html = html.replace( /\s*FONT-FAMILY:[^;"]*;?/gi, "" ) ;
+	}
+	
+	// Remove Class attributes
+	html = html.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi, "<$1$3") ;
+
+	// Remove styles.
+	if ( bRemoveStyles )
+		html = html.replace( /<(\w[^>]*) style="([^\"]*)"([^>]*)/gi, "<$1$3" ) ;
+
+	// Remove empty styles.
+	html =  html.replace( /\s*style="\s*"/gi, '' ) ;
+	
+	html = html.replace( /<SPAN\s*[^>]*>\s*&nbsp;\s*<\/SPAN>/gi, '&nbsp;' ) ;
+	
+	html = html.replace( /<SPAN\s*[^>]*><\/SPAN>/gi, '' ) ;
+	
+	// Remove Lang attributes
+	html = html.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi, "<$1$3") ;
+	
+	html = html.replace( /<SPAN\s*>(.*?)<\/SPAN>/gi, '$1' ) ;
+	
+	html = html.replace( /<FONT\s*>(.*?)<\/FONT>/gi, '$1' ) ;
+
+	// Remove XML elements and declarations
+	html = html.replace(/<\\?\?xml[^>]*>/gi, "") ;
+	
+	// Remove Tags with XML namespace declarations: <o:p></o:p>
+	html = html.replace(/<\/?\w+:[^>]*>/gi, "") ;
+	
+	html = html.replace( /<H\d>\s*<\/H\d>/gi, '' ) ;
+
+	html = html.replace( /<H1([^>]*)>/gi, '<div$1><b><font size="6">' ) ;
+	html = html.replace( /<H2([^>]*)>/gi, '<div$1><b><font size="5">' ) ;
+	html = html.replace( /<H3([^>]*)>/gi, '<div$1><b><font size="4">' ) ;
+	html = html.replace( /<H4([^>]*)>/gi, '<div$1><b><font size="3">' ) ;
+	html = html.replace( /<H5([^>]*)>/gi, '<div$1><b><font size="2">' ) ;
+	html = html.replace( /<H6([^>]*)>/gi, '<div$1><b><font size="1">' ) ;
+
+	html = html.replace( /<\/H\d>/gi, '</font></b></div>' ) ;
+	
+	html = html.replace( /<(U|I|STRIKE)>&nbsp;<\/\1>/g, '&nbsp;' ) ;
+
+	// Remove empty tags (three times, just to be sure).
+	html = html.replace( /<([^\s>]+)[^>]*>\s*<\/\1>/g, '' ) ;
+	html = html.replace( /<([^\s>]+)[^>]*>\s*<\/\1>/g, '' ) ;
+	html = html.replace( /<([^\s>]+)[^>]*>\s*<\/\1>/g, '' ) ;
+
+	// Transform <P> to <DIV>
+	var re = new RegExp("(<P)([^>]*>.*?)(<\/P>)","gi") ;	// Different because of a IE 5.0 error
+	html = html.replace( re, "<div$2</div>" ) ;
+
+	return html ;
+}
+
+		</script>
+	</head>
+	<body scroll="no" style="OVERFLOW: hidden">
+		<table height="98%" cellspacing="0" cellpadding="0" width="100%" border="0">
+			<tr>
+				<td>
+					<span fckLang="DlgPasteMsg2">Please paste inside the following box using the 
+						keyboard (<STRONG>Ctrl+V</STRONG>) and hit <STRONG>OK</STRONG>.</span>
+					<br>
+					&nbsp;
+				</td>
+			</tr>
+			<tr>
+				<td valign="top" height="100%" style="BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid">
+					<textarea id="txtData" style="BORDER-RIGHT: #000000 1px; BORDER-TOP: #000000 1px; DISPLAY: none; BORDER-LEFT: #000000 1px; WIDTH: 99%; BORDER-BOTTOM: #000000 1px; HEIGHT: 98%"></textarea>
+					<iframe id="frmData" src="../fckblank.html" height="98%" width="99%" frameborder="no" style="BORDER-RIGHT: #000000 1px; BORDER-TOP: #000000 1px; DISPLAY: none; BORDER-LEFT: #000000 1px; BORDER-BOTTOM: #000000 1px; BACKGROUND-COLOR: #ffffff">
+					</iframe>
+				</td>
+			</tr>
+			<tr id="oWordCommands">
+				<td>
+					<table border="0" cellpadding="0" cellspacing="0" width="100%">
+						<tr>
+							<td nowrap>
+								<input id="chkRemoveFont" type="checkbox" checked="checked"> <label for="chkRemoveFont" fckLang="DlgPasteIgnoreFont">
+									Ignore Font Face definitions</label>
+								<br>
+								<input id="chkRemoveStyles" type="checkbox"> <label for="chkRemoveStyles" fckLang="DlgPasteRemoveStyles">
+									Remove Styles definitions</label>
+							</td>
+							<td align="right" valign="top">
+								<input type="button" fckLang="DlgPasteCleanBox" value="Clean Up Box" onclick="CleanUpBox()">
+							</td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+		</table>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_radiobutton.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_radiobutton.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_radiobutton.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,100 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_radiobutton.html
+ * 	Radio Button dialog window.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<html>
+	<head>
+		<title>Radio Button 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>
+		<script type="text/javascript">
+
+var oEditor = window.parent.InnerDialogLoaded() ;
+
+// Gets the document DOM
+var oDOM = oEditor.FCK.EditorDocument ;
+
+var oActiveEl = oEditor.FCKSelection.GetSelectedElement() ;
+
+window.onload = function()
+{
+	// First of all, translate the dialog box texts
+	oEditor.FCKLanguageManager.TranslatePage(document) ;
+
+	if ( oActiveEl && oActiveEl.tagName.toUpperCase() == 'INPUT' && oActiveEl.type == 'radio' )
+	{
+		GetE('txtName').value		= oActiveEl.name ;
+		GetE('txtValue').value		= oActiveEl.value ;
+		GetE('txtSelected').checked	= oActiveEl.checked ;
+	}
+	else
+		oActiveEl = null ;
+
+	window.parent.SetOkButton( true ) ;
+}
+
+function Ok()
+{
+	if ( !oActiveEl )
+	{
+		oActiveEl = oEditor.FCK.EditorDocument.createElement( 'INPUT' ) ;
+		oActiveEl.type = 'radio' ;
+		oActiveEl = oEditor.FCK.InsertElementAndGetIt( oActiveEl ) ;
+	}
+
+	oActiveEl.name = GetE('txtName').value ;
+	SetAttribute( oActiveEl, 'value', GetE('txtValue').value ) ;
+
+	if ( GetE('txtSelected').checked )
+	{
+		SetAttribute( oActiveEl, 'checked', 'checked' ) ;
+		oActiveEl.checked = GetE('txtSelected').checked ;
+	}
+
+	return true ;
+}
+
+		</script>
+	</head>
+	<body style="OVERFLOW: hidden" scroll="no">
+		<table height="100%" width="100%">
+			<tr>
+				<td align="center">
+					<table border="0" cellpadding="0" cellspacing="0" width="80%">
+						<tr>
+							<td>
+								<span fckLang="DlgCheckboxName">Name</span><br>
+								<input type="text" size="20" id="txtName" style="WIDTH: 100%">
+							</td>
+						</tr>
+						<tr>
+							<td>
+								<span fckLang="DlgCheckboxValue">Value</span><br>
+								<input type="text" size="20" id="txtValue" style="WIDTH: 100%">
+							</td>
+						</tr>
+						<tr>
+							<td><input type="checkbox" id="txtSelected"><label for="txtSelected" fckLang="DlgCheckboxSelected">Checked</label></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+		</table>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_replace.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_replace.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_replace.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,131 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_replace.html
+ * 	"Replace" dialog box window.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ * 		Abdul-Aziz A. Al-Oraij (aziz.oraij.com)
+-->
+<html>
+	<head>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta content="noindex, nofollow" name="robots">
+		<script type="text/javascript">
+
+var oEditor = window.parent.InnerDialogLoaded() ;
+
+function OnLoad()
+{
+	// First of all, translate the dialog box texts
+	oEditor.FCKLanguageManager.TranslatePage( document ) ;
+
+	window.parent.SetAutoSize( true ) ;
+
+	oEditor.FCKUndo.SaveUndoStep() ;
+}
+
+function btnStat(frm)
+{
+	document.getElementById('btnReplace').disabled = 
+		document.getElementById('btnReplaceAll').disabled = 
+			( document.getElementById('txtFind').value.length == 0 ) ;
+}
+
+function ReplaceTextNodes( parentNode, regex, replaceValue, replaceAll, hasFound )
+{
+	for ( var i = 0 ; i < parentNode.childNodes.length ; i++ )
+	{
+		var oNode = parentNode.childNodes[i] ;
+		if ( oNode.nodeType == 3 )
+		{
+			var sReplaced = oNode.nodeValue.replace( regex, replaceValue ) ;
+			if ( oNode.nodeValue != sReplaced )
+			{
+				oNode.nodeValue = sReplaced ;
+				if ( ! replaceAll )
+					return true ;
+				hasFound = true ;
+			}
+		}
+
+		hasFound = ReplaceTextNodes( oNode, regex, replaceValue, replaceAll, hasFound ) ;
+		if ( ! replaceAll && hasFound )
+			return true ;
+	}
+	
+	return hasFound ;
+}
+
+function GetRegexExpr()
+{
+	if ( document.getElementById('chkWord').checked )
+		var sExpr = '\\b' + document.getElementById('txtFind').value + '\\b' ;
+	else
+		var sExpr = document.getElementById('txtFind').value ;
+		
+	return sExpr ;
+}
+
+function GetCase() 
+{
+	return ( document.getElementById('chkCase').checked ? '' : 'i' ) ;
+}
+
+function Replace()
+{
+	var oRegex = new RegExp( GetRegexExpr(), GetCase() ) ;
+	ReplaceTextNodes( oEditor.FCK.EditorDocument.body, oRegex, document.getElementById('txtReplace').value, false, false ) ;
+}
+
+function ReplaceAll()
+{
+	var oRegex = new RegExp( GetRegexExpr(), GetCase() + 'g' ) ;
+	ReplaceTextNodes( oEditor.FCK.EditorDocument.body, oRegex, document.getElementById('txtReplace').value, true, false ) ;
+	window.parent.Cancel() ;
+}
+		</script>
+	</head>
+	<body onload="OnLoad()" scroll="no" style="OVERFLOW: hidden">
+		<table cellSpacing="3" cellPadding="2" width="100%" border="0">
+			<tr>
+				<td noWrap><label for="txtFind" fckLang="DlgReplaceFindLbl">Find what:</label>
+				</td>
+				<td width="100%"><input id="txtFind" onkeyup="btnStat(this.form)" style="WIDTH: 100%" tabIndex="1" type="text">
+				</td>
+				<td><input id="btnReplace" style="WIDTH: 100%" disabled onclick="Replace();" type="button"
+						value="Replace" fckLang="DlgReplaceReplaceBtn">
+				</td>
+			</tr>
+			<tr>
+				<td vAlign="top" noWrap><label for="txtReplace" fckLang="DlgReplaceReplaceLbl">Replace 
+						with:</label>
+				</td>
+				<td vAlign="top"><input id="txtReplace" style="WIDTH: 100%" tabIndex="2" type="text">
+				</td>
+				<td><input id="btnReplaceAll" disabled onclick="ReplaceAll()" type="button" value="Replace All"
+						fckLang="DlgReplaceReplAllBtn">
+				</td>
+			</tr>
+			<tr>
+				<td vAlign="bottom" colSpan="3">&nbsp;<input id="chkCase" tabIndex="3" type="checkbox"><label for="chkCase" fckLang="DlgReplaceCaseChk">Match 
+						case</label>
+					<br>
+					&nbsp;<input id="chkWord" tabIndex="4" type="checkbox"><label for="chkWord" fckLang="DlgReplaceWordChk">Match 
+						whole word</label>
+				</td>
+			</tr>
+		</table>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_select/fck_select.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_select/fck_select.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_select/fck_select.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,165 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_select.js
+ * 	Scripts for the fck_select.html page.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+function Select( combo )
+{
+	var iIndex = combo.selectedIndex ;
+
+	oListText.selectedIndex		= iIndex ;
+	oListValue.selectedIndex	= iIndex ;
+
+	var oTxtText	= document.getElementById( "txtText" ) ;
+	var oTxtValue	= document.getElementById( "txtValue" ) ;
+
+	oTxtText.value	= oListText.value ;
+	oTxtValue.value	= oListValue.value ;
+}
+
+function Add()
+{
+	var oTxtText	= document.getElementById( "txtText" ) ;
+	var oTxtValue	= document.getElementById( "txtValue" ) ;
+
+	AddComboOption( oListText, oTxtText.value, oTxtText.value ) ;
+	AddComboOption( oListValue, oTxtValue.value, oTxtValue.value ) ;
+
+	oListText.selectedIndex = oListText.options.length - 1 ;
+	oListValue.selectedIndex = oListValue.options.length - 1 ;
+
+	oTxtText.value	= '' ;
+	oTxtValue.value	= '' ;
+
+	oTxtText.focus() ;
+}
+
+function Modify()
+{
+	var iIndex = oListText.selectedIndex ;
+
+	if ( iIndex < 0 ) return ;
+
+	var oTxtText	= document.getElementById( "txtText" ) ;
+	var oTxtValue	= document.getElementById( "txtValue" ) ;
+
+	oListText.options[ iIndex ].innerHTML	= oTxtText.value ;
+	oListText.options[ iIndex ].value		= oTxtText.value ;
+
+	oListValue.options[ iIndex ].innerHTML	= oTxtValue.value ;
+	oListValue.options[ iIndex ].value		= oTxtValue.value ;
+
+	oTxtText.value	= '' ;
+	oTxtValue.value	= '' ;
+
+	oTxtText.focus() ;
+}
+
+function Move( steps )
+{
+	ChangeOptionPosition( oListText, steps ) ;
+	ChangeOptionPosition( oListValue, steps ) ;
+}
+
+function Delete()
+{
+	RemoveSelectedOptions( oListText ) ;
+	RemoveSelectedOptions( oListValue ) ;
+}
+
+function SetSelectedValue()
+{
+	var iIndex = oListValue.selectedIndex ;
+	if ( iIndex < 0 ) return ;
+
+	var oTxtValue = document.getElementById( "txtSelValue" ) ;
+
+	oTxtValue.value = oListValue.options[ iIndex ].value ;
+}
+
+// Moves the selected option by a number of steps (also negative)
+function ChangeOptionPosition( combo, steps )
+{
+	var iActualIndex = combo.selectedIndex ;
+
+	if ( iActualIndex < 0 )
+		return ;
+
+	var iFinalIndex = iActualIndex + steps ;
+
+	if ( iFinalIndex < 0 )
+		iFinalIndex = 0 ;
+
+	if ( iFinalIndex > ( combo.options.lenght - 1 ) )
+		iFinalIndex = combo.options.lenght - 1 ;
+
+	if ( iActualIndex == iFinalIndex )
+		return ;
+
+	var oOption = combo.options[ iActualIndex ] ;
+	var sText	= oOption.innerHTML ;
+	var sValue	= oOption.value ;
+
+	combo.remove( iActualIndex ) ;
+
+	oOption = AddComboOption( combo, sText, sValue, null, iFinalIndex ) ;
+
+	oOption.selected = true ;
+}
+
+// Remove all selected options from a SELECT object
+function RemoveSelectedOptions(combo)
+{
+	// Save the selected index
+	var iSelectedIndex = combo.selectedIndex ;
+
+	var oOptions = combo.options ;
+
+	// Remove all selected options
+	for ( var i = oOptions.length - 1 ; i >= 0 ; i-- )
+	{
+		if (oOptions[i].selected) combo.remove(i) ;
+	}
+
+	// Reset the selection based on the original selected index
+	if ( combo.options.length > 0 )
+	{
+		if ( iSelectedIndex >= combo.options.length ) iSelectedIndex = combo.options.length - 1 ;
+		combo.selectedIndex = iSelectedIndex ;
+	}
+}
+
+// Add a new option to a SELECT object (combo or list)
+function AddComboOption( combo, optionText, optionValue, documentObject, index )
+{
+	var oOption ;
+
+	if ( documentObject )
+		oOption = documentObject.createElement("OPTION") ;
+	else
+		oOption = document.createElement("OPTION") ;
+
+	if ( index != null )
+		combo.options.add( oOption, index ) ;
+	else
+		combo.options.add( oOption ) ;
+
+	oOption.innerHTML = optionText.length > 0 ? optionText : '&nbsp;' ;
+	oOption.value     = optionValue ;
+
+	return oOption ;
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_select.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_select.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_select.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,172 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_select.html
+ * 	Select dialog window.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<html>
+	<head>
+		<title>Select 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>
+		<script type="text/javascript" src="fck_select/fck_select.js"></script>
+		<script type="text/javascript">
+
+var oEditor = window.parent.InnerDialogLoaded() ;
+
+// Gets the document DOM
+var oDOM = oEditor.FCK.EditorDocument ;
+
+var oActiveEl = oEditor.FCKSelection.GetSelectedElement() ;
+
+var oListText ;
+var oListValue ;
+
+window.onload = function()
+{
+	// First of all, translate the dialog box texts
+	oEditor.FCKLanguageManager.TranslatePage(document) ;
+
+	oListText	= document.getElementById( 'cmbText' ) ;
+	oListValue	= document.getElementById( 'cmbValue' ) ;
+
+	if ( oActiveEl && oActiveEl.tagName == 'SELECT' )
+	{
+		GetE('txtName').value		= oActiveEl.name ;
+		GetE('txtSelValue').value	= oActiveEl.value ;
+		GetE('txtLines').value		= GetAttribute( oActiveEl, 'size' ) ;
+		GetE('chkMultiple').checked	= oActiveEl.multiple ;
+
+		// Load the actual options
+		for ( var i = 0 ; i < oActiveEl.options.length ; i++ )
+		{
+			var sText	= oActiveEl.options[i].innerHTML ;
+			var sValue	= oActiveEl.options[i].value ;
+
+			AddComboOption( oListText, sText, sText ) ;
+			AddComboOption( oListValue, sValue, sValue ) ;
+		}
+	}
+	else
+		oActiveEl = null ;
+
+	window.parent.SetOkButton( true ) ;
+}
+
+function Ok()
+{
+	var sSize = GetE('txtLines').value ;
+	if ( sSize == null || isNaN( sSize ) || sSize <= 1 )
+		sSize = '' ;
+
+	if ( !oActiveEl )
+	{
+		oActiveEl = oEditor.FCK.EditorDocument.createElement( 'SELECT' ) ;
+		oActiveEl = oEditor.FCK.InsertElementAndGetIt( oActiveEl ) ;
+	}
+
+	SetAttribute( oActiveEl, 'name'	, GetE('txtName').value ) ;
+	SetAttribute( oActiveEl, 'size'	, sSize ) ;
+	oActiveEl.multiple = ( sSize.length > 0 && GetE('chkMultiple').checked ) ;
+
+	// Remove all options.
+	while ( oActiveEl.options.length > 0 )
+		oActiveEl.remove(0) ;
+
+	// Add all available options.
+	for ( var i = 0 ; i < oListText.options.length ; i++ )
+	{
+		var sText	= oListText.options[i].value ;
+		var sValue	= oListValue.options[i].value ;
+		if ( sValue.length == 0 ) sValue = sText ;
+
+		var oOption = AddComboOption( oActiveEl, sText, sValue, oDOM ) ;
+
+		if ( sValue == GetE('txtSelValue').value )
+		{
+			SetAttribute( oOption, 'selected', 'selected' ) ;
+			oOption.selected = true ;
+		}
+	}
+
+	return true ;
+}
+
+		</script>
+	</head>
+	<body style='OVERFLOW: hidden' scroll='no'>
+		<table width="100%" height="100%">
+			<tr>
+				<td>
+					<table width="100%">
+						<tr>
+							<td nowrap><span fckLang="DlgSelectName">Name</span>&nbsp;</td>
+							<td width="100%" colSpan="2"><input id="txtName" style="WIDTH: 100%" type="text"></td>
+						</tr>
+						<tr>
+							<td nowrap><span fckLang="DlgSelectValue">Value</span>&nbsp;</td>
+							<td width="100%" colSpan="2"><input id="txtSelValue" style="WIDTH: 100%; BACKGROUND-COLOR: buttonface" type="text" readonly></td>
+						</tr>
+						<tr>
+							<td nowrap><span fckLang="DlgSelectSize">Size</span>&nbsp;</td>
+							<td nowrap><input id="txtLines" type="text" size="2" value="">&nbsp;<span fckLang="DlgSelectLines">lines</span></td>
+							<td nowrap align="right"><input id="chkMultiple" name="chkMultiple" type="checkbox"><label for="chkMultiple" fckLang="DlgSelectChkMulti">Allow
+									multiple selections</label></td>
+						</tr>
+					</table>
+					<br>
+					<hr style="POSITION: absolute">
+					<span style="LEFT: 10px; POSITION: relative; TOP: -7px" class="BackColor">&nbsp;<span fckLang="DlgSelectOpAvail">Available
+							Options</span>&nbsp;</span>
+					<table width="100%">
+						<tr>
+							<td width="50%"><span fckLang="DlgSelectOpText">Text</span><br>
+								<input id="txtText" style="WIDTH: 100%" type="text" name="txtText">
+							</td>
+							<td width="50%"><span fckLang="DlgSelectOpValue">Value</span><br>
+								<input id="txtValue" style="WIDTH: 100%" type="text" name="txtValue">
+							</td>
+							<td vAlign="bottom"><input onclick="Add();" type="button" fckLang="DlgSelectBtnAdd" value="Add"></td>
+							<td vAlign="bottom"><input onclick="Modify();" type="button" fckLang="DlgSelectBtnModify" value="Modify"></td>
+						</tr>
+						<tr>
+							<td rowSpan="2"><select id="cmbText" style="WIDTH: 100%" onchange="GetE('cmbValue').selectedIndex = this.selectedIndex;Select(this);"
+									size="5" name="cmbText"></select>
+							</td>
+							<td rowSpan="2"><select id="cmbValue" style="WIDTH: 100%" onchange="GetE('cmbText').selectedIndex = this.selectedIndex;Select(this);"
+									size="5" name="cmbValue"></select>
+							</td>
+							<td vAlign="top" colSpan="2">
+							</td>
+						</tr>
+						<tr>
+							<td vAlign="bottom" colSpan="2"><input style="WIDTH: 100%" onclick="Move(-1);" type="button" fckLang="DlgSelectBtnUp" value="Up">
+								<br>
+								<input style="WIDTH: 100%" onclick="Move(1);" type="button" fckLang="DlgSelectBtnDown"
+									value="Down">
+							</td>
+						</tr>
+						<TR>
+							<TD vAlign="bottom" colSpan="4"><INPUT onclick="SetSelectedValue();" type="button" fckLang="DlgSelectBtnSetValue" value="Set as selected value">&nbsp;&nbsp;
+								<input onclick="Delete();" type="button" fckLang="DlgSelectBtnDelete" value="Delete"></TD>
+						</TR>
+					</table>
+				</td>
+			</tr>
+		</table>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_smiley.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_smiley.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_smiley.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,90 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_smiley.html
+ * 	Smileys (emoticons) dialog window.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
+<html>
+	<head>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+		<meta name="robots" content="noindex, nofollow" />
+		<style type="text/css">
+			.HandIE { cursor: hand ; }
+			.HandMozilla { cursor: pointer ; }
+		</style>
+		<script type="text/javascript">
+
+var oEditor = window.parent.InnerDialogLoaded() ;
+
+window.onload = function ()
+{
+	// First of all, translate the dialog box texts
+	oEditor.FCKLanguageManager.TranslatePage(document) ;
+}
+
+function InsertSmiley( url )
+{
+	var oImg = oEditor.FCK.CreateElement( 'IMG' ) ;
+	oImg.src = url ;
+
+	window.parent.Cancel() ;
+}
+
+function over(td)
+{
+	td.className = 'LightBackground HandIE HandMozilla' ;
+}
+
+function out(td)
+{
+	td.className = 'DarkBackground HandIE HandMozilla' ;
+}
+		</script>
+	</head>
+	<body scroll="no">
+		<table cellpadding="2" cellspacing="2" align="center" border="0" width="100%" height="100%">
+			<script type="text/javascript">
+<!--
+var FCKConfig = oEditor.FCKConfig ;
+
+var sBasePath = FCKConfig.SmileyPath ;
+var aImages   = FCKConfig.SmileyImages ;
+var cols      = FCKConfig.SmileyColumns ;
+
+var i = 0 ;
+while (i < aImages.length)
+{
+	document.write("<TR>") ;
+	for(var j = 0 ; j < cols ; j++)
+	{
+		if (aImages[i])
+		{
+			var sUrl = sBasePath + aImages[i] ;
+			document.write("<TD width='1%' align='center' class='DarkBackground HandIE HandMozilla' onclick='InsertSmiley(\"" + sUrl.replace(/"/g, '\\"' ) + "\")' onmouseover='over(this)' onmouseout='out(this)'>") ;
+			document.write("<img src='" + sUrl + "' border='0'>") ;
+		}
+		else
+			document.write("<TD width='1%' class='DarkBackground'>&nbsp;") ;
+		document.write("<\/TD>") ;
+		i++ ;
+	}
+	document.write("<\/TR>") ;
+}
+//-->
+			</script>
+		</table>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_source.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_source.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_source.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,59 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_source.html
+ * 	Source editor dialog window.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
+<html>
+	<head>
+		<title>Source</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<link href="common/fck_dialog_common.css" rel="stylesheet" type="text/css" />
+		<script language="javascript">
+		
+var oEditor		= window.parent.InnerDialogLoaded() ;
+var FCK			= oEditor.FCK ;
+var FCKConfig	= oEditor.FCKConfig ;
+
+window.onload = function()
+{
+	document.getElementById('txtSource').value = ( FCKConfig.EnableXHTML && FCKConfig.EnableSourceXHTML ? FCK.GetXHTML( FCKConfig.FormatSource ) : FCK.GetHTML( FCKConfig.FormatSource ) ) ;
+
+	// Activate the "OK" button.
+	window.parent.SetOkButton( true ) ;
+}
+
+//#### The OK button was hit.
+function Ok()
+{
+	if ( oEditor.FCKBrowserInfo.IsIE )
+		oEditor.FCKUndo.SaveUndoStep() ;
+			
+	FCK.SetHTML( document.getElementById('txtSource').value, false ) ;
+	
+	return true ;
+}
+		</script>
+	</head>
+	<body scroll="no" style="OVERFLOW: hidden">
+		<table width="100%" height="100%">
+			<tr>
+				<td height="100%"><textarea id="txtSource" dir="ltr" style="PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-SIZE: 14px; PADDING-BOTTOM: 5px; WIDTH: 100%; PADDING-TOP: 5px; FONT-FAMILY: Monospace; HEIGHT: 100%">Loading. Please wait...</textarea></td>
+			</tr>
+		</table>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_specialchar.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_specialchar.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_specialchar.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,106 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_specialchar.html
+ * 	Special Chars Selector dialog window.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
+<html>
+	<head>
+		<meta name="robots" content="noindex, nofollow">
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<style type="text/css">
+				.HandIE { cursor: hand ; }
+				.HandMozilla { cursor: pointer ; }
+				.Sample { font-size: 24px; }
+		</style>
+		<script type="text/javascript">
+
+var oEditor = window.parent.InnerDialogLoaded() ;
+
+var oSample ;
+
+function insertChar(charValue)
+{
+	oEditor.FCK.InsertHtml( charValue || "" ) ;
+	window.parent.Cancel() ;
+}
+
+function over(td)
+{
+	oSample.innerHTML = td.innerHTML ;
+	td.className = 'LightBackground HandIE HandMozilla' ;
+}
+
+function out(td)
+{
+	oSample.innerHTML = "&nbsp;" ;
+	td.className = 'DarkBackground HandIE HandMozilla' ;
+}
+
+function setDefaults()
+{
+	// Gets the sample placeholder.
+	oSample = document.getElementById("SampleTD") ;
+
+	// First of all, translates the dialog box texts.
+	oEditor.FCKLanguageManager.TranslatePage(document) ;
+}
+
+		</script>
+	</HEAD>
+	<BODY onload="setDefaults()" scroll="no">
+		<table cellpadding="0" cellspacing="0" width="100%" height="100%">
+			<tr>
+				<td width="100%">
+					<table cellpadding="1" cellspacing="1" align="center" border="0" width="100%" height="100%">
+						<script type="text/javascript">
+var aChars = ["!","&quot;","#","$","%","&amp;","\\'","(",")","*","+","-",".","/","0","1","2","3","4","5","6","7","8","9",":",";","&lt;","=","&gt;","?","@","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","[","]","^","_","`","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","{","|","}","~","&euro;","&lsquo;","&rsquo;","&rsquo;","&ldquo;","&rdquo;","&ndash;","&mdash;","&iexcl;","&cent;","&pound;","&curren;","&yen;","&brvbar;","&sect;","&uml;","&copy;","&ordf;","&laquo;","&not;","&reg;","&macr;","&deg;","&plusmn;","&sup2;","&sup3;","&acute;","&micro;","&para;","&middot;","&cedil;","&sup1;","&ordm;","&raquo;","&frac14;","&frac12;","&frac34;","&iquest;","&Agrave;","&Aacute;","&Acirc;","&Atilde;","&Auml;","&Aring;","&AElig;","&Ccedil;","&Egrave;","&Eacute;","&Ecirc;","&Euml;","&Igrave;","&Iacute;","&Icirc;","&Iuml;","&ETH;","&Ntilde;","&Ograve;","&Oacute;","&Ocirc;","&Otilde;","&Ouml;","&times;","&Oslash;","&Ugrave;","&Uacute;","&Ucirc;","&Uuml;","&Yacute;","&THORN;","&szlig;","&agrave;","&aacute;","&acirc;","&atilde;","&auml;","&aring;","&aelig;","&ccedil;","&egrave;","&eacute;","&ecirc;","&euml;","&igrave;","&iacute;","&icirc;","&iuml;","&eth;","&ntilde;","&ograve;","&oacute;","&ocirc;","&otilde;","&ouml;","&divide;","&oslash;","&ugrave;","&uacute;","&ucirc;","&uuml;","&uuml;","&yacute;","&thorn;","&yuml;"] ;
+
+var cols = 20 ;
+
+var i = 0 ;
+while (i < aChars.length)
+{
+	document.write("<TR>") ;
+	for(var j = 0 ; j < cols ; j++) 
+	{
+		if (aChars[i])
+		{
+			document.write('<TD width="1%" class="DarkBackground HandIE HandMozilla" align="center" onclick="insertChar(\'' + aChars[i].replace(/&/g, "&amp;") + '\')" onmouseover="over(this)" onmouseout="out(this)">') ;
+			document.write(aChars[i]) ;
+		}
+		else
+			document.write("<TD class='DarkBackground'>&nbsp;") ;
+		document.write("<\/TD>") ;
+		i++ ;
+	}
+	document.write("<\/TR>") ;
+}
+						</script>
+					</table>
+				</td>
+				<td nowrap>&nbsp;&nbsp;&nbsp;&nbsp;</td>
+				<td valign="top">
+					<table width="40" cellpadding="0" cellspacing="0" border="0">
+						<tr>
+							<td id="SampleTD" width="40" height="40" align="center" class="DarkBackground Sample">&nbsp;</td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+		</table>
+	</BODY>
+</HTML>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_spellerpages/spellerpages/blank.html
===================================================================

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_spellerpages/spellerpages/controlWindow.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_spellerpages/spellerpages/controlWindow.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_spellerpages/spellerpages/controlWindow.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,87 @@
+////////////////////////////////////////////////////
+// controlWindow object
+////////////////////////////////////////////////////
+function controlWindow( controlForm ) {
+	// private properties
+	this._form = controlForm;
+
+	// public properties
+	this.windowType = "controlWindow";
+//	this.noSuggestionSelection = "- No suggestions -";	// by FredCK
+	this.noSuggestionSelection = FCKLang.DlgSpellNoSuggestions ;
+	// set up the properties for elements of the given control form
+	this.suggestionList  = this._form.sugg;
+	this.evaluatedText   = this._form.misword;
+	this.replacementText = this._form.txtsugg;
+	this.undoButton      = this._form.btnUndo;
+
+	// public methods
+	this.addSuggestion = addSuggestion;
+	this.clearSuggestions = clearSuggestions;
+	this.selectDefaultSuggestion = selectDefaultSuggestion;
+	this.resetForm = resetForm;
+	this.setSuggestedText = setSuggestedText;
+	this.enableUndo = enableUndo;
+	this.disableUndo = disableUndo;
+}
+
+function resetForm() {
+	if( this._form ) {
+		this._form.reset();
+	}
+}
+
+function setSuggestedText() {
+	var slct = this.suggestionList;
+	var txt = this.replacementText;
+	var str = "";
+	if( (slct.options[0].text) && slct.options[0].text != this.noSuggestionSelection ) {
+		str = slct.options[slct.selectedIndex].text;
+	}
+	txt.value = str;
+}
+
+function selectDefaultSuggestion() {
+	var slct = this.suggestionList;
+	var txt = this.replacementText;
+	if( slct.options.length == 0 ) {
+		this.addSuggestion( this.noSuggestionSelection );
+	} else {
+		slct.options[0].selected = true;
+	}
+	this.setSuggestedText();
+}
+
+function addSuggestion( sugg_text ) {
+	var slct = this.suggestionList;
+	if( sugg_text ) {
+		var i = slct.options.length;
+		var newOption = new Option( sugg_text, 'sugg_text'+i );
+		slct.options[i] = newOption;
+	 }
+}
+
+function clearSuggestions() {
+	var slct = this.suggestionList;
+	for( var j = slct.length - 1; j > -1; j-- ) {
+		if( slct.options[j] ) {
+			slct.options[j] = null;
+		}
+	}
+}
+
+function enableUndo() {
+	if( this.undoButton ) {
+		if( this.undoButton.disabled == true ) {
+			this.undoButton.disabled = false;
+		}
+	}
+}
+
+function disableUndo() {
+	if( this.undoButton ) {
+		if( this.undoButton.disabled == false ) {
+			this.undoButton.disabled = true;
+		}
+	}
+}

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_spellerpages/spellerpages/controls.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_spellerpages/spellerpages/controls.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_spellerpages/spellerpages/controls.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,153 @@
+<html>
+	<head>
+		<link rel="stylesheet" type="text/css" href="spellerStyle.css" />
+		<script src="controlWindow.js"></script>
+		<script>
+var spellerObject;
+var controlWindowObj;
+
+if( parent.opener ) {
+	spellerObject = parent.opener.speller;
+}
+
+function ignore_word() {
+	if( spellerObject ) {
+		spellerObject.ignoreWord();
+	}
+}
+
+function ignore_all() {
+	if( spellerObject ) {
+		spellerObject.ignoreAll();
+	}
+}
+
+function replace_word() {
+	if( spellerObject ) {
+		spellerObject.replaceWord();
+	}
+}
+
+function replace_all() {
+	if( spellerObject ) {
+		spellerObject.replaceAll();
+	}
+}
+
+function end_spell() {
+	if( spellerObject ) {
+		spellerObject.terminateSpell();
+	}
+}
+
+function undo() {
+	if( spellerObject ) {
+		spellerObject.undo();
+	}
+}
+
+function suggText() {
+	if( controlWindowObj ) {
+		controlWindowObj.setSuggestedText();
+	}
+}
+
+var FCKLang = window.parent.parent.FCKLang ;	// by FredCK
+
+function init_spell() {
+	// By FredCK (fckLang attributes have been added to the HTML source of this page)
+	window.parent.parent.OnSpellerControlsLoad( this ) ;
+
+	var controlForm = document.spellcheck;
+
+	// create a new controlWindow object
+ 	controlWindowObj = new controlWindow( controlForm );
+
+	// call the init_spell() function in the parent frameset
+	if( parent.frames.length ) {
+		parent.init_spell( controlWindowObj );
+	} else {
+		alert( 'This page was loaded outside of a frameset. It might not display properly' );
+	}
+}
+
+</script>
+	</head>
+	<body class="controlWindowBody" onLoad="init_spell();" style="OVERFLOW: hidden" scroll="no">	<!-- by FredCK -->
+		<form name="spellcheck">
+			<table border="0" cellpadding="0" cellspacing="0" border="0" align="center">
+				<tr>
+					<td colspan="3" class="normalLabel"><span fckLang="DlgSpellNotInDic">Not in dictionary:</span></td>
+				</tr>
+				<tr>
+					<td colspan="3"><input class="readonlyInput" type="text" name="misword" readonly /></td>
+				</tr>
+				<tr>
+					<td colspan="3" height="5"></td>
+				</tr>
+				<tr>
+					<td class="normalLabel"><span fckLang="DlgSpellChangeTo">Change to:</span></td>
+				</tr>
+				<tr valign="top">
+					<td>
+						<table border="0" cellpadding="0" cellspacing="0" border="0">
+							<tr>
+								<td class="normalLabel">
+									<input class="textDefault" type="text" name="txtsugg" />
+								</td>
+							</tr>
+							<tr>
+								<td>
+									<select class="suggSlct" name="sugg" size="7" onChange="suggText();" onDblClick="replace_word();">
+										<option></option>
+									</select>
+								</td>
+							</tr>
+						</table>
+					</td>
+					<td>&nbsp;&nbsp;</td>
+					<td>
+						<table border="0" cellpadding="0" cellspacing="0" border="0">
+							<tr>
+								<td>
+									<input class="buttonDefault" type="button" fckLang="DlgSpellBtnIgnore" value="Ignore" onClick="ignore_word();">
+								</td>
+								<td>&nbsp;&nbsp;</td>
+								<td>
+									<input class="buttonDefault" type="button" fckLang="DlgSpellBtnIgnoreAll" value="Ignore All" onClick="ignore_all();">
+								</td>
+							</tr>
+							<tr>
+								<td colspan="3" height="5"></td>
+							</tr>
+							<tr>
+								<td>
+									<input class="buttonDefault" type="button" fckLang="DlgSpellBtnReplace" value="Replace" onClick="replace_word();">
+								</td>
+								<td>&nbsp;&nbsp;</td>
+								<td>
+									<input class="buttonDefault" type="button" fckLang="DlgSpellBtnReplaceAll" value="Replace All" onClick="replace_all();">
+								</td>
+							</tr>
+							<tr>
+								<td colspan="3" height="5"></td>
+							</tr>
+							<tr>
+								<td>
+									<input class="buttonDefault" type="button" name="btnUndo" fckLang="DlgSpellBtnUndo" value="Undo" onClick="undo();"
+										disabled>
+								</td>
+								<td>&nbsp;&nbsp;</td>
+								<td> 
+									<!-- by FredCK
+									<input class="buttonDefault" type="button" value="Close" onClick="end_spell();">
+									-->
+								</td>
+							</tr>
+						</table>
+					</td>
+				</tr>
+			</table>
+		</form>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.cfm
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.cfm	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.cfm	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,132 @@
+<!--- Coldfusion MX uses java on the server to process tags. So it is save to use most java attributes. For example below
+I use list.lastindexOf(), lastindexOf() is a java string attribute. If you plan on using this tag with earlier versions
+of Coldfusion, you will have to replace the lastindexOf with a pure coldfusion function. By replacing the lastindexOf, spellchecker.cfm
+script should be compatible with all cf version 4.5 and up.
+
+Also if you are hosting your site at an ISP, you will have to check with them to see if the use of <CFEXECUTE> is allowed. 
+In most cases ISP will not allow the use of that tag for security reasons. Clients would be able to access each others files in certain cases.
+ --->
+
+
+<!--- Set up variables --->
+<cfset tempFolder = "c:\test">
+<cfset tempfile = "spell_#randrange(1,1000)#">
+<cfset apsell_dir = "c:\aspell\bin">
+<!--- <cfset spellercss = "/speller/spellerStyle.css">		by FredCK --->
+<cfset spellercss = "../spellerStyle.css">
+<!--- <cfset word_win_src = "/speller/wordWindow.js">		by FredCK --->
+<cfset word_win_src = "../wordWindow.js">
+
+
+<!--- Takes care of those pesky smart quotes from MS apps, replaces them with regular quotes --->
+<cfset submitted_text = replacelist(form.checktext,"%u201C,%u201D","%22,%22")> 
+<cfset submitted_text = urlDecode(submitted_text)>
+
+
+
+
+<!--- need to escape special javascript characters such as ' --->
+<cfset unaltered_text = submitted_text>
+<cfset submitted_text = replace(submitted_text,"'","\'","All")>
+<cfset submitted_text = replace(submitted_text,"""","\""","All")>
+
+<!--- use carat on each line to escape possible aspell commands --->
+<cfset text = "">
+<cfloop list="#submitted_text#" index="idx" delimiters="#chr(10)##chr(13)#">
+	<cfset text =text&"^"&idx&"#chr(10)##chr(13)#">
+</cfloop>
+
+
+
+<!--- create temp file from the submitted text, this will be passed to aspell to be check for misspelled words --->
+<cffile action="write" file="#tempFolder#\#tempfile#.txt" output="#text#" charset="utf-8">
+
+
+<!--- cfsavecontent is used to set the variable that will be returned with the results from aspell.
+If your using the new version of mx 6.1 you can  use the following cfexecute tag instead:
+<cfexecute name="C:\WINDOWS\SYSTEM32\cmd.exe" arguments="/c type c:\test\#tempfile#.txt | c:\aspell\bin\aspell -a" timeout="100" variable="results"></cfexecute> --->
+
+<cfsavecontent variable="food">
+<cfexecute name="C:\WINDOWS\SYSTEM32\cmd.exe" arguments="/c type #tempFolder#\#tempfile#.txt | #apsell_dir#\aspell -a" timeout="100"></cfexecute>
+</cfsavecontent>
+
+<!--- remove temp file --->
+<cffile action="delete" file="#tempFolder#\#tempfile#.txt">
+
+
+
+
+<cfoutput>
+<html>
+<head>
+<link rel="stylesheet" type="text/css" href="speller/spellerStyle.css">
+<script src="/speller/wordWindow.js"></script>
+<script language="javascript">
+var suggs = new Array();
+var words = new Array();
+var error;
+var wordtext = unescape('#urlencodedFormat(unaltered_text)#');
+
+<cfset cnt = 1>
+<cfset word_cnt = 0>
+<cfloop list="#food#" index="list" delimiters="#chr(10)##chr(13)#">
+	<!--- removes the first line of the aspell output "@(#) International Ispell Version 3.1.20 (but really Aspell 0.50.3)" --->
+	<cfif NOT cnt EQ 1>
+		<cfif find("&",list) OR find("##",list)>
+			<!--- word that misspelled --->
+			<cfset bad_word = listGetAt(list,"2"," ")>
+			<!--- sugestions --->
+			<cfset wrdList = mid(list,(list.lastindexOf(':') + 2),(len(list) - (list.lastindexOf(':') + 2)))>
+			<cfset wrdsList = "">
+			<cfloop list=#wrdList# index="idx">
+				<cfset wrdsList =wrdsList&"'"&trim(replace(idx,"'","\'","All"))&"',">
+			</cfloop>
+			<!--- javascript --->
+			words[#word_cnt#] = '#trim(replace(bad_word,"'","\'","All"))#';
+			suggs[#word_cnt#] = [#trim(wrdsList)#];
+			<cfset word_cnt = word_cnt + 1>
+		<cfelseif find("*",list)>
+		</cfif>			
+	</cfif>
+	<cfset cnt = cnt + 1>
+</cfloop>
+
+
+
+
+
+
+var wordWindowObj = new wordWindow();
+wordWindowObj.originalSpellings = words;
+wordWindowObj.suggestions = suggs;
+wordWindowObj.text = wordtext;
+
+
+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 {
+			alert('This page was loaded outside of a frameset. It might not display properly');
+		}
+	}
+}
+
+
+
+</script>
+
+</head>
+<body onLoad="init_spell();">
+
+<script>
+wordWindowObj.writeBody();
+</script>
+
+</body>
+</html>
+</cfoutput>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.php
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.php	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.php	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,193 @@
+<?php
+header('Content-type: text/html; charset=utf-8');
+
+//$spellercss = '/speller/spellerStyle.css';	// by FredCK
+$spellercss = '../spellerStyle.css';			// by FredCK
+//$word_win_src = '/speller/wordWindow.js';		// by FredCK
+$word_win_src = '../wordWindow.js';				// by FredCK
+$textinputs = $_POST['textinputs']; # array
+//$aspell_prog = 'aspell';									// by FredCK (for Linux)
+$aspell_prog = '"C:\Program Files\Aspell\bin\aspell.exe"';	// by FredCK (for Windows)
+$lang = 'en_US';
+//$aspell_opts = "-a --lang=$lang --encoding=utf-8";	// by FredCK
+$aspell_opts = "-a --lang=$lang --encoding=utf-8 -H";	// by FredCK
+$tempfiledir = "./";
+$input_separator = "A";
+
+# set the JavaScript variable to the submitted text.
+# textinputs is an array, each element corresponding to the (url-encoded)
+# value of the text control submitted for spell-checking
+function print_textinputs_var() {
+	global $textinputs;
+	foreach( $textinputs as $key=>$val ) {
+		# $val = str_replace( "'", "%27", $val );
+		echo "textinputs[$key] = decodeURIComponent(\"" . $val . "\");\n";
+	}
+}
+
+# make declarations for the text input index
+function print_textindex_decl( $text_input_idx ) {
+	echo "words[$text_input_idx] = [];\n";
+	echo "suggs[$text_input_idx] = [];\n";
+}
+
+# set an element of the JavaScript 'words' array to a misspelled word
+function print_words_elem( $word, $index, $text_input_idx ) {
+	echo "words[$text_input_idx][$index] = '" . escape_quote( $word ) . "';\n";
+}
+
+
+# set an element of the JavaScript 'suggs' array to a list of suggestions
+function print_suggs_elem( $suggs, $index, $text_input_idx ) {
+	echo "suggs[$text_input_idx][$index] = [";
+	foreach( $suggs as $key=>$val ) {
+		if( $val ) {
+			echo "'" . escape_quote( $val ) . "'";
+			if ( $key+1 < count( $suggs )) {
+				echo ", ";
+			}
+		}
+	}
+	echo "];\n";
+}
+
+# escape single quote
+function escape_quote( $str ) {
+	return preg_replace ( "/'/", "\\'", $str );
+}
+
+
+# handle a server-side error.
+function error_handler( $err ) {
+	echo "error = '" . escape_quote( $err ) . "';\n";
+}
+
+## get the list of misspelled words. Put the results in the javascript words array
+## for each misspelled word, get suggestions and put in the javascript suggs array
+function print_checker_results() {
+
+	global $aspell_prog;
+	global $aspell_opts;
+	global $tempfiledir;
+	global $textinputs;
+	global $input_separator;
+	$aspell_err = "";
+	# create temp file
+	$tempfile = tempnam( $tempfiledir, 'aspell_data_' );
+
+	# open temp file, add the submitted text.
+	if( $fh = fopen( $tempfile, 'w' )) {
+		for( $i = 0; $i < count( $textinputs ); $i++ ) {
+			$text = urldecode( $textinputs[$i] );
+			$lines = explode( "\n", $text );
+			fwrite ( $fh, "%\n" ); # exit terse mode
+			fwrite ( $fh, "^$input_separator\n" );
+			fwrite ( $fh, "!\n" ); # enter terse mode
+			foreach( $lines as $key=>$value ) {
+				# use carat on each line to escape possible aspell commands
+				fwrite( $fh, "^$value\n" );
+			}
+		}
+		fclose( $fh );
+
+		# exec aspell command - redirect STDERR to STDOUT
+		$cmd = "$aspell_prog $aspell_opts < $tempfile 2>&1";
+		if( $aspellret = shell_exec( $cmd )) {
+			$linesout = explode( "\n", $aspellret );
+			$index = 0;
+			$text_input_index = -1;
+			# parse each line of aspell return
+			foreach( $linesout as $key=>$val ) {
+				$chardesc = substr( $val, 0, 1 );
+				# 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 '@' then version info
+				if( $chardesc == '&' || $chardesc == '#' ) {
+					$line = explode( " ", $val, 5 );
+					print_words_elem( $line[1], $index, $text_input_index );
+					if( isset( $line[4] )) {
+						$suggs = explode( ", ", $line[4] );
+					} else {
+						$suggs = array();
+					}
+					print_suggs_elem( $suggs, $index, $text_input_index );
+					$index++;
+				} elseif( $chardesc == '*' ) {
+					$text_input_index++;
+					print_textindex_decl( $text_input_index );
+					$index = 0;
+				} elseif( $chardesc != '@' && $chardesc != "" ) {
+					# assume this is error output
+					$aspell_err .= $val;
+				}
+			}
+			if( $aspell_err ) {
+				$aspell_err = "Error executing `$cmd`\\n$aspell_err";
+				error_handler( $aspell_err );
+			}
+		} else {
+			error_handler( "System error: Aspell program execution failed (`$cmd`)" );
+		}
+	} else {
+		error_handler( "System error: Could not open file '$tempfile' for writing" );
+	}
+
+	# close temp file, delete file
+	unlink( $tempfile );
+}
+
+
+?>
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link rel="stylesheet" type="text/css" href="<?php echo $spellercss ?>" />
+<script language="javascript" src="<?php echo $word_win_src ?>"></script>
+<script language="javascript">
+var suggs = new Array();
+var words = new Array();
+var textinputs = new Array();
+var error;
+<?php
+
+print_textinputs_var();
+
+print_checker_results();
+
+?>
+
+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 {
+			alert('This page was loaded outside of a frameset. It might not display properly');
+		}
+	}
+}
+
+
+
+</script>
+
+</head>
+<!-- <body onLoad="init_spell();">		by FredCK -->
+<body onLoad="init_spell();" bgcolor="#ffffff">
+
+<script type="text/javascript">
+wordWindowObj.writeBody();
+</script>
+
+</body>
+</html>
+

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.pl
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.pl	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.pl	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,180 @@
+#!/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";		# 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] );
+		@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
+

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellChecker.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellChecker.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellChecker.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,458 @@
+////////////////////////////////////////////////////
+// spellChecker.js
+//
+// spellChecker object
+//
+// This file is sourced on web pages that have a textarea object to evaluate
+// for spelling. It includes the implementation for the spellCheckObject.
+//
+////////////////////////////////////////////////////
+
+
+// constructor
+function spellChecker( textObject ) {
+
+	// public properties - configurable
+//	this.popUpUrl = '/speller/spellchecker.html';							// by FredCK
+	this.popUpUrl = 'fck_spellerpages/spellerpages/spellchecker.html';		// by FredCK
+	this.popUpName = 'spellchecker';
+//	this.popUpProps = "menu=no,width=440,height=350,top=70,left=120,resizable=yes,status=yes";	// by FredCK
+	this.popUpProps = null ;																	// by FredCK
+//	this.spellCheckScript = '/speller/server-scripts/spellchecker.php';		// by FredCK
+	this.spellCheckScript = 'server-scripts/spellchecker.php';				// by FredCK
+	//this.spellCheckScript = '/cgi-bin/spellchecker.pl';
+
+	// values used to keep track of what happened to a word
+	this.replWordFlag = "R";	// single replace
+	this.ignrWordFlag = "I";	// single ignore
+	this.replAllFlag = "RA";	// replace all occurances
+	this.ignrAllFlag = "IA";	// ignore all occurances
+	this.fromReplAll = "~RA";	// an occurance of a "replace all" word
+	this.fromIgnrAll = "~IA";	// an occurance of a "ignore all" word
+	// properties set at run time
+	this.wordFlags = new Array();
+	this.currentTextIndex = 0;
+	this.currentWordIndex = 0;
+	this.spellCheckerWin = null;
+	this.controlWin = null;
+	this.wordWin = null;
+	this.textArea = textObject;	// deprecated
+	this.textInputs = arguments; 
+
+	// private methods
+	this._spellcheck = _spellcheck;
+	this._getSuggestions = _getSuggestions;
+	this._setAsIgnored = _setAsIgnored;
+	this._getTotalReplaced = _getTotalReplaced;
+	this._setWordText = _setWordText;
+	this._getFormInputs = _getFormInputs;
+
+	// public methods
+	this.openChecker = openChecker;
+	this.startCheck = startCheck;
+	this.checkTextBoxes = checkTextBoxes;
+	this.checkTextAreas = checkTextAreas;
+	this.spellCheckAll = spellCheckAll;
+	this.ignoreWord = ignoreWord;
+	this.ignoreAll = ignoreAll;
+	this.replaceWord = replaceWord;
+	this.replaceAll = replaceAll;
+	this.terminateSpell = terminateSpell;
+	this.undo = undo;
+
+	// set the current window's "speller" property to the instance of this class.
+	// this object can now be referenced by child windows/frames.
+	window.speller = this;
+}
+
+// call this method to check all text boxes (and only text boxes) in the HTML document
+function checkTextBoxes() {
+	this.textInputs = this._getFormInputs( "^text$" );
+	this.openChecker();
+}
+
+// call this method to check all textareas (and only textareas ) in the HTML document
+function checkTextAreas() {
+	this.textInputs = this._getFormInputs( "^textarea$" );
+	this.openChecker();
+}
+
+// call this method to check all text boxes and textareas in the HTML document
+function spellCheckAll() {
+	this.textInputs = this._getFormInputs( "^text(area)?$" );
+	this.openChecker();
+}
+
+// call this method to check text boxe(s) and/or textarea(s) that were passed in to the
+// object's constructor or to the textInputs property
+function openChecker() {
+	this.spellCheckerWin = window.open( this.popUpUrl, this.popUpName, this.popUpProps );
+	if( !this.spellCheckerWin.opener ) {
+		this.spellCheckerWin.opener = window;
+	}
+}
+
+function startCheck( wordWindowObj, controlWindowObj ) {
+
+	// set properties from args
+	this.wordWin = wordWindowObj;
+	this.controlWin = controlWindowObj;
+	
+	// reset properties
+	this.wordWin.resetForm();
+	this.controlWin.resetForm();
+	this.currentTextIndex = 0;
+	this.currentWordIndex = 0;
+	// initialize the flags to an array - one element for each text input
+	this.wordFlags = new Array( this.wordWin.textInputs.length );
+	// each element will be an array that keeps track of each word in the text
+	for( var i=0; i<this.wordFlags.length; i++ ) {
+		this.wordFlags[i] = [];
+	}
+
+	// start
+	this._spellcheck();
+	
+	return true;
+}
+
+function ignoreWord() {
+	var wi = this.currentWordIndex;
+	var ti = this.currentTextIndex;
+	if( !this.wordWin ) {
+		alert( 'Error: Word frame not available.' );
+		return false;
+	}
+	if( !this.wordWin.getTextVal( ti, wi )) {
+		alert( 'Error: "Not in dictionary" text is missing.' );
+		return false;
+	}
+	// set as ignored
+	if( this._setAsIgnored( ti, wi, this.ignrWordFlag )) {
+		this.currentWordIndex++;
+		this._spellcheck();
+	}
+}
+
+function ignoreAll() {
+	var wi = this.currentWordIndex;
+	var ti = this.currentTextIndex;
+	if( !this.wordWin ) {
+		alert( 'Error: Word frame not available.' );
+		return false;
+	}
+	// get the word that is currently being evaluated.
+	var s_word_to_repl = this.wordWin.getTextVal( ti, wi );
+	if( !s_word_to_repl ) {
+		alert( 'Error: "Not in dictionary" text is missing' );
+		return false;
+	}
+
+	// set this word as an "ignore all" word. 
+	this._setAsIgnored( ti, wi, this.ignrAllFlag );
+
+	// loop through all the words after this word
+	for( var i = ti; i < this.wordWin.textInputs.length; i++ ) {
+		for( var j = 0; j < this.wordWin.totalWords( i ); j++ ) {
+			if(( i == ti && j > wi ) || i > ti ) {
+				// future word: set as "from ignore all" if
+				// 1) do not already have a flag and 
+				// 2) have the same value as current word
+				if(( this.wordWin.getTextVal( i, j ) == s_word_to_repl )
+				&& ( !this.wordFlags[i][j] )) {
+					this._setAsIgnored( i, j, this.fromIgnrAll );
+				}
+			}
+		}
+	}
+
+	// finally, move on
+	this.currentWordIndex++;
+	this._spellcheck();
+}
+
+function replaceWord() {
+	var wi = this.currentWordIndex;
+	var ti = this.currentTextIndex;
+	if( !this.wordWin ) {
+		alert( 'Error: Word frame not available.' );
+		return false;
+	}
+	if( !this.wordWin.getTextVal( ti, wi )) {
+		alert( 'Error: "Not in dictionary" text is missing' );
+		return false;
+	}
+	if( !this.controlWin.replacementText ) {
+		return;
+	}
+	var txt = this.controlWin.replacementText;
+	if( txt.value ) {
+		var newspell = new String( txt.value );
+		if( this._setWordText( ti, wi, newspell, this.replWordFlag )) {
+			this.currentWordIndex++;
+			this._spellcheck();
+		}
+	}
+}
+
+function replaceAll() {
+	var ti = this.currentTextIndex;
+	var wi = this.currentWordIndex;
+	if( !this.wordWin ) {
+		alert( 'Error: Word frame not available.' );
+		return false;
+	}
+	var s_word_to_repl = this.wordWin.getTextVal( ti, wi );
+	if( !s_word_to_repl ) {
+		alert( 'Error: "Not in dictionary" text is missing' );
+		return false;
+	}
+	var txt = this.controlWin.replacementText;
+	if( !txt.value ) return;
+	var newspell = new String( txt.value );
+
+	// set this word as a "replace all" word. 
+	this._setWordText( ti, wi, newspell, this.replAllFlag );
+
+	// loop through all the words after this word
+	for( var i = ti; i < this.wordWin.textInputs.length; i++ ) {
+		for( var j = 0; j < this.wordWin.totalWords( i ); j++ ) {
+			if(( i == ti && j > wi ) || i > ti ) {
+				// future word: set word text to s_word_to_repl if
+				// 1) do not already have a flag and 
+				// 2) have the same value as s_word_to_repl
+				if(( this.wordWin.getTextVal( i, j ) == s_word_to_repl )
+				&& ( !this.wordFlags[i][j] )) {
+					this._setWordText( i, j, newspell, this.fromReplAll );
+				}
+			}
+		}
+	}
+	
+	// finally, move on
+	this.currentWordIndex++;
+	this._spellcheck();
+}
+
+function terminateSpell() {
+	// called when we have reached the end of the spell checking.
+	var msg = "";		// by FredCK
+	var numrepl = this._getTotalReplaced();
+	if( numrepl == 0 ) {
+		// see if there were no misspellings to begin with
+		if( !this.wordWin ) {
+			msg = "";
+		} else {
+			if( this.wordWin.totalMisspellings() ) {
+//				msg += "No words changed.";			// by FredCK
+				msg += FCKLang.DlgSpellNoChanges ;	// by FredCK
+			} else {
+//				msg += "No misspellings found.";	// by FredCK
+				msg += FCKLang.DlgSpellNoMispell ;	// by FredCK
+			}
+		}
+	} else if( numrepl == 1 ) {
+//		msg += "One word changed.";			// by FredCK
+		msg += FCKLang.DlgSpellOneChange ;	// by FredCK
+	} else {
+//		msg += numrepl + " words changed.";	// by FredCK
+		msg += FCKLang.DlgSpellManyChanges.replace( /%1/g, numrepl ) ;
+	}
+	if( msg ) {
+//		msg += "\n";	// by FredCK
+		alert( msg );
+	}
+
+	if( numrepl > 0 ) {
+		// update the text field(s) on the opener window
+		for( var i = 0; i < this.textInputs.length; i++ ) {
+			// this.textArea.value = this.wordWin.text;
+			if( this.wordWin ) {
+				if( this.wordWin.textInputs[i] ) {
+					this.textInputs[i].value = this.wordWin.textInputs[i];
+				}
+			}
+		}
+	}
+
+	// return back to the calling window
+//	this.spellCheckerWin.close();					// by FredCK
+	if ( typeof( this.OnFinished ) == 'function' )	// by FredCK
+		this.OnFinished(numrepl) ;					// by FredCK
+
+	return true;
+}
+
+function undo() {
+	// skip if this is the first word!
+	var ti = this.currentTextIndex;
+	var wi = this.currentWordIndex
+	
+	if( this.wordWin.totalPreviousWords( ti, wi ) > 0 ) {
+		this.wordWin.removeFocus( ti, wi );
+
+		// go back to the last word index that was acted upon 
+		do {
+			// if the current word index is zero then reset the seed
+			if( this.currentWordIndex == 0 && this.currentTextIndex > 0 ) {
+				this.currentTextIndex--;
+				this.currentWordIndex = this.wordWin.totalWords( this.currentTextIndex )-1;
+				if( this.currentWordIndex < 0 ) this.currentWordIndex = 0;
+			} else {
+				if( this.currentWordIndex > 0 ) {
+					this.currentWordIndex--;
+				}
+			}
+		} while ( 
+			this.wordWin.totalWords( this.currentTextIndex ) == 0
+			|| this.wordFlags[this.currentTextIndex][this.currentWordIndex] == this.fromIgnrAll
+			|| this.wordFlags[this.currentTextIndex][this.currentWordIndex] == this.fromReplAll
+		); 
+
+		var text_idx = this.currentTextIndex;
+		var idx = this.currentWordIndex;
+		var preReplSpell = this.wordWin.originalSpellings[text_idx][idx];
+		
+		// if we got back to the first word then set the Undo button back to disabled
+		if( this.wordWin.totalPreviousWords( text_idx, idx ) == 0 ) {
+			this.controlWin.disableUndo();
+		}
+	
+		// examine what happened to this current word.
+		switch( this.wordFlags[text_idx][idx] ) {
+			// replace all: go through this and all the future occurances of the word 
+			// and revert them all to the original spelling and clear their flags
+			case this.replAllFlag :
+				for( var i = text_idx; i < this.wordWin.textInputs.length; i++ ) {
+					for( var j = 0; j < this.wordWin.totalWords( i ); j++ ) {
+						if(( i == text_idx && j >= idx ) || i > text_idx ) {
+							var origSpell = this.wordWin.originalSpellings[i][j];
+							if( origSpell == preReplSpell ) {
+								this._setWordText ( i, j, origSpell, undefined );
+							}
+						}
+					}
+				}
+				break;
+				
+			// ignore all: go through all the future occurances of the word 
+			// and clear their flags
+			case this.ignrAllFlag :
+				for( var i = text_idx; i < this.wordWin.textInputs.length; i++ ) {
+					for( var j = 0; j < this.wordWin.totalWords( i ); j++ ) {
+						if(( i == text_idx && j >= idx ) || i > text_idx ) {
+							var origSpell = this.wordWin.originalSpellings[i][j];
+							if( origSpell == preReplSpell ) {
+								this.wordFlags[i][j] = undefined; 
+							}
+						}
+					}
+				}
+				break;
+				
+			// replace: revert the word to its original spelling
+			case this.replWordFlag :
+				this._setWordText ( text_idx, idx, preReplSpell, undefined );
+				break;
+		}
+
+		// For all four cases, clear the wordFlag of this word. re-start the process
+		this.wordFlags[text_idx][idx] = undefined; 
+		this._spellcheck();
+	}
+}
+
+function _spellcheck() {
+	var ww = this.wordWin;
+	
+	// check if this is the last word in the current text element
+	if( this.currentWordIndex == ww.totalWords( this.currentTextIndex) ) {
+		this.currentTextIndex++;
+		this.currentWordIndex = 0;
+		// keep going if we're not yet past the last text element
+		if( this.currentTextIndex < this.wordWin.textInputs.length ) {	
+			this._spellcheck();
+			return;
+		} else {
+			this.terminateSpell();
+			return;
+		}
+	}
+	
+	// if this is after the first one make sure the Undo button is enabled
+	if( this.currentWordIndex > 0 ) {
+		this.controlWin.enableUndo();
+	}
+
+	// skip the current word if it has already been worked on
+	if( this.wordFlags[this.currentTextIndex][this.currentWordIndex] ) {
+		// increment the global current word index and move on.
+		this.currentWordIndex++;
+		this._spellcheck();
+	} else {
+		var evalText = ww.getTextVal( this.currentTextIndex, this.currentWordIndex );
+		if( evalText ) {
+			this.controlWin.evaluatedText.value = evalText;
+			ww.setFocus( this.currentTextIndex, this.currentWordIndex );
+			this._getSuggestions( this.currentTextIndex, this.currentWordIndex );
+		}
+	}
+}
+
+function _getSuggestions( text_num, word_num ) {
+	this.controlWin.clearSuggestions();
+	// add suggestion in list for each suggested word.
+	// get the array of suggested words out of the
+	// three-dimensional array containing all suggestions.
+	var a_suggests = this.wordWin.suggestions[text_num][word_num];	
+	if( a_suggests ) {
+		// got an array of suggestions.
+		for( var ii = 0; ii < a_suggests.length; ii++ ) {	
+			this.controlWin.addSuggestion( a_suggests[ii] );
+		}
+	}
+	this.controlWin.selectDefaultSuggestion();
+}
+
+function _setAsIgnored( text_num, word_num, flag ) {
+	// set the UI
+	this.wordWin.removeFocus( text_num, word_num );
+	// do the bookkeeping
+	this.wordFlags[text_num][word_num] = flag;
+	return true;
+}
+
+function _getTotalReplaced() {
+	var i_replaced = 0;
+	for( var i = 0; i < this.wordFlags.length; i++ ) {
+		for( var j = 0; j < this.wordFlags[i].length; j++ ) {
+			if(( this.wordFlags[i][j] == this.replWordFlag )
+			|| ( this.wordFlags[i][j] == this.replAllFlag )
+			|| ( this.wordFlags[i][j] == this.fromReplAll )) {
+				i_replaced++;
+			}
+		}
+	}
+	return i_replaced;
+}
+
+function _setWordText( text_num, word_num, newText, flag ) {
+	// set the UI and form inputs
+	this.wordWin.setText( text_num, word_num, newText );
+	// keep track of what happened to this word:
+	this.wordFlags[text_num][word_num] = flag;
+	return true;
+}
+
+function _getFormInputs( inputPattern ) {
+	var inputs = new Array();
+	for( var i = 0; i < document.forms.length; i++ ) {
+		for( var j = 0; j < document.forms[i].elements.length; j++ ) {
+			if( document.forms[i].elements[j].type.match( inputPattern )) {
+				inputs[inputs.length] = document.forms[i].elements[j]; 
+			}	
+		}
+	}
+	return inputs;
+}
+

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellchecker.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellchecker.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellchecker.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,71 @@
+
+<script>
+
+var wordWindow = null;
+var controlWindow = null;
+
+function init_spell( spellerWindow ) {
+
+	if( spellerWindow ) {
+		if( spellerWindow.windowType == "wordWindow" ) {
+			wordWindow = spellerWindow;
+		} else if ( spellerWindow.windowType == "controlWindow" ) {
+			controlWindow = spellerWindow;
+		}
+	}
+
+	if( controlWindow && wordWindow ) {
+		// populate the speller object and start it off!
+		var speller = opener.speller;
+		wordWindow.speller = speller;
+		speller.startCheck( wordWindow, controlWindow );
+	}
+}
+
+// encodeForPost
+function encodeForPost( str ) {
+	var s = new String( str );
+	s = encodeURIComponent( s );
+	// additionally encode single quotes to evade any PHP 
+	// magic_quotes_gpc setting (it inserts escape characters and 
+	// therefore skews the btye positions of misspelled words)
+	return s.replace( /\'/g, '%27' );
+}
+
+// post the text area data to the script that populates the speller
+function postWords() {
+	var bodyDoc = window.frames[0].document;
+	bodyDoc.open();
+	bodyDoc.write('<html>');
+	bodyDoc.write('<meta http-equiv="Content-Type" content="text/html; charset=utf-8">');
+	bodyDoc.write('<link rel="stylesheet" type="text/css" href="spellerStyle.css"/>');
+	if (opener) {
+		var speller = opener.speller;
+		bodyDoc.write('<body class="normalText" onLoad="document.forms[0].submit();">');
+		bodyDoc.write('<p>' + window.parent.FCKLang.DlgSpellProgress + '<\/p>');		// by FredCK
+		bodyDoc.write('<form action="'+speller.spellCheckScript+'" method="post">');
+		for( var i = 0; i < speller.textInputs.length; i++ ) {
+			bodyDoc.write('<input type="hidden" name="textinputs[]" value="'+encodeForPost(speller.textInputs[i].value)+'">');
+		}
+		bodyDoc.write('<\/form>');
+		bodyDoc.write('<\/body>');
+	} else {
+		bodyDoc.write('<body class="normalText">');
+		bodyDoc.write('<p><b>This page cannot be displayed<\/b><\/p><p>The window was not opened from another window.<\/p>');
+		bodyDoc.write('<\/body>');
+	}
+	bodyDoc.write('<\/html>');
+	bodyDoc.close();
+}
+</script>
+
+<html>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<head>
+<title>Speller Pages</title>
+</head>
+<frameset rows="*,201" onLoad="postWords();">
+<frame src="blank.html">
+<frame src="controls.html">
+</frameset>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellerStyle.css
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellerStyle.css	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellerStyle.css	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,49 @@
+.blend {
+	font-family: courier new;
+	font-size: 10pt;
+	border: 0;
+	margin-bottom:-1;
+}
+.normalLabel {
+	font-size:8pt;
+}
+.normalText {
+	font-family:arial, helvetica, sans-serif;
+	font-size:10pt;
+	color:000000;
+	background-color:FFFFFF;
+}
+.plainText {
+	font-family: courier new, courier, monospace;
+	font-size: 10pt;
+	color:000000;
+	background-color:FFFFFF;
+}
+.controlWindowBody {
+	font-family:arial, helvetica, sans-serif;
+	font-size:8pt;
+	padding: 7px ;		/* by FredCK */
+	margin: 0px ;		/* by FredCK */
+	/* color:000000;				by FredCK */
+	/* background-color:DADADA;		by FredCK */
+}
+.readonlyInput {
+	background-color:DADADA;
+	color:000000;
+	font-size:8pt;
+	width:392px;
+}
+.textDefault {
+	font-size:8pt;
+	width: 200px;
+}
+.buttonDefault {
+	width:90px;
+	height:22px;
+	font-size:8pt;
+}
+.suggSlct {
+	width:200px;
+	margin-top:2;
+	font-size:8pt;
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_spellerpages/spellerpages/wordWindow.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_spellerpages/spellerpages/wordWindow.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_spellerpages/spellerpages/wordWindow.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,271 @@
+////////////////////////////////////////////////////
+// wordWindow object
+////////////////////////////////////////////////////
+function wordWindow() {
+	// private properties
+	this._forms = [];
+
+	// private methods
+	this._getWordObject = _getWordObject;
+	//this._getSpellerObject = _getSpellerObject;
+	this._wordInputStr = _wordInputStr;
+	this._adjustIndexes = _adjustIndexes;
+	this._isWordChar = _isWordChar;
+	this._lastPos = _lastPos;
+	
+	// public properties
+	this.wordChar = /[a-zA-Z]/;
+	this.windowType = "wordWindow";
+	this.originalSpellings = new Array();
+	this.suggestions = new Array();
+	this.checkWordBgColor = "pink";
+	this.normWordBgColor = "white";
+	this.text = "";
+	this.textInputs = new Array();
+	this.indexes = new Array();
+	//this.speller = this._getSpellerObject();
+
+	// public methods
+	this.resetForm = resetForm;
+	this.totalMisspellings = totalMisspellings;
+	this.totalWords = totalWords;
+	this.totalPreviousWords = totalPreviousWords;
+	//this.getTextObjectArray = getTextObjectArray;
+	this.getTextVal = getTextVal;
+	this.setFocus = setFocus;
+	this.removeFocus = removeFocus;
+	this.setText = setText;
+	//this.getTotalWords = getTotalWords;
+	this.writeBody = writeBody;
+	this.printForHtml = printForHtml;
+}
+
+function resetForm() {
+	if( this._forms ) {
+		for( var i = 0; i < this._forms.length; i++ ) {
+			this._forms[i].reset();
+		}
+	}
+	return true;
+}
+
+function totalMisspellings() {
+	var total_words = 0;
+	for( var i = 0; i < this.textInputs.length; i++ ) {
+		total_words += this.totalWords( i );
+	}
+	return total_words;
+}
+
+function totalWords( textIndex ) {
+	return this.originalSpellings[textIndex].length;
+}
+
+function totalPreviousWords( textIndex, wordIndex ) {
+	var total_words = 0;
+	for( var i = 0; i <= textIndex; i++ ) {
+		for( var j = 0; j < this.totalWords( i ); j++ ) {
+			if( i == textIndex && j == wordIndex ) {
+				break;
+			} else {
+				total_words++;
+			}	
+		}
+	}
+	return total_words;
+}
+
+//function getTextObjectArray() {
+//	return this._form.elements;
+//}
+
+function getTextVal( textIndex, wordIndex ) {
+	var word = this._getWordObject( textIndex, wordIndex );
+	if( word ) {
+		return word.value;
+	}
+}
+
+function setFocus( textIndex, wordIndex ) {
+	var word = this._getWordObject( textIndex, wordIndex );
+	if( word ) {
+		if( word.type == "text" ) {
+			word.focus();
+			word.style.backgroundColor = this.checkWordBgColor;
+		}
+	}
+}
+
+function removeFocus( textIndex, wordIndex ) {
+	var word = this._getWordObject( textIndex, wordIndex );
+	if( word ) {
+		if( word.type == "text" ) {
+			word.blur();
+			word.style.backgroundColor = this.normWordBgColor;
+		}
+	}
+}
+
+function setText( textIndex, wordIndex, newText ) {
+	var word = this._getWordObject( textIndex, wordIndex );
+	var beginStr;
+	var endStr;
+	if( word ) {
+		var pos = this.indexes[textIndex][wordIndex];
+		var oldText = word.value;
+		// update the text given the index of the string
+		beginStr = this.textInputs[textIndex].substring( 0, pos );
+		endStr = this.textInputs[textIndex].substring( 
+			pos + oldText.length, 
+			this.textInputs[textIndex].length 
+		);
+		this.textInputs[textIndex] = beginStr + newText + endStr;
+		
+		// adjust the indexes on the stack given the differences in 
+		// length between the new word and old word. 
+		var lengthDiff = newText.length - oldText.length;
+		this._adjustIndexes( textIndex, wordIndex, lengthDiff );
+		
+		word.size = newText.length;
+		word.value = newText;
+		this.removeFocus( textIndex, wordIndex );
+	}
+}
+
+
+function writeBody() {
+	var d = window.document;
+	var is_html = false;
+
+	d.open();
+
+	// iterate through each text input.
+	for( var txtid = 0; txtid < this.textInputs.length; txtid++ ) {	
+		var end_idx = 0;
+		var begin_idx = 0;	
+		d.writeln( '<form name="textInput'+txtid+'">' );
+		var wordtxt = this.textInputs[txtid];
+		this.indexes[txtid] = [];
+
+		if( wordtxt ) {			
+			var orig = this.originalSpellings[txtid];
+			if( !orig ) break;
+
+			//!!! plain text, or HTML mode?
+			d.writeln( '<div class="plainText">' );
+			// iterate through each occurrence of a misspelled word. 
+			for( var i = 0; i < orig.length; i++ ) {
+				// find the position of the current misspelled word,
+				// starting at the last misspelled word. 
+				// and keep looking if it's a substring of another word
+				do {
+					begin_idx = wordtxt.indexOf( orig[i], end_idx );
+					end_idx = begin_idx + orig[i].length;
+					// word not found? messed up!
+					if( begin_idx == -1 ) break; 
+					// look at the characters immediately before and after 
+					// the word. If they are word characters we'll keep looking.
+					var before_char = wordtxt.charAt( begin_idx - 1 );
+					var after_char = wordtxt.charAt( end_idx );
+				} while ( 
+					this._isWordChar( before_char ) 
+					|| this._isWordChar( after_char )
+				);
+
+				// keep track of its position in the original text. 
+				this.indexes[txtid][i] = begin_idx;
+
+				// write out the characters before the current misspelled word
+				for( var j = this._lastPos( txtid, i ); j < begin_idx; j++ ) {
+					// !!! html mode? make it html compatible
+					d.write( this.printForHtml( wordtxt.charAt( j )));
+				}
+
+				// write out the misspelled word. 
+				d.write( this._wordInputStr( orig[i] ));
+
+				// if it's the last word, write out the rest of the text
+				if( i == orig.length-1 ){
+					d.write( printForHtml( wordtxt.substr( end_idx )));
+				}			
+			}
+
+			d.writeln( '</div>' );
+			
+		}
+		d.writeln( '</form>' );
+	}
+	//for ( var j = 0; j < d.forms.length; j++ ) {
+	//	alert( d.forms[j].name );
+	//	for( var k = 0; k < d.forms[j].elements.length; k++ ) {
+	//		alert( d.forms[j].elements[k].name + ": " + d.forms[j].elements[k].value );
+	//	}
+	//}	
+	
+	// set the _forms property
+	this._forms = d.forms;
+	d.close();
+}
+
+// return the character index in the full text after the last word we evaluated
+function _lastPos( txtid, idx ) {
+	if( idx > 0 )
+		return this.indexes[txtid][idx-1] + this.originalSpellings[txtid][idx-1].length;
+	else
+		return 0;
+}
+
+function printForHtml( n ) {
+	return n ;		// by FredCK
+	
+	var htmlstr = n;
+	if( htmlstr.length == 1 ) {
+		// do simple case statement if it's just one character
+		switch ( n ) {
+			case "\n":
+				htmlstr = '<br/>';
+				break;
+			case "<":
+				htmlstr = '&lt;';
+				break;
+			case ">":
+				htmlstr = '&gt;';
+				break;
+		}
+		return htmlstr;
+	} else {
+		htmlstr = htmlstr.replace( /</g, '&lt' );
+		htmlstr = htmlstr.replace( />/g, '&gt' );
+		htmlstr = htmlstr.replace( /\n/g, '<br/>' );
+		return htmlstr;
+	}
+}
+
+function _isWordChar( letter ) {
+	if( letter.search( this.wordChar ) == -1 ) {
+		return false;
+	} else {
+		return true;
+	}
+}
+
+function _getWordObject( textIndex, wordIndex ) {
+	if( this._forms[textIndex] ) {
+		if( this._forms[textIndex].elements[wordIndex] ) {
+			return this._forms[textIndex].elements[wordIndex];
+		}
+	}
+	return null;
+}
+
+function _wordInputStr( word ) {
+	var str = '<input readonly ';
+	str += 'class="blend" type="text" value="' + word + '" size="' + word.length + '">';
+	return str;
+}
+
+function _adjustIndexes( textIndex, wordIndex, lengthDiff ) {
+	for( var i = wordIndex + 1; i < this.originalSpellings[textIndex].length; i++ ) {
+		this.indexes[textIndex][i] = this.indexes[textIndex][i] + lengthDiff;
+	}
+}

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_spellerpages.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_spellerpages.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_spellerpages.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,59 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_spellerpages.html
+ * 	Spell Check dialog window.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<html>
+	<head>
+		<title>Spell Check</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta content="noindex, nofollow" name="robots">
+		<script src="fck_spellerpages/spellerpages/spellChecker.js"></script>
+		<script type="text/javascript">
+
+var oEditor = window.parent.InnerDialogLoaded() ;
+var FCKLang = oEditor.FCKLang ;
+
+window.onload = function()
+{
+	document.getElementById('txtHtml').value = oEditor.FCK.GetHTML() ;
+
+	var oSpeller = new spellChecker( document.getElementById('txtHtml') ) ;
+	oSpeller.OnFinished = oSpeller_OnFinished ;
+	oSpeller.openChecker() ;
+}
+
+function OnSpellerControlsLoad( controlsWindow )
+{
+	// Translate the dialog box texts
+	oEditor.FCKLanguageManager.TranslatePage( controlsWindow.document ) ;
+}
+
+function oSpeller_OnFinished( numberOCorrections )
+{
+	if ( numberOCorrections > 0 )
+		oEditor.FCK.SetHTML( document.getElementById('txtHtml').value ) ;
+	window.parent.Cancel() ;
+}
+
+		</script>
+	</head>
+	<body style="OVERFLOW: hidden" scroll="no" style="padding:0px;">
+		<input type="hidden" id="txtHtml" value="">
+		<iframe id="frmSpell" src="../fckblank.html" name="spellchecker" width="100%" height="100%" frameborder="no"></iframe>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_table.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_table.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_table.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,274 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_table.html
+ * 	Table dialog window.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
+<html>
+	<head>
+		<title>Table Properties</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+		<meta name="robots" content="noindex, nofollow" />
+		<script type="text/javascript">
+
+var oEditor = window.parent.InnerDialogLoaded() ;
+
+// Gets the document DOM
+var oDOM = oEditor.FCK.EditorDocument ;
+
+// Gets the table if there is one selected.
+var table ;
+var e = oEditor.FCKSelection.GetSelectedElement() ;
+
+if ( ! e && document.location.search.substr(1) == 'Parent' )
+	e = oEditor.FCKSelection.MoveToAncestorNode( 'TABLE' ) ;
+
+if ( e && e.tagName == "TABLE" )
+	table = e ;
+
+// Fired when the window loading process is finished. It sets the fields with the
+// actual values if a table is selected in the editor.
+window.onload = function()
+{
+	// First of all, translate the dialog box texts
+	oEditor.FCKLanguageManager.TranslatePage(document) ;
+
+	if (table)
+	{
+		document.getElementById('txtRows').value    = table.rows.length ;
+		document.getElementById('txtColumns').value = table.rows[0].cells.length ;
+
+		// Gets the value from the Width or the Style attribute
+		var iWidth  = (table.style.width  ? table.style.width  : table.width ) ;
+		var iHeight = (table.style.height ? table.style.height : table.height ) ;
+
+		if (iWidth.indexOf('%') >= 0)			// Percentual = %
+		{
+			iWidth = parseInt( iWidth.substr(0,iWidth.length - 1) ) ;
+			document.getElementById('selWidthType').value = "percent" ;
+		}
+		else if (iWidth.indexOf('px') >= 0)		// Style Pixel = px
+		{																										  //
+			iWidth = iWidth.substr(0,iWidth.length - 2);
+			document.getElementById('selWidthType').value = "pixels" ;
+		}
+		
+		if (iHeight && iHeight.indexOf('px') >= 0)		// Style Pixel = px
+			iHeight = iHeight.substr(0,iHeight.length - 2);
+		
+		document.getElementById('txtWidth').value		= iWidth ;
+		document.getElementById('txtHeight').value		= iHeight ;
+		document.getElementById('txtBorder').value		= table.border ;
+		document.getElementById('selAlignment').value	= table.align ;
+		document.getElementById('txtCellPadding').value	= table.cellPadding	;
+		document.getElementById('txtCellSpacing').value	= table.cellSpacing	;
+//		document.getElementById('cmbFontStyle').value	= table.className ;
+
+		if (table.caption) document.getElementById('txtCaption').value = table.caption.innerHTML ;
+		
+		document.getElementById('txtRows').disabled    = true ;
+		document.getElementById('txtColumns').disabled = true ;
+	}
+	
+	window.parent.SetOkButton( true ) ;	
+	window.parent.SetAutoSize( true ) ;	
+}
+
+// Fired when the user press the OK button
+function Ok()
+{
+	var bExists = ( table != null ) ;
+	
+	if ( ! bExists )
+	{
+		table = document.createElement( "TABLE" ) ;
+	}
+
+	// Removes the Width and Height styles
+	if ( bExists && table.style.width )		table.style.width = null ; //.removeAttribute("width") ;
+	if ( bExists && table.style.height )	table.style.height = null ; //.removeAttribute("height") ;
+	
+	table.width			= document.getElementById('txtWidth').value + ( document.getElementById('selWidthType').value == "percent" ? "%" : "") ;
+	table.height		= document.getElementById('txtHeight').value ;
+	table.border		= document.getElementById('txtBorder').value ;
+	table.align			= document.getElementById('selAlignment').value ;
+	table.cellPadding	= document.getElementById('txtCellPadding').value ;
+	table.cellSpacing	= document.getElementById('txtCellSpacing').value ;
+//	table.className		= cmbFontStyle.value ;
+	
+	if ( document.getElementById('txtCaption').value != '')
+	{
+		if (! table.caption) table.createCaption() ;
+		table.caption.innerHTML = document.getElementById('txtCaption').value ;
+	}
+	else if ( bExists && table.caption )
+	{
+		if ( document.all )
+			table.caption.innerHTML = '' ;	// TODO: It causes an IE internal error if using removeChild.
+		else
+			table.caption.parentNode.removeChild( table.caption ) ;
+	}
+		
+	if (! bExists)
+	{
+		var iRows = document.getElementById('txtRows').value ;
+		var iCols = document.getElementById('txtColumns').value ;
+		
+		for ( var r = 0 ; r < iRows ; r++ )
+		{
+			var oRow = table.insertRow(-1) ;
+			for ( var c = 0 ; c < iCols ; c++ )
+			{
+				var oCell = oRow.insertCell(-1) ;
+				if ( oEditor.FCKBrowserInfo.IsGecko )
+					oCell.innerHTML = '<br _moz_editor_bogus_node="TRUE">' ;
+				//oCell.innerHTML = "&nbsp;" ;
+			}
+		}
+		
+		oEditor.FCKUndo.SaveUndoStep() ;
+		
+		// START iCM MODIFICATIONS	
+		// Amended to ensure that newly inserted tables are not incorrectly nested in P tags, etc
+		// We insert the table first and then rectify any nestings afterwards so we can re-use the
+		// FCKTablesProcessor function that corrects tables on SetHTML()
+		/*
+		table = oEditor.FCK.InsertElementAndGetIt( table ) ;
+		if ( !oEditor.FCKConfig.UseBROnCarriageReturn )
+		{
+			oEditor.FCKTablesProcessor.CheckTableNesting( table ) ;
+		}
+		*/
+		// END iCM MODIFICATIONS	
+		
+		oEditor.FCK.InsertElement( table ) ;
+	}
+	
+	return true ;
+}
+
+function IsDigit( e )
+{
+	e = e || event ;
+	var iCode = ( e.keyCode || e.charCode ) ;
+	return 
+		(
+			( iCode >= 48 && iCode <= 57 )		// Numbers
+			|| (iCode >= 37 && iCode <= 40)		// Arrows
+			|| iCode == 8		// Backspace
+			|| iCode == 46		// Delete
+		) ;
+}
+
+		</script>
+	</head>
+	<body bottommargin="5" leftmargin="5" topmargin="5" rightmargin="5" scroll="no" style="OVERFLOW: hidden">
+		<table id="otable" cellSpacing="0" cellPadding="0" width="100%" border="0" height="100%">
+			<tr>
+				<td>
+					<table cellSpacing="1" cellPadding="1" width="100%" border="0">
+						<tr>
+							<td valign="top">
+								<table cellSpacing="0" cellPadding="0" border="0">
+									<tr>
+										<td><span fckLang="DlgTableRows">Rows</span>:</td>
+										<td>&nbsp;<input id="txtRows" type="text" maxLength="3" size="2" value="3" name="txtRows" onkeypress="return IsDigit(event);"></td>
+									</tr>
+									<tr>
+										<td><span fckLang="DlgTableColumns">Columns</span>:</td>
+										<td>&nbsp;<input id="txtColumns" type="text" maxLength="2" size="2" value="2" name="txtColumns" onkeypress="return IsDigit(event);"></td>
+									</tr>
+									<tr>
+										<td>&nbsp;</td>
+										<td>&nbsp;</td>
+									</tr>
+									<tr>
+										<td><span fckLang="DlgTableBorder">Border size</span>:</td>
+										<td>&nbsp;<INPUT id="txtBorder" type="text" maxLength="2" size="2" value="1" name="txtBorder" onkeypress="return IsDigit(event);"></td>
+									</tr>
+									<tr>
+										<td><span fckLang="DlgTableAlign">Alignment</span>:</td>
+										<td>&nbsp;<select id="selAlignment" name="selAlignment">
+												<option fckLang="DlgTableAlignNotSet" value="" selected>&lt;Not set&gt;</option>
+												<option fckLang="DlgTableAlignLeft" value="left">Left</option>
+												<option fckLang="DlgTableAlignCenter" value="center">Center</option>
+												<option fckLang="DlgTableAlignRight" value="right">Right</option>
+											</select></td>
+									</tr>
+								</table>
+							</td>
+							<td>&nbsp;&nbsp;&nbsp;</td>
+							<td align="right" valign="top">
+								<table cellSpacing="0" cellPadding="0" border="0">
+									<tr>
+										<td><span fckLang="DlgTableWidth">Width</span>:</td>
+										<td>&nbsp;<input id="txtWidth" type="text" maxLength="4" size="3" value="200" name="txtWidth" onkeypress="return IsDigit(event);"></td>
+										<td>&nbsp;<select id="selWidthType" name="selWidthType">
+												<option fckLang="DlgTableWidthPx" value="pixels" selected>pixels</option>
+												<option fckLang="DlgTableWidthPc" value="percent">percent</option>
+											</select></td>
+									</tr>
+									<tr>
+										<td><span fckLang="DlgTableHeight">Height</span>:</td>
+										<td>&nbsp;<INPUT id="txtHeight" type="text" maxLength="4" size="3" name="txtHeight" onkeypress="return IsDigit(event);"></td>
+										<td>&nbsp;<span fckLang="DlgTableWidthPx">pixels</span></td>
+									</tr>
+									<tr>
+										<td>&nbsp;</td>
+										<td>&nbsp;</td>
+										<td>&nbsp;</td>
+									</tr>
+									<tr>
+										<td nowrap><span fckLang="DlgTableCellSpace">Cell spacing</span>:</td>
+										<td>&nbsp;<input id="txtCellSpacing" type="text" maxLength="2" size="2" value="1" name="txtCellSpacing"
+												onkeypress="return IsDigit(event);"></td>
+										<td>&nbsp;</td>
+									</tr>
+									<tr>
+										<td nowrap><span fckLang="DlgTableCellPad">Cell padding</span>:</td>
+										<td>&nbsp;<input id="txtCellPadding" type="text" maxLength="2" size="2" value="1" name="txtCellPadding"
+												onkeypress="return IsDigit(event);"></td>
+										<td>&nbsp;</td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+					</table>
+					<table cellSpacing="0" cellPadding="0" width="100%" border="0">
+					<!--
+						<tr>
+						<td nowrap>
+						<span fcklang="DlgClassName">Class Name</span>:</td>
+							<td>&nbsp;</td>
+										<td>
+										<script type="text/javascript">
+//											var tbstyles = new TBCombo( "FontStyle"		, "null"			, "", oEditor.config.StyleNames, oEditor.config.StyleValues, 'CheckStyle("cmbFontStyle")');
+//											document.write(tbstyles.GetHTML());
+										</script></td>
+						</tr>
+					-->
+						<tr>
+							<td nowrap><span fckLang="DlgTableCaption">Caption</span>:</td>
+							<td>&nbsp;</td>
+							<td width="100%">&nbsp;
+								<input id="txtCaption" type="text" style="WIDTH: 100%"></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+		</table>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_tablecell.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_tablecell.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_tablecell.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,217 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_tablecell.html
+ * 	Cell properties dialog window.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
+<html>
+	<head>
+		<title>Table Cell Properties</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+		<meta name="robots" content="noindex, nofollow" />
+		<script src="common/fck_dialog_common.js" type="text/javascript"></script>
+		<script type="text/javascript">
+
+var oEditor = window.parent.InnerDialogLoaded() ;
+
+// Gets the document DOM
+var oDOM = oEditor.FCK.EditorDocument ;
+
+// Array of selected Cells
+var aCells = oEditor.FCKTableHandler.GetSelectedCells() ;
+
+window.onload = function()
+{
+	// First of all, translate the dialog box texts
+	oEditor.FCKLanguageManager.TranslatePage( document ) ;
+
+	SetStartupValue() ;
+
+	window.parent.SetOkButton( true ) ;
+	window.parent.SetAutoSize( true ) ;
+}
+
+function SetStartupValue()
+{
+	if ( aCells.length > 0 )
+	{
+		var oCell = aCells[0] ;
+		var iWidth = GetAttribute( oCell, 'width' ) ;
+
+		if ( iWidth.indexOf && iWidth.indexOf( '%' ) >= 0 )
+		{
+			iWidth = iWidth.substr( 0, iWidth.length - 1 ) ;
+			GetE('selWidthType').value = 'percent' ;
+		}
+
+		if ( oCell.attributes['noWrap'] != null && oCell.attributes['noWrap'].specified )
+			GetE('selWordWrap').value = !oCell.noWrap ;
+
+		GetE('txtWidth').value			= iWidth ;
+		GetE('txtHeight').value			= GetAttribute( oCell, 'height' ) ;
+		GetE('selHAlign').value			= GetAttribute( oCell, 'align' ) ;
+		GetE('selVAlign').value			= GetAttribute( oCell, 'vAlign' ) ;
+		GetE('txtRowSpan').value		= GetAttribute( oCell, 'rowSpan' ) ;
+		GetE('txtCollSpan').value		= GetAttribute( oCell, 'colSpan' ) ;
+		GetE('txtBackColor').value		= GetAttribute( oCell, 'bgColor' ) ;
+		GetE('txtBorderColor').value	= GetAttribute( oCell, 'borderColor' ) ;
+//		GetE('cmbFontStyle').value		= oCell.className ;
+	}
+}
+
+// Fired when the user press the OK button
+function Ok()
+{
+	for( i = 0 ; i < aCells.length ; i++ )
+	{
+		if ( GetE('txtWidth').value.length > 0 )
+			aCells[i].width	= GetE('txtWidth').value + ( GetE('selWidthType').value == 'percent' ? '%' : '') ;
+		else
+			aCells[i].removeAttribute( 'width', 0 ) ;
+
+		if ( GetE('selWordWrap').value == 'false' )
+			aCells[i].noWrap = true ;
+		else
+			aCells[i].removeAttribute( 'noWrap' ) ;
+
+		SetAttribute( aCells[i], 'height'		, GetE('txtHeight').value ) ;
+		SetAttribute( aCells[i], 'align'		, GetE('selHAlign').value ) ;
+		SetAttribute( aCells[i], 'vAlign'		, GetE('selVAlign').value ) ;
+		SetAttribute( aCells[i], 'rowSpan'		, GetE('txtRowSpan').value ) ;
+		SetAttribute( aCells[i], 'colSpan'		, GetE('txtCollSpan').value ) ;
+		SetAttribute( aCells[i], 'bgColor'		, GetE('txtBackColor').value ) ;
+		SetAttribute( aCells[i], 'borderColor'	, GetE('txtBorderColor').value ) ;
+//		SetAttribute( aCells[i], 'className'	, GetE('cmbFontStyle').value ) ;
+	}
+
+	return true ;
+}
+
+function SelectBackColor( color )
+{
+	if ( color && color.length > 0 )
+		GetE('txtBackColor').value = color ;
+}
+
+function SelectBorderColor( color )
+{
+	if ( color && color.length > 0 )
+		GetE('txtBorderColor').value = color ;
+}
+
+function SelectColor( wich )
+{
+	oEditor.FCKDialog.OpenDialog( 'FCKDialog_Color', oEditor.FCKLang.DlgColorTitle, 'dialog/fck_colorselector.html', 400, 330, wich == 'Back' ? SelectBackColor : SelectBorderColor, window ) ;
+}
+
+		</script>
+	</head>
+	<body scroll="no" style="OVERFLOW: hidden">
+		<table cellSpacing="0" cellPadding="0" width="100%" border="0" height="100%">
+			<tr>
+				<td>
+					<table cellSpacing="1" cellPadding="1" width="100%" border="0">
+						<tr>
+							<td>
+								<table cellSpacing="0" cellPadding="0" border="0">
+									<tr>
+										<td nowrap><span fckLang="DlgCellWidth">Width</span>:</td>
+										<td>&nbsp;<input onkeypress="return IsDigit();" id="txtWidth" type="text" maxLength="4"
+												size="3" name="txtWidth">&nbsp;<select id="selWidthType" name="selWidthType">
+												<option fckLang="DlgCellWidthPx" value="pixels" selected>pixels</option>
+												<option fckLang="DlgCellWidthPc" value="percent">percent</option>
+											</select></td>
+									</tr>
+									<tr>
+										<td nowrap><span fckLang="DlgCellHeight">Height</span>:</td>
+										<td>&nbsp;<INPUT id="txtHeight" type="text" maxLength="4" size="3" name="txtHeight" onkeypress="return IsDigit();">&nbsp;<span fckLang="DlgCellWidthPx">pixels</span></td>
+									</tr>
+									<tr>
+										<td>&nbsp;</td>
+										<td>&nbsp;</td>
+									</tr>
+									<tr>
+										<td nowrap><span fckLang="DlgCellWordWrap">Word Wrap</span>:</td>
+										<td>&nbsp;<select id="selWordWrap" name="selAlignment">
+												<option fckLang="DlgCellWordWrapNotSet" value="" selected>&lt;Not set&gt;</option>
+												<option fckLang="DlgCellWordWrapYes" value="true">Yes</option>
+												<option fckLang="DlgCellWordWrapNo" value="false">No</option>
+											</select></td>
+									</tr>
+									<tr>
+										<td>&nbsp;</td>
+										<td>&nbsp;</td>
+									</tr>
+									<tr>
+										<td nowrap><span fckLang="DlgCellHorAlign">Horizontal Alignment</span>:</td>
+										<td>&nbsp;<select id="selHAlign" name="selAlignment">
+												<option fckLang="DlgCellHorAlignNotSet" value="" selected>&lt;Not set&gt;</option>
+												<option fckLang="DlgCellHorAlignLeft" value="left">Left</option>
+												<option fckLang="DlgCellHorAlignCenter" value="center">Center</option>
+												<option fckLang="DlgCellHorAlignRight" value="right">Right</option>
+											</select></td>
+									</tr>
+									<tr>
+										<td nowrap><span fckLang="DlgCellVerAlign">Vertival Alignement</span>:</td>
+										<td>&nbsp;<select id="selVAlign" name="selAlignment">
+												<option fckLang="DlgCellVerAlignNotSet" value="" selected>&lt;Not set&gt;</option>
+												<option fckLang="DlgCellVerAlignTop" value="top">Top</option>
+												<option fckLang="DlgCellVerAlignMiddle" value="middle">Middle</option>
+												<option fckLang="DlgCellVerAlignBottom" value="bottom">Bottom</option>
+												<option fckLang="DlgCellVerAlignBaseline" value="baseline">Baseline</option>
+											</select></td>
+									</tr>
+								</table>
+							</td>
+							<td>&nbsp;&nbsp;&nbsp;</td>
+							<td align="right">
+								<table cellSpacing="0" cellPadding="0" border="0">
+									<tr>
+										<td nowrap><span fckLang="DlgCellRowSpan">Rows Span</span>:</td>
+										<td>&nbsp; <input onkeypress="return IsDigit();" id="txtRowSpan" type="text" maxLength="3"
+												size="2" name="txtRows"></td>
+										<td></td>
+									</tr>
+									<tr>
+										<td nowrap><span fckLang="DlgCellCollSpan">Columns Span</span>:</td>
+										<td>&nbsp; <input onkeypress="return IsDigit();" id="txtCollSpan" type="text" maxLength="2"
+												size="2" name="txtColumns"></td>
+										<td></td>
+									</tr>
+									<tr>
+										<td>&nbsp;</td>
+										<td>&nbsp;</td>
+										<td>&nbsp;</td>
+									</tr>
+									<tr>
+										<td nowrap><span fckLang="DlgCellBackColor">Background Color</span>:</td>
+										<td>&nbsp;<input id="txtBackColor" type="text" size="8" name="txtCellSpacing"></td>
+										<td>&nbsp; <input type="button" fckLang="DlgCellBtnSelect" value="Select..." onclick="SelectColor( 'Back' )"></td>
+									</tr>
+									<tr>
+										<td nowrap><span fckLang="DlgCellBorderColor">Border Color</span>:</td>
+										<td>&nbsp;<input id="txtBorderColor" type="text" size="8" name="txtCellPadding"></td>
+										<td>&nbsp; <input type="button" fckLang="DlgCellBtnSelect" value="Select..." onclick="SelectColor( 'Border' )"></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+		</table>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_template/images/template1.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_template/images/template1.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_template/images/template2.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_template/images/template2.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_template/images/template3.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_template/images/template3.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_template.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_template.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_template.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,210 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_template.html
+ * 	Template selection dialog window.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="robots" content="noindex, nofollow">
+		<style>
+			.TplList
+			{
+				border: #dcdcdc 2px solid;
+				background-color: #ffffff;
+				overflow: auto;
+				width: 90%;
+			}
+
+			.TplItem
+			{
+				margin: 5px;
+				padding: 7px;
+				border: #eeeeee 1px solid;
+			}
+
+			.TplItem TABLE
+			{
+				display: inline;
+			}
+
+			.TplTitle
+			{
+				font-weight: bold;
+			}
+		</style>
+		<script src="common/fck_dialog_common.js" type="text/javascript"></script>
+		<script language="javascript">
+
+var oEditor		= window.parent.InnerDialogLoaded() ;
+var FCK			= oEditor.FCK ;
+var FCKLang		= oEditor.FCKLang ;
+var FCKConfig	= oEditor.FCKConfig ;
+
+window.onload = function()
+{
+	// Set the right box height (browser dependent).
+	GetE('eList').style.height = document.all ? '100%' : '295px' ;
+
+	// Translate the dialog box texts.
+	oEditor.FCKLanguageManager.TranslatePage(document) ;
+
+	window.parent.SetAutoSize( true ) ;
+
+	LoadTemplatesXml() ;
+}
+
+function LoadTemplatesXml()
+{
+	if ( !FCK._Templates )
+	{
+		GetE('eLoading').style.display = '' ;
+
+		// Create the Templates array.
+		FCK._Templates = new Array() ;
+
+		// Load the XML file.
+		var oXml = new oEditor.FCKXml() ;
+		oXml.LoadUrl( FCKConfig.TemplatesXmlPath ) ;
+
+		// Get the Images Base Path.
+		var oAtt = oXml.SelectSingleNode( 'Templates/@imagesBasePath' ) ;
+		var sImagesBasePath = oAtt ? oAtt.value : '' ;
+
+		// Get the "Template" nodes defined in the XML file.
+		var aTplNodes = oXml.SelectNodes( 'Templates/Template' ) ;
+
+		for ( var i = 0 ; i < aTplNodes.length ; i++ )
+		{
+			var oNode = aTplNodes[i]
+
+			var oTemplate = new Object() ;
+
+			var oPart ;
+
+			// Get the Template Title.
+			if ( oPart = oNode.attributes.getNamedItem('title') )
+				oTemplate.Title = oPart.value ;
+			else
+				oTemplate.Title = 'Template ' + ( i + 1 ) ;
+
+			// Get the Template Description.
+			if ( oPart = oXml.SelectSingleNode( 'Description', oNode ) )
+				oTemplate.Description = oPart.text ? oPart.text : oPart.textContent ;
+
+			// Get the Template Image.
+			if ( oPart = oNode.attributes.getNamedItem('image') )
+				oTemplate.Image = sImagesBasePath + oPart.value ;
+
+			// Get the Template HTML.
+			if ( oPart = oXml.SelectSingleNode( 'Html', oNode ) )
+				oTemplate.Html = oPart.text ? oPart.text : oPart.textContent ;
+			else
+			{
+				alert( 'No HTML defined for template index ' + i + '. Please review the "' + FCKConfig.TemplatesXmlPath + '" file.' ) ;
+				continue ;
+			}
+
+			FCK._Templates[ FCK._Templates.length ] = oTemplate ;
+		}
+
+		GetE('eLoading').style.display = 'none' ;
+	}
+
+	if ( FCK._Templates.length == 0 )
+		GetE('eEmpty').style.display = '' ;
+	else
+	{
+		for ( var i = 0 ; i < FCK._Templates.length ; i++ )
+		{
+			var oTemplate = FCK._Templates[i] ;
+
+			var oItemDiv = GetE('eList').appendChild( document.createElement( 'DIV' ) ) ;
+			oItemDiv.TplIndex = i ;
+			oItemDiv.className = 'TplItem' ;
+
+			// Build the inner HTML of our new item DIV.
+			var sInner = '<table><tr>' ;
+
+			if ( oTemplate.Image )
+				sInner += '<td valign="top"><img src="' + oTemplate.Image + '"><\/td>' ;
+
+			sInner += '<td valign="top"><div class="TplTitle">' + oTemplate.Title + '<\/div>' ;
+
+			if ( oTemplate.Description )
+				sInner += '<div>' + oTemplate.Description + '<\/div>' ;
+
+			sInner += '<\/td><\/tr><\/table>' ;
+
+			oItemDiv.innerHTML = sInner ;
+			
+			oItemDiv.onmouseover = ItemDiv_OnMouseOver ;
+			oItemDiv.onmouseout = ItemDiv_OnMouseOut ;
+			oItemDiv.onclick = ItemDiv_OnClick ;
+		}
+	}
+}
+
+function ItemDiv_OnMouseOver()
+{
+	this.className += ' PopupSelectionBox' ;
+}
+
+function ItemDiv_OnMouseOut()
+{
+	this.className = this.className.replace( /\s*PopupSelectionBox\s*/, '' ) ;
+}
+
+function ItemDiv_OnClick()
+{
+	SelectTemplate( this.TplIndex ) ;
+}
+
+function SelectTemplate( index )
+{
+	oEditor.FCKUndo.SaveUndoStep() ;
+	FCK.SetHTML( FCK._Templates[index].Html ) ;
+	window.parent.Cancel() ;
+}
+
+		</script>
+	</head>
+	<body scroll="no" style="OVERFLOW: hidden">
+		<table width="100%" height="100%">
+			<tr>
+				<td align="center">
+					<span fckLang="DlgTemplatesSelMsg">Please select the template to open in the editor<br>
+					(the actual contents will be lost):</span>
+				</td>
+			</tr>
+			<tr>
+				<td height="100%" align="center">
+					<div id="eList" align="left" class="TplList">
+						<div id="eLoading" align="center" style="DISPLAY: none">
+							<br>
+							<span fckLang="DlgTemplatesLoading">Loading templates list. Please wait...</span>
+						</div>
+						<div id="eEmpty" align="center" style="DISPLAY: none">
+							<br>
+							<span fckLang="DlgTemplatesNoTpl">(No templates defined)</span>
+						</div>
+					</div>
+				</td>
+			</tr>
+		</table>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_textarea.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_textarea.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_textarea.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,90 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_textarea.html
+ * 	Text Area dialog window.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<html>
+	<head>
+		<title>Text Area 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>
+		<script type="text/javascript">
+
+var oEditor = window.parent.InnerDialogLoaded() ;
+
+// Gets the document DOM
+var oDOM = oEditor.FCK.EditorDocument ;
+
+var oActiveEl = oEditor.FCKSelection.GetSelectedElement() ;
+
+window.onload = function()
+{
+	// First of all, translate the dialog box texts
+	oEditor.FCKLanguageManager.TranslatePage(document) ;
+
+	if ( oActiveEl && oActiveEl.tagName == 'TEXTAREA' )
+	{
+		GetE('txtName').value		= oActiveEl.name ;
+		GetE('txtCols').value		= GetAttribute( oActiveEl, 'cols' ) ;
+		GetE('txtRows').value		= GetAttribute( oActiveEl, 'rows' ) ;
+	}
+	else
+		oActiveEl = null ;
+
+	window.parent.SetOkButton( true ) ;
+}
+
+function Ok()
+{
+	if ( !oActiveEl )
+	{
+		oActiveEl = oEditor.FCK.EditorDocument.createElement( 'TEXTAREA' ) ;
+		oActiveEl = oEditor.FCK.InsertElementAndGetIt( oActiveEl ) ;
+	}
+
+	oActiveEl.name = GetE('txtName').value ;
+	SetAttribute( oActiveEl, 'cols', GetE('txtCols').value ) ;
+	SetAttribute( oActiveEl, 'rows', GetE('txtRows').value ) ;
+
+	return true ;
+}
+
+		</script>
+	</head>
+	<body style='OVERFLOW: hidden' scroll='no'>
+		<table height="100%" width="100%">
+			<tr>
+				<td align="center">
+					<table border="0" cellpadding="0" cellspacing="0" width="80%">
+						<tr>
+							<td>
+								<span fckLang="DlgTextareaName">Name</span><br>
+								<input type="text" id="txtName" style="WIDTH: 100%">
+								<span fckLang="DlgTextareaCols">Collumns</span><br>
+								<input id="txtCols" type="text" size="5">
+								<br>
+								<span fckLang="DlgTextareaRows">Rows</span><br>
+								<input id="txtRows" type="text" size="5">
+							</td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+		</table>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_textfield.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_textfield.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_textfield.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,131 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_textfield.html
+ * 	Text field dialog window.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<html>
+	<head>
+		<title>Text Field 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>
+		<script type="text/javascript">
+
+var oEditor = window.parent.InnerDialogLoaded() ;
+
+// Gets the document DOM
+var oDOM = oEditor.FCK.EditorDocument ;
+
+var oActiveEl = oEditor.FCKSelection.GetSelectedElement() ;
+
+window.onload = function()
+{
+	// First of all, translate the dialog box texts
+	oEditor.FCKLanguageManager.TranslatePage(document) ;
+
+	if ( oActiveEl && oActiveEl.tagName == 'INPUT' && ( oActiveEl.type == 'text' || oActiveEl.type == 'password' ) )
+	{
+		GetE('txtName').value	= oActiveEl.name ;
+		GetE('txtValue').value	= oActiveEl.value ;
+		GetE('txtSize').value	= GetAttribute( oActiveEl, 'size' ) ;
+		GetE('txtMax').value	= GetAttribute( oActiveEl, 'maxLength' ) ;
+		GetE('txtType').value	= oActiveEl.type ;
+
+		GetE('txtType').disabled = true ;
+	}
+	else
+		oActiveEl = null ;
+
+	window.parent.SetOkButton( true ) ;
+}
+
+function Ok()
+{
+	if ( isNaN( GetE('txtMax').value ) || GetE('txtMax').value < 0 )
+	{
+		alert( "Maximum characters must be a positive number." ) ;
+		GetE('txtMax').focus() ;
+		return false ;
+	}
+	else if( isNaN( GetE('txtSize').value ) || GetE('txtSize').value < 0 )
+	{
+		alert( "Width must be a positive number." ) ;
+		GetE('txtSize').focus() ;
+		return false ;
+	}
+
+	if ( !oActiveEl )
+	{
+		oActiveEl = oEditor.FCK.EditorDocument.createElement( 'INPUT' ) ;
+		oActiveEl.type = GetE('txtType').value ;
+		oActiveEl = oEditor.FCK.InsertElementAndGetIt( oActiveEl ) ;
+	}
+
+	oActiveEl.name = GetE('txtName').value ;
+	SetAttribute( oActiveEl, 'value'	, GetE('txtValue').value ) ;
+	SetAttribute( oActiveEl, 'size'		, GetE('txtSize').value ) ;
+	SetAttribute( oActiveEl, 'maxlength', GetE('txtMax').value ) ;
+
+	return true ;
+}
+
+		</script>
+	</head>
+	<body style="OVERFLOW: hidden" scroll="no">
+		<table height="100%" width="100%">
+			<tr>
+				<td align="center">
+					<table cellSpacing="0" cellPadding="0" border="0">
+						<tr>
+							<td>
+								<span fckLang="DlgTextName">Name</span><br>
+								<input id="txtName" type="text" size="20">
+							</td>
+							<td></td>
+							<td>
+								<span fckLang="DlgTextValue">Value</span><br>
+								<input id="txtValue" type="text" size="25">
+							</td>
+						</tr>
+						<tr>
+							<td>
+								<span fckLang="DlgTextCharWidth">Character Width</span><br>
+								<input id="txtSize" type="text" size="5">
+							</td>
+							<td></td>
+							<td>
+								<span fckLang="DlgTextMaxChars">Maximum Characters</span><br>
+								<input id="txtMax" type="text" size="5">
+							</td>
+						</tr>
+						<tr>
+							<td>
+								<span fckLang="DlgTextType">Type</span><br>
+								<select id="txtType">
+									<option value="text" selected fckLang="DlgTextTypeText">Text</option>
+									<option value="password" fckLang="DlgTextTypePass">Password</option>
+								</select>
+							</td>
+							<td>&nbsp;</td>
+							<td></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+		</table>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_universalkey/00.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_universalkey/00.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_universalkey/data.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_universalkey/data.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_universalkey/data.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,70 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: data.js
+ * 	Scripts for the fck_universalkey.html page.
+ * 	Definition des 104 caracteres en hexa unicode.
+ * 
+ * File Authors:
+ * 		Michel Staelens (michel.staelens at wanadoo.fr)
+ * 		Abdul-Aziz Al-Oraij (top7up at hotmail.com)
+ */
+
+var Maj = new Array() ;
+var Min = new Array() ;
+
+Maj["Arabic"]				="0651|0021|0040|0023|0024|0025|005E|0026|002A|0029|0028|005F|002B|064E|064B|064F|064C|0625|0625|2018|00F7|00D7|061B|003C|003E|0650|064D|005D|005B|0623|0623|0640|060C|002F|003A|0022|007E|0652|007D|007B|0622|0622|2019|002C|002E|061F|007C|0020|0020|0020|0020|0020" ;
+Min["Arabic"]				="0630|0031|0032|0033|0034|0035|0036|0037|0038|0039|0030|002D|003D|0636|0635|062B|0642|0641|063A|0639|0647|062E|062D|062C|062F|0634|0633|064A|0628|0644|0627|062A|0646|0645|0643|0637|0626|0621|0624|0631|0644|0627|0649|0629|0648|0632|0638|005C|0020|0020|0020|0020" ;
+Maj["Belarusian (C)"]		="0401|0021|0022|2116|003B|0025|003A|003F|002A|0028|0029|005F|002B|0419|0426|0423|041A|0415|041D|0413|0428|040E|0417|0425|0027|0424|042B|0412|0410|041F|0420|041E|041B|0414|0416|042D|042F|0427|0421|041C|0406|0422|042C|0411|042E|002C|0020|0020|0020|0020|0020|0020" ;
+Min["Belarusian (C)"]		="0451|0031|0032|0033|0034|0035|0036|0037|0038|0039|0030|002D|003D|0439|0446|0443|043A|0435|043D|0433|0448|045E|0437|0445|0027|0444|044B|0432|0430|043F|0440|043E|043B|0434|0436|044D|044F|0447|0441|043C|0456|0442|044C|0431|044E|002E|0020|0020|0020|0020|0020|0020" ;
+Maj["Bulgarian (C)"]		="007E|0021|003F|002B|0022|0025|003D|003A|002F|005F|2116|0406|0056|044B|0423|0415|0418|0428|0429|041A|0421|0414|0417|0426|00A7|042C|042F|0410|041E|0416|0413|0422|041D|0412|041C|0427|042E|0419|042A|042D|0424|0425|041F|0420|041B|0411|0029|0020|0020|0020|0020|0020" ;
+Min["Bulgarian (C)"]		="0060|0031|0032|0033|0034|0035|0036|0037|0038|0039|0030|002D|002E|002C|0443|0435|0438|0448|0449|043A|0441|0434|0437|0446|003B|044C|044F|0430|043E|0436|0433|0442|043D|0432|043C|0447|044E|0439|044A|044D|0444|0445|043F|0440|043B|0431|0028|0020|0020|0020|0020|0020" ;
+Maj["Croatian (L)"]			="00B8|0021|0022|0023|0024|0025|0026|002F|0028|0029|003D|003F|00A8|0051|0057|0045|0052|0054|005A|0055|0049|004F|0050|0160|0110|0041|0053|0044|0046|0047|0048|004A|004B|004C|010C|0106|0059|0058|0043|0056|0042|004E|004D|017D|003B|003A|003C|003E|005F|002D|002A|002B" ;
+Min["Croatian (L)"]			="00B8|0031|0032|0033|0034|0035|0036|0037|0038|0039|0030|0027|00A8|0071|0077|0065|0072|0074|007A|0075|0069|006F|0070|0161|0111|0061|0073|0064|0066|0067|0068|006A|006B|006C|010D|0107|0079|0078|0063|0076|0062|006E|006D|017E|002C|002E|003C|003E|005F|002D|002A|002B" ;
+Maj["Czech (L)"]			="00B0|0031|0032|0033|0034|0035|0036|0037|0038|0039|0030|0025|02C7|0051|0057|0045|0052|0054|005A|0055|0049|004F|0050|002F|0028|0041|0053|0044|0046|0047|0048|004A|004B|004C|0022|0027|0059|0058|0043|0056|0042|004E|004D|003F|003A|005F|005B|007B|0021|0020|0148|010F" ;
+Min["Czech (L)"]			="003B|002B|011B|0161|010D|0159|017E|00FD|00E1|00ED|00E9|003D|00B4|0071|0077|0065|0072|0074|007A|0075|0069|006F|0070|00FA|0029|0061|0073|0064|0066|0067|0068|006A|006B|006C|016F|00A7|0079|0078|0063|0076|0062|006E|006D|002C|002E|002D|005D|007D|00A8|0040|00F3|0165" ;
+Maj["Danish (L)"]			="00A7|0021|0022|0023|00A4|0025|0026|002F|0028|0029|003D|003F|0060|0051|0057|0045|0052|0054|0059|0055|0049|004F|0050|00C5|005E|0041|0053|0044|0046|0047|0048|004A|004B|004C|00C6|00D8|003E|005A|0058|0043|0056|0042|004E|004D|003B|003A|002A|005F|007B|007D|005C|007E" ;
+Min["Danish (L)"]			="00BD|0031|0032|0033|0034|0035|0036|0037|0038|0039|0030|002B|00B4|0071|0077|0065|0072|0074|0079|0075|0069|006F|0070|00E5|00A8|0061|0073|0064|0066|0067|0068|006A|006B|006C|00E6|00F8|003C|007A|0078|0063|0076|0062|006E|006D|002C|002E|0027|002D|005B|005D|007C|0040" ;
+Maj["Farsi"]				="0020|0021|0040|0023|0024|0025|005E|0026|002A|0029|0028|005F|002B|0020|0020|0020|0020|0020|0020|0020|00F7|00D7|0020|007D|007B|0020|0020|005D|005B|0623|0622|0640|060C|061B|003A|0022|007E|0020|0020|0020|0020|0020|2019|003E|003C|061F|007C|0020|0020|0020|0020|0020"
+Min["Farsi"]				="067E|0031|0032|0033|0034|0035|0036|0037|0038|0039|0030|002D|003D|0636|0635|062B|0642|0641|063A|0639|0647|062E|062D|062C|0686|0634|0633|064A|0628|0644|0627|062A|0646|0645|0643|06AF|0638|0637|0632|0631|0630|062F|0621|0648|002E|002F|005C|0020|0020|0020|0020|0020"
+Maj["Finnish (L)"]			="00A7|0021|0022|0023|00A4|0025|0026|002F|0028|0029|003D|003F|0060|0051|0057|0045|0052|0054|0059|0055|0049|004F|0050|00C5|005E|0041|0053|0044|0046|0047|0048|004A|004B|004C|00D6|00C4|003E|005A|0058|0043|0056|0042|004E|004D|003B|003A|002A|005F|007B|007D|005C|007E" ;
+Min["Finnish (L)"]			="00BD|0031|0032|0033|0034|0035|0036|0037|0038|0039|0030|002B|00B4|0071|0077|0065|0072|0074|0079|0075|0069|006F|0070|00E5|00A8|0061|0073|0064|0066|0067|0068|006A|006B|006C|00F6|00E4|003C|007A|0078|0063|0076|0062|006E|006D|002C|002E|0027|002D|005B|005D|007C|0040" ;
+Maj["French (L)"]			="0031|0032|0033|0034|0035|0036|0037|0038|0039|0030|00B0|002B|0023|0041|005A|0045|0052|0054|0059|0055|0049|004F|0050|00A8|0025|0051|0053|0044|0046|0047|0048|004A|004B|004C|004D|00B5|0057|0058|0043|0056|0042|004E|003F|002E|002F|00A7|003C|005B|007B|00A3|007E|0020" ;
+Min["French (L)"]			="0026|00E9|0022|0027|0028|002D|00E8|005F|00E7|00E0|0029|003D|0040|0061|007A|0065|0072|0074|0079|0075|0069|006F|0070|005E|00F9|0071|0073|0064|0066|0067|0068|006A|006B|006C|006D|002A|0077|0078|0063|0076|0062|006E|002C|003B|003A|0021|003E|005D|007D|0024|007E|0020" ;
+Maj["Greek"]				="007E|0021|0040|0023|0024|0025|0390|0026|03B0|0028|0029|005F|002B|003A|03A3|0395|03A1|03A4|03A5|0398|0399|039F|03A0|0386|038F|0391|03A3|0394|03A6|0393|0397|039E|039A|039B|038C|0022|0396|03A7|03A8|03A9|0392|039D|039C|003C|003E|003F|0388|0389|038A|03AA|03AB|038E" ;
+Min["Greek"]				="0060|0031|0032|0033|0034|0035|0036|0037|0038|0039|0030|002D|003D|003B|03C2|03B5|03C1|03C4|03C5|03B8|03B9|03BF|03C0|03AC|03CE|03B1|03C3|03B4|03C6|03B3|03B7|03BE|03BA|03BB|03CC|0027|03B6|03C7|03C8|03C9|03B2|03BD|03BC|002C|002E|002F|03AD|03AE|03AF|03CA|03CB|03CD" ;
+Maj["Hebrew"]				="007E|0021|0040|0023|0024|0025|005E|0026|002A|0028|0029|005F|002B|0051|0057|0045|0052|0054|0059|0055|0049|004F|0050|007B|007D|0041|0053|0044|0046|0047|0048|004A|004B|004C|003A|0022|005A|0058|0043|0056|0042|004E|004D|003C|003E|003F|0020|0020|0020|0020|0020|0020" ;
+Min["Hebrew"]				="0060|0031|0032|0033|0034|0035|0036|0037|0038|0039|0030|002D|003D|002F|0027|05E7|05E8|05D0|05D8|05D5|05DF|05DD|05E4|005B|005D|05E9|05D3|05D2|05DB|05E2|05D9|05D7|05DC|05DA|05E3|002C|05D6|05E1|05D1|05D4|05E0|05DE|05E6|05EA|05E5|002E|0020|0020|0020|0020|0020|0020" ;
+Maj["Hungarian (L)"]		="00A7|0027|0022|002B|0021|0025|002F|003D|0028|0029|00ED|00DC|00D3|0051|0057|0045|0052|0054|005A|0055|0049|004F|0050|0150|00DA|0041|0053|0044|0046|0047|0048|004A|004B|004C|00C9|00C1|0170|00CD|0059|0058|0043|0056|0042|004E|004D|003F|002E|003A|002D|005F|007B|007D" ;
+Min["Hungarian (L)"]		="0030|0031|0032|0033|0034|0035|0036|0037|0038|0039|00F6|00FC|00F3|0071|0077|0065|0072|0074|007A|0075|0069|006F|0070|0151|00FA|0061|0073|0064|0066|0067|0068|006A|006B|006C|00E9|00E1|0171|00ED|0079|0078|0063|0076|0062|006E|006D|002C|002E|003A|002D|005F|007B|007D" ;
+Maj["Diacritical (L)"]		="0060|00B4|005E|00A8|007E|00B0|00B7|00B8|00AF|02D9|02DB|02C7|02D8|0051|0057|0045|0052|0054|005A|0055|0049|004F|0050|00C6|02DD|0041|0053|0044|0046|0047|0048|004A|004B|004C|0141|0152|0059|0058|0043|0056|0042|004E|004D|01A0|01AF|00D8|0126|0110|0132|00DE|00D0|00DF" ;
+Min["Diacritical (L)"]		="0060|00B4|005E|00A8|007E|00B0|00B7|00B8|00AF|02D9|02DB|02C7|02D8|0071|0077|0065|0072|0074|007A|0075|0069|006F|0070|00E6|02DD|0061|0073|0064|0066|0067|0068|006A|006B|006C|0142|0153|0079|0078|0063|0076|0062|006E|006D|01A1|01B0|00F8|0127|0111|0133|00FE|00F0|00DF" ;
+Maj["Macedonian (C)"]		="007E|0021|201E|201C|2019|0025|2018|0026|002A|0028|0029|005F|002B|0409|040A|0415|0420|0422|0405|0423|0418|041E|041F|0428|0403|0410|0421|0414|0424|0413|0425|0408|041A|041B|0427|040C|0401|0417|040F|0426|0412|0411|041D|041C|0416|003B|003A|003F|002A|005F|007B|007D" ;
+Min["Macedonian (C)"]		="0060|0031|0032|0033|0034|0035|0036|0037|0038|0039|0030|002D|003D|0459|045A|0435|0440|0442|0455|0443|0438|043E|043F|0448|0453|0430|0441|0434|0444|0433|0445|0458|043A|043B|0447|045C|0451|0437|045F|0446|0432|0431|043D|043C|0436|002C|002E|002F|0027|002D|005B|005D" ;
+Maj["Norwegian (L)"]		="00A7|0021|0022|0023|00A4|0025|0026|002F|0028|0029|003D|003F|0060|0051|0057|0045|0052|0054|0059|0055|0049|004F|0050|00C5|005E|0041|0053|0044|0046|0047|0048|004A|004B|00D8|00C6|00C4|003E|005A|0058|0043|0056|0042|004E|004D|003B|003A|002A|005F|007B|007D|005C|007E" ;
+Min["Norwegian (L)"]		="00BD|0031|0032|0033|0034|0035|0036|0037|0038|0039|0030|002B|00B4|0071|0077|0065|0072|0074|0079|0075|0069|006F|0070|00E5|00A8|0061|0073|0064|0066|0067|0068|006A|006B|00F8|00E6|00E4|003C|007A|0078|0063|0076|0062|006E|006D|002C|002E|0027|002D|005B|005D|007C|0040" ;
+Maj["Polish (L)"]			="002A|0021|0022|0023|00A4|0025|0026|002F|0028|0029|003D|003F|017A|0051|0057|0045|0052|0054|005A|0055|0049|004F|0050|0144|0107|0041|0053|0044|0046|0047|0048|004A|004B|004C|0141|0119|0059|0058|0043|0056|0042|004E|004D|003B|003A|005F|003C|005B|007B|02D9|00B4|02DB" ;
+Min["Polish (L)"]			="0027|0031|0032|0033|0034|0035|0036|0037|0038|0039|0030|002B|00F3|0071|0077|0065|0072|0074|007A|0075|0069|006F|0070|017C|015B|0061|0073|0064|0066|0067|0068|006A|006B|006C|0142|0105|0079|0078|0063|0076|0062|006E|006D|002C|002E|002D|003E|005D|007D|02D9|00B4|02DB" ;
+Maj["Russian (C)"]			="0401|0021|0040|0023|2116|0025|005E|0026|002A|0028|0029|005F|002B|0419|0426|0423|041A|0415|041D|0413|0428|0429|0417|0425|042A|0424|042B|0412|0410|041F|0420|041E|041B|0414|0416|042D|042F|0427|0421|041C|0418|0422|042C|0411|042E|003E|002E|003A|0022|005B|005D|003F" ;
+Min["Russian (C)"]			="0451|0031|0032|0033|0034|0035|0036|0037|0038|0039|0030|002D|003D|0439|0446|0443|043A|0435|043D|0433|0448|0449|0437|0445|044A|0444|044B|0432|0430|043F|0440|043E|043B|0434|0436|044D|044F|0447|0441|043C|0438|0442|044C|0431|044E|003C|002C|003B|0027|007B|007D|002F" ;
+Maj["Serbian (C)"]			="007E|0021|0022|0023|0024|0025|0026|002F|0028|0029|003D|003F|002A|0409|040A|0415|0420|0422|0417|0423|0418|041E|041F|0428|0402|0410|0421|0414|0424|0413|0425|0408|041A|041B|0427|040B|003E|0405|040F|0426|0412|0411|041D|041C|0416|003A|005F|002E|003A|0022|005B|005D" ;
+Min["Serbian (C)"]			="0060|0031|0032|0033|0034|0035|0036|0037|0038|0039|0030|0027|002B|0459|045A|0435|0440|0442|0437|0443|0438|043E|043F|0448|0452|0430|0441|0434|0444|0433|0445|0458|043A|043B|0447|045B|003C|0455|045F|0446|0432|0431|043D|043C|0436|002E|002D|002C|003B|0027|007B|007D" ;
+Maj["Serbian (L)"]			="007E|0021|0022|0023|0024|0025|0026|002F|0028|0029|003D|003F|002A|0051|0057|0045|0052|0054|005A|0055|0049|004F|0050|0160|0110|0041|0053|0044|0046|0047|0048|004A|004B|004C|010C|0106|003E|0059|0058|0043|0056|0042|004E|004D|017D|003A|005F|002E|003A|0022|005B|005D" ;
+Min["Serbian (L)"]			="201A|0031|0032|0033|0034|0035|0036|0037|0038|0039|0030|0027|002B|0071|0077|0065|0072|0074|007A|0075|0069|006F|0070|0161|0111|0061|0073|0064|0066|0067|0068|006A|006B|006C|010D|0107|003C|0079|0078|0063|0076|0062|006E|006D|017E|002E|002D|002C|003B|0027|007B|007D" ;
+Maj["Slovak (L)"]			="00B0|0031|0032|0033|0034|0035|0036|0037|0038|0039|0030|0025|02C7|0051|0057|0045|0052|0054|005A|0055|0049|004F|0050|002F|0028|0041|0053|0044|0046|0047|0048|004A|004B|004C|0022|0021|0059|0058|0043|0056|0042|004E|004D|003F|003A|005F|003C|005B|010F|0029|002A|0020" ;
+Min["Slovak (L)"]			="003B|002B|013E|0161|010D|0165|017E|00FD|00E1|00ED|00E9|003D|00B4|0071|0077|0065|0072|0074|007A|0075|0069|006F|0070|00FA|00E4|0061|0073|0064|0066|0067|0068|006A|006B|006C|00F4|00A7|0079|0078|0063|0076|0062|006E|006D|002C|002E|002D|003E|005D|00F3|0148|0026|0020" ;
+Maj["Spanish (L)"]			="00AA|0021|0022|00B7|0024|0025|0026|002F|0028|0029|003D|003F|00BF|0051|0057|0045|0052|0054|0059|0055|0049|004F|0050|005E|00A8|0041|0053|0044|0046|0047|0048|004A|004B|004C|00D1|00C7|005A|0058|0043|0056|0042|004E|004D|003B|003A|005F|003E|007C|0040|0023|007E|002A" ;
+Min["Spanish (L)"]			="00BA|0031|0032|0033|0034|0035|0036|0037|0038|0039|0030|0027|00A1|0071|0077|0065|0072|0074|0079|0075|0069|006F|0070|0060|00B4|0061|0073|0064|0066|0067|0068|006A|006B|006C|00F1|00E7|007A|0078|0063|0076|0062|006E|006D|002C|002E|002D|003C|005C|0040|0023|007E|002B" ;
+Maj["Ukrainian (C)"]		="0401|0021|0040|0023|2116|0025|005E|0026|002A|0028|0029|005F|002B|0419|0426|0423|041A|0415|041D|0413|0428|0429|0417|0425|0407|0424|0406|0412|0410|041F|0420|041E|041B|0414|0416|0404|0490|042F|0427|0421|041C|0418|0422|042C|0411|042E|002E|003A|0022|003C|003E|003F" ;
+Min["Ukrainian (C)"]		="0451|0031|0032|0033|0034|0035|0036|0037|0038|0039|0030|002D|003D|0439|0446|0443|043A|0435|043D|0433|0448|0449|0437|0445|0457|0444|0456|0432|0430|043F|0440|043E|043B|0434|0436|0454|0491|044F|0447|0441|043C|0438|0442|044C|0431|044E|002C|003B|0027|007B|007D|002F" ;
+Maj["Vietnamese (L)"]		="007E|0021|0040|0023|0024|0025|005E|0026|002A|0028|0029|005F|002B|0051|0057|0045|0052|0054|0059|0055|0049|004F|0050|01AF|01A0|0041|0053|0044|0046|0047|0048|004A|004B|004C|0102|00C2|005A|0058|0043|0056|0042|004E|004D|00CA|00D4|0110|003C|003E|003F|007D|003A|0022" ;
+Min["Vietnamese (L)"]		="20AB|0031|0032|0033|0034|0035|0036|0037|0038|0039|0030|002D|003D|0071|0077|0065|0072|0074|0079|0075|0069|006F|0070|01B0|01A1|0061|0073|0064|0066|0067|0068|006A|006B|006C|0103|00E2|007A|0078|0063|0076|0062|006E|006D|00EA|00F4|0111|002C|002E|002F|007B|003B|0027" ;
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_universalkey/diacritic.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_universalkey/diacritic.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_universalkey/diacritic.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,65 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: diacritic.js
+ * 	Scripts for the fck_universalkey.html page.
+ * 
+ * File Authors:
+ * 		Michel Staelens (michel.staelens at wanadoo.fr)
+ * 		Abdul-Aziz Al-Oraij (top7up at hotmail.com)
+ */
+
+var dia = new Array()
+
+dia["0060"]=new Array();dia["00B4"]=new Array();dia["005E"]=new Array();dia["00A8"]=new Array();dia["007E"]=new Array();dia["00B0"]=new Array();dia["00B7"]=new Array();dia["00B8"]=new Array();dia["00AF"]=new Array();dia["02D9"]=new Array();dia["02DB"]=new Array();dia["02C7"]=new Array();dia["02D8"]=new Array();dia["02DD"]=new Array();dia["031B"]=new Array();
+dia["0060"]["0061"]="00E0";dia["00B4"]["0061"]="00E1";dia["005E"]["0061"]="00E2";dia["00A8"]["0061"]="00E4";dia["007E"]["0061"]="00E3";dia["00B0"]["0061"]="00E5";dia["00AF"]["0061"]="0101";dia["02DB"]["0061"]="0105";dia["02D8"]["0061"]="0103";
+dia["00B4"]["0063"]="0107";dia["005E"]["0063"]="0109";dia["00B8"]["0063"]="00E7";dia["02D9"]["0063"]="010B";dia["02C7"]["0063"]="010D";
+dia["02C7"]["0064"]="010F";
+dia["0060"]["0065"]="00E8";dia["00B4"]["0065"]="00E9";dia["005E"]["0065"]="00EA";dia["00A8"]["0065"]="00EB";dia["00AF"]["0065"]="0113";dia["02D9"]["0065"]="0117";dia["02DB"]["0065"]="0119";dia["02C7"]["0065"]="011B";dia["02D8"]["0065"]="0115";
+dia["005E"]["0067"]="011D";dia["00B8"]["0067"]="0123";dia["02D9"]["0067"]="0121";dia["02D8"]["0067"]="011F";
+dia["005E"]["0068"]="0125";
+dia["0060"]["0069"]="00EC";dia["00B4"]["0069"]="00ED";dia["005E"]["0069"]="00EE";dia["00A8"]["0069"]="00EF";dia["007E"]["0069"]="0129";dia["00AF"]["0069"]="012B";dia["02DB"]["0069"]="012F";dia["02D8"]["0069"]="012D";
+dia["005E"]["006A"]="0135";
+dia["00B8"]["006B"]="0137";
+dia["00B4"]["006C"]="013A";dia["00B7"]["006C"]="0140";dia["00B8"]["006C"]="013C";dia["02C7"]["006C"]="013E";
+dia["00B4"]["006E"]="0144";dia["007E"]["006E"]="00F1";dia["00B8"]["006E"]="0146";dia["02D8"]["006E"]="0148";
+dia["0060"]["006F"]="00F2";dia["00B4"]["006F"]="00F3";dia["005E"]["006F"]="00F4";dia["00A8"]["006F"]="00F6";dia["007E"]["006F"]="00F5";dia["00AF"]["006F"]="014D";dia["02D8"]["006F"]="014F";dia["02DD"]["006F"]="0151";dia["031B"]["006F"]="01A1";
+dia["00B4"]["0072"]="0155";dia["00B8"]["0072"]="0157";dia["02C7"]["0072"]="0159";
+dia["00B4"]["0073"]="015B";dia["005E"]["0073"]="015D";dia["00B8"]["0073"]="015F";dia["02C7"]["0073"]="0161";
+dia["00B8"]["0074"]="0163";dia["02C7"]["0074"]="0165";
+dia["0060"]["0075"]="00F9";dia["00B4"]["0075"]="00FA";dia["005E"]["0075"]="00FB";dia["00A8"]["0075"]="00FC";dia["007E"]["0075"]="0169";dia["00B0"]["0075"]="016F";dia["00AF"]["0075"]="016B";dia["02DB"]["0075"]="0173";dia["02D8"]["0075"]="016D";dia["02DD"]["0075"]="0171";dia["031B"]["0075"]="01B0";
+dia["005E"]["0077"]="0175";
+dia["00B4"]["0079"]="00FD";dia["005E"]["0079"]="0177";dia["00A8"]["0079"]="00FF";
+dia["00B4"]["007A"]="017A";dia["02D9"]["007A"]="017C";dia["02C7"]["007A"]="017E";
+dia["00B4"]["00E6"]="01FD";
+dia["00B4"]["00F8"]="01FF";
+dia["0060"]["0041"]="00C0";dia["00B4"]["0041"]="00C1";dia["005E"]["0041"]="00C2";dia["00A8"]["0041"]="00C4";dia["007E"]["0041"]="00C3";dia["00B0"]["0041"]="00C5";dia["00AF"]["0041"]="0100";dia["02DB"]["0041"]="0104";dia["02D8"]["0041"]="0102";
+dia["00B4"]["0043"]="0106";dia["005E"]["0043"]="0108";dia["00B8"]["0043"]="00C7";dia["02D9"]["0043"]="010A";dia["02C7"]["0043"]="010C";
+dia["02C7"]["0044"]="010E";
+dia["0060"]["0045"]="00C8";dia["00B4"]["0045"]="00C9";dia["005E"]["0045"]="00CA";dia["00A8"]["0045"]="00CB";dia["00AF"]["0045"]="0112";dia["02D9"]["0045"]="0116";dia["02DB"]["0045"]="0118";dia["02C7"]["0045"]="011A";dia["02D8"]["0045"]="0114";
+dia["005E"]["0047"]="011C";dia["00B8"]["0047"]="0122";dia["02D9"]["0047"]="0120";dia["02D8"]["0047"]="011E";
+dia["005E"]["0048"]="0124";
+dia["0060"]["0049"]="00CC";dia["00B4"]["0049"]="00CD";dia["005E"]["0049"]="00CE";dia["00A8"]["0049"]="00CF";dia["007E"]["0049"]="0128";dia["00AF"]["0049"]="012A";dia["02D9"]["0049"]="0130";dia["02DB"]["0049"]="012E";dia["02D8"]["0049"]="012C";
+dia["005E"]["004A"]="0134";
+dia["00B8"]["004B"]="0136";
+dia["00B4"]["004C"]="0139";dia["00B7"]["004C"]="013F";dia["00B8"]["004C"]="013B";dia["02C7"]["004C"]="013D";
+dia["00B4"]["004E"]="0143";dia["007E"]["004E"]="00D1";dia["00B8"]["004E"]="0145";dia["02D8"]["004E"]="0147";
+dia["0060"]["004F"]="00D2";dia["00B4"]["004F"]="00D3";dia["005E"]["004F"]="00D4";dia["00A8"]["004F"]="00D6";dia["007E"]["004F"]="00D5";dia["00AF"]["004F"]="014C";dia["02D8"]["004F"]="014E";dia["02DD"]["004F"]="0150";dia["031B"]["004F"]="01A0";
+dia["00B4"]["0052"]="0154";dia["00B8"]["0052"]="0156";dia["02C7"]["0052"]="0158";
+dia["00B4"]["0053"]="015A";dia["005E"]["0053"]="015C";dia["00B8"]["0053"]="015E";dia["02C7"]["0053"]="0160";
+dia["00B8"]["0054"]="0162";dia["02C7"]["0054"]="0164";
+dia["0060"]["0055"]="00D9";dia["00B4"]["0055"]="00DA";dia["005E"]["0055"]="00DB";dia["00A8"]["0055"]="00DC";dia["007E"]["0055"]="0168";dia["00B0"]["0055"]="016E";dia["00AF"]["0055"]="016A";dia["02DB"]["0055"]="0172";dia["02D8"]["0055"]="016C";dia["02DD"]["0055"]="0170";dia["031B"]["0055"]="01AF";
+dia["005E"]["0057"]="0174";
+dia["00B4"]["0059"]="00DD";dia["005E"]["0059"]="0176";dia["00A8"]["0059"]="0178";
+dia["00B4"]["005A"]="0179";dia["02D9"]["005A"]="017B";dia["02C7"]["005A"]="017D";
+dia["00B4"]["00C6"]="01FC";
+dia["00B4"]["00D8"]="01FE";
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_universalkey/dialogue.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_universalkey/dialogue.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_universalkey/dialogue.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,31 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: dialogue.js
+ * 	Scripts for the fck_universalkey.html page.
+ * 
+ * File Authors:
+ * 		Michel Staelens (michel.staelens at wanadoo.fr)
+ * 		Bernadette Cierzniak
+ * 		Abdul-Aziz Al-Oraij (top7up at hotmail.com)
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+function afficher(txt)
+{
+	document.getElementById( 'uni_area' ).value = txt ;
+}
+
+function rechercher()
+{
+	return document.getElementById( 'uni_area' ).value ;
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_universalkey/fck_universalkey.css
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_universalkey/fck_universalkey.css	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_universalkey/fck_universalkey.css	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,62 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_universalkey.css
+ * 	CSS styles for the Universal Keyboard.
+ * 
+ * File Authors:
+ * 		Michel Staelens (michel.staelens at wanadoo.fr)
+ * 		Bernadette Cierzniak
+ * 		Abdul-Aziz Al-Oraij (top7up at hotmail.com)
+ */
+
+BODY, TEXTAREA, INPUT, TD, SELECT
+{
+	font-family: Tahoma,verdana,arial,sans-serif;
+}
+DIV
+{
+	position: absolute;
+}
+.simple
+{
+	font-size: 11pt;
+}
+.double
+{
+	font-size: 9pt;
+}
+.simpledia
+{
+	color: red;
+	font-size: 11pt;
+}
+.doubledia
+{
+	color: red;
+	font-size: 9pt;
+}
+.action
+{
+	color: white;
+	font-size: 7pt;
+}
+.clavier
+{
+	color: blue;
+	font-size: 7pt;
+}
+.sign
+{
+	color: gray;
+	font-size: 7pt;
+}

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_universalkey/keyboard_layout.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_universalkey/keyboard_layout.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_universalkey/multihexa.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_universalkey/multihexa.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_universalkey/multihexa.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,309 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: multihexa.js
+ * 	Scripts for the fck_universalkey.html page.
+ * 	Definition des 104 caracteres en hexa unicode.
+ * 
+ * File Authors:
+ * 		Michel Staelens (michel.staelens at wanadoo.fr)
+ * 		Bernadette Cierzniak
+ * 		Abdul-Aziz Al-Oraij (top7up at hotmail.com)
+ */
+
+var caps=0, lock=0, hexchars="0123456789ABCDEF", accent="0000", keydeb=0
+var key=new Array();j=0;for (i in Maj){key[j]=i;j++}
+var ns6=((!document.all)&&(document.getElementById))
+var ie=document.all
+
+var langue=getCk();
+if (langue==""){
+	langue=key[keydeb]
+}
+CarMaj=Maj[langue].split("|");CarMin=Min[langue].split("|")
+
+/*unikey*/
+var posUniKeyLeft=0, posUniKeyTop=0
+if (ns6){posUniKeyLeft=0;posUniKeyTop=60}
+else if (ie){posUniKeyLeft=0;posUniKeyTop=60}
+tracer("fond",posUniKeyLeft,posUniKeyTop,'<img src="fck_universalkey/keyboard_layout.gif" width=404 height=152 border="0"><br />',"sign")
+/*touches*/
+var posX=new Array(0,28,56,84,112,140,168,196,224,252,280,308,336,42,70,98,126,154,182,210,238,266,294,322,350,50,78,106,134,162,190,218,246,274,302,330,64,92,120,148,176,204,232,260,288,316,28,56,84,294,322,350)
+var posY=new Array(14,14,14,14,14,14,14,14,14,14,14,14,14,42,42,42,42,42,42,42,42,42,42,42,42,70,70,70,70,70,70,70,70,70,70,70,98,98,98,98,98,98,98,98,98,98,126,126,126,126,126,126)
+var nbTouches=52
+for (i=0;i<nbTouches;i++){
+	CarMaj[i]=((CarMaj[i]!="0000")?(fromhexby4tocar(CarMaj[i])):"")
+	CarMin[i]=((CarMin[i]!="0000")?(fromhexby4tocar(CarMin[i])):"")
+	if (CarMaj[i]==CarMin[i].toUpperCase()){
+		cecar=((lock==0)&&(caps==0)?CarMin[i]:CarMaj[i])
+		tracer("car"+i,posUniKeyLeft+6+posX[i],posUniKeyTop+3+posY[i],cecar,((dia[hexa(cecar)]!=null)?"simpledia":"simple"))
+		tracer("majus"+i,posUniKeyLeft+15+posX[i],posUniKeyTop+1+posY[i],"&nbsp;","double")
+		tracer("minus"+i,posUniKeyLeft+3+posX[i],posUniKeyTop+9+posY[i],"&nbsp;","double")
+	}
+	else{
+		tracer("car"+i,posUniKeyLeft+6+posX[i],posUniKeyTop+3+posY[i],"&nbsp;","simple")
+		cecar=CarMin[i]
+		tracer("minus"+i,posUniKeyLeft+3+posX[i],posUniKeyTop+9+posY[i],cecar,((dia[hexa(cecar)]!=null)?"doubledia":"double"))
+		cecar=CarMaj[i]
+		tracer("majus"+i,posUniKeyLeft+15+posX[i],posUniKeyTop+1+posY[i],cecar,((dia[hexa(cecar)]!=null)?"doubledia":"double"))
+	}
+}
+/*touches de fonctions*/
+var actC1=new Array(0,371,364,0,378,0,358,0,344,0,112,378)
+var actC2=new Array(0,0,14,42,42,70,70,98,98,126,126,126)
+var actC3=new Array(32,403,403,39,403,47,403,61,403,25,291,403)
+var actC4=new Array(11,11,39,67,67,95,95,123,123,151,151,151)
+var act  =new Array(" « KB"," KB » ","Delete","Clear","Back","Caps<br> Lock","Enter","Shift","Shift","<|<","Space",">|>")
+var effet=new Array("keyscroll(-3)","keyscroll(3)","faire(\"del\")","RAZ()","faire(\"bck\")","bloq()","faire(\"\\n\")","haut()","haut()","faire(\"ar\")","faire(\" \")","faire(\"av\")")
+var nbActions=12
+for (i=0;i<nbActions;i++){
+	tracer("act"+i,posUniKeyLeft+1+actC1[i],posUniKeyTop-1+actC2[i],act[i],"action")
+}
+/*navigation*/
+var keyC1=new Array(35,119,203,287)
+var keyC2=new Array(0,0,0,0)
+var keyC3=new Array(116,200,284,368)
+var keyC4=new Array(11,11,11,11)
+for (i=0;i<4;i++){
+	tracer("key"+i,posUniKeyLeft+5+keyC1[i],posUniKeyTop-1+keyC2[i],key[i],"unikey")
+}
+/*zones reactives*/
+tracer("masque",posUniKeyLeft,posUniKeyTop,'<img src="fck_universalkey/00.gif" width=404 height=152 border="0" usemap="#unikey">')
+document.write('<map name="unikey">')
+for (i=0;i<nbTouches;i++){
+	document.write('<area coords="'+posX[i]+','+posY[i]+','+(posX[i]+25)+','+(posY[i]+25)+'" href=# onClick=\'javascript:ecrire('+i+')\'>')
+}
+for (i=0;i<nbActions;i++){
+	document.write('<area coords="'+actC1[i]+','+actC2[i]+','+actC3[i]+','+actC4[i]+'" href=# onClick=\'javascript:'+effet[i]+'\'>')
+}
+for (i=0;i<4;i++){
+	document.write('<area coords="'+keyC1[i]+','+keyC2[i]+','+keyC3[i]+','+keyC4[i]+'" onclick=\'javascript:charger('+i+')\'>')
+}
+document.write('</map>')
+
+/*fonctions*/
+function ecrire(i){
+	txt=rechercher()+"|";subtxt=txt.split("|")
+	ceci=(lock==1)?CarMaj[i]:((caps==1)?CarMaj[i]:CarMin[i])
+	if (test(ceci)){subtxt[0]+=cardia(ceci);distinguer(false)}
+	else if(dia[accent]!=null&&dia[hexa(ceci)]!=null){distinguer(false);accent=hexa(ceci);distinguer(true)}
+	else if(dia[accent]!=null){subtxt[0]+=fromhexby4tocar(accent)+ceci;distinguer(false)}
+	else if(dia[hexa(ceci)]!=null){accent=hexa(ceci);distinguer(true)}
+	else {subtxt[0]+=ceci}
+	txt=subtxt[0]+"|"+subtxt[1]
+	afficher(txt)
+	if (caps==1){caps=0;MinusMajus()}
+}
+function faire(ceci){
+	txt=rechercher()+"|";subtxt=txt.split("|")
+	l0=subtxt[0].length
+	l1=subtxt[1].length
+	c1=subtxt[0].substring(0,(l0-2))
+	c2=subtxt[0].substring(0,(l0-1))
+	c3=subtxt[1].substring(0,1)
+	c4=subtxt[1].substring(0,2)
+	c5=subtxt[0].substring((l0-2),l0)
+	c6=subtxt[0].substring((l0-1),l0)
+	c7=subtxt[1].substring(1,l1)
+	c8=subtxt[1].substring(2,l1)
+	if(dia[accent]!=null){if(ceci==" "){ceci=fromhexby4tocar(accent)}distinguer(false)}
+	switch (ceci){
+	case("av") :if(escape(c4)!="%0D%0A"){txt=subtxt[0]+c3+"|"+c7}else{txt=subtxt[0]+c4+"|"+c8}break
+	case("ar") :if(escape(c5)!="%0D%0A"){txt=c2+"|"+c6+subtxt[1]}else{txt=c1+"|"+c5+subtxt[1]}break
+	case("bck"):if(escape(c5)!="%0D%0A"){txt=c2+"|"+subtxt[1]}else{txt=c1+"|"+subtxt[1]}break
+	case("del"):if(escape(c4)!="%0D%0A"){txt=subtxt[0]+"|"+c7}else{txt=subtxt[0]+"|"+c8}break
+	default:txt=subtxt[0]+ceci+"|"+subtxt[1];break
+	}
+	afficher(txt)
+}
+function RAZ(){txt="";if(dia[accent]!=null){distinguer(false)}afficher(txt)}
+function haut(){caps=1;MinusMajus()}
+function bloq(){lock=(lock==1)?0:1;MinusMajus()}
+
+/*fonctions de traitement du unikey*/
+function tracer(nom,gauche,haut,ceci,classe){ceci="<span class="+classe+">"+ceci+"</span>";document.write('<div id="'+nom+'" >'+ceci+'</div>');if (ns6){document.getElementById(nom).style.left=gauche+"px";document.getElementById(nom).style.top=haut+"px";}else if (ie){document.all(nom).style.left=gauche;document.all(nom).style.top=haut}}
+function retracer(nom,ceci,classe){ceci="<span class="+classe+">"+ceci+"</span>";if (ns6){document.getElementById(nom).innerHTML=ceci}else if (ie){doc=document.all(nom);doc.innerHTML=ceci}}
+function keyscroll(n){
+	keydeb+=n
+	if (keydeb<0){
+		keydeb=0
+	}
+	if (keydeb>key.length-4){
+		keydeb=key.length-4
+	}
+	for (i=keydeb;i<keydeb+4;i++){
+		retracer("key"+(i-keydeb),key[i],"unikey")
+	}
+	if (keydeb==0){
+		retracer("act0","&nbsp;","action")
+	}else {
+		retracer("act0",act[0],"action")
+	}
+	if (keydeb==key.length-4){
+		retracer("act1","&nbsp;","action")
+	}else {
+		retracer("act1",act[1],"action")
+	}
+}
+function charger(i){
+	langue=key[i+keydeb];setCk(langue);accent="0000"
+	CarMaj=Maj[langue].split("|");CarMin=Min[langue].split("|")
+	for (i=0;i<nbTouches;i++){
+		CarMaj[i]=((CarMaj[i]!="0000")?(fromhexby4tocar(CarMaj[i])):"")
+		CarMin[i]=((CarMin[i]!="0000")?(fromhexby4tocar(CarMin[i])):"")
+		if (CarMaj[i]==CarMin[i].toUpperCase()){
+			cecar=((lock==0)&&(caps==0)?CarMin[i]:CarMaj[i])
+			retracer("car"+i,cecar,((dia[hexa(cecar)]!=null)?"simpledia":"simple"))
+			retracer("minus"+i,"&nbsp;")
+			retracer("majus"+i,"&nbsp;")
+		}
+		else{
+			retracer("car"+i,"&nbsp;")
+			cecar=CarMin[i]
+			retracer("minus"+i,cecar,((dia[hexa(cecar)]!=null)?"doubledia":"double"))
+			cecar=CarMaj[i]
+			retracer("majus"+i,cecar,((dia[hexa(cecar)]!=null)?"doubledia":"double"))
+		}
+	}
+}
+function distinguer(oui){
+	for (i=0;i<nbTouches;i++){
+		if (CarMaj[i]==CarMin[i].toUpperCase()){
+			cecar=((lock==0)&&(caps==0)?CarMin[i]:CarMaj[i])
+			if(test(cecar)){retracer("car"+i,oui?(cardia(cecar)):cecar,oui?"simpledia":"simple")}
+		}
+		else{
+			cecar=CarMin[i]
+			if(test(cecar)){retracer("minus"+i,oui?(cardia(cecar)):cecar,oui?"doubledia":"double")}
+			cecar=CarMaj[i]
+			if(test(cecar)){retracer("majus"+i,oui?(cardia(cecar)):cecar,oui?"doubledia":"double")}
+		}
+	}
+	if (!oui){accent="0000"}
+}
+function MinusMajus(){
+	for (i=0;i<nbTouches;i++){
+		if (CarMaj[i]==CarMin[i].toUpperCase()){
+			cecar=((lock==0)&&(caps==0)?CarMin[i]:CarMaj[i])
+			retracer("car"+i,(test(cecar)?cardia(cecar):cecar),((dia[hexa(cecar)]!=null||test(cecar))?"simpledia":"simple"))
+		}
+	}
+}
+function test(cecar){return(dia[accent]!=null&&dia[accent][hexa(cecar)]!=null)}
+function cardia(cecar){return(fromhexby4tocar(dia[accent][hexa(cecar)]))}
+function fromhex(inval){out=0;for (a=inval.length-1;a>=0;a--){out+=Math.pow(16,inval.length-a-1)*hexchars.indexOf(inval.charAt(a))}return out}
+function fromhexby4tocar(ceci){out4=new String();for (l=0;l<ceci.length;l+=4){out4+=String.fromCharCode(fromhex(ceci.substring(l,l+4)))}return out4}
+function tohex(inval){return hexchars.charAt(inval/16)+hexchars.charAt(inval%16)}
+function tohex2(inval){return tohex(inval/256)+tohex(inval%256)}
+function hexa(ceci){out="";for (k=0;k<ceci.length;k++){out+=(tohex2(ceci.charCodeAt(k)))}return out}
+function getCk(){
+	fromN=document.cookie.indexOf("langue=")+0;
+	if((fromN)!=-1){
+		fromN+=7;
+		toN=document.cookie.indexOf(";",fromN)+0;
+		if(toN==-1){
+			toN=document.cookie.length
+		}
+		return unescape(document.cookie.substring(fromN,toN))
+	}
+	return ""
+}
+function setCk(inval){
+	if(inval!=null){
+		exp=new Date();
+		time=365*60*60*24*1000;
+		exp.setTime(exp.getTime()+time);
+		document.cookie=escape("langue")+"="+escape(inval)+"; "+"expires="+exp.toGMTString()
+	}
+}
+
+// Arabic Keystroke Translator
+function arkey(e) {
+	if ((document.layers)|(navigator.userAgent.indexOf("MSIE 4")>-1)|(langue!="Arabic")) return true;
+
+	if (!e) var e = window.event;
+	if (e.keyCode) keyCode = e.keyCode;
+	else if (e.which) keyCode = e.which;
+	var character = String.fromCharCode(keyCode);
+
+		entry = true;
+		cont=e.srcElement || e.currentTarget || e.target;
+		if (keyCode>64 && keyCode<91) {
+			entry=false;
+			source='ش لاؤ ي ث ب ل ا ه ت ن م ة ى خ ح ض ق س ف ع ر ص ء غ ئ ';
+			shsource='ِ لآ} ] ُ [ لأأ ÷ ـ ، /   آ × ؛ َ ٌ ٍ لإ  { ً ْ إ ~'; 
+
+			if (e.shiftKey) cont.value += shsource.substr((keyCode-64)*2-2,2);
+			else
+				cont.value += source.substr((keyCode-64)*2-2,2);
+			if (cont.value.substr(cont.value.length-1,1)==' ') cont.value=cont.value.substr(0,cont.value.length-1);
+		}
+		if (e.shiftKey) {
+			if (keyCode==186) {cont.value += ':';entry=false;}
+			if (keyCode==188) {cont.value += ',';entry=false;}
+			if (keyCode==190) {cont.value += '.';entry=false;}
+			if (keyCode==191) {cont.value += 'ØŸ';entry=false;}
+			if (keyCode==192) {cont.value += 'Ù‘';entry=false;}
+			if (keyCode==219) {cont.value += '<';entry=false;}
+			if (keyCode==221) {cont.value += '>';entry=false;}
+		} else {
+			if (keyCode==186||keyCode==59) {cont.value += 'Ùƒ';entry=false;}
+			if (keyCode==188) {cont.value += 'Ùˆ';entry=false;}
+			if (keyCode==190) {cont.value += 'ز';entry=false;}
+			if (keyCode==191) {cont.value += 'ظ';entry=false;}
+			if (keyCode==192) {cont.value += 'Ø°';entry=false;}
+			if (keyCode==219) {cont.value += 'ج';entry=false;}
+			if (keyCode==221) {cont.value += 'د';entry=false;}
+			if (keyCode==222) {cont.value += 'Ø·';entry=false;}
+		}
+	return entry;
+}
+function hold_it(e){
+	if ((document.layers)|(navigator.userAgent.indexOf("MSIE 4")>-1)|(langue!="Arabic")) return true;
+
+	var keyCode;
+	if (!e) var e = window.event;
+	if (e.keyCode) keyCode = e.keyCode;
+	else if (e.which) keyCode = e.which;
+	var character = String.fromCharCode(keyCode);
+	switch(keyCode){
+		case 186:
+		case 188:
+		case 190:
+		case 191:
+		case 192:
+		case 219:
+		case 221:
+		case 222:
+		case 116:
+		case 59:
+		case 47:
+		case 46:
+		case 44:
+		case 39:
+			return false;
+		case 92:
+			return true;
+	}
+		if (keyCode<63) return true;
+		return false;
+	}
+
+var obj = document.getElementById( 'uni_area' );
+if ( obj && langue=="Arabic"){
+	with (navigator) {
+		if (appName=="Netscape")
+			obj.onkeypress = hold_it;
+	}
+	obj.onkeydown = arkey;
+}
+// Arabic Keystroke Translator End
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_universalkey.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_universalkey.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/dialog/fck_universalkey.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,63 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_universalkey.html
+ * 	Unicode Keyboard dialog window.
+ * 
+ * File Authors:
+ * 		Abdul-Aziz Al-Oraij (top7up at hotmail.com)
+ * 		Michel Staelens
+ * 		Bernadette Cierzniak
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<html>
+	<head>
+		<title>Universal Keyboard</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta content="noindex, nofollow" name="robots">
+		<link rel="stylesheet" type="text/css" href="fck_universalkey/fck_universalkey.css" />
+		<script type="text/javascript">
+
+var oEditor = window.parent.InnerDialogLoaded() ;
+
+window.onload = function()
+{
+	document.body.style.padding = '0px' ;
+
+	// First of all, translate the dialog box texts
+	oEditor.FCKLanguageManager.TranslatePage(document) ;
+
+	window.parent.SetOkButton( true ) ;
+	window.parent.SetAutoSize( true ) ;	
+}
+
+function Ok()
+{
+	var oArea = document.getElementById( 'uni_area' ) ;
+
+	if ( oArea.value.length > 0 )
+		oEditor.FCK.InsertHtml( oArea.value ) ;
+
+	return true ;
+}
+
+		</script>
+	</head>
+	<body style="OVERFLOW: hidden" scroll="no">
+		<textarea id="uni_area" cols="40" rows="4" style="width:100%;height:60px;"></textarea>
+		<script type="text/javascript" src="fck_universalkey/data.js"></script>
+		<script type="text/javascript" src="fck_universalkey/diacritic.js"></script>
+		<script type="text/javascript" src="fck_universalkey/dialogue.js"></script>
+		<script type="text/javascript" src="fck_universalkey/multihexa.js"></script>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/fckblank.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/fckblank.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/fckblank.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,4 @@
+<html>
+<head><title></title></head>
+<body></body>
+</html>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/fckdebug.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/fckdebug.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/fckdebug.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,108 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckdebug.html
+ * 	This is the Debug window.
+ * 	It automatically popups if the Debug = true in the configuration file.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<meta name="ROBOTS" content="NOINDEX, NOFOLLOW">
+		<title>FCKeditor Debug Window</title>
+		<script type="text/javascript">
+
+var oWindow ;
+var oDiv ;
+
+if ( !window.FCKMessages )
+	window.FCKMessages = new Array() ;
+
+function Initialize()
+{
+	oWindow = window.frames[ 'eOutput' ]
+	oWindow.document.open() ;
+	oWindow.document.write( '<div id="divMsg"><\/div>' ) ;
+	oWindow.document.close() ;
+	oDiv	= oWindow.document.getElementById('divMsg') ;
+}
+
+function Output( message, color )
+{
+	if ( color )
+		message = '<font color="' + color + '">' + message + '<\/font>' ;
+		
+	window.FCKMessages[ window.FCKMessages.length ] = message ;
+	StartTimer() ;
+}
+
+function StartTimer()
+{
+	window.setTimeout( 'CheckMessages()', 100 ) ;
+}
+
+function CheckMessages()
+{
+	if ( window.FCKMessages.length > 0 )
+	{
+		// Get the first item in the queue
+		var sMessage = window.FCKMessages[0] ;
+		
+		// Removes the first item from the queue
+		var oTempArray = new Array() ;
+		for ( i = 1 ; i < window.FCKMessages.length ; i++ )
+			oTempArray[ i - 1 ] = window.FCKMessages[ i ] ;
+		window.FCKMessages = oTempArray ;
+		
+		var d = new Date() ;
+		var sTime = 
+			( d.getHours() + 100 + '' ).substr( 1,2 ) + ':' + 
+			( d.getMinutes() + 100 + '' ).substr( 1,2 ) + ':' + 
+			( d.getSeconds() + 100 + '' ).substr( 1,2 ) + ':' + 
+			( d.getMilliseconds() + 1000 + '' ).substr( 1,3 ) ;
+
+		var oMsgDiv = oWindow.document.createElement( 'div' ) ;
+		oMsgDiv.innerHTML = sTime + ': <b>' + sMessage + '<\/b>' ;
+		oDiv.appendChild( oMsgDiv ) ;
+		oMsgDiv.scrollIntoView() ;
+	}
+}
+
+function Clear()
+{
+	oDiv.innerHTML = '' ;
+}
+		</script>
+	</head>
+	<body onload="Initialize();" bottomMargin="10" leftMargin="10" topMargin="10" rightMargin="10">
+		<TABLE height="100%" cellSpacing="5" cellPadding="0" width="100%" border="0">
+			<TR>
+				<TD>
+					<TABLE cellSpacing="0" cellPadding="0" width="100%" border="0">
+						<TR>
+							<TD><FONT size="+2"><STRONG>FCKeditor Debug Window</STRONG></FONT></TD>
+							<TD align="right"><INPUT type="button" value="Clear" onclick="Clear();"></TD>
+						</TR>
+					</TABLE>
+				</TD>
+			</TR>
+			<TR>
+				<TD height="100%" style="BORDER-RIGHT: #696969 1px solid; BORDER-TOP: #696969 1px solid; BORDER-LEFT: #696969 1px solid; BORDER-BOTTOM: #696969 1px solid">
+					<iframe id="eOutput" name="eOutput" width="100%" height="100%" scrolling="auto" src="fckblank.html" frameborder="no"></iframe>
+				</TD>
+			</TR>
+		</TABLE>
+	</body>
+</html>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/fckdialog.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/fckdialog.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/fckdialog.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,310 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckdialog.html
+ * 	This page is used by all dialog box as the container.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+		<meta name="robots" content="noindex, nofollow" />
+		<script type="text/javascript">
+
+// On some Gecko browsers (probably over slow connections) the
+// "dialogArguments" are not set so we must get it from the opener window.
+if ( !window.dialogArguments )
+	window.dialogArguments = window.opener.FCKLastDialogInfo ;
+
+// Sets the Skin CSS
+document.write( '<link href="' + window.dialogArguments.Editor.FCKConfig.SkinPath + 'fck_dialog.css" type="text/css" rel="stylesheet">' ) ;
+
+// Sets the language direction.
+window.document.dir = window.dialogArguments.Editor.FCKLang.Dir ;
+
+var sTitle = window.dialogArguments.Title ;
+document.write( '<title>' + sTitle + '<\/title>' ) ;
+
+function LoadInnerDialog()
+{
+	if ( window.onresize )
+		window.onresize() ;
+
+	// First of all, translate the dialog box contents.
+	window.dialogArguments.Editor.FCKLanguageManager.TranslatePage( document ) ;
+
+	window.frames["frmMain"].document.location.href = window.dialogArguments.Page ;
+}
+
+function InnerDialogLoaded()
+{
+	var oInnerDoc = document.getElementById('frmMain').contentWindow.document ;
+
+	// Set the language direction.
+	oInnerDoc.dir = window.dialogArguments.Editor.FCKLang.Dir ;
+
+	// Sets the Skin CSS.
+	oInnerDoc.write( '<link href="' + window.dialogArguments.Editor.FCKConfig.SkinPath + 'fck_dialog.css" type="text/css" rel="stylesheet">' ) ;
+
+	SetOnKeyDown( oInnerDoc ) ;
+	DisableContextMenu( oInnerDoc ) ;
+
+	return window.dialogArguments.Editor ;
+}
+
+function SetOkButton( showIt )
+{
+	document.getElementById('btnOk').style.visibility = ( showIt ? '' : 'hidden' ) ;
+}
+
+var bAutoSize = false ;
+
+function SetAutoSize( autoSize )
+{
+	bAutoSize = autoSize ;
+	RefreshSize() ;
+}
+
+function RefreshSize()
+{
+	if ( bAutoSize )
+	{
+		var oInnerDoc = document.getElementById('frmMain').contentWindow.document ;
+
+		var iFrameHeight ;
+		if ( document.all )
+			iFrameHeight = oInnerDoc.body.offsetHeight ;
+		else
+			iFrameHeight = document.getElementById('frmMain').contentWindow.innerHeight ;
+
+		var iInnerHeight = oInnerDoc.body.scrollHeight ;
+
+		var iDiff = iInnerHeight - iFrameHeight ;
+
+		if ( iDiff > 0 )
+		{
+			if ( document.all )
+				window.dialogHeight = ( parseInt( window.dialogHeight ) + iDiff ) + 'px' ;
+			else
+				window.resizeBy( 0, iDiff ) ;
+		}
+	}
+}
+
+function Ok()
+{
+	if ( window.frames["frmMain"].Ok && window.frames["frmMain"].Ok() )
+		Cancel() ;
+}
+
+function Cancel()
+{
+	window.close() ;
+}
+
+// Object that holds all available tabs.
+var oTabs = new Object() ;
+
+function TabDiv_OnClick()
+{
+	SetSelectedTab( this.TabCode ) ;
+}
+
+function AddTab( tabCode, tabText, startHidden )
+{
+	if ( typeof( oTabs[ tabCode ] ) != 'undefined' )
+		return ;
+
+	var eTabsRow = document.getElementById( 'Tabs' ) ;
+
+	var oCell = eTabsRow.insertCell(  eTabsRow.cells.length - 1 ) ;
+	oCell.noWrap = true ;
+
+	var oDiv = document.createElement( 'DIV' ) ;
+	oDiv.className = 'PopupTab' ;
+	oDiv.innerHTML = tabText ;
+	oDiv.TabCode = tabCode ;
+	oDiv.onclick = TabDiv_OnClick ;
+
+	if ( startHidden )
+		oDiv.style.display = 'none' ;
+
+	eTabsRow = document.getElementById( 'TabsRow' ) ;
+
+	oCell.appendChild( oDiv ) ;
+
+	if ( eTabsRow.style.display == 'none' )
+	{
+		var eTitleArea = document.getElementById( 'TitleArea' ) ;
+		eTitleArea.className = 'PopupTitle' ;
+
+		oDiv.className = 'PopupTabSelected' ;
+		eTabsRow.style.display = '' ;
+
+		if ( ! window.dialogArguments.Editor.FCKBrowserInfo.IsIE )
+			window.onresize() ;
+	}
+
+	oTabs[ tabCode ] = oDiv ;
+	oTabs[ tabCode ].Index = oTabs.length - 1 ;
+}
+
+function SetSelectedTab( tabCode )
+{
+	for ( var sCode in oTabs )
+	{
+		if ( sCode == tabCode )
+			oTabs[sCode].className = 'PopupTabSelected' ;
+		else
+			oTabs[sCode].className = 'PopupTab' ;
+	}
+
+	if ( typeof( window.frames["frmMain"].OnDialogTabChange ) == 'function' )
+		window.frames["frmMain"].OnDialogTabChange( tabCode ) ;
+}
+
+function SetTabVisibility( tabCode, isVisible )
+{
+	var oTab = oTabs[ tabCode ] ;
+	oTab.style.display = isVisible ? '' : 'none' ;
+
+	if ( ! isVisible && oTab.className == 'PopupTabSelected' )
+	{
+		for ( var sCode in oTabs )
+		{
+			if ( oTabs[sCode].style.display != 'none' )
+			{
+				SetSelectedTab( sCode ) ;
+				break ;
+			}
+		}
+	}
+}
+
+function SetOnKeyDown( targetDocument )
+{
+	targetDocument.onkeydown = function ( e )
+	{
+		e = e || event || this.parentWindow.event ;
+		switch ( e.keyCode )
+		{
+			case 13 :		// ENTER
+				var oTarget = e.srcElement || e.target ;
+				if ( oTarget.tagName == 'TEXTAREA' ) return ;
+				Ok() ;
+				return false ;
+			case 27 :		// ESC
+				Cancel() ;
+				return false ;
+				break ;
+		}
+		return true ;
+	}
+}
+SetOnKeyDown( document ) ;
+
+function DisableContextMenu( targetDocument )
+{
+	if ( window.dialogArguments.Editor.FCKBrowserInfo.IsIE ) return ;
+
+	// Disable Right-Click
+	var oOnContextMenu = function( e )
+	{
+		var sTagName = e.target.tagName ;
+		if ( ! ( ( sTagName == "INPUT" && e.target.type == "text" ) || sTagName == "TEXTAREA" ) )
+			e.preventDefault() ;
+	}
+	targetDocument.addEventListener( 'contextmenu', oOnContextMenu, true ) ;
+}
+DisableContextMenu( document ) ;
+
+if ( ! window.dialogArguments.Editor.FCKBrowserInfo.IsIE )
+{
+	window.onresize = function()
+	{
+		var oFrame = document.getElementById("frmMain") ;
+
+		if ( ! oFrame )
+		return ;
+
+		oFrame.height = 0 ;
+
+		var oCell = document.getElementById("FrameCell") ;
+		var iHeight = oCell.offsetHeight ;
+
+		oFrame.height = iHeight - 2 ;
+	}
+}
+
+window.onfocus = function()
+{
+	document.getElementById('frmMain').contentWindow.focus() ;
+}
+
+if ( window.dialogArguments.Editor.FCKBrowserInfo.IsIE )
+{
+	function Window_OnBeforeUnload()
+	{
+		for ( var t in oTabs )
+			oTabs[t] = null ;
+
+		window.dialogArguments.Editor = null ;
+	}
+	window.attachEvent( "onbeforeunload", Window_OnBeforeUnload ) ;
+}
+
+		</script>
+	</head>
+	<body onload="LoadInnerDialog();" class="PopupBody">
+		<table height="100%" cellspacing="0" cellpadding="0" width="100%" border="0">
+			<tr>
+				<td id="TitleArea" class="PopupTitle PopupTitleBorder">
+					<script type="text/javascript">
+document.write( sTitle ) ;
+					</script>
+				</td>
+			</tr>
+			<tr id="TabsRow" style="DISPLAY: none">
+				<td class="PopupTabArea">
+					<table border="0" cellpadding="0" cellspacing="0" width="100%">
+						<tr id="Tabs" onselectstart="return false;">
+							<td class="PopupTabEmptyArea">&nbsp;</td>
+							<td class="PopupTabEmptyArea" width="100%">&nbsp;</td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+			<tr>
+				<td id="FrameCell" height="100%" valign="top">
+					<iframe id="frmMain" src="fckblank.html" name="frmMain" frameborder="0" height="100%" width="100%" scrolling="auto">
+					</iframe>
+				</td>
+			</tr>
+			<tr>
+				<td class="PopupButtons">
+					<table border="0" cellpadding="0" cellspacing="0">
+						<tr>
+							<td width="100%">&nbsp;</td>
+							<td nowrap="nowrap">
+								<input id="btnOk" style="VISIBILITY: hidden; WIDTH: 100px" type="button" value="Ok" class="Button"
+									onclick="Ok();" fckLang="DlgBtnOK" />&nbsp; <input type="button" value="Cancel" class="Button" onclick="Cancel();" fckLang="DlgBtnCancel" />
+							</td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+		</table>
+	</body>
+</html>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/fckeditor.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/fckeditor.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/fckeditor.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,58 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckeditor.html
+ * 	Main page that holds the editor.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title>FCKeditor</title>
+		<meta name="robots" content="noindex, nofollow" />
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+		<script type="text/javascript" src="lang/fcklanguagemanager.js"></script>
+		<meta http-equiv="Cache-Control" content="public">
+		<script type="text/javascript" src="js/fck_startup.js"></script>
+	</head>
+	<body>
+		<table height="100%" width="100%" cellpadding="0" cellspacing="0" border="0" style="TABLE-LAYOUT: fixed">
+			<tr>
+				<td unselectable="on" style="OVERFLOW: hidden">
+					<table width="100%" cellpadding="0" cellspacing="0" border="0">
+						<tr id="Collapsed" style="DISPLAY: none">
+							<td id="ExpandHandle" class="TB_Expand" unselectable="on" colspan="3" onclick="FCKToolbarSet.Expand();return false;"><img class="TB_ExpandImg" src="images/spacer.gif" width="8" height="4" unselectable="on"></td>
+						</tr>
+						<tr id="Expanded" style="DISPLAY: none">
+							<td id="CollapseHandle" style="DISPLAY: none" class="TB_Collapse" 
+								unselectable="on" valign="bottom" onclick="FCKToolbarSet.Collapse();return false;"><img class="TB_CollapseImg" src="images/spacer.gif" width="8" height="4" unselectable="on"></td>
+							<td id="eToolbar" class="TB_ToolbarSet" unselectable="on"></td>
+							<td width="1" class="TB_SideBorder"></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+			<tr id="eWysiwyg">
+				<td id="eWysiwygCell" height="100%" valign="top">
+					<iframe id="eEditorArea" name="eEditorArea" height="100%" width="100%" frameborder="no" src="fckblank.html"></iframe>
+				</td>
+			</tr>
+			<tr id="eSource" style="DISPLAY: none">
+				<td class="Source" height="100%" valign="top">
+					<textarea id="eSourceField" dir="ltr" style="WIDTH: 100%; HEIGHT: 100%"></textarea>
+				</td>
+			</tr>
+		</table>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/fckeditor.original.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/fckeditor.original.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/fckeditor.original.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,75 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckeditor.original.html
+ * 	Main page that holds the editor.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title>FCKeditor</title>
+		<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"> <!-- @Packager.RemoveLine -->
+		<meta name="robots" content="noindex, nofollow" />
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+		<script type="text/javascript" src="lang/fcklanguagemanager.js"></script>
+		<!-- @Packager.RemoveLine
+		<meta http-equiv="Cache-Control" content="public">
+		@Packager.RemoveLine -->
+		<!-- @Packager.Remove.Start -->
+		<script type="text/javascript" src="_source/internals/fcknamespace.js"></script>
+		<script type="text/javascript" src="_source/internals/fckcoreextensions.js"></script>
+		<script type="text/javascript" src="_source/globals/fck_constants.js"></script>
+		<script type="text/javascript" src="_source/internals/fckbrowserinfo.js"></script>
+		<script type="text/javascript" src="_source/internals/fckscriptloader.js"></script>
+		<script type="text/javascript" src="_source/internals/fckurlparams.js"></script>
+		<script type="text/javascript" src="_source/internals/fck.js"></script>
+		<script type="text/javascript" src="_source/internals/fckconfig.js"></script>
+		<script type="text/javascript" src="_source/globals/fckeditorapi.js"></script>
+		<script type="text/javascript" src="_source/internals/fck_onload.js"></script>
+		<!-- @Packager.Remove.End -->
+		<!-- @Packager.RemoveLine
+		<script type="text/javascript" src="js/fck_startup.js"></script>
+		@Packager.RemoveLine -->
+	</head>
+	<body>
+		<table height="100%" width="100%" cellpadding="0" cellspacing="0" border="0" style="TABLE-LAYOUT: fixed">
+			<tr>
+				<td unselectable="on" style="OVERFLOW: hidden">
+					<table width="100%" cellpadding="0" cellspacing="0" border="0">
+						<tr id="Collapsed" style="DISPLAY: none">
+							<td id="ExpandHandle" class="TB_Expand" unselectable="on" colspan="3" onclick="FCKToolbarSet.Expand();return false;"><img class="TB_ExpandImg" src="images/spacer.gif" width="8" height="4" unselectable="on"></td>
+						</tr>
+						<tr id="Expanded" style="DISPLAY: none">
+							<td id="CollapseHandle" style="DISPLAY: none" class="TB_Collapse" 
+								unselectable="on" valign="bottom" onclick="FCKToolbarSet.Collapse();return false;"><img class="TB_CollapseImg" src="images/spacer.gif" width="8" height="4" unselectable="on"></td>
+							<td id="eToolbar" class="TB_ToolbarSet" unselectable="on"></td>
+							<td width="1" class="TB_SideBorder"></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+			<tr id="eWysiwyg">
+				<td id="eWysiwygCell" height="100%" valign="top">
+					<iframe id="eEditorArea" name="eEditorArea" height="100%" width="100%" frameborder="no" src="fckblank.html"></iframe>
+				</td>
+			</tr>
+			<tr id="eSource" style="DISPLAY: none">
+				<td class="Source" height="100%" valign="top">
+					<textarea id="eSourceField" dir="ltr" style="WIDTH: 100%; HEIGHT: 100%"></textarea>
+				</td>
+			</tr>
+		</table>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/browser.css
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/browser.css	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/browser.css	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,84 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: browser.css
+ * 	CSS styles used by all pages that compose the File Browser.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+body
+{
+	background-color: #f1f1e3;
+}
+
+form
+{
+	margin: 0px 0px 0px 0px ;
+	padding: 0px 0px 0px 0px ;
+}
+
+.Frame
+{
+	background-color: #f1f1e3;
+	border-color: #f1f1e3;
+	border-right: thin inset;
+	border-top: thin inset;
+	border-left: thin inset;
+	border-bottom: thin inset;
+}
+
+body.FileArea
+{
+
+	background-color: #ffffff;
+}
+
+body, td, input, select
+{
+	font-size: 11px;
+	font-family: 'Microsoft Sans Serif' , Arial, Helvetica, Verdana;
+}
+
+.ActualFolder
+{
+	font-weight: bold;
+	font-size: 14px;
+}
+
+.PopupButtons
+{
+	border-top: #d5d59d 1px solid;
+	background-color: #e3e3c7;
+	padding: 7px 10px 7px 10px;
+}
+
+.Button, button
+{
+	border-right: #737357 1px solid;
+	border-top: #737357 1px solid;
+	border-left: #737357 1px solid;
+	color: #3b3b1f;
+	border-bottom: #737357 1px solid;
+	background-color: #c7c78f;
+}
+
+.FolderListCurrentFolder img
+{
+	background-image: url(images/FolderOpened.gif);
+}
+
+.FolderListFolder img
+{
+	background-image: url(images/Folder.gif);
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/browser.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/browser.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/browser.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,148 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: browser.html
+ * 	This page compose the File Browser dialog frameset.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title>FCKeditor - Resources Browser</title>
+		<link href="browser.css" type="text/css" rel="stylesheet">
+		<script type="text/javascript" src="js/fckxml.js"></script>
+		<script language="javascript">
+
+function GetUrlParam( paramName )
+{
+	var oRegex = new RegExp( '[\?&]' + paramName + '=([^&]+)', 'i' ) ;
+	var oMatch = oRegex.exec( window.top.location.search ) ;
+	
+	if ( oMatch && oMatch.length > 1 )
+		return oMatch[1] ;
+	else
+		return '' ;
+}
+
+var oConnector = new Object() ;
+oConnector.CurrentFolder	= '/' ;
+
+var sConnUrl = GetUrlParam( 'Connector' ) ;
+
+// Gecko has some problems when using relative URLs (not starting with slash).
+if ( sConnUrl.substr(0,1) != '/' && sConnUrl.indexOf( '://' ) < 0 )
+	sConnUrl = window.location.href.replace( /browser.html.*$/, '' ) + sConnUrl ;
+
+oConnector.ConnectorUrl = sConnUrl + ( sConnUrl.indexOf('?') != -1 ? '&' : '?' ) ;
+
+var sServerPath = GetUrlParam( 'ServerPath' ) ;
+if ( sServerPath.length > 0 )
+	oConnector.ConnectorUrl += 'ServerPath=' + escape( sServerPath ) + '&' ;
+
+oConnector.ResourceType		= GetUrlParam( 'Type' ) ;
+oConnector.ShowAllTypes		= ( oConnector.ResourceType.length == 0 ) ;
+
+if ( oConnector.ShowAllTypes )
+	oConnector.ResourceType = 'File' ;
+
+oConnector.SendCommand = function( command, params, callBackFunction )
+{
+	var sUrl = this.ConnectorUrl + 'Command=' + command ;
+	sUrl += '&Type=' + this.ResourceType ;
+	sUrl += '&CurrentFolder=' + escape( this.CurrentFolder ) ;
+	
+	if ( params ) sUrl += '&' + params ;
+
+	var oXML = new FCKXml() ;
+	
+	if ( callBackFunction )
+		oXML.LoadUrl( sUrl, callBackFunction ) ;	// Asynchronous load.
+	else
+		return oXML.LoadUrl( sUrl ) ;
+}
+
+oConnector.CheckError = function( responseXml )
+{
+	var iErrorNumber = 0
+	var oErrorNode = responseXml.SelectSingleNode( 'Connector/Error' ) ;
+	
+	if ( oErrorNode )
+	{
+		iErrorNumber = parseInt( oErrorNode.attributes.getNamedItem('number').value ) ;
+		
+		switch ( iErrorNumber )
+		{
+			case 0 :
+				break ;
+			case 1 :	// Custom error. Message placed in the "text" attribute.
+				alert( oErrorNode.attributes.getNamedItem('text').value ) ;
+				break ;
+			case 101 :
+				alert( 'Folder already exists' ) ;
+				break ;
+			case 102 :
+				alert( 'Invalid folder name' ) ;
+				break ;
+			case 103 :
+				alert( 'You have no permissions to create the folder' ) ;
+				break ;
+			case 110 :
+				alert( 'Unknown error creating folder' ) ;
+				break ;
+			default :
+				alert( 'Error on your request. Error number: ' + iErrorNumber ) ;
+				break ;
+		}
+	}
+	return iErrorNumber ;
+}
+
+var oIcons = new Object() ;
+
+oIcons.AvailableIconsArray = [ 
+	'ai','avi','bmp','cs','dll','doc','exe','fla','gif','htm','html','jpg','js',
+	'mdb','mp3','pdf','ppt','rdp','swf','swt','txt','vsd','xls','xml','zip' ] ;
+	
+oIcons.AvailableIcons = new Object() ;
+
+for ( var i = 0 ; i < oIcons.AvailableIconsArray.length ; i++ )
+	oIcons.AvailableIcons[ oIcons.AvailableIconsArray[i] ] = true ;
+
+oIcons.GetIcon = function( fileName )
+{
+	var sExtension = fileName.substr( fileName.lastIndexOf('.') + 1 ).toLowerCase() ;
+
+	if ( this.AvailableIcons[ sExtension ] == true )
+		return sExtension ;
+	else
+		return 'default.icon' ;
+}
+		</script>
+	</head>
+	<frameset cols="150,*" class="Frame" framespacing="3" bordercolor="#f1f1e3" frameborder="yes">
+		<frameset rows="50,*" framespacing="0">
+			<frame src="frmresourcetype.html" scrolling="no" frameborder="no">
+			<frame name="frmFolders" src="frmfolders.html" scrolling="auto" frameborder="yes">
+		</frameset>
+		<frameset rows="50,*,50" framespacing="0">
+			<frame name="frmActualFolder" src="frmactualfolder.html" scrolling="no" frameborder="no">
+			<frame name="frmResourcesList" src="frmresourceslist.html" scrolling="auto" frameborder="yes">
+			<frameset cols="150,*,0" framespacing="0" frameborder="no">
+				<frame name="frmCreateFolder" src="frmcreatefolder.html" scrolling="no" frameborder="no">
+				<frame name="frmUpload" src="frmupload.html" scrolling="no" frameborder="no">
+				<frame name="frmUploadWorker" src="../../../fckblank.html" scrolling="no" frameborder="no">
+			</frameset>
+		</frameset>
+	</frameset>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/asp/basexml.asp
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/asp/basexml.asp	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/asp/basexml.asp	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,58 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: basexml.asp
+ * 	This file include the functions that create the base XML output.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<%
+
+Sub SetXmlHeaders()
+	' Cleans the response buffer.
+	Response.Clear()
+
+	' Prevent the browser from caching the result.
+	Response.CacheControl = "no-cache"
+
+	' Set the response format.
+	Response.CharSet		= "UTF-8"
+	Response.ContentType	= "text/xml"
+End Sub
+
+Sub CreateXmlHeader( command, resourceType, currentFolder )
+	' Create the XML document header.
+	Response.Write "<?xml version=""1.0"" encoding=""utf-8"" ?>"
+
+	' Create the main "Connector" node.
+	Response.Write "<Connector command=""" & command & """ resourceType=""" & resourceType & """>"
+	
+	' Add the current folder node.
+	Response.Write "<CurrentFolder path=""" & ConvertToXmlAttribute( currentFolder ) & """ url=""" & ConvertToXmlAttribute( GetUrlFromPath( resourceType, currentFolder) ) & """ />"
+End Sub
+
+Sub CreateXmlFooter()
+	Response.Write "</Connector>"
+End Sub
+
+Sub SendError( number, text )
+	SetXmlHeaders
+	
+	' Create the XML document header.
+	Response.Write "<?xml version=""1.0"" encoding=""utf-8"" ?>"
+	
+	Response.Write "<Connector><Error number=""" & number & """ text=""" & Server.HTMLEncode( text ) & """ /></Connector>"
+	
+	Response.End
+End Sub
+%>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/asp/class_upload.asp
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/asp/class_upload.asp	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/asp/class_upload.asp	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,230 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: class_upload.asp
+ * 	These are the classes used to handle ASP upload without using third
+ * 	part components (OCX/DLL).
+ * 
+ * File Authors:
+ * 		NetRube (netrube at 126.com)
+-->
+<%
+'**********************************************
+' File:		NetRube_Upload.asp
+' Version:	NetRube Upload Class Version 2.1 Build 20050228
+' Author:	NetRube
+' Email:	NetRube at 126.com
+' Date:		02/28/2005
+' Comments:	The code for the Upload.
+'			This can free usage, but please
+'			not to delete this copyright information.
+'			If you have a modification version,
+'			Please send out a duplicate to me.
+'**********************************************
+' 文件名:	NetRube_Upload.asp
+' 版本:		NetRube Upload Class Version 2.1 Build 20050228
+' 作者:		NetRube(网络乡巴佬)
+' 电子邮件:	NetRube at 126.com
+' 日期:		2005年02月28日
+' 声明:		文件上传类
+'			本上传类可以自由使用,但请保留此版权声明信息
+'			如果您对本上传类进行修改增强,
+'			请发送一份给俺。
+'**********************************************
+
+Class NetRube_Upload
+
+	Public	File, Form
+	Private oSourceData
+	Private nMaxSize, nErr, sAllowed, sDenied
+	
+	Private Sub Class_Initialize
+		nErr		= 0
+		nMaxSize	= 1048576
+		
+		Set File			= Server.CreateObject("Scripting.Dictionary")
+		File.CompareMode	= 1
+		Set Form			= Server.CreateObject("Scripting.Dictionary")
+		Form.CompareMode	= 1
+		
+		Set oSourceData		= Server.CreateObject("ADODB.Stream")
+		oSourceData.Type	= 1
+		oSourceData.Mode	= 3
+		oSourceData.Open
+	End Sub
+	
+	Private Sub Class_Terminate
+		Form.RemoveAll
+		Set Form = Nothing
+		File.RemoveAll
+		Set File = Nothing
+		
+		oSourceData.Close
+		Set oSourceData = Nothing
+	End Sub
+	
+	Public Property Get Version
+		Version = "NetRube Upload Class Version 1.0 Build 20041218"
+	End Property
+
+	Public Property Get ErrNum
+		ErrNum	= nErr
+	End Property
+	
+	Public Property Let MaxSize(nSize)
+		nMaxSize	= nSize
+	End Property
+	
+	Public Property Let Allowed(sExt)
+		sAllowed	= sExt
+	End Property
+	
+	Public Property Let Denied(sExt)
+		sDenied	= sExt
+	End Property
+
+	Public Sub GetData
+		Dim aCType
+		aCType = Split(Request.ServerVariables("HTTP_CONTENT_TYPE"), ";")
+		If aCType(0) <> "multipart/form-data" Then
+			nErr = 1
+			Exit Sub
+		End If
+		
+		Dim nTotalSize
+		nTotalSize	= Request.TotalBytes
+		If nTotalSize < 1 Then
+			nErr = 2
+			Exit Sub
+		End If
+		If nMaxSize > 0 And nTotalSize > nMaxSize Then
+			nErr = 3
+			Exit Sub
+		End If
+		
+		oSourceData.Write Request.BinaryRead(nTotalSize)
+		oSourceData.Position = 0
+		
+		Dim oTotalData, oFormStream, sFormHeader, sFormName, bCrLf, nBoundLen, nFormStart, nFormEnd, nPosStart, nPosEnd, sBoundary
+		
+		oTotalData	= oSourceData.Read
+		bCrLf		= ChrB(13) & ChrB(10)
+		sBoundary	= MidB(oTotalData, 1, InStrB(1, oTotalData, bCrLf) - 1)
+		nBoundLen	= LenB(sBoundary) + 2
+		nFormStart	= nBoundLen
+		
+		Set oFormStream = Server.CreateObject("ADODB.Stream")
+		
+		Do While (nFormStart + 2) < nTotalSize
+			nFormEnd	= InStrB(nFormStart, oTotalData, bCrLf & bCrLf) + 3
+			
+			With oFormStream
+				.Type	= 1
+				.Mode	= 3
+				.Open
+				oSourceData.Position = nFormStart
+				oSourceData.CopyTo oFormStream, nFormEnd - nFormStart
+				.Position	= 0
+				.Type		= 2
+				.CharSet	= "UTF-8"
+				sFormHeader	= .ReadText
+				.Close
+			End With
+			
+			nFormStart	= InStrB(nFormEnd, oTotalData, sBoundary) - 1
+			nPosStart	= InStr(22, sFormHeader, " name=", 1) + 7
+			nPosEnd		= InStr(nPosStart, sFormHeader, """")
+			sFormName	= Mid(sFormHeader, nPosStart, nPosEnd - nPosStart)
+			
+			If InStr(45, sFormHeader, " filename=", 1) > 0 Then
+				Set File(sFormName)			= New NetRube_FileInfo
+				File(sFormName).FormName	= sFormName
+				File(sFormName).Start		= nFormEnd
+				File(sFormName).Size		= nFormStart - nFormEnd - 2
+				nPosStart					= InStr(nPosEnd, sFormHeader, " filename=", 1) + 11
+				nPosEnd						= InStr(nPosStart, sFormHeader, """")
+				File(sFormName).ClientPath	= Mid(sFormHeader, nPosStart, nPosEnd - nPosStart)
+				File(sFormName).Name		= Mid(File(sFormName).ClientPath, InStrRev(File(sFormName).ClientPath, "\") + 1)
+				File(sFormName).Ext			= LCase(Mid(File(sFormName).Name, InStrRev(File(sFormName).Name, ".") + 1))
+				nPosStart					= InStr(nPosEnd, sFormHeader, "Content-Type: ", 1) + 14
+				nPosEnd						= InStr(nPosStart, sFormHeader, vbCr)
+				File(sFormName).MIME		= Mid(sFormHeader, nPosStart, nPosEnd - nPosStart)
+			Else
+				With oFormStream
+					.Type	= 1
+					.Mode	= 3
+					.Open
+					oSourceData.Position = nPosEnd
+					oSourceData.CopyTo oFormStream, nFormStart - nFormEnd - 2
+					.Position	= 0
+					.Type		= 2
+					.CharSet	= "UTF-8"
+					Form(sFormName)	= .ReadText
+					.Close
+				End With
+			End If
+			
+			nFormStart	= nFormStart + nBoundLen
+		Loop
+		
+		oTotalData = ""
+		Set oFormStream = Nothing
+	End Sub
+
+	Public Sub SaveAs(sItem, sFileName)
+		If File(sItem).Size < 1 Then
+			nErr = 2
+			Exit Sub
+		End If
+		
+		If Not IsAllowed(File(sItem).Ext) Then
+			nErr = 4
+			Exit Sub
+		End If
+		
+		Dim oFileStream
+		Set oFileStream = Server.CreateObject("ADODB.Stream")
+		With oFileStream
+			.Type		= 1
+			.Mode		= 3
+			.Open
+			oSourceData.Position = File(sItem).Start
+			oSourceData.CopyTo oFileStream, File(sItem).Size
+			.Position	= 0
+			.SaveToFile sFileName, 2
+			.Close
+		End With
+		Set oFileStream = Nothing
+	End Sub
+	
+	Private Function IsAllowed(sExt)
+		Dim oRE
+		Set oRE	= New RegExp
+		oRE.IgnoreCase	= True
+		oRE.Global		= True
+		
+		If sDenied = "" Then
+			oRE.Pattern	= sAllowed
+			IsAllowed	= (sAllowed = "") Or oRE.Test(sExt)
+		Else
+			oRE.Pattern	= sDenied
+			IsAllowed	= Not oRE.Test(sExt)
+		End If
+		
+		Set oRE	= Nothing
+	End Function
+End Class
+
+Class NetRube_FileInfo
+	Dim FormName, ClientPath, Path, Name, Ext, Content, Size, MIME, Start
+End Class
+%>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/asp/commands.asp
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/asp/commands.asp	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/asp/commands.asp	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,179 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: commands.asp
+ * 	This file include the functions that handle the Command requests
+ * 	in the ASP Connector.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<%
+Sub GetFolders( resourceType, currentFolder )
+	' Map the virtual path to the local server path.
+	Dim sServerDir
+	sServerDir = ServerMapFolder( resourceType, currentFolder )
+
+	' Open the "Folders" node.
+	Response.Write "<Folders>"
+
+	Dim oFSO, oCurrentFolder, oFolders, oFolder
+	Set oFSO = Server.CreateObject( "Scripting.FileSystemObject" )
+	Set oCurrentFolder = oFSO.GetFolder( sServerDir )
+	Set oFolders = oCurrentFolder.SubFolders
+
+	For Each oFolder in oFolders
+		Response.Write "<Folder name=""" & ConvertToXmlAttribute( oFolder.name ) & """ />"
+	Next
+	
+	Set oFSO = Nothing
+	
+	' Close the "Folders" node.
+	Response.Write "</Folders>"
+End Sub
+
+Sub GetFoldersAndFiles( resourceType, currentFolder )
+	' Map the virtual path to the local server path.
+	Dim sServerDir
+	sServerDir = ServerMapFolder( resourceType, currentFolder )
+
+	Dim oFSO, oCurrentFolder, oFolders, oFolder, oFiles, oFile
+	Set oFSO = Server.CreateObject( "Scripting.FileSystemObject" )
+	Set oCurrentFolder = oFSO.GetFolder( sServerDir )
+	Set oFolders	= oCurrentFolder.SubFolders
+	Set oFiles		= oCurrentFolder.Files
+	
+	' Open the "Folders" node.
+	Response.Write "<Folders>"
+	
+	For Each oFolder in oFolders
+		Response.Write "<Folder name=""" & ConvertToXmlAttribute( oFolder.name ) & """ />"
+	Next
+	
+	' Close the "Folders" node.
+	Response.Write "</Folders>"
+		
+	' Open the "Files" node.
+	Response.Write "<Files>"
+	
+	For Each oFile in oFiles
+		Dim iFileSize
+		iFileSize = Round( oFile.size / 1024 )
+		If ( iFileSize < 1 AND oFile.size <> 0 ) Then iFileSize = 1
+		
+		Response.Write "<File name=""" & ConvertToXmlAttribute( oFile.name ) & """ size=""" & iFileSize & """ />"
+	Next
+	
+	' Close the "Files" node.
+	Response.Write "</Files>"
+End Sub
+
+Sub CreateFolder( resourceType, currentFolder )
+	Dim sErrorNumber
+
+	Dim sNewFolderName
+	sNewFolderName = Request.QueryString( "NewFolderName" )
+
+	If ( sNewFolderName = "" OR InStr( 1, sNewFolderName, ".." ) > 0  ) Then
+		sErrorNumber = "102"
+	Else
+		' Map the virtual path to the local server path of the current folder.
+		Dim sServerDir
+		sServerDir = ServerMapFolder( resourceType, currentFolder & "/" & sNewFolderName )
+		
+		On Error Resume Next
+
+		CreateServerFolder sServerDir
+		
+		Dim iErrNumber, sErrDescription
+		iErrNumber		= err.number
+		sErrDescription	= err.Description
+		
+		On Error Goto 0
+		
+		Select Case iErrNumber
+			Case 0
+				sErrorNumber = "0"
+			Case 52
+				sErrorNumber = "102"	' Invalid Folder Name.
+			Case 70
+				sErrorNumber = "103"	' Security Error.
+			Case 76
+				sErrorNumber = "102"	' Path too long.
+			Case Else
+				sErrorNumber = "110"
+		End Select
+	End If
+
+	' Create the "Error" node.
+	Response.Write "<Error number=""" & sErrorNumber & """ originalNumber=""" & iErrNumber & """ originalDescription=""" & ConvertToXmlAttribute( sErrDescription ) & """ />"
+End Sub
+
+Sub FileUpload( resourceType, currentFolder )
+	Dim oUploader
+	Set oUploader = New NetRube_Upload
+	oUploader.MaxSize	= 0
+	oUploader.Allowed	= ConfigAllowedExtensions.Item( resourceType )
+	oUploader.Denied	= ConfigDeniedExtensions.Item( resourceType )
+	oUploader.GetData
+
+	Dim sErrorNumber
+	sErrorNumber = "0"
+	
+	Dim sFileName, sOriginalFileName, sExtension
+	sFileName = ""
+
+	If oUploader.ErrNum > 1 Then
+		sErrorNumber = "202"
+	Else
+		' Map the virtual path to the local server path.
+		Dim sServerDir
+		sServerDir = ServerMapFolder( resourceType, currentFolder )
+
+		Dim oFSO
+		Set oFSO = Server.CreateObject( "Scripting.FileSystemObject" )
+	
+		' Get the uploaded file name.
+		sFileName	= oUploader.File( "NewFile" ).Name
+		sExtension	= oUploader.File( "NewFile" ).Ext
+		sOriginalFileName = sFileName
+
+		Dim iCounter
+		iCounter = 0
+
+		Do While ( True )
+			Dim sFilePath
+			sFilePath = sServerDir & sFileName
+
+			If ( oFSO.FileExists( sFilePath ) ) Then
+				iCounter = iCounter + 1
+				sFileName = RemoveExtension( sOriginalFileName ) & "(" & iCounter & ")." & sExtension
+				sErrorNumber = "201"
+			Else
+				oUploader.SaveAs "NewFile", sFilePath
+				If oUploader.ErrNum > 0 Then sErrorNumber = "202"
+				Exit Do
+			End If
+		Loop
+	End If
+
+	Set oUploader	= Nothing
+
+	Response.Clear
+
+	Response.Write "<script type=""text/javascript"">"
+	Response.Write "window.parent.frames['frmUpload'].OnUploadCompleted(" & sErrorNumber & ",'" & Replace( sFileName, "'", "\'" ) & "') ;"
+	Response.Write "</script>"
+
+	Response.End
+End Sub
+%>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/asp/config.asp
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/asp/config.asp	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/asp/config.asp	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,45 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: config.asp
+ * 	Configuration file for the File Manager Connector for ASP.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<%
+
+' SECURITY: You must explicitelly enable this "connector" (set it to "True"). 
+Dim ConfigIsEnabled
+ConfigIsEnabled = False
+
+' Path to user files relative to the document root.
+Dim ConfigUserFilesPath
+ConfigUserFilesPath = "/UserFiles/"
+
+Dim ConfigAllowedExtensions, ConfigDeniedExtensions
+Set ConfigAllowedExtensions	= CreateObject( "Scripting.Dictionary" )
+Set ConfigDeniedExtensions	= CreateObject( "Scripting.Dictionary" )
+
+ConfigAllowedExtensions.Add	"File", ""
+ConfigDeniedExtensions.Add	"File", "php|asp|aspx|ascx|jsp|cfm|cfc|pl|bat|exe|com|dll|vbs|js|reg"
+
+ConfigAllowedExtensions.Add	"Image", "jpg|gif|jpeg|png|bmp"
+ConfigDeniedExtensions.Add	"Image", ""
+
+ConfigAllowedExtensions.Add	"Flash", "swf|fla"
+ConfigDeniedExtensions.Add	"Flash", ""
+
+ConfigAllowedExtensions.Add	"Media", "swf|fla|jpg|gif|jpeg|png|avi|mpg|mpeg|mp(1-4)|wma|wmv|wav|mid|midi|rmi|rm|ram|rmvb|mov|qt"
+ConfigDeniedExtensions.Add	"Media", ""
+
+%>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/asp/connector.asp
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/asp/connector.asp	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/asp/connector.asp	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,119 @@
+<%@ CodePage=65001 Language="VBScript"%>
+<%
+Option Explicit
+%>
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: connector.asp
+ * 	This is the File Manager Connector for ASP.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<!--#include file="config.asp"-->
+<!--#include file="util.asp"-->
+<!--#include file="io.asp"-->
+<!--#include file="basexml.asp"-->
+<!--#include file="commands.asp"-->
+<!--#include file="class_upload.asp"-->
+<%
+
+If ( ConfigIsEnabled = False ) Then
+	SendError 1, "This connector is disabled. Please check the ""editor/filemanager/browser/default/connectors/asp/config.asp"" file"
+End If
+
+' Get the "UserFiles" path.
+Dim sUserFilesPath
+
+If ( Not IsEmpty( ConfigUserFilesPath ) ) Then
+	sUserFilesPath = ConfigUserFilesPath
+
+	If ( Right( sUserFilesPath, 1 ) <> "/" ) Then
+		sUserFilesPath = sUserFilesPath & "/"
+	End If
+Else
+	sUserFilesPath = "/UserFiles/"
+End If
+
+' Map the "UserFiles" path to a local directory.
+Dim sUserFilesDirectory
+sUserFilesDirectory = Server.MapPath( sUserFilesPath )
+
+If ( Right( sUserFilesDirectory, 1 ) <> "\" ) Then
+	sUserFilesDirectory = sUserFilesDirectory & "\"
+End If
+
+DoResponse
+
+Sub DoResponse()
+	Dim sCommand, sResourceType, sCurrentFolder
+	
+	' Get the main request information.
+	sCommand = Request.QueryString("Command")
+	If ( sCommand = "" ) Then Exit Sub
+
+	sResourceType = Request.QueryString("Type")
+	If ( sResourceType = "" ) Then Exit Sub
+	
+	sCurrentFolder = Request.QueryString("CurrentFolder")
+	If ( sCurrentFolder = "" ) Then Exit Sub
+
+	' Check if it is an allower resource type.
+	if ( Not IsAllowedType( sResourceType ) ) Then Exit Sub
+
+	' Check the current folder syntax (must begin and start with a slash).
+	If ( Right( sCurrentFolder, 1 ) <> "/" ) Then sCurrentFolder = sCurrentFolder & "/"
+	If ( Left( sCurrentFolder, 1 ) <> "/" ) Then sCurrentFolder = "/" & sCurrentFolder
+
+	' Check for invalid folder paths (..)
+	If ( InStr( 1, sCurrentFolder, ".." ) <> 0 OR InStr( 1, sResourceType, ".." ) <> 0 ) Then
+		SendError 102, ""
+	End If 
+
+	' File Upload doesn't have to Return XML, so it must be intercepted before anything.
+	If ( sCommand = "FileUpload" ) Then
+		FileUpload sResourceType, sCurrentFolder
+		Exit Sub
+	End If
+
+	SetXmlHeaders
+	
+	CreateXmlHeader sCommand, sResourceType, sCurrentFolder
+
+	' Execute the required command.
+	Select Case sCommand
+		Case "GetFolders"
+			GetFolders sResourceType, sCurrentFolder
+		Case "GetFoldersAndFiles"
+			GetFoldersAndFiles sResourceType, sCurrentFolder
+		Case "CreateFolder"
+			CreateFolder sResourceType, sCurrentFolder
+	End Select
+
+	CreateXmlFooter
+
+	Response.End
+End Sub
+
+Function IsAllowedType( resourceType )
+	Dim oRE
+	Set oRE	= New RegExp
+	oRE.IgnoreCase	= True
+	oRE.Global		= True
+	oRE.Pattern		= "^(File|Image|Flash|Media)$"
+	
+	IsAllowedType = oRE.Test( resourceType )
+	
+	Set oRE	= Nothing
+End Function
+%>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/asp/io.asp
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/asp/io.asp	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/asp/io.asp	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,85 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: io.asp
+ * 	This file include IO specific functions used by the ASP Connector.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<%
+Function GetUrlFromPath( resourceType, folderPath )
+	If resourceType = "" Then
+		GetUrlFromPath = RemoveFromEnd( sUserFilesPath, "/" ) & folderPath
+	Else
+		GetUrlFromPath = sUserFilesPath & resourceType & folderPath
+	End If
+End Function
+
+Function RemoveExtension( fileName )
+	RemoveExtension = Left( fileName, InStrRev( fileName, "." ) - 1 )
+End Function
+
+Function ServerMapFolder( resourceType, folderPath )
+	' Get the resource type directory.
+	Dim sResourceTypePath
+	sResourceTypePath = sUserFilesDirectory & resourceType & "\"
+	
+	' Ensure that the directory exists.
+	CreateServerFolder sResourceTypePath
+
+	' Return the resource type directory combined with the required path.
+	ServerMapFolder = sResourceTypePath & RemoveFromStart( folderPath, "/" )
+End Function
+
+Sub CreateServerFolder( folderPath )
+	Dim oFSO
+	Set oFSO = Server.CreateObject( "Scripting.FileSystemObject" )
+	
+	Dim sParent
+	sParent = oFSO.GetParentFolderName( folderPath )
+	
+	' Check if the parent exists, or create it.
+	If ( NOT oFSO.FolderExists( sParent ) ) Then CreateServerFolder( sParent )
+	
+	If ( oFSO.FolderExists( folderPath ) = False ) Then 
+		oFSO.CreateFolder( folderPath )
+	End If
+	
+	Set oFSO = Nothing
+End Sub
+
+Function IsAllowedExt( extension, resourceType )
+	Dim oRE
+	Set oRE	= New RegExp
+	oRE.IgnoreCase	= True
+	oRE.Global		= True
+	
+	Dim sAllowed, sDenied
+	sAllowed	= ConfigAllowedExtensions.Item( resourceType )
+	sDenied		= ConfigDeniedExtensions.Item( resourceType )
+	
+	IsAllowedExt = True
+	
+	If sDenied <> "" Then
+		oRE.Pattern	= sDenied
+		IsAllowedExt	= Not oRE.Test( extension )
+	End If 
+	
+	If IsAllowedExt And sAllowed <> "" Then
+		oRE.Pattern		= sAllowed
+		IsAllowedExt	= oRE.Test( extension )
+	End If
+	
+	Set oRE	= Nothing
+End Function
+%>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/asp/util.asp
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/asp/util.asp	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/asp/util.asp	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,51 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: util.asp
+ * 	This file include generic functions used by the ASP Connector.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<%
+Function RemoveFromStart( sourceString, charToRemove )
+	Dim oRegex
+	Set oRegex = New RegExp
+	oRegex.Pattern = "^" & charToRemove & "+"
+
+	RemoveFromStart = oRegex.Replace( sourceString, "" )
+End Function
+
+Function RemoveFromEnd( sourceString, charToRemove )
+	Dim oRegex
+	Set oRegex = New RegExp
+	oRegex.Pattern = charToRemove & "+$"
+
+	RemoveFromEnd = oRegex.Replace( sourceString, "" )
+End Function
+
+Function ConvertToXmlAttribute( value )
+	ConvertToXmlAttribute = Replace( value, "&", "&amp;" )
+End Function
+
+Function InArray( value, sourceArray )
+	Dim i
+	For i = 0 to UBound( sourceArray )
+		If sourceArray(i) = value Then
+			InArray = True
+			Exit Function
+		End If
+	Next
+	InArray = False
+End Function
+
+%>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,26 @@
+<%@ Page language="c#" Inherits="FredCK.FCKeditorV2.FileBrowserConnector" AutoEventWireup="false" %>
+<%--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: connector.aspx
+ * 	This is the File Browser Connector for ASP.NET.
+ * 	
+ * 	The code of this page if included in the FCKeditor.Net package, 
+ * 	in the FredCK.FCKeditorV2.dll assemblyfile. So to use it you must 
+ * 	include that DLL in your "bin" directory.
+ * 	
+ * 	To download the FCKeditor.Net package, go to our official web site:
+ * 	http://www.fckeditor.net
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+--%>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/cfm/config.cfm
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/cfm/config.cfm	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/cfm/config.cfm	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,80 @@
+<cfsetting enablecfoutputonly="Yes">
+
+<cfscript>
+	config = structNew();
+	
+	// SECURITY: You must explicitly enable this "connector". (Set enabled to "true")
+	config.enabled = false;
+	
+	config.userFilesPath = "/UserFiles/";
+	
+	config.serverPath = ""; // use this to force the server path if FCKeditor is not running directly off the root of the application or the FCKeditor directory in the URL is a virtual directory or a symbolic link / junction
+	
+	config.allowedExtensions = structNew();
+	config.deniedExtensions = structNew();
+	
+	// config.allowedExtensions["File"] = "doc,rtf,pdf,ppt,pps,xls,csv,vnd,zip";
+	config.allowedExtensions["File"] = "";
+	config.deniedExtensions["File"] = "php,asp,aspx,ascx,jsp,cfm,cfc,pl,bat,exe,com,dll,vbs,js,reg";
+	
+	config.allowedExtensions["Image"] = "png,gif,jpg,jpeg,bmp";
+	config.deniedExtensions["Image"] = "";
+	
+	config.allowedExtensions["Flash"] = "swf,fla";
+	config.deniedExtensions["Flash"] = "";
+	
+	config.allowedExtensions["Media"] = "swf,fla,jpg,gif,jpeg,png,avi,mpg,mpeg,mp3,mp4,m4a,wma,wmv,wav,mid,midi,rmi,rm,ram,rmvb,mov,qt";
+	config.deniedExtensions["Media"] = "";
+</cfscript>
+
+<!--- code to maintain backwards compatibility with previous version of cfm connector --->
+<cfif isDefined("application.userFilesPath")>
+
+	<cflock scope="application" type="readonly" timeout="5">
+	<cfset config.userFilesPath = application.userFilesPath>
+	</cflock>
+
+<cfelseif isDefined("server.userFilesPath")>
+	
+	<cflock scope="server" type="readonly" timeout="5">
+	<cfset config.userFilesPath = server.userFilesPath>
+	</cflock>
+	
+</cfif>
+
+<!--- look for config struct in request, application and server scopes --->
+<cfif isDefined("request.FCKeditor") and isStruct(request.FCKeditor)>
+
+	<cfset variables.FCKeditor = request.FCKeditor>
+
+<cfelseif isDefined("application.FCKeditor") and isStruct(application.FCKeditor)>
+
+	<cflock scope="application" type="readonly" timeout="5">
+	<cfset variables.FCKeditor = duplicate(application.FCKeditor)>
+	</cflock>
+
+<cfelseif isDefined("server.FCKeditor") and isStruct(server.FCKeditor)>
+
+	<cflock scope="server" type="readonly" timeout="5">
+	<cfset variables.FCKeditor = duplicate(server.FCKeditor)>
+	</cflock>
+
+</cfif>
+
+<cfif isDefined("FCKeditor")>
+
+	<!--- copy key values from external to local config (i.e. override default config as required) --->
+	<cfscript>
+		function structCopyKeys(stFrom, stTo) {
+			for ( key in stFrom ) {
+				if ( isStruct(stFrom[key]) ) {
+					structCopyKeys(stFrom[key],stTo[key]);
+				} else {
+					stTo[key] = stFrom[key];
+				}
+			}
+		}
+		structCopyKeys(FCKeditor, config);
+	</cfscript>
+
+</cfif>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/cfm/connector.cfm
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/cfm/connector.cfm	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/cfm/connector.cfm	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,349 @@
+<cfsetting enablecfoutputonly="yes" showdebugoutput="no">
+<!--- @Packager.Header
+<FileDescription>
+	File Browser connector for ColdFusion.
+	(based on the original CF connector by Hendrik Kramer - hk at lwd.de)
+
+	Note: 
+	FCKeditor requires that the connector responds with UTF-8 encoded XML.
+	As ColdFusion 5 does not fully support UTF-8 encoding, we force ASCII 
+	file and folder names in this connector to allow CF5 send a UTF-8 
+	encoded response - code points under 127 in UTF-8 are stored using a 
+	single byte, using the same encoding as ASCII, which is damn handy. 
+	This is all grand for the English speakers, like meself, but I dunno 
+	how others are gonna take to it. Well, the previous version of this 
+	connector already did this with file names and nobody seemed to mind, 
+	so fingers-crossed nobody will mind their folder names being munged too.
+	  
+</FileDescription>
+<Author name="Mark Woods" email="mark at thickpaddy.com" />
+--->
+
+<cfparam name="url.command">
+<cfparam name="url.type"> 
+<cfparam name="url.currentFolder">
+<!--- note: no serverPath url parameter - see config.cfm if you need to set the serverPath manually --->
+
+<cfinclude template="config.cfm">
+
+<cfscript>
+	userFilesPath = config.userFilesPath;
+	lAllowedExtensions = config.allowedExtensions[url.type];
+	lDeniedExtensions = config.deniedExtensions[url.type];
+	
+	// make sure the user files path is correctly formatted
+	userFilesPath = replace(userFilesPath, "\", "/", "ALL");
+	userFilesPath = replace(userFilesPath, '//', '/', 'ALL');
+	if ( right(userFilesPath,1) neq "/" ) {
+		userFilesPath = userFilesPath & "/";
+	}
+	if ( left(userFilesPath,1) neq "/" ) {
+		userFilesPath = "/" & userFilesPath;
+	}
+	
+	// make sure the current folder is correctly formatted
+	url.currentFolder = replace(url.currentFolder, "\", "/", "ALL");
+	url.currentFolder = replace(url.currentFolder, '//', '/', 'ALL');
+	if ( right(url.currentFolder,1) neq "/" ) {
+		url.currentFolder = url.currentFolder & "/";
+	}
+	if ( left(url.currentFolder,1) neq "/" ) {
+		url.currentFolder = "/" & url.currentFolder;
+	}
+
+	if ( find("/",getBaseTemplatePath()) neq 0 ) {
+		fs = "/";
+	} else {
+		fs = "\";
+	}
+	
+	// Get the base physical path to the web root for this application. The code to determine the path automatically assumes that
+	// the "FCKeditor" directory in the http request path is directly off the web root for the application and that it's not a 
+	// virtual directory or a symbolic link / junction. Use the serverPath config setting to force a physical path if necessary.
+	if ( len(config.serverPath) ) {
+		serverPath = config.serverPath;
+	} else {
+		serverPath = replaceNoCase(getBaseTemplatePath(),replace(cgi.script_name,"/",fs,"all"),"");
+	}
+	if ( right(serverPath,1) neq fs ) {
+		serverPath = serverPath & fs;
+	}
+			
+	// map the user files path to a physical directory
+	userFilesServerPath = serverPath & replace(userFilesPath,"/",fs,"all");
+	
+	xmlContent = ""; // append to this string to build content
+</cfscript>
+
+<!--- create directories in physical path if they don't already exist --->
+<cfset currentPath = serverPath>
+<cftry>
+
+	<cfloop list="#userFilesPath#" index="name" delimiters="/">
+		
+		<cfif not directoryExists(currentPath & fs & name)>
+			
+				<cfdirectory action="create" directory="#currentPath##name#" mode="755">
+			
+		</cfif>
+		
+		<cfset currentPath = currentPath & fs & name>
+		
+	</cfloop>
+	
+	<!--- create sub-directory for file type if it doesn't already exist --->
+	<cfif not directoryExists(userFilesServerPath & fs & url.type)>
+	
+		<cfdirectory action="create" directory="#userFilesServerPath##url.type#" mode="755">
+	
+	</cfif>
+
+<cfcatch>
+
+	<!--- this should only occur as a result of a permissions problem --->
+	<cfset xmlContent = "<Error number=""103"" />">
+
+</cfcatch>
+</cftry>
+
+<cfif not config.enabled>
+
+	<cfset xmlContent = "<Error number=""1"" text=""This connector is disabled. Please check the 'editor/filemanager/browser/default/connectors/cfm/config.cfm' file"" />">
+	
+<cfelseif find("..",url.currentFolder)>
+	
+	<cfset xmlContent = "<Error number=""102"" />">
+	
+</cfif>
+
+<cfif not len(xmlContent)>
+
+	<!--- no errors thus far - run command --->
+	
+	<!--- we need to know the physical path to the current folder for all commands --->
+	<cfset currentFolderPath = userFilesServerPath & url.type & replace(url.currentFolder,"/",fs,"all")>
+	
+	<cfswitch expression="#url.command#">
+	
+	
+		<cfcase value="FileUpload">
+		
+			<cfset fileName = "">
+			<cfset fileExt = "">
+		
+			<cftry>
+			
+				<!--- TODO: upload to a temp directory and move file if extension is allowed --->
+			
+				<!--- first upload the file with an unique filename --->
+				<cffile action="upload"
+					fileField="NewFile"
+					destination="#currentFolderPath#"
+					nameConflict="makeunique"
+					mode="644"
+					attributes="normal">
+				
+				<cfif ( len(lAllowedExtensions) and not listFindNoCase(lAllowedExtensions,cffile.ServerFileExt) )
+					or ( len(lDeniedExtensions) and listFindNoCase(lDeniedExtensions,cffile.ServerFileExt) )>
+				
+					<cfset errorNumber = "202">
+					<cffile action="delete" file="#cffile.ServerDirectory##fs##cffile.ServerFile#">
+				
+				<cfelse>
+				
+					<cfscript>
+					errorNumber = 0;
+					fileName = cffile.ClientFileName;
+					fileExt = cffile.ServerFileExt;
+			
+					// munge filename for html download. Only a-z, 0-9, _, - and . are allowed
+					if( reFind("[^A-Za-z0-9_\-\.]", fileName) ) {
+						fileName = reReplace(fileName, "[^A-Za-z0-9\-\.]", "_", "ALL");
+						fileName = reReplace(fileName, "_{2,}", "_", "ALL");
+						fileName = reReplace(fileName, "([^_]+)_+$", "\1", "ALL");
+						fileName = reReplace(fileName, "$_([^_]+)$", "\1", "ALL");
+					}
+					
+					// When the original filename already exists, add numbers (0), (1), (2), ... at the end of the filename.
+					if( compare( cffile.ServerFileName, fileName ) ) {
+						counter = 0;
+						tmpFileName = fileName;
+						while( fileExists("#currentFolderPath##fileName#.#fileExt#") ) {
+						  	counter = counter + 1;
+							fileName = tmpFileName & '(#counter#)';
+						}
+					}
+					</cfscript>
+					
+					<!--- Rename the uploaded file, if neccessary --->
+					<cfif compare(cffile.ServerFileName,fileName)>
+					
+						<cfset errorNumber = "201">
+						<cffile
+							action="rename"
+							source="#currentFolderPath##cffile.ServerFileName#.#cffile.ServerFileExt#"
+							destination="#currentFolderPath##fileName#.#fileExt#"
+							mode="644"
+							attributes="normal">
+					
+					</cfif>					
+				
+				</cfif>
+		
+				<cfcatch type="Any">
+				
+					<cfset errorNumber = "202">
+					
+				</cfcatch>
+				
+			</cftry>
+			
+			
+			<cfif errorNumber eq 201>
+			
+				<!--- file was changed (201), submit the new filename --->
+				<cfoutput>
+				<script type="text/javascript">
+				window.parent.frames['frmUpload'].OnUploadCompleted(#errorNumber#,'#replace( fileName & "." & fileExt, "'", "\'", "ALL")#');
+				</script>
+				</cfoutput>
+
+			<cfelse>
+			
+				<!--- file was uploaded succesfully(0) or an error occured(202). Submit only the error code. --->
+				<cfoutput>
+				<script type="text/javascript">
+				window.parent.frames['frmUpload'].OnUploadCompleted(#errorNumber#);
+				</script>
+				</cfoutput>
+				
+			</cfif>
+			
+			<cfabort>
+		
+		</cfcase>
+		
+		
+		<cfcase value="GetFolders">
+		
+			<!--- Sort directories first, name ascending --->
+			<cfdirectory 
+				action="list" 
+				directory="#currentFolderPath#" 
+				name="qDir"
+				sort="type,name">
+			
+			<cfscript>
+				i=1;
+				folders = "";
+				while( i lte qDir.recordCount ) {
+					if( not compareNoCase( qDir.type[i], "FILE" ))
+						break;
+					if( not listFind(".,..", qDir.name[i]) )
+						folders = folders & '<Folder name="#qDir.name[i]#" />';
+					i=i+1;
+				}
+		
+				xmlContent = xmlContent & '<Folders>' & folders & '</Folders>';
+			</cfscript>
+		
+		</cfcase>
+		
+		
+		<cfcase value="GetFoldersAndFiles">
+		
+			<!--- Sort directories first, name ascending --->
+			<cfdirectory 
+				action="list" 
+				directory="#currentFolderPath#" 
+				name="qDir"
+				sort="type,name">
+				
+			<cfscript>
+				i=1;
+				folders = "";
+				files = "";
+				while( i lte qDir.recordCount ) {
+					if( not compareNoCase( qDir.type[i], "DIR" ) and not listFind(".,..", qDir.name[i]) ) {
+						folders = folders & '<Folder name="#qDir.name[i]#" />';
+					} else if( not compareNoCase( qDir.type[i], "FILE" ) ) {
+						fileSizeKB = round(qDir.size[i] / 1024);
+						files = files & '<File name="#qDir.name[i]#" size="#IIf( fileSizeKB GT 0, DE( fileSizeKB ), 1)#" />';
+					}
+					i=i+1;
+				}
+		
+				xmlContent = xmlContent & '<Folders>' & folders & '</Folders>';
+				xmlContent = xmlContent & '<Files>' & files & '</Files>';
+			</cfscript>
+		
+		</cfcase>
+		
+		
+		<cfcase value="CreateFolder">
+		
+			<cfparam name="url.newFolderName" default="">
+			
+			<cfscript>
+				newFolderName = url.newFolderName;
+				if( reFind("[^A-Za-z0-9_\-\.]", newFolderName) ) {
+					// Munge folder name same way as we do the filename
+					// This means folder names are always US-ASCII so we don't have to worry about CF5 and UTF-8
+					newFolderName = reReplace(newFolderName, "[^A-Za-z0-9\-\.]", "_", "all");
+					newFolderName = reReplace(newFolderName, "_{2,}", "_", "all");
+					newFolderName = reReplace(newFolderName, "([^_]+)_+$", "\1", "all");
+					newFolderName = reReplace(newFolderName, "$_([^_]+)$", "\1", "all");
+				}
+			</cfscript>
+		
+			<cfif not len(newFolderName) or len(newFolderName) gt 255>
+				<cfset errorNumber = 102>	
+			<cfelseif directoryExists(currentFolderPath & newFolderName)>
+				<cfset errorNumber = 101>
+			<cfelseif reFind("^\.\.",newFolderName)>
+				<cfset errorNumber = 103>
+			<cfelse>
+				<cfset errorNumber = 0>
+		
+				<cftry>
+					<cfdirectory
+						action="create"
+						directory="#currentFolderPath##newFolderName#"
+						mode="755">
+					<cfcatch>
+						<!--- 
+						un-resolvable error numbers in ColdFusion:
+						* 102 : Invalid folder name. 
+						* 103 : You have no permissions to create the folder. 
+						--->
+						<cfset errorNumber = 110>
+					</cfcatch>
+				</cftry>
+			</cfif>
+			
+			<cfset xmlContent = xmlContent & '<Error number="#errorNumber#" />'>
+		
+		</cfcase>
+		
+		
+		<cfdefaultcase>
+		
+			<cfthrow type="fckeditor.connector" message="Illegal command: #url.command#">
+			
+		</cfdefaultcase>
+		
+		
+	</cfswitch>
+	
+</cfif>
+
+<cfscript>
+	xmlHeader = '<?xml version="1.0" encoding="utf-8" ?><Connector command="#url.command#" resourceType="#url.type#">';
+	xmlHeader = xmlHeader & '<CurrentFolder path="#url.currentFolder#" url="#userFilesPath##url.type##url.currentFolder#" />';
+	xmlFooter = '</Connector>';
+</cfscript>
+
+<cfheader name="Pragma" value="no-cache">
+<cfheader name="Cache-Control" value="no-cache, no-store, must-revalidate">
+<cfcontent reset="true" type="text/xml; charset=UTF-8">
+<cfoutput>#xmlHeader##xmlContent##xmlFooter#</cfoutput>	
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/lasso/config.lasso
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/lasso/config.lasso	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/lasso/config.lasso	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,56 @@
+[//lasso
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * File Name: config.lasso
+ * 	Configuration file for the File Manager Connector for Lasso.
+ * 
+ * File Authors:
+ * 		Jason Huck (jason.huck at corefive.com)
+ 
+ */
+
+
+
+
+    /*.....................................................................     
+    The connector uses the file tags, which require authentication. Enter a
+    valid username and password from Lasso admin for a group with file tags
+    permissions for uploads and the path you define in UserFilesPath below.                                                                        
+    */ 
+    
+	var('connection') = array(
+		-username='xxxxxxxx',
+		-password='xxxxxxxx'
+	);
+
+
+    /*.....................................................................     
+    Set the base path for files that users can upload and browse (relative
+    to server root).
+    
+    Set which file extensions are allowed and/or denied for each file type.                                                                           
+    */                                                                          
+	var('config') = map(
+		'UserFilesPath' = '/UserFiles/',
+		'AllowedExtensions' = map(
+			'File' = array(),
+			'Image' = array('jpg','gif','jpeg','png'),
+			'Flash' = array('swf','fla'),
+			'Media' = array('swf','fla','jpg','gif','jpeg','png','avi','mpg','mpeg')
+		),
+		'DeniedExtensions' = map(
+			'File' = array('php','asp','aspx','ascx','jsp','cfm','cfc','pl','bat','exe','dll','reg','inc','lasso','lassoapp','cgi'),
+			'Image' = array(),
+			'Flash' = array(),
+			'Media' = array()
+		)
+	);
+]
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/lasso/connector.lasso
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/lasso/connector.lasso	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/lasso/connector.lasso	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,248 @@
+[//lasso
+/*
+ 
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+* 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * File Name: connector.lasso
+ * 	This is the File Manager Connector for Lasso.
+ * 
+ * File Authors:
+ * 		Jason Huck (jason.huck at corefive.com)
+ 
+ */
+
+
+
+
+    /*.....................................................................     
+    Include global configuration. See config.lasso for details.                                                                           
+    */                                                                          
+	include('config.lasso');
+
+		
+    /*.....................................................................     
+    Translate current date/time to GMT for custom header.                                                                          
+    */                                                                          
+	var('headerDate') = date_localtogmt(date)->format('%a, %d %b %Y %T GMT');
+
+
+    /*.....................................................................     
+    Convert query string parameters to variables and initialize output.                                                                           
+    */                                                                          
+	var(
+		'Command'		=	action_param('Command'),
+		'Type'			=	action_param('Type'),
+		'CurrentFolder'	=	action_param('CurrentFolder'),
+		'ServerPath'	=	action_param('ServerPath'),
+		'NewFolderName'	=	action_param('NewFolderName'),
+		'NewFile'		=	null,
+		'NewFileName'	=	string,
+		'OrigFilePath'	=	string,
+		'NewFilePath'	=	string,
+		'commandData'	=	string,
+		'folders'		=	'\t<Folders>\n',
+		'files'			=	'\t<Files>\n',
+		'errorNumber'	=	integer,
+		'responseType'	=	'xml',
+		'uploadResult'	=	'0'
+	);
+
+
+    /*.....................................................................     
+    Calculate the path to the current folder.                                                                           
+    */                                                                          
+	$ServerPath == '' ? $ServerPath = $config->find('UserFilesPath');
+		
+	var('currentFolderURL' = $ServerPath 
+		+ action_param('Type') 
+		+ action_param('CurrentFolder')
+	);
+
+
+    /*.....................................................................     
+    Build the appropriate response per the 'Command' parameter. Wrap the
+    entire process in an inline for file tag permissions.                                                                         
+    */                                                                          
+	inline($connection);
+		select($Command);	
+            /*.............................................................     
+            List all subdirectories in the 'Current Folder' directory.                                                                   
+            */                                                                  
+			case('GetFolders');
+				$commandData += '\t<Folders>\n';
+			
+				iterate(file_listdirectory($currentFolderURL), local('this'));
+					#this->endswith('/') ? $commandData += '\t\t<Folder name="' + #this->removetrailing('/')& + '" />\n';
+				/iterate;
+				
+				$commandData += '\t</Folders>\n';
+
+
+            /*.............................................................     
+            List both files and folders in the 'Current Folder' directory.
+            Include the file sizes in kilobytes.                                                                   
+            */                                                                  				
+			case('GetFoldersAndFiles');
+				iterate(file_listdirectory($currentFolderURL), local('this'));
+					if(#this->endswith('/'));
+						$folders += '\t\t<Folder name="' + #this->removetrailing('/')& + '" />\n';
+					else;
+						local('size') = file_getsize($currentFolderURL + #this) / 1024;
+						$files += '\t\t<File name="' + #this + '" size="' + #size + '" />\n';
+					/if;					
+				/iterate;
+
+				$folders += '\t</Folders>\n';
+				$files += '\t</Files>\n';
+				
+				$commandData += $folders + $files;
+
+
+            /*.............................................................     
+            Create a directory 'NewFolderName' within the 'Current Folder.'                                                                 
+            */                                                                  				
+			case('CreateFolder');
+				var('newFolder' = $currentFolderURL + $NewFolderName + '/');			
+				file_create($newFolder);			
+				
+				
+                /*.........................................................     
+                Map Lasso's file error codes to FCKEditor's error codes.                                                              
+                */                                                              				
+				select(file_currenterror( -errorcode));
+					case(0);
+						$errorNumber = 0;
+					case( -9983);
+						$errorNumber = 101;
+					case( -9976);
+						$errorNumber = 102;
+					case( -9977);
+						$errorNumber = 102;
+					case( -9961);
+						$errorNumber = 103;
+					case;
+						$errorNumber = 110;
+				/select;
+				
+				$commandData += '<Error number="' + $errorNumber + '" />\n';
+
+
+            /*.............................................................     
+            Process an uploaded file.                                                                  
+            */                                                                  				
+			case('FileUpload');		
+                /*.........................................................     
+                This is the only command that returns an HTML response.                                                              
+                */                                                              			
+				$responseType = 'html';
+				
+				
+                /*.........................................................     
+                Was a file actually uploaded?                                                              
+                */                                                              
+				file_uploads->size ? $NewFile = file_uploads->get(1) | $uploadResult = '202';
+								
+				if($uploadResult == '0');
+                    /*.....................................................     
+                    Split the file's extension from the filename in order
+                    to follow the API's naming convention for duplicate
+                    files. (Test.txt, Test(1).txt, Test(2).txt, etc.)                                                          
+                    */                                                          
+					$NewFileName = $NewFile->find('OrigName');													
+					$OrigFilePath = $currentFolderURL + $NewFileName;
+					$NewFilePath = $OrigFilePath;
+					local('fileExtension') = '.' + $NewFile->find('OrigExtension');					
+					local('shortFileName') = $NewFileName->removetrailing(#fileExtension)&;
+
+
+                    /*.....................................................     
+                    Make sure the file extension is allowed.                                                          
+                    */                                                          
+					if($config->find('DeniedExtensions')->find($Type) >> $NewFile->find('OrigExtension'));
+						$uploadResult = '202';
+					else;
+                        /*.................................................     
+                        Rename the target path until it is unique.                                                    
+                        */                                                      										
+						while(file_exists($NewFilePath));
+							$NewFilePath = $currentFolderURL + #shortFileName + '(' + loop_count + ')' + #fileExtension;
+						/while;
+						
+						
+                        /*.................................................     
+                        Copy the uploaded file to its final location.                                                     
+                        */                                                      
+						file_copy($NewFile->find('path'), $NewFilePath);
+
+
+                        /*.................................................     
+                        Set the error code for the response. Note whether
+                        the file had to be renamed.                                                      
+                        */                                                      						
+						select(file_currenterror( -errorcode));
+							case(0);
+								$OrigFilePath != $NewFilePath ? $uploadResult = '201, \'' + $NewFilePath->split('/')->last + '\'';
+							case;
+								$uploadResult = '202';
+						/select;
+					/if;
+				/if;
+
+
+                /*.........................................................     
+                Set the HTML response.                                                               
+                */                                                              				
+				$__html_reply__ = '\
+<script type="text/javascript">
+	window.parent.frames[\'frmUpload\'].OnUploadCompleted(' + $uploadResult + ');
+</script>
+				';
+		/select;
+	/inline;
+
+
+    /*.....................................................................     
+    Send a custom header for xml responses.                                                                          
+    */                                                                          
+	if($responseType == 'xml');
+		header;
+]
+HTTP/1.0 200 OK
+Date: [$headerDate]
+Server: Lasso Professional [lasso_version( -lassoversion)]
+Expires: Mon, 26 Jul 1997 05:00:00 GMT
+Last-Modified: [$headerDate]
+Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
+Pragma: no-cache
+Keep-Alive: timeout=15, max=98
+Connection: Keep-Alive
+Content-Type: text/xml; charset=utf-8
+[//lasso
+		/header;
+
+
+        /*.................................................................     
+        Set the content type encoding for Lasso.                                                                      
+        */                                                                      
+		content_type('text/xml; charset=utf-8');
+
+
+        /*.................................................................     
+        Wrap the response as XML and output.                                                                      
+        */                                                                      
+		$__html_reply__ = '\
+<?xml version="1.0" encoding="utf-8" ?>
+<Connector command="' + $Command + '" resourceType="' + $Type + '">
+	<CurrentFolder path="' + $CurrentFolder + '" url="' + $currentFolderURL + '" />
+' + $commandData + '
+</Connector>
+		';
+	/if;
+]	

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/perl/basexml.pl
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/perl/basexml.pl	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/perl/basexml.pl	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,59 @@
+#####
+#  FCKeditor - The text editor for internet
+#  Copyright (C) 2003-2005 Frederico Caldeira Knabben
+#  
+#  Licensed under the terms of the GNU Lesser General Public License:
+#  		http://www.opensource.org/licenses/lgpl-license.php
+#  
+#  For further information visit:
+#  		http://www.fckeditor.net/
+#  
+#  "Support Open Source software. What about a donation today?"
+#  
+#  File Name: basexml.pl
+#  	This is the File Manager Connector for Perl.
+#  
+#  File Authors:
+#  		Takashi Yamaguchi (jack at omakase.net)
+#####
+
+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" ?>' ;
+	
+	print '<Connector><Error number="' . $number . '" text="' . &specialchar_cnv( $text ) . '" /></Connector>' ;
+	
+	exit ;
+}
+
+1;

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/perl/commands.pl
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/perl/commands.pl	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/perl/commands.pl	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,154 @@
+#####
+#  FCKeditor - The text editor for internet
+#  Copyright (C) 2003-2005 Frederico Caldeira Knabben
+#  
+#  Licensed under the terms of the GNU Lesser General Public License:
+#  		http://www.opensource.org/licenses/lgpl-license.php
+#  
+#  For further information visit:
+#  		http://www.fckeditor.net/
+#  
+#  "Support Open Source software. What about a donation today?"
+#  
+#  File Name: commands.pl
+#  	This is the File Manager Connector for Perl.
+#  
+#  File Authors:
+#  		Takashi Yamaguchi (jack at omakase.net)
+#####
+
+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'};
+		# 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 . '" originalDescription="' . $cnv_errmsg . '" />';
+}
+
+sub FileUpload
+{
+eval("use File::Copy;");
+
+	local($resourceType, $currentFolder) = @_;
+
+	$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;
+		$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");
+				chmod(0777,$sFilePath);
+				unlink("$img_dir/$new_fname");
+				last;
+			}
+		}
+	} else {
+		$sErrorNumber = '202' ;
+	}
+	$sFileName	=~ s/"/\\"/g;
+	print "Content-type: text/html\n\n";
+	print '<script type="text/javascript">';
+	print 'window.parent.frames["frmUpload"].OnUploadCompleted(' . $sErrorNumber . ',"' . $sFileName . '") ;';
+	print '</script>';
+	exit ;
+}
+1;

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/perl/connector.cgi
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/perl/connector.cgi	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/perl/connector.cgi	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,134 @@
+#!/usr/bin/env perl 
+
+#####
+#  FCKeditor - The text editor for internet
+#  Copyright (C) 2003-2005 Frederico Caldeira Knabben
+#  
+#  Licensed under the terms of the GNU Lesser General Public License:
+#  		http://www.opensource.org/licenses/lgpl-license.php
+#  
+#  For further information visit:
+#  		http://www.fckeditor.net/
+#  
+#  "Support Open Source software. What about a donation today?"
+#  
+#  File Name: connector.cgi
+#  	This is the File Manager Connector for Perl.
+#  
+#  File Authors:
+#  		Takashi Yamaguchi (jack at omakase.net)
+#  		Frederico Caldeira Knabben (fredck at fckeditor.net)
+#####
+
+##
+# ATTENTION: To enable this connector, look for the "SECURITY" comment in this file.
+##
+
+## 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';
+
+##
+# SECURITY: REMOVE/COMMENT THE FOLLOWING LINE TO ENABLE THIS CONNECTOR.
+##
+&SendError( 1, 'This connector is disabled. Please check the "editor/filemanager/browser/default/connectors/perl/connector.cgi" file' ) ;
+
+	&read_input();
+
+	if($FORM{'ServerPath'} ne "") {
+		$GLOBALS{'UserFilesPath'} = $FORM{'ServerPath'};
+		if(!($GLOBALS{'UserFilesPath'} =~ /\/$/)) {
+			$GLOBALS{'UserFilesPath'} .= '/' ;
+		}
+	} else {
+		$GLOBALS{'UserFilesPath'} = '/UserFiles/';
+	}
+
+	# Map the "UserFiles" path to a local directory.
+	$rootpath = &GetRootPath();
+	$GLOBALS{'UserFilesDirectory'} = $rootpath . $GLOBALS{'UserFilesPath'};
+
+	&DoResponse();
+
+sub DoResponse
+{
+
+	if($FORM{'Command'} eq "" || $FORM{'Type'} eq "" || $FORM{'CurrentFolder'} eq "") {
+		return ;
+	}
+	# Get the main request informaiton.
+	$sCommand		= $FORM{'Command'};
+	$sResourceType	= $FORM{'Type'};
+	$sCurrentFolder	= $FORM{'CurrentFolder'};
+
+	# 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, "" ) ;
+	}
+
+	# 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 ;
+}
+

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/perl/io.pl
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/perl/io.pl	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/perl/io.pl	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,127 @@
+#####
+#  FCKeditor - The text editor for internet
+#  Copyright (C) 2003-2005 Frederico Caldeira Knabben
+#  
+#  Licensed under the terms of the GNU Lesser General Public License:
+#  		http://www.opensource.org/licenses/lgpl-license.php
+#  
+#  For further information visit:
+#  		http://www.fckeditor.net/
+#  
+#  "Support Open Source software. What about a donation today?"
+#  
+#  File Name: io.pl
+#  	This is the File Manager Connector for Perl.
+#  
+#  File Authors:
+#  		Takashi Yamaguchi (jack at omakase.net)
+#####
+
+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)) {
+		umask(000);
+		mkdir("$folderPath",0777);
+		chmod(0777,"$folderPath");
+		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;

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/perl/upload_fck.pl
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/perl/upload_fck.pl	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/perl/upload_fck.pl	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,663 @@
+#####
+#  FCKeditor - The text editor for internet
+#  Copyright (C) 2003-2005 Frederico Caldeira Knabben
+#  
+#  Licensed under the terms of the GNU Lesser General Public License:
+#  		http://www.opensource.org/licenses/lgpl-license.php
+#  
+#  For further information visit:
+#  		http://www.fckeditor.net/
+#  
+#  "Support Open Source software. What about a donation today?"
+#  
+#  File Name: upload_fck.pl
+#  	This is the File Manager Connector for Perl.
+#  
+#  File Authors:
+#  		Takashi Yamaguchi (jack at omakase.net)
+#####
+
+# image data save dir
+$img_dir	= './temp/';
+
+
+# File size max(unit KB)
+$MAX_CONTENT_SIZE =  30000;
+
+# 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) = @_;
+
+
+	mkdir($img_dir,0777);
+	chmod(0777,$img_dir);
+
+	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;

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/perl/util.pl
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/perl/util.pl	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/perl/util.pl	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,56 @@
+#####
+#  FCKeditor - The text editor for internet
+#  Copyright (C) 2003-2005 Frederico Caldeira Knabben
+#  
+#  Licensed under the terms of the GNU Lesser General Public License:
+#  		http://www.opensource.org/licenses/lgpl-license.php
+#  
+#  For further information visit:
+#  		http://www.fckeditor.net/
+#  
+#  "Support Open Source software. What about a donation today?"
+#  
+#  File Name: util.pl
+#  	This is the File Manager Connector for Perl.
+#  
+#  File Authors:
+#  		Takashi Yamaguchi (jack at omakase.net)
+#####
+
+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 $value;
+#	return utf8_encode(htmlspecialchars($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);
+}
+
+1;

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/php/basexml.php
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/php/basexml.php	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/php/basexml.php	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,68 @@
+<?php 
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: basexml.php
+ * 	This is the File Manager Connector for ASP.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+function SetXmlHeaders()
+{
+	// Prevent the browser from caching the result.
+	// Date in the past
+	header('Expires: Mon, 26 Jul 1997 05:00:00 GMT') ;
+	// always modified
+	header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT') ;
+	// HTTP/1.1
+	header('Cache-Control: no-store, no-cache, must-revalidate') ;
+	header('Cache-Control: post-check=0, pre-check=0', false) ;
+	// HTTP/1.0
+	header('Pragma: no-cache') ;
+
+	// Set the response format.
+	header( 'Content-Type:text/xml; charset=utf-8' ) ;
+}
+
+function CreateXmlHeader( $command, $resourceType, $currentFolder )
+{
+	SetXmlHeaders() ;
+	
+	// Create the XML document header.
+	echo '<?xml version="1.0" encoding="utf-8" ?>' ;
+
+	// Create the main "Connector" node.
+	echo '<Connector command="' . $command . '" resourceType="' . $resourceType . '">' ;
+	
+	// Add the current folder node.
+	echo '<CurrentFolder path="' . ConvertToXmlAttribute( $currentFolder ) . '" url="' . ConvertToXmlAttribute( GetUrlFromPath( $resourceType, $currentFolder ) ) . '" />' ;
+}
+
+function CreateXmlFooter()
+{
+	echo '</Connector>' ;
+}
+
+function SendError( $number, $text )
+{
+	SetXmlHeaders() ;
+	
+	// Create the XML document header
+	echo '<?xml version="1.0" encoding="utf-8" ?>' ;
+	
+	echo '<Connector><Error number="' . $number . '" text="' . htmlspecialchars( $text ) . '" /></Connector>' ;
+	
+	exit ;
+}
+?>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/php/commands.php
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/php/commands.php	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/php/commands.php	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,211 @@
+<?php 
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: commands.php
+ * 	This is the File Manager Connector for PHP.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+function GetFolders( $resourceType, $currentFolder )
+{
+	// Map the virtual path to the local server path.
+	$sServerDir = ServerMapFolder( $resourceType, $currentFolder ) ;
+
+	// Array that will hold the folders names.
+	$aFolders	= array() ;
+
+	$oCurrentFolder = opendir( $sServerDir ) ;
+
+	while ( $sFile = readdir( $oCurrentFolder ) )
+	{
+		if ( $sFile != '.' && $sFile != '..' && is_dir( $sServerDir . $sFile ) )
+			$aFolders[] = '<Folder name="' . ConvertToXmlAttribute( $sFile ) . '" />' ;
+	}
+
+	closedir( $oCurrentFolder ) ;
+
+	// Open the "Folders" node.
+	echo "<Folders>" ;
+	
+	natcasesort( $aFolders ) ;
+	foreach ( $aFolders as $sFolder )
+		echo $sFolder ;
+
+	// Close the "Folders" node.
+	echo "</Folders>" ;
+}
+
+function GetFoldersAndFiles( $resourceType, $currentFolder )
+{
+	// Map the virtual path to the local server path.
+	$sServerDir = ServerMapFolder( $resourceType, $currentFolder ) ;
+
+	// Arrays that will hold the folders and files names.
+	$aFolders	= array() ;
+	$aFiles		= array() ;
+
+	$oCurrentFolder = opendir( $sServerDir ) ;
+
+	while ( $sFile = readdir( $oCurrentFolder ) )
+	{
+		if ( $sFile != '.' && $sFile != '..' )
+		{
+			if ( is_dir( $sServerDir . $sFile ) )
+				$aFolders[] = '<Folder name="' . ConvertToXmlAttribute( $sFile ) . '" />' ;
+			else
+			{
+				$iFileSize = filesize( $sServerDir . $sFile ) ;
+				if ( $iFileSize > 0 )
+				{
+					$iFileSize = round( $iFileSize / 1024 ) ;
+					if ( $iFileSize < 1 ) $iFileSize = 1 ;
+				}
+
+				$aFiles[] = '<File name="' . ConvertToXmlAttribute( $sFile ) . '" size="' . $iFileSize . '" />' ;
+			}
+		}
+	}
+
+	// Send the folders
+	natcasesort( $aFolders ) ;
+	echo '<Folders>' ;
+
+	foreach ( $aFolders as $sFolder )
+		echo $sFolder ;
+
+	echo '</Folders>' ;
+
+	// Send the files
+	natcasesort( $aFiles ) ;
+	echo '<Files>' ;
+
+	foreach ( $aFiles as $sFiles )
+		echo $sFiles ;
+
+	echo '</Files>' ;
+}
+
+function CreateFolder( $resourceType, $currentFolder )
+{
+	$sErrorNumber	= '0' ;
+	$sErrorMsg		= '' ;
+
+	if ( isset( $_GET['NewFolderName'] ) )
+	{
+		$sNewFolderName = $_GET['NewFolderName'] ;
+
+		if ( strpos( $sNewFolderName, '..' ) !== FALSE )
+			$sErrorNumber = '102' ;		// Invalid folder name.
+		else
+		{
+			// Map the virtual path to the local server path of the current folder.
+			$sServerDir = ServerMapFolder( $resourceType, $currentFolder ) ;
+
+			if ( is_writable( $sServerDir ) )
+			{
+				$sServerDir .= $sNewFolderName ;
+
+				$sErrorMsg = CreateServerFolder( $sServerDir ) ;
+
+				switch ( $sErrorMsg )
+				{
+					case '' :
+						$sErrorNumber = '0' ;
+						break ;
+					case 'Invalid argument' :
+					case 'No such file or directory' :
+						$sErrorNumber = '102' ;		// Path too long.
+						break ;
+					default :
+						$sErrorNumber = '110' ;
+						break ;
+				}
+			}
+			else
+				$sErrorNumber = '103' ;
+		}
+	}
+	else
+		$sErrorNumber = '102' ;
+
+	// Create the "Error" node.
+	echo '<Error number="' . $sErrorNumber . '" originalDescription="' . ConvertToXmlAttribute( $sErrorMsg ) . '" />' ;
+}
+
+function FileUpload( $resourceType, $currentFolder )
+{
+	$sErrorNumber = '0' ;
+	$sFileName = '' ;
+
+	if ( isset( $_FILES['NewFile'] ) && !is_null( $_FILES['NewFile']['tmp_name'] ) )
+	{
+		$oFile = $_FILES['NewFile'] ;
+
+		// Map the virtual path to the local server path.
+		$sServerDir = ServerMapFolder( $resourceType, $currentFolder ) ;
+
+		// Get the uploaded file name.
+		$sFileName = $oFile['name'] ;
+		$sOriginalFileName = $sFileName ;
+		$sExtension = substr( $sFileName, ( strrpos($sFileName, '.') + 1 ) ) ;
+		$sExtension = strtolower( $sExtension ) ;
+
+		global $Config ;
+
+		$arAllowed	= $Config['AllowedExtensions'][$resourceType] ;
+		$arDenied	= $Config['DeniedExtensions'][$resourceType] ;
+
+		if ( ( count($arAllowed) == 0 || in_array( $sExtension, $arAllowed ) ) && ( count($arDenied) == 0 || !in_array( $sExtension, $arDenied ) ) )
+		{
+			$iCounter = 0 ;
+
+			while ( true )
+			{
+				$sFilePath = $sServerDir . $sFileName ;
+
+				if ( is_file( $sFilePath ) )
+				{
+					$iCounter++ ;
+					$sFileName = RemoveExtension( $sOriginalFileName ) . '(' . $iCounter . ').' . $sExtension ;
+					$sErrorNumber = '201' ;
+				}
+				else
+				{
+					move_uploaded_file( $oFile['tmp_name'], $sFilePath ) ;
+
+					if ( is_file( $sFilePath ) )
+					{
+						$oldumask = umask(0) ;
+						chmod( $sFilePath, 0777 ) ;
+						umask( $oldumask ) ;
+					}
+
+					break ;
+				}
+			}
+		}
+		else
+			$sErrorNumber = '202' ;
+	}
+	else
+		$sErrorNumber = '202' ;
+
+	echo '<script type="text/javascript">' ;
+	echo 'window.parent.frames["frmUpload"].OnUploadCompleted(' . $sErrorNumber . ',"' . str_replace( '"', '\\"', $sFileName ) . '") ;' ;
+	echo '</script>' ;
+
+	exit ;
+}
+?>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/php/config.php
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/php/config.php	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/php/config.php	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,47 @@
+<?php 
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: config.php
+ * 	Configuration file for the File Manager Connector for PHP.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+global $Config ;
+
+// SECURITY: You must explicitelly enable this "connector". (Set it to "true").
+$Config['Enabled'] = false ;
+
+// Path to user files relative to the document root.
+$Config['UserFilesPath'] = '/UserFiles/' ;
+
+// Fill the following value it you prefer to specify the absolute path for the
+// user files directory. Usefull if you are using a virtual directory, symbolic
+// link or alias. Examples: 'C:\\MySite\\UserFiles\\' or '/root/mysite/UserFiles/'.
+// Attention: The above 'UserFilesPath' must point to the same directory.
+$Config['UserFilesAbsolutePath'] = '' ;
+
+$Config['AllowedExtensions']['File']	= array() ;
+$Config['DeniedExtensions']['File']		= array('php','php3','php5','phtml','asp','aspx','ascx','jsp','cfm','cfc','pl','bat','exe','dll','reg','cgi') ;
+
+$Config['AllowedExtensions']['Image']	= array('jpg','gif','jpeg','png') ;
+$Config['DeniedExtensions']['Image']	= array() ;
+
+$Config['AllowedExtensions']['Flash']	= array('swf','fla') ;
+$Config['DeniedExtensions']['Flash']	= array() ;
+
+$Config['AllowedExtensions']['Media']	= array('swf','fla','jpg','gif','jpeg','png','avi','mpg','mpeg') ;
+$Config['DeniedExtensions']['Media']	= array() ;
+
+?>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/php/connector.php
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/php/connector.php	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/php/connector.php	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,107 @@
+<?php 
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: connector.php
+ * 	This is the File Manager Connector for PHP.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+include('config.php') ;
+include('util.php') ;
+include('io.php') ;
+include('basexml.php') ;
+include('commands.php') ;
+
+if ( !$Config['Enabled'] )
+	SendError( 1, 'This connector is disabled. Please check the "editor/filemanager/browser/default/connectors/php/config.php" file' ) ;
+
+// Get the "UserFiles" path.
+$GLOBALS["UserFilesPath"] = '' ;
+
+if ( isset( $Config['UserFilesPath'] ) )
+	$GLOBALS["UserFilesPath"] = $Config['UserFilesPath'] ;
+else if ( isset( $_GET['ServerPath'] ) )
+	$GLOBALS["UserFilesPath"] = $_GET['ServerPath'] ;
+else
+	$GLOBALS["UserFilesPath"] = '/UserFiles/' ;
+
+if ( ! ereg( '/$', $GLOBALS["UserFilesPath"] ) )
+	$GLOBALS["UserFilesPath"] .= '/' ;
+
+if ( strlen( $Config['UserFilesAbsolutePath'] ) > 0 ) 
+{
+	$GLOBALS["UserFilesDirectory"] = $Config['UserFilesAbsolutePath'] ;
+
+	if ( ! ereg( '/$', $GLOBALS["UserFilesDirectory"] ) )
+		$GLOBALS["UserFilesDirectory"] .= '/' ;
+}
+else
+{
+	// Map the "UserFiles" path to a local directory.
+	$GLOBALS["UserFilesDirectory"] = GetRootPath() . $GLOBALS["UserFilesPath"] ;
+}
+
+DoResponse() ;
+
+function DoResponse()
+{
+	if ( !isset( $_GET['Command'] ) || !isset( $_GET['Type'] ) || !isset( $_GET['CurrentFolder'] ) )
+		return ;
+
+	// Get the main request informaiton.
+	$sCommand		= $_GET['Command'] ;
+	$sResourceType	= $_GET['Type'] ;
+	$sCurrentFolder	= $_GET['CurrentFolder'] ;
+
+	// Check if it is an allowed type.
+	if ( !in_array( $sResourceType, array('File','Image','Flash','Media') ) )
+		return ;
+
+	// Check the current folder syntax (must begin and start with a slash).
+	if ( ! ereg( '/$', $sCurrentFolder ) ) $sCurrentFolder .= '/' ;
+	if ( strpos( $sCurrentFolder, '/' ) !== 0 ) $sCurrentFolder = '/' . $sCurrentFolder ;
+	
+	// Check for invalid folder paths (..)
+	if ( strpos( $sCurrentFolder, '..' ) )
+		SendError( 102, "" ) ;
+
+	// File Upload doesn't have to Return XML, so it must be intercepted before anything.
+	if ( $sCommand == 'FileUpload' )
+	{
+		FileUpload( $sResourceType, $sCurrentFolder ) ;
+		return ;
+	}
+
+	CreateXmlHeader( $sCommand, $sResourceType, $sCurrentFolder ) ;
+
+	// Execute the required command.
+	switch ( $sCommand )
+	{
+		case 'GetFolders' :
+			GetFolders( $sResourceType, $sCurrentFolder ) ;
+			break ;
+		case 'GetFoldersAndFiles' :
+			GetFoldersAndFiles( $sResourceType, $sCurrentFolder ) ;
+			break ;
+		case 'CreateFolder' :
+			CreateFolder( $sResourceType, $sCurrentFolder ) ;
+			break ;
+	}
+
+	CreateXmlFooter() ;
+
+	exit ;
+}
+?>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/php/io.php
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/php/io.php	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/php/io.php	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,97 @@
+<?php 
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: io.php
+ * 	This is the File Manager Connector for ASP.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+function GetUrlFromPath( $resourceType, $folderPath )
+{
+	if ( $resourceType == '' )
+		return RemoveFromEnd( $GLOBALS["UserFilesPath"], '/' ) . $folderPath ;
+	else
+		return $GLOBALS["UserFilesPath"] . $resourceType . $folderPath ;
+}
+
+function RemoveExtension( $fileName )
+{
+	return substr( $fileName, 0, strrpos( $fileName, '.' ) ) ;
+}
+
+function ServerMapFolder( $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.
+	return $sResourceTypePath . RemoveFromStart( $folderPath, '/' ) ;
+}
+
+function GetParentFolder( $folderPath )
+{
+	$sPattern = "-[/\\\\][^/\\\\]+[/\\\\]?$-" ;
+	return preg_replace( $sPattern, '', $folderPath ) ;
+}
+
+function CreateServerFolder( $folderPath )
+{
+	$sParent = GetParentFolder( $folderPath ) ;
+
+	// Check if the parent exists, or create it.
+	if ( !file_exists( $sParent ) )
+	{
+		$sErrorMsg = CreateServerFolder( $sParent ) ;
+		if ( $sErrorMsg != '' )
+			return $sErrorMsg ;
+	}
+
+	if ( !file_exists( $folderPath ) )
+	{
+		// Turn off all error reporting.
+		error_reporting( 0 ) ;
+		// Enable error tracking to catch the error.
+		ini_set( 'track_errors', '1' ) ;
+
+		// To create the folder with 0777 permissions, we need to set umask to zero.
+		$oldumask = umask(0) ;
+		mkdir( $folderPath, 0777 ) ;
+		umask( $oldumask ) ;
+
+		$sErrorMsg = $php_errormsg ;
+
+		// Restore the configurations.
+		ini_restore( 'track_errors' ) ;
+		ini_restore( 'error_reporting' ) ;
+
+		return $sErrorMsg ;
+	}
+	else
+		return '' ;
+}
+
+function GetRootPath()
+{
+	$sRealPath = realpath( './' ) ;
+
+	$sSelfPath = $_SERVER['PHP_SELF'] ;
+	$sSelfPath = substr( $sSelfPath, 0, strrpos( $sSelfPath, '/' ) ) ;
+
+	return substr( $sRealPath, 0, strlen( $sRealPath ) - strlen( $sSelfPath ) ) ;
+}
+?>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/php/util.php
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/php/util.php	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/php/util.php	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,37 @@
+<?php 
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: util.php
+ * 	This is the File Manager Connector for ASP.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+function RemoveFromStart( $sourceString, $charToRemove )
+{
+	$sPattern = '|^' . $charToRemove . '+|' ;
+	return preg_replace( $sPattern, '', $sourceString ) ;
+}
+
+function RemoveFromEnd( $sourceString, $charToRemove )
+{
+	$sPattern = '|' . $charToRemove . '+$|' ;
+	return preg_replace( $sPattern, '', $sourceString ) ;
+}
+
+function ConvertToXmlAttribute( $value )
+{
+	return utf8_encode( htmlspecialchars( $value ) ) ;
+}
+?>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/test.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/test.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/connectors/test.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,166 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: test.html
+ * 	Test page for the File Browser connectors.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title>FCKeditor - Connectors Tests</title>
+		<script language="javascript">
+
+function BuildBaseUrl( command )
+{
+	var sUrl =  
+		document.getElementById('cmbConnector').value +
+		'?Command=' + command +
+		'&Type=' + document.getElementById('cmbType').value +
+		'&CurrentFolder=' + document.getElementById('txtFolder').value ;
+	
+	var sServerPath = document.getElementById('txtServerPath').value ;
+	if ( sServerPath.length > 0 && sServerPath.toLowerCase() != '/userfiles/' )
+		sUrl += '&ServerPath=' + sServerPath ;
+	
+	return sUrl ;
+}
+
+function SetFrameUrl( url )
+{
+	if ( document.all )
+		eRunningFrame.document.location = url ;
+	else
+		document.getElementById('eRunningFrame').src = url ;
+		
+	document.getElementById('eUrl').innerHTML = url ;
+}
+
+function GetFolders()
+{	
+	SetFrameUrl( BuildBaseUrl( 'GetFolders' ) ) ;
+	return false ;
+}
+
+function GetFoldersAndFiles()
+{
+	SetFrameUrl( BuildBaseUrl( 'GetFoldersAndFiles' ) ) ;
+	return false ;
+}
+
+function CreateFolder()
+{
+	var sFolder = prompt( 'Type the folder name:', 'Test Folder' ) ;
+	
+	if ( ! sFolder )
+		return ;
+	
+	var sUrl = BuildBaseUrl( 'CreateFolder' ) ;
+	sUrl += '&NewFolderName=' + escape( sFolder ) ;
+
+	SetFrameUrl( sUrl ) ;
+	return false ;
+}
+
+function OnUploadCompleted( errorNumber, fileName )
+{
+	switch ( errorNumber )
+	{
+		case 0 :
+			alert( 'File uploaded with no errors' ) ;
+			break ;
+		case 201 :
+			GetFoldersAndFiles()
+			alert( 'A file with the same name is already available. The uploaded file has been renamed to "' + fileName + '"' ) ;
+			break ;
+		case 202 :
+			alert( 'Invalid file' ) ;
+			break ;
+		default :
+			alert( 'Error on file upload. Error number: ' + errorNumber ) ;
+			break ;
+	}
+}
+
+this.frames.frmUpload = this ;
+
+function SetAction()
+{
+	var sUrl = BuildBaseUrl( 'FileUpload' ) ;
+	document.getElementById('eUrl').innerHTML = sUrl ;
+	document.getElementById('frmUpload').action = sUrl ;
+}
+
+		</script>
+	</head>
+	<body>
+		<table height="100%" cellSpacing="0" cellPadding="0" width="100%" border="0">
+			<tr>
+				<td>
+					<table cellSpacing="0" cellPadding="0" border="0">
+						<tr>
+							<td>Connector:<br>
+								<select id="cmbConnector" name="cmbConnector">
+									<option value="asp/connector.asp" selected>ASP</option>
+									<option value="aspx/connector.aspx">ASP.Net</option>
+									<option value="cfm/connector.cfm">ColdFusion</option>
+									<option value="perl/connector.cgi">Perl</option>
+									<option value="php/connector.php">PHP</option>
+								</select></td>
+							<td>&nbsp;&nbsp;&nbsp;</td>
+							<td>Current Folder<BR>
+								<INPUT id="txtFolder" type="text" value="/" name="txtFolder"></td>
+							<td>&nbsp;&nbsp;&nbsp;</td>
+							<td>Resource Type<BR>
+								<select id="cmbType" name="cmbType">
+									<option value="File" selected>File</option>
+									<option value="Image">Image</option>
+									<option value="Flash">Flash</option>
+									<option value="Media">Media</option>
+									<option value="Invalid">Invalid Type (for testing)</option>
+								</select></td>
+							<TD>&nbsp;&nbsp;&nbsp;</TD>
+							<TD>Server Path<BR>
+								<INPUT id="txtServerPath" type="text" value="/UserFiles/" /></TD>
+						</tr>
+					</table>
+					<br>
+					<table cellSpacing="0" cellPadding="0" border="0">
+						<tr>
+							<td valign="top"><a href="#" onclick="GetFolders();">Get Folders</a></td>
+							<td>&nbsp;&nbsp;&nbsp;</td>
+							<td valign="top"><a href="#" onclick="GetFoldersAndFiles();">Get Folders and Files</a></td>
+							<td>&nbsp;&nbsp;&nbsp;</td>
+							<td valign="top"><a href="#" onclick="CreateFolder();">Create Folder</a></td>
+							<td>&nbsp;&nbsp;&nbsp;</td>
+							<td valign="top">
+								<form id="frmUpload" action="" target="eRunningFrame" method="post" enctype="multipart/form-data">
+									File Upload<br>
+									<input id="txtFileUpload" type="file" name="NewFile"> <input type="submit" value="Upload" onclick="SetAction();">
+								</form>
+							</td>
+						</tr>
+					</table>
+					<br>
+					URL: <span id="eUrl"></span>
+				</td>
+			</tr>
+			<tr>
+				<td height="100%" vAlign="top">
+					<iframe id="eRunningFrame" src="../../../../fckblank.html" name="eRunningFrame" width="100%" height="100%"></iframe>
+				</td>
+			</tr>
+		</table>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/frmactualfolder.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/frmactualfolder.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/frmactualfolder.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,63 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: frmactualfolder.html
+ * 	This page shows the actual folder path.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<link href="browser.css" type="text/css" rel="stylesheet">
+		<script type="text/javascript">
+
+function OnResize()
+{
+	divName.style.width = "1px" ;
+	divName.style.width = tdName.offsetWidth + "px" ;
+}
+
+function SetCurrentFolder( resourceType, folderPath )
+{
+	document.getElementById('tdName').innerHTML = folderPath ;
+}
+
+window.onload = function()
+{
+	window.top.IsLoadedActualFolder = true ;
+}
+
+		</script>
+	</head>
+	<body bottomMargin="0" topMargin="0">
+		<table height="100%" cellSpacing="0" cellPadding="0" width="100%" border="0">
+			<tr>
+				<td>
+					<button style="WIDTH: 100%" type="button">
+						<table cellSpacing="0" cellPadding="0" width="100%" border="0">
+							<tr>
+								<td><img height="32" alt="" src="images/FolderOpened32.gif" width="32"></td>
+								<td>&nbsp;</td>
+								<td id="tdName" width="100%" nowrap class="ActualFolder">/</td>
+								<td>&nbsp;</td>
+								<td><img height="8" src="images/ButtonArrow.gif" width="12"></td>
+								<td>&nbsp;</td>
+							</tr>
+						</table>
+					</button>
+				</td>
+			</tr>
+		</table>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/frmcreatefolder.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/frmcreatefolder.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/frmcreatefolder.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,109 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: frmcreatefolder.html
+ * 	Page used to create new folders in the current folder.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<link href="browser.css" type="text/css" rel="stylesheet">
+		<script type="text/javascript" src="js/common.js"></script>
+		<script language="javascript">
+
+function SetCurrentFolder( resourceType, folderPath )
+{
+	oConnector.ResourceType = resourceType ;
+	oConnector.CurrentFolder = folderPath
+}
+
+function CreateFolder()
+{
+	var sFolderName ;
+	
+	while ( true ) 
+	{
+		sFolderName = prompt( 'Type the name of the new folder:', '' ) ;
+	
+		if ( sFolderName == null )
+			return ;
+		else if ( sFolderName.length == 0 )
+			alert( 'Please type the folder name' ) ;
+		else
+			break ;
+	}
+	
+	oConnector.SendCommand( 'CreateFolder', 'NewFolderName=' + escape( sFolderName) , CreateFolderCallBack ) ;
+}
+
+function CreateFolderCallBack( fckXml )
+{
+	if ( oConnector.CheckError( fckXml ) == 0 )
+		window.parent.frames['frmResourcesList'].Refresh() ;
+	
+	/*
+	// Get the current folder path.
+	var oNode = fckXml.SelectSingleNode( 'Connector/Error' ) ;
+	var iErrorNumber = parseInt( oNode.attributes.getNamedItem('number').value ) ;
+	
+	switch ( iErrorNumber )
+	{
+		case 0 :
+			window.parent.frames['frmResourcesList'].Refresh() ;
+			break ;
+		case 101 :
+			alert( 'Folder already exists' ) ;
+			break ;
+		case 102 :
+			alert( 'Invalid folder name' ) ;
+			break ;
+		case 103 :
+			alert( 'You have no permissions to create the folder' ) ;
+			break ;
+		case 110 :
+			alert( 'Unknown error creating folder' ) ;
+			break ;
+		default :
+			alert( 'Error creating folder. Error number: ' + iErrorNumber ) ;
+			break ;
+	}
+	*/
+}
+
+window.onload = function()
+{
+	window.top.IsLoadedCreateFolder = true ;
+}
+		</script>
+	</head>
+	<body bottomMargin="0" topMargin="0">
+		<table height="100%" cellSpacing="0" cellPadding="0" width="100%" border="0">
+			<tr>
+				<td>
+					<button type="button" style="WIDTH: 100%" onclick="CreateFolder();">
+						<table cellSpacing="0" cellPadding="0" border="0">
+							<tr>
+								<td><img height="16" alt="" src="images/Folder.gif" width="16"></td>
+								<td>&nbsp;</td>
+								<td nowrap>Create New Folder</td>
+							</tr>
+						</table>
+					</button>
+				</td>
+			</tr>
+		</table>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/frmfolders.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/frmfolders.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/frmfolders.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,192 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: frmfolders.html
+ * 	This page shows the list of folders available in the parent folder 
+ * 	of the current folder.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<link href="browser.css" type="text/css" rel="stylesheet">
+		<script type="text/javascript" src="js/common.js"></script>
+		<script language="javascript">
+
+var sActiveFolder ;
+
+var bIsLoaded = false ;
+var iIntervalId ;
+
+var oListManager = new Object() ;
+
+oListManager.Init = function()
+{
+	this.Table = document.getElementById('tableFiles') ;
+	this.UpRow = document.getElementById('trUp') ;
+
+	this.TableRows = new Object() ;	
+}
+
+oListManager.Clear = function()
+{
+	// Remove all other rows available.
+	while ( this.Table.rows.length > 1 )
+		this.Table.deleteRow(1) ;
+
+	// Reset the TableRows collection.
+	this.TableRows = new Object() ;
+}
+
+oListManager.AddItem = function( folderName, folderPath )
+{
+	// Create the new row.
+	var oRow = this.Table.insertRow(-1) ;
+	oRow.className = 'FolderListFolder' ;
+
+	// Build the link to view the folder.
+	var sLink = '<a href="#" onclick="OpenFolder(\'' + folderPath + '\');return false;">' ;
+
+	// Add the folder icon cell.
+	var oCell = oRow.insertCell(-1) ;
+	oCell.width = 16 ;
+	oCell.innerHTML = sLink + '<img alt="" src="images/spacer.gif" width="16" height="16" border="0"></a>' ;
+
+	// Add the folder name cell.
+	oCell = oRow.insertCell(-1) ;
+	oCell.noWrap = true ;
+	oCell.innerHTML = '&nbsp;' + sLink + folderName + '</a>' ;
+	
+	this.TableRows[ folderPath ] = oRow ;
+}
+
+oListManager.ShowUpFolder = function( upFolderPath )
+{
+	this.UpRow.style.display = ( upFolderPath != null ? '' : 'none' ) ;
+	
+	if ( upFolderPath != null )
+	{
+		document.getElementById('linkUpIcon').onclick = document.getElementById('linkUp').onclick = function()
+		{
+			LoadFolders( upFolderPath ) ;
+			return false ;
+		}
+	}
+}
+
+function CheckLoaded()
+{
+	if ( window.top.IsLoadedActualFolder 
+		&& window.top.IsLoadedCreateFolder 
+		&& window.top.IsLoadedUpload
+		&& window.top.IsLoadedResourcesList )
+	{
+		window.clearInterval( iIntervalId ) ;
+		bIsLoaded = true ;
+		OpenFolder( sActiveFolder ) ;
+	}
+}
+
+function OpenFolder( folderPath )
+{
+	sActiveFolder = folderPath ;
+
+	if ( ! bIsLoaded )
+	{
+		if ( ! iIntervalId )
+			iIntervalId = window.setInterval( CheckLoaded, 100 ) ;
+		return ;
+	}
+
+	// Change the style for the select row (to show the opened folder).
+	for ( var sFolderPath in oListManager.TableRows )
+	{
+		oListManager.TableRows[ sFolderPath ].className = 
+			( sFolderPath == folderPath ? 'FolderListCurrentFolder' : 'FolderListFolder' ) ;
+	}
+
+	// Set the current folder in all frames.
+	window.parent.frames['frmActualFolder'].SetCurrentFolder( oConnector.ResourceType, folderPath ) ;
+	window.parent.frames['frmCreateFolder'].SetCurrentFolder( oConnector.ResourceType, folderPath ) ;
+	window.parent.frames['frmUpload'].SetCurrentFolder( oConnector.ResourceType, folderPath ) ;
+	
+	// Load the resources list for this folder.
+	window.parent.frames['frmResourcesList'].LoadResources( oConnector.ResourceType, folderPath ) ;
+}
+
+function LoadFolders( folderPath )
+{
+	// Clear the folders list.
+	oListManager.Clear() ;
+
+	// Get the parent folder path.
+	var sParentFolderPath ;
+	if ( folderPath != '/' )
+		sParentFolderPath = folderPath.substring( 0, folderPath.lastIndexOf( '/', folderPath.length - 2 ) + 1 ) ;
+
+	// Show/Hide the Up Folder.
+	oListManager.ShowUpFolder( sParentFolderPath ) ;
+	
+	if ( folderPath != '/' )
+	{
+		sActiveFolder = folderPath ;
+		oConnector.CurrentFolder = sParentFolderPath
+		oConnector.SendCommand( 'GetFolders', null, GetFoldersCallBack ) ;
+	}
+	else
+		OpenFolder( '/' ) ;
+}
+
+function GetFoldersCallBack( fckXml )
+{
+	if ( oConnector.CheckError( fckXml ) != 0 )
+		return ;
+		
+	// Get the current folder path.
+	var oNode = fckXml.SelectSingleNode( 'Connector/CurrentFolder' ) ;
+	var sCurrentFolderPath = oNode.attributes.getNamedItem('path').value ;
+	
+	var oNodes = fckXml.SelectNodes( 'Connector/Folders/Folder' ) ;
+	
+	for ( var i = 0 ; i < oNodes.length ; i++ )
+	{
+		var sFolderName = oNodes[i].attributes.getNamedItem('name').value ;
+		oListManager.AddItem( sFolderName, sCurrentFolderPath + sFolderName + "/" ) ;
+	}
+	
+	OpenFolder( sActiveFolder ) ;
+}
+
+function SetResourceType( type )
+{
+	oConnector.ResourceType = type ;
+	LoadFolders( '/' ) ;
+}
+
+window.onload = function()
+{
+	oListManager.Init() ;
+	LoadFolders( '/' ) ;
+}
+		</script>
+	</head>
+	<body class="FileArea" bottomMargin="10" leftMargin="10" topMargin="10" rightMargin="10">
+		<table id="tableFiles" cellSpacing="0" cellPadding="0" width="100%" border="0">
+			<tr id="trUp" style="DISPLAY: none">
+				<td width="16"><a id="linkUpIcon" href="#"><img alt="" src="images/FolderUp.gif" width="16" height="16" border="0"></a></td>
+				<td nowrap width="100%">&nbsp;<a id="linkUp" href="#">..</a></td>
+			</tr>
+		</table>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/frmresourceslist.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/frmresourceslist.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/frmresourceslist.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,152 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: frmresourceslist.html
+ * 	This page shows all resources available in a folder in the File Browser.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<link href="browser.css" type="text/css" rel="stylesheet">
+		<script type="text/javascript" src="js/common.js"></script>
+		<script language="javascript">
+
+var oListManager = new Object() ;
+
+oListManager.Init = function()
+{
+	this.Table = document.getElementById('tableFiles') ;
+}
+
+oListManager.Clear = function()
+{
+	// Remove all other rows available.
+	while ( this.Table.rows.length > 0 )
+		this.Table.deleteRow(0) ;
+}
+
+oListManager.AddFolder = function( folderName, folderPath )
+{
+	// Create the new row.
+	var oRow = this.Table.insertRow(-1) ;
+
+	// Build the link to view the folder.
+	var sLink = '<a href="#" onclick="OpenFolder(\'' + folderPath + '\');return false;">' ;
+
+	// Add the folder icon cell.
+	var oCell = oRow.insertCell(-1) ;
+	oCell.width = 16 ;
+	oCell.innerHTML = sLink + '<img alt="" src="images/Folder.gif" width="16" height="16" border="0"></a>' ;
+
+	// Add the folder name cell.
+	oCell = oRow.insertCell(-1) ;
+	oCell.noWrap = true ;
+	oCell.colSpan = 2 ;
+	oCell.innerHTML = '&nbsp;' + sLink + folderName + '</a>' ;
+}
+
+oListManager.AddFile = function( fileName, fileUrl, fileSize )
+{
+	// Create the new row.
+	var oRow = this.Table.insertRow(-1) ;
+
+	// Build the link to view the folder.
+	var sLink = '<a href="#" onclick="OpenFile(\'' + fileUrl + '\');return false;">' ;
+
+	// Get the file icon.
+	var sIcon = oIcons.GetIcon( fileName ) ;
+
+	// Add the file icon cell.
+	var oCell = oRow.insertCell(-1) ;
+	oCell.width = 16 ;
+	oCell.innerHTML = sLink + '<img alt="" src="images/icons/' + sIcon + '.gif" width="16" height="16" border="0"></a>' ;
+
+	// Add the file name cell.
+	oCell = oRow.insertCell(-1) ;
+	oCell.innerHTML = '&nbsp;' + sLink + fileName + '</a>' ;
+	
+	// Add the file size cell.
+	oCell = oRow.insertCell(-1) ;
+	oCell.noWrap = true ;
+	oCell.align = 'right' ;
+	oCell.innerHTML = '&nbsp;' + fileSize + ' KB' ;
+}
+
+function OpenFolder( folderPath )
+{
+	// Load the resources list for this folder.
+	window.parent.frames['frmFolders'].LoadFolders( folderPath ) ;
+}
+
+function OpenFile( fileUrl )
+{
+	window.top.opener.SetUrl( fileUrl ) ;
+	window.top.close() ;
+	window.top.opener.focus() ;
+}
+
+function LoadResources( resourceType, folderPath )
+{
+	oListManager.Clear() ;
+	oConnector.ResourceType = resourceType ;
+	oConnector.CurrentFolder = folderPath
+	oConnector.SendCommand( 'GetFoldersAndFiles', null, GetFoldersAndFilesCallBack ) ;
+}
+
+function Refresh()
+{
+	LoadResources( oConnector.ResourceType, oConnector.CurrentFolder ) ;
+}
+
+function GetFoldersAndFilesCallBack( fckXml )
+{
+	if ( oConnector.CheckError( fckXml ) != 0 )
+		return ;
+
+	// Get the current folder path.
+	var oNode = fckXml.SelectSingleNode( 'Connector/CurrentFolder' ) ;
+	var sCurrentFolderPath	= oNode.attributes.getNamedItem('path').value ;
+	var sCurrentFolderUrl	= oNode.attributes.getNamedItem('url').value ;
+
+	// Add the Folders.	
+	var oNodes = fckXml.SelectNodes( 'Connector/Folders/Folder' ) ;
+	for ( var i = 0 ; i < oNodes.length ; i++ )
+	{
+		var sFolderName = oNodes[i].attributes.getNamedItem('name').value ;
+		oListManager.AddFolder( sFolderName, sCurrentFolderPath + sFolderName + "/" ) ;
+	}
+	
+	// Add the Files.	
+	var oNodes = fckXml.SelectNodes( 'Connector/Files/File' ) ;
+	for ( var i = 0 ; i < oNodes.length ; i++ )
+	{
+		var sFileName = oNodes[i].attributes.getNamedItem('name').value ;
+		var sFileSize = oNodes[i].attributes.getNamedItem('size').value ;
+		oListManager.AddFile( sFileName, sCurrentFolderUrl + sFileName, sFileSize ) ;
+	}
+}
+
+window.onload = function()
+{
+	oListManager.Init() ;
+	window.top.IsLoadedResourcesList = true ;
+}
+		</script>
+	</head>
+	<body class="FileArea" bottomMargin="10" leftMargin="10" topMargin="10" rightMargin="10">
+		<table id="tableFiles" cellSpacing="1" cellPadding="0" width="100%" border="0">
+		</table>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/frmresourcetype.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/frmresourcetype.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/frmresourcetype.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,61 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: frmresourcetype.html
+ * 	This page shows the list of available resource types.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<link href="browser.css" type="text/css" rel="stylesheet">
+		<script type="text/javascript" src="js/common.js"></script>
+		<script language="javascript">
+
+function SetResourceType( type )
+{
+	window.parent.frames["frmFolders"].SetResourceType( type ) ;
+}
+
+var aTypes = [
+	['File','File'],
+	['Image','Image'],
+	['Flash','Flash'],
+	['Media','Media']
+] ;
+
+window.onload = function()
+{
+	for ( var i = 0 ; i < aTypes.length ; i++ )
+	{
+		if ( oConnector.ShowAllTypes || aTypes[i][0] == oConnector.ResourceType )
+			AddSelectOption( document.getElementById('cmbType'), aTypes[i][1], aTypes[i][0] ) ;
+	}
+}
+
+		</script>
+	</head>
+	<body bottomMargin="0" topMargin="0">
+		<table height="100%" cellSpacing="0" cellPadding="0" width="100%" border="0">
+			<tr>
+				<td nowrap>
+					Resource Type<BR>
+					<select id="cmbType" style="WIDTH: 100%" onchange="SetResourceType(this.value);">
+					</select>
+				</td>
+			</tr>
+		</table>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/frmupload.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/frmupload.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/frmupload.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,106 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: frmupload.html
+ * 	Page used to upload new files in the current folder.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<link href="browser.css" type="text/css" rel="stylesheet" />
+		<script type="text/javascript" src="js/common.js"></script>
+		<script language="javascript">
+
+function SetCurrentFolder( resourceType, folderPath )
+{
+	var sUrl = oConnector.ConnectorUrl +'Command=FileUpload' ;
+	sUrl += '&Type=' + resourceType ;
+	sUrl += '&CurrentFolder=' + folderPath ;
+	
+	document.getElementById('frmUpload').action = sUrl ;
+}
+
+function OnSubmit()
+{
+	if ( document.getElementById('NewFile').value.length == 0 )
+	{
+		alert( 'Please select a file from your computer' ) ;
+		return false ;
+	}
+
+	// Set the interface elements.
+	document.getElementById('eUploadMessage').innerHTML = 'Upload a new file in this folder (Upload in progress, please wait...)' ;
+	document.getElementById('btnUpload').disabled = true ;
+	
+	return true ;
+}
+
+function OnUploadCompleted( errorNumber, fileName )
+{
+	// Reset the Upload Worker Frame.
+	window.parent.frames['frmUploadWorker'].location = 'about:blank' ;
+	
+	// Reset the upload form (On IE we must do a little trick to avout problems).
+	if ( document.all )
+		document.getElementById('NewFile').outerHTML = '<input id="NewFile" name="NewFile" style="WIDTH: 100%" type="file">' ;
+	else
+		document.getElementById('frmUpload').reset() ;
+	
+	// Reset the interface elements.
+	document.getElementById('eUploadMessage').innerHTML = 'Upload a new file in this folder' ;
+	document.getElementById('btnUpload').disabled = false ;
+	
+	switch ( errorNumber )
+	{
+		case 0 :
+			window.parent.frames['frmResourcesList'].Refresh() ;
+			break ;
+		case 201 :
+			window.parent.frames['frmResourcesList'].Refresh() ;
+			alert( 'A file with the same name is already available. The uploaded file has been renamed to "' + fileName + '"' ) ;
+			break ;
+		case 202 :
+			alert( 'Invalid file' ) ;
+			break ;
+		default :
+			alert( 'Error on file upload. Error number: ' + errorNumber ) ;
+			break ;
+	}
+}
+
+window.onload = function()
+{
+	window.top.IsLoadedUpload = true ;
+}
+		</script>
+	</head>
+	<body bottomMargin="0" topMargin="0">
+		<form id="frmUpload" action="" target="frmUploadWorker" method="post" enctype="multipart/form-data" onsubmit="return OnSubmit();">
+			<table height="100%" cellSpacing="0" cellPadding="0" width="100%" border="0">
+				<tr>
+					<td nowrap>
+						<span id="eUploadMessage">Upload a new file in this folder</span><br>
+						<table cellSpacing="0" cellPadding="0" width="100%" border="0">
+							<tr>
+								<td width="100%"><input id="NewFile" name="NewFile" style="WIDTH: 100%" type="file"></td>
+								<td nowrap>&nbsp;<input id="btnUpload" type="submit" value="Upload"></td>
+							</tr>
+						</table>
+					</td>
+				</tr>
+			</table>
+		</form>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/ButtonArrow.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/ButtonArrow.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/Folder.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/Folder.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/Folder32.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/Folder32.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/FolderOpened.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/FolderOpened.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/FolderOpened32.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/FolderOpened32.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/FolderUp.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/FolderUp.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/ai.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/ai.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/avi.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/avi.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/bmp.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/bmp.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/cs.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/cs.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/default.icon.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/default.icon.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/dll.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/dll.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/doc.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/doc.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/exe.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/exe.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/fla.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/fla.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/gif.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/gif.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/htm.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/htm.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/html.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/html.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/jpg.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/jpg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/js.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/js.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/mdb.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/mdb.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/mp3.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/mp3.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/pdf.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/pdf.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/ppt.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/ppt.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/rdp.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/rdp.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/swf.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/swf.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/swt.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/swt.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/txt.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/txt.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/vsd.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/vsd.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/xls.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/xls.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/xml.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/xml.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/zip.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/32/zip.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/ai.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/ai.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/avi.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/avi.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/bmp.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/bmp.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/cs.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/cs.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/default.icon.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/default.icon.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/dll.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/dll.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/doc.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/doc.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/exe.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/exe.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/fla.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/fla.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/gif.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/gif.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/htm.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/htm.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/html.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/html.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/jpg.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/jpg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/js.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/js.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/mdb.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/mdb.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/mp3.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/mp3.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/pdf.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/pdf.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/ppt.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/ppt.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/rdp.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/rdp.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/swf.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/swf.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/swt.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/swt.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/txt.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/txt.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/vsd.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/vsd.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/xls.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/xls.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/xml.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/xml.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/zip.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/icons/zip.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/spacer.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/images/spacer.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/js/common.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/js/common.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/js/common.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,34 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: common.js
+ * 	Common objects and functions shared by all pages that compose the
+ * 	File Browser dialog window.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+function AddSelectOption( selectElement, optionText, optionValue )
+{
+	var oOption = document.createElement("OPTION") ;
+
+	oOption.text	= optionText ;
+	oOption.value	= optionValue ;	
+
+	selectElement.options.add(oOption) ;
+
+	return oOption ;
+}
+
+var oConnector	= window.parent.oConnector ;
+var oIcons		= window.parent.oIcons ;
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/js/fckxml.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/js/fckxml.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/default/js/fckxml.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,109 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckxml.js
+ * 	Defines the FCKXml object that is used for XML data calls
+ * 	and XML processing.
+ * 	This script is shared by almost all pages that compose the 
+ * 	File Browser frameset.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+var FCKXml = function()
+{}
+
+FCKXml.prototype.GetHttpRequest = function()
+{
+	if ( window.XMLHttpRequest )		// Gecko
+		return new XMLHttpRequest() ;
+	else if ( window.ActiveXObject )	// IE
+		return new ActiveXObject("MsXml2.XmlHttp") ;
+}
+
+FCKXml.prototype.LoadUrl = function( urlToCall, asyncFunctionPointer )
+{
+	var oFCKXml = this ;
+
+	var bAsync = ( typeof(asyncFunctionPointer) == 'function' ) ;
+
+	var oXmlHttp = this.GetHttpRequest() ;
+		
+	oXmlHttp.open( "GET", urlToCall, bAsync ) ;
+	
+	if ( bAsync )
+	{	
+		oXmlHttp.onreadystatechange = function() 
+		{
+			if ( oXmlHttp.readyState == 4 )
+			{
+				oFCKXml.DOMDocument = oXmlHttp.responseXML ;
+				if ( oXmlHttp.status == 200 || oXmlHttp.status == 304 )
+					asyncFunctionPointer( oFCKXml ) ;
+				else
+					alert( 'XML request error: ' + oXmlHttp.statusText + ' (' + oXmlHttp.status + ')' ) ;
+			}
+		}
+	}
+	
+	oXmlHttp.send( null ) ;
+	
+	if ( ! bAsync )
+	{
+		if ( oXmlHttp.status == 200 || oXmlHttp.status == 304 )
+			this.DOMDocument = oXmlHttp.responseXML ;
+		else
+		{
+			alert( 'XML request error: ' + oXmlHttp.statusText + ' (' + oXmlHttp.status + ')' ) ;
+		}
+	}
+}
+
+FCKXml.prototype.SelectNodes = function( xpath )
+{
+	if ( document.all )		// IE
+		return this.DOMDocument.selectNodes( xpath ) ;
+	else					// Gecko
+	{
+		var aNodeArray = new Array();
+
+		var xPathResult = this.DOMDocument.evaluate( xpath, this.DOMDocument, 
+				this.DOMDocument.createNSResolver(this.DOMDocument.documentElement), XPathResult.ORDERED_NODE_ITERATOR_TYPE, null) ;
+		if ( xPathResult ) 
+		{
+			var oNode = xPathResult.iterateNext() ;
+ 			while( oNode )
+ 			{
+ 				aNodeArray[aNodeArray.length] = oNode ;
+ 				oNode = xPathResult.iterateNext();
+ 			}
+		} 
+		return aNodeArray ;
+	}
+}
+
+FCKXml.prototype.SelectSingleNode = function( xpath ) 
+{
+	if ( document.all )		// IE
+		return this.DOMDocument.selectSingleNode( xpath ) ;
+	else					// Gecko
+	{
+		var xPathResult = this.DOMDocument.evaluate( xpath, this.DOMDocument,
+				this.DOMDocument.createNSResolver(this.DOMDocument.documentElement), 9, null);
+
+		if ( xPathResult && xPathResult.singleNodeValue )
+			return xPathResult.singleNodeValue ;
+		else	
+			return null ;
+	}
+}

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/browser.css
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/browser.css	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/browser.css	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,214 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: browser.css
+ * 	CSS styles used by all pages that compose the File Browser.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+body
+{
+	background-color: #e3e9f1;
+}
+
+form
+{
+	margin: 0px 0px 0px 0px ;
+	padding: 0px 0px 0px 0px ;
+}
+
+a, :link, :active, :visited {
+	color: #000000;
+	text-decoration: none;
+}
+
+:hover {
+	color: #0000fa;
+}	
+
+a img {
+	border-width: 0px;
+	border-style: none;
+}
+
+frame
+{
+background-color: #e3e9f1;
+border-color: #000000;
+border-collapse: collapse;
+}
+
+frameset
+{
+background-color: #e3e9f1;
+border-color: #000000;
+border-collapse: collapse;
+}
+
+.progress_hollow
+{
+	background-color: transparent;
+}
+
+.progress_filled
+{
+	background-color: #8fa7c7;
+}
+
+.progress_bar
+{
+	background-color: #F0F7FF;
+	border-width: 1px;
+	border-color: #000000;
+	border-style: solid;
+}
+
+.Frame_none
+{
+	border-width: 0px;
+	border-style: none;
+}
+
+.Frame_t
+{
+	border-right: 0px none;
+	border-top: 1px solid;
+	border-left: 0px none;
+	border-bottom: 0px none;
+}
+
+.Frame_tr
+{
+	border-right: 1px solid;
+	border-top: 1px solid;
+	border-left: 0px none;
+	border-bottom: 0px none;
+}
+
+.Frame_tl
+{
+	border-right: 0px none;
+	border-top: 1px solid;
+	border-left: 1px solid;
+	border-bottom: 0px none;
+}
+
+.Frame_r
+{
+	border-right: 1px solid;
+	border-top: 0px none;
+	border-left: 0px none;
+	border-bottom: 0px none;
+}
+
+.Frame_l
+{
+	border-right: 0px none;
+	border-top: 0px none;
+	border-left: 1px solid;
+	border-bottom: 0px none;
+}
+
+.Frame_rl
+{
+	border-right: 1px solid;
+	border-top: 0px none;
+	border-left: 1px solid;
+	border-bottom: 0px none;
+}
+
+.Frame_b
+{
+	border-right: 0px none;
+	border-top: 0px none;
+	border-left: 0px none;
+	border-bottom: 1px solid;
+}
+
+.Frame_br
+{
+	border-right: 1px solid;
+	border-top: 0px none;
+	border-left: 0px none;
+	border-bottom: 1px solid;
+}
+
+.Frame_bl
+{
+	border-right: 0px none;
+	border-top: 0px none;
+	border-left: 1px solid;
+	border-bottom: 1px solid;
+}
+
+.Frame_tb
+{
+	border-right: 0px none;
+	border-top: 1px solid;
+	border-left: 0px none;
+	border-bottom: 1px solid;
+}
+
+.Frame_all
+{
+	border-right: 1px solid;
+	border-top: 1px solid;
+	border-left: 1px solid;
+	border-bottom: 1px solid;
+}
+
+body.FileArea
+{
+
+	background-color: #ffffff;
+}
+
+body, td, input, select
+{
+	font-size: 11px;
+	font-family: 'Microsoft Sans Serif' , Arial, Helvetica, Verdana;
+}
+
+.ActualFolder
+{
+	font-weight: bold;
+	font-size: 14px;
+}
+
+.PopupButtons
+{
+	border-top: #8fa7c7 1px solid;
+	background-color: #ffffff;
+	padding: 7px 10px 7px 10px;
+}
+
+.Button, button
+{
+	border-right: #737357 1px solid;
+	border-top: #737357 1px solid;
+	border-left: #737357 1px solid;
+	color: #ffffff;
+	border-bottom: #737357 1px solid;
+	background-color: #8fa7c7;
+}
+
+.FolderListCurrentFolder img
+{
+	background-image: url(images/FolderOpened.gif);
+}
+
+.FolderListFolder img
+{
+	background-image: url(images/Folder.gif);
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/browser.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/browser.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/browser.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,40 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: browser.html
+ * 	This page compose the File Browser dialog frameset.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title>FCKeditor - Resources Browser</title>
+		<link href="browser.css" type="text/css" rel="stylesheet">
+	</head>
+	<frameset cols="150,*" framespacing="0" bordercolor="#f1f1e3" frameborder="no" class="Frame_none">
+		<frameset rows="50,*" framespacing="0"  class="Frame_r">
+			<frame src="frmresourcetype.html" scrolling="no" frameborder="no">
+			<frame name="frmFolders" id="frmFolders" src="frmfolders.html" scrolling="auto" frameborder="no">
+		</frameset>
+		<frameset rows="50,*,50" framespacing="0" class="Frame_none">
+			<frame name="frmActualFolder" src="frmactualfolder.html" scrolling="no" frameborder="no">
+			<frame name="frmResourcesList" id="mainWindow" src="frmresourceslist.html" scrolling="auto" frameborder="no">
+			<frameset cols="150,*,0" framespacing="0" frameborder="no" class="Frame_t">
+				<frame name="frmCreateFolder" id="frmCreateFolder" src="frmcreatefolder.html" scrolling="no" frameborder="no">
+				<frame name="frmUpload" id="frmUpload" src="frmupload.html" scrolling="no" frameborder="no">
+				<frame name="frmUploadWorker" src="" scrolling="no" frameborder="no">
+			</frameset>
+		</frameset>
+	</frameset>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Auth/Default.php
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Auth/Default.php	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Auth/Default.php	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,86 @@
+<?php 
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: Default.php
+ * 	Im not very clued up on authentication but even i can see that anyone 
+ * 	who can spoof an IP could perform a replay attack on this, but its 
+ * 	better than nothing. 
+ * 	There is a 1 hour time out on tokens to help this slightly.
+ * 
+ * File Authors:
+ * 		Grant French (grant at mcpuk.net)
+ */
+class Auth {
+	
+	function authenticate($data,$fckphp_config) {
+
+		//Hold relevant$fckphp_config vars locally
+		$key=$fckphp_config['auth']['Handler']['SharedKey'];
+		$fckphp_config['authSuccess']=false;
+		
+		//Decrypt the data passed to us
+		$decData="";
+		for ($i=0;$i<strlen($data)-1;$i+=2) $decData.=chr(hexdec($data[$i].$data[$i+1]));
+		
+		$decArray=explode("|^SEP^|",$decData);
+		
+		if (sizeof($decArray)==4) {
+			//0 = Timestamp
+			//1 = Client IP
+			//2 = Username
+			//3 = MD5
+			if ($decArray[3]==md5($decArray[0]."|^SEP^|".$decArray[1]."|^SEP^|".$decArray[2].$key)) {
+				if (time()-$decArray[0]<3600) { //Token valid for max of 1 hour
+					if ($_SERVER['REMOTE_ADDR']==$decArray[1]) {
+						
+						//Set the file root to the users individual one
+						$top=str_replace("//","/",$fckphp_config['basedir'].'/'.$fckphp_config['UserFilesPath']."/users");
+						$fckphp_config['UserFilesPath']=$fckphp_config['UserFilesPath']."/users/".$decArray[2];
+						$up=str_replace("//","/",$fckphp_config['basedir'].'/'.$fckphp_config['UserFilesPath']);
+						
+						if (!file_exists($top)) {
+							mkdir($top,0777) or die("users folder in UserFilesPath does not exist and could not be created.");
+							chmod($top,0777);
+						}
+						
+						//Create folder if it doesnt exist
+						if (!file_exists($up)) {
+							mkdir($up,0777) or die("users/".$decArray[2]." folder in UserFilesPath does not exist and could not be created.");
+							chmod($up,0777); //Just for good measure
+						}
+						
+						//Create resource area subfolders if they dont exist
+						foreach ($fckphp_config['ResourceTypes'] as $value) {
+							if (!file_exists("$up/$value")) {
+								mkdir("$up/$value",0777) or die("users/".$decArray[2]."/$value folder in UserFilesPath does not exist and could not be created.");
+								chmod("$up/$value",0777); //Just for good measure
+							}
+						}
+						$fckphp_config['authSuccess']=true;
+					} else {
+						//Not same client as auth token is for
+					}
+				} else {
+					//Token more than an hour old
+				}
+			} else {
+				//Data integrity failed
+			}
+		} else {
+			//Not enough data (decryption failed?)
+		}
+		
+		return $fckphp_config;
+	}
+}
+?>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/CreateFolder.php
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/CreateFolder.php	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/CreateFolder.php	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,91 @@
+<?php 
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: CreateFolder.php
+ * 	Implements the CreateFolder command to make a new folder
+ * 	in the current directory. Output is in XML.
+ * 
+ * File Authors:
+ * 		Grant French (grant at mcpuk.net)
+ */
+class CreateFolder {
+	var $fckphp_config;
+	var $type;
+	var $cwd;
+	var $actual_cwd;
+	var $newfolder;
+	
+	function CreateFolder($fckphp_config,$type,$cwd) {
+		$this->fckphp_config=$fckphp_config;
+		$this->type=$type;
+		$this->raw_cwd=$cwd;
+		$this->actual_cwd=str_replace("//","/",($this->fckphp_config['UserFilesPath']."/$type/".$this->raw_cwd));
+		$this->real_cwd=str_replace("//","/",($this->fckphp_config['basedir']."/".$this->actual_cwd));
+		$this->newfolder=str_replace(array("..","/"),"",$_GET['NewFolderName']);
+	}
+	
+	function checkFolderName($folderName) {
+		
+		//Check the name is not too long
+		if (strlen($folderName)>$this->fckphp_config['MaxDirNameLength']) return false;
+		
+		//Check that it only contains valid characters
+		for($i=0;$i<strlen($folderName);$i++) if (!in_array(substr($folderName,$i,1),$this->fckphp_config['DirNameAllowedChars'])) return false;
+		
+		//If it got this far all is ok
+		return true;
+	}
+	
+	function run() {
+		header ("content-type: text/xml");
+		echo "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n";
+		?>
+<Connector command="CreateFolder" resourceType="<?php echo $this->type; ?>">
+	<CurrentFolder path="<?php echo $this->raw_cwd; ?>" url="<?php echo $this->actual_cwd; ?>" />
+	<?php
+		$newdir=str_replace("//","/",($this->real_cwd."/".$this->newfolder));
+		
+		//Check the new name
+		if ($this->checkFolderName($this->newfolder)) {
+			
+			//Check if it already exists
+			if (is_dir($newdir)) {
+				$err_no=101; //Folder already exists
+			} else {
+				
+				//Check if we can create the directory here
+				if (is_writeable($this->real_cwd)) {
+					
+					//Make the directory
+					if (mkdir($newdir,0777)) {
+						$err_no=0; //Success
+					} else {
+					
+						$err_no=110; //Unknown error
+					}	
+				} else {
+					$err_no=103; //No permissions to create
+				}
+			}
+		} else {
+			$err_no=102; //Invalid Folder Name
+		}
+		
+	?>
+	<Error number="<?php echo "".$err_no; ?>" />
+</Connector>
+		<?php
+	}
+}
+
+?>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/DeleteFile.php
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/DeleteFile.php	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/DeleteFile.php	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,64 @@
+<?php 
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: DeleteFile.php
+ * 	Implements the DeleteFile command to delete a file
+ * 	in the current directory. Output is in XML.
+ * 
+ * File Authors:
+ * 		Grant French (grant at mcpuk.net)
+ */
+class DeleteFile {
+	var $fckphp_config;
+	var $type;
+	var $cwd;
+	var $actual_cwd;
+	var $newfolder;
+	
+	function DeleteFile($fckphp_config,$type,$cwd) {
+		$this->fckphp_config=$fckphp_config;
+		$this->type=$type;
+		$this->raw_cwd=$cwd;
+		$this->actual_cwd=str_replace("//","/",($this->fckphp_config['UserFilesPath']."/$type/".$this->raw_cwd));
+		$this->real_cwd=str_replace("//","/",($this->fckphp_config['basedir']."/".$this->actual_cwd));
+		$this->filename=str_replace(array("..","/"),"",$_GET['FileName']);
+	}
+	
+	function run() {
+		$result1=false;
+		$result2=true;
+		
+		$thumb=$this->real_cwd.'/.thumb_'.$this->filename;
+		$result1=unlink($this->real_cwd.'/'.$this->filename);
+		if (file_exists($thumb)) $result2=unlink($thumb);
+		
+		header ("content-type: text/xml");
+		echo "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n";
+		?>
+<Connector command="DeleteFile" resourceType="<?php echo $this->type; ?>">
+	<CurrentFolder path="<?php echo $this->raw_cwd; ?>" url="<?php echo $this->actual_cwd; ?>" />
+	<?php
+		if ($result1&&$result2) {
+			$err_no=0;
+		} else {
+			$err_no=302;
+		}
+		
+	?>
+	<Error number="<?php echo "".$err_no; ?>" />
+</Connector>
+		<?php
+	}
+}
+
+?>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/DeleteFolder.php
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/DeleteFolder.php	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/DeleteFolder.php	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,78 @@
+<?php 
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: DeleteFolder.php
+ * 	Implements the DeleteFolder command to delete a folder
+ * 	in the current directory. Output is in XML.
+ * 
+ * File Authors:
+ * 		Grant French (grant at mcpuk.net)
+ */
+class DeleteFolder {
+	var $fckphp_config;
+	var $type;
+	var $cwd;
+	var $actual_cwd;
+	var $newfolder;
+	
+	function DeleteFolder($fckphp_config,$type,$cwd) {
+		$this->fckphp_config=$fckphp_config;
+		$this->type=$type;
+		$this->raw_cwd=$cwd;
+		$this->actual_cwd=str_replace("//","/",($this->fckphp_config['UserFilesPath']."/$type/".$this->raw_cwd));
+		$this->real_cwd=str_replace("//","/",($this->fckphp_config['basedir']."/".$this->actual_cwd));
+		$this->foldername=str_replace(array("..","/"),"",$_GET['FolderName']);
+	}
+	
+	function run() {
+		
+		if ($this->delDir($this->real_cwd.'/'.$this->foldername)) {
+			$err_no=0;
+		} else {
+			$err_no=402;
+		}
+		
+		header ("content-type: text/xml");
+		echo "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n";
+		?>
+<Connector command="DeleteFolder" resourceType="<?php echo $this->type; ?>">
+	<CurrentFolder path="<?php echo $this->raw_cwd; ?>" url="<?php echo $this->actual_cwd; ?>" />
+	<Error number="<?php echo "".$err_no; ?>" />
+</Connector>
+		<?php
+	}
+	
+	
+	function delDir($dir) {
+		$dh=opendir($dir);
+		if ($dh) {
+			while ($entry=readdir($dh)) {
+				if (($entry!=".")&&($entry!="..")) {
+					if (is_dir($dir.'/'.$entry)) {
+						$this->delDir($dir.'/'.$entry);	
+					} else {
+						$thumb=$dir.'/.thumb_'.$entry;
+						if (file_exists($thumb)) if (!unlink($thumb)) return false;
+						if (!unlink($dir.'/'.$entry)) return false;
+					}
+				}
+			}	
+			closedir($dh);
+			return rmdir($dir);
+		} else {
+			return false;
+		}
+	}
+}
+
+?>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/FileUpload.php
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/FileUpload.php	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/FileUpload.php	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,248 @@
+<?php 
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: FileUpload.php
+ * 	Implements the FileUpload command,
+ * 	Checks the file uploaded is allowed, 
+ * 	then moves it to the user data area. 
+ * 
+ * File Authors:
+ * 		Grant French (grant at mcpuk.net)
+ */
+class FileUpload {
+	var $fckphp_config;
+	var $type;
+	var $cwd;
+	var $actual_cwd;
+	var $newfolder;
+	
+	function FileUpload($fckphp_config,$type,$cwd) {
+		$this->fckphp_config=$fckphp_config;
+		$this->type=$type;
+		$this->raw_cwd=$cwd;
+		$this->actual_cwd=str_replace("//","/",($this->fckphp_config['UserFilesPath']."/$type/".$this->raw_cwd));
+		$this->real_cwd=str_replace("//","/",($this->fckphp_config['basedir']."/".$this->actual_cwd));
+	}
+	
+	function cleanFilename($filename) {
+		$n_filename="";
+		
+		//Check that it only contains valid characters
+		for($i=0;$i<strlen($filename);$i++) if (in_array(substr($filename,$i,1),$this->fckphp_config['FileNameAllowedChars'])) $n_filename.=substr($filename,$i,1);
+		
+		//If it got this far all is ok
+		return $n_filename;
+	}
+	
+	function run() {
+		//If using CGI Upload script, get file info and insert into $_FILE array
+		if 	(
+				(sizeof($_FILES)==0) && 
+				isset($_GET['file']) && 
+				isset($_GET['file']['NewFile']) && 
+				is_array($_GET['file']['NewFile'])
+			) {
+			if (isset($_GET['file']['NewFile']['name'])&&$_GET['file']['NewFile']['size']&&$_GET['file']['NewFile']['tmp_name']) {
+				$_FILES['NewFile']['name']=basename(str_replace("\\","/",$_GET['file']['NewFile']['name']));
+				$_FILES['NewFile']['size']=$_GET['file']['NewFile']['size'];
+				$_FILES['NewFile']['tmp_name']=$_GET['file']['NewFile']['tmp_name'];
+			} else {
+				$disp="202,'Incomplete file information from upload CGI'";
+			}
+		}
+		
+// 		if (isset($_FILES['NewFile'])&&isset($_FILES['NewFile']['name'])&&($_FILES['NewFile']['name']!=""))
+// 			$_FILES['NewFile']['name']=$_FILES['NewFile']['name']; //$this->cleanFilename($_FILES['NewFile']['name']);
+		
+		$typeconfig=$this->fckphp_config['ResourceAreas'][$this->type];
+		
+		header ("content-type: text/html");
+		if (sizeof($_FILES)>0) {
+			if (array_key_exists("NewFile",$_FILES)) {
+				if ($_FILES['NewFile']['size']<($typeconfig['MaxSize']*1024)) {
+
+					$filename=basename(str_replace("\\","/",$_FILES['NewFile']['name']));
+					
+					$lastdot=strrpos($filename,".");
+					
+					if ($lastdot!==false) {
+						$ext=substr($filename,($lastdot+1));
+						$filename=substr($filename,0,$lastdot);
+						
+						if (in_array(strtolower($ext),$typeconfig['AllowedExtensions'])) {
+						
+							$test=0;
+							$dirSizes=array();
+							$globalSize=0;
+							$failSizeCheck=false;
+							if ($this->fckphp_config['DiskQuota']['Global']!=-1) {
+								foreach ($this->fckphp_config['ResourceTypes'] as $resType) {
+									
+									$dirSizes[$resType]=
+										$this->getDirSize(
+											$this->fckphp_config['basedir']."/".$this->fckphp_config['UserFilesPath']."/$resType");
+									
+									if ($dirSizes[$resType]===false) {
+										//Failed to stat a directory, fall out
+										$failSizeCheck=true;
+										$msg="\\nUnable to determine the size of a folder.";
+										break;
+									}
+									$globalSize+=$dirSizes[$resType];
+								}
+								
+								$globalSize+=$_FILES['NewFile']['size'];
+								
+								if (!$failSizeCheck) {
+									if ($globalSize>($this->fckphp_config['DiskQuota']['Global']*1048576)) {
+										$failSizeCheck=true;
+										$msg="\\nYou are over the global disk quota.";
+									}
+								}
+							}
+							
+							if (($typeconfig['DiskQuota']!=-1)&&(!$failSizeCheck)) {
+								if ($this->fckphp_config['DiskQuota']['Global']==-1) {
+									$dirSizes[$this->type]=
+										$this->getDirSize(
+											$this->fckphp_config['basedir']."/".$this->fckphp_config['UserFilesPath']."/".$this->type);
+								}
+								
+								if (($dirSizes[$this->type]+$_FILES['NewFile']['size'])>
+									($typeconfig['DiskQuota']*1048576)) {
+									$failSizeCheck=true;	
+									$msg="\\nYou are over the disk quota for this resource type.";
+								}
+							}
+							
+							if ((($this->fckphp_config['DiskQuota']['Global']!=-1)||($typeconfig['DiskQuota']!=-1))&&$failSizeCheck) {
+								//Disk Quota over
+								$disp="202,'Over disk quota, ".$msg."'";
+							} else {
+						
+								if (file_exists($this->real_cwd."/$filename.$ext")) {
+									$taskDone=false;
+									
+									//File already exists, try renaming
+									//If there are more than 200 files with
+									//	the same name giveup
+									for ($i=1;(($i<200)&&($taskDone==false));$i++) {
+										if (!file_exists($this->real_cwd."/$filename($i).$ext")) {
+											if (is_uploaded_file($_FILES['NewFile']['tmp_name'])) {
+												if 
+												(move_uploaded_file($_FILES['NewFile']['tmp_name'],($this->real_cwd."/$filename($i).$ext"))) {
+													chmod(($this->real_cwd."/$filename($i).$ext"),0777);
+													$disp="201,'..$filename($i).$ext'";
+												} else {
+													$disp="202,'Failed to upload file, internal error.'";
+												}
+											} else {
+												if 
+												(rename($_FILES['NewFile']['tmp_name'],($this->real_cwd."/$filename($i).$ext"))) {
+													chmod(($this->real_cwd."/$filename($i).$ext"),0777);
+													$disp="201,'$filename($i).$ext'";
+												} else {
+													$disp="202,'Failed to upload file, internal error.'";
+												}
+											}
+											$taskDone=true;	
+										}
+									}
+									if ($taskDone==false) {
+										$disp="202,'Failed to upload file, internal error..'";
+									}
+								} else {
+									//Upload file
+									if (is_uploaded_file($_FILES['NewFile']['tmp_name'])) {
+										if (move_uploaded_file($_FILES['NewFile']['tmp_name'],($this->real_cwd."/$filename.$ext"))) {
+											chmod(($this->real_cwd."/$filename.$ext"),0777);
+											$disp="0";
+										} else {
+											$disp="202,'Failed to upload file, internal error...'";
+										}
+									} else {
+										if (rename($_FILES['NewFile']['tmp_name'],($this->real_cwd."/$filename.$ext"))) {
+											chmod(($this->real_cwd."/$filename.$ext"),0777);
+											$disp="0";
+										} else {
+											$disp="202,'Failed to upload file, internal error...'";
+										}
+									}
+								}
+							}
+						} else {
+							//Disallowed file extension
+							$disp="202,'Disallowed file type.'";
+						}
+						
+					} else {
+						//No file extension to check
+						$disp="202,'Unable to determine file type of file'";
+					}	
+					
+				} else {
+					//Too big
+					$disp="202,'This file exceeds the maximum upload size.'";
+				}
+			} else {
+				//No file uploaded with field name NewFile
+				$disp="202,'Unable to find uploaded file.'";
+			}
+		} else {
+			//No files uploaded
+			
+			//Should really send something back saying
+			//invalid file, but this breaks the filemanager 
+			//with firefox, so for now we'll just exit
+			exit(0);
+			//$disp="202";
+		}
+
+		?>
+		<html>
+		<head>
+			<title>Upload Complete</title>
+		</head>
+		<body>
+		<script type="text/javascript">
+			window.parent.frames['frmUpload'].OnUploadCompleted(<?php echo $disp; ?>) ;
+		</script>
+		</body>
+		</html>
+		<?php
+		
+	}
+	
+	function getDirSize($dir) {
+		$dirSize=0;
+		if ($dh=@opendir($dir)) {
+			while ($file=@readdir($dh)) {
+				if (($file!=".")&&($file!="..")) {
+					if (is_dir($dir."/".$file)) {
+						$tmp_dirSize=$this->getDirSize($dir."/".$file);
+						if ($tmp_dirSize!==false) $dirSize+=$tmp_dirSize;
+					} else {
+						$dirSize+=filesize($dir."/".$file);
+					}
+				}
+			}
+			@closedir($dh);
+		} else {
+			return false;
+		}
+		
+		return $dirSize;
+	}
+}
+
+?>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/GetFolders.php
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/GetFolders.php	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/GetFolders.php	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,66 @@
+<?php 
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: GetFolders.php
+ * 	Implements the GetFolders command, to list the folders 
+ * 	in the current directory. Output is in XML
+ * 
+ * File Authors:
+ * 		Grant French (grant at mcpuk.net)
+ */
+class GetFolders {
+	var $fckphp_config;
+	var $type;
+	var $cwd;
+	var $actual_cwd;
+	
+	function GetFolders($fckphp_config,$type,$cwd) {
+		$this->fckphp_config=$fckphp_config;
+		$this->type=$type;
+		$this->raw_cwd=$cwd;
+		$this->actual_cwd=str_replace("//","/",($fckphp_config['UserFilesPath']."/$type/".$this->raw_cwd));
+		$this->real_cwd=str_replace("//","/",($this->fckphp_config['basedir']."/".$this->actual_cwd));
+	}
+	
+	function run() {
+		header ("content-type: text/xml");
+		echo "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n";
+		?>
+<Connector command="GetFolders" resourceType="<?php echo $this->type; ?>">
+	<CurrentFolder path="<?php echo $this->raw_cwd; ?>" url="<?php echo $this->actual_cwd; ?>" />
+	<Folders>
+		<?php
+			if ($dh=opendir($this->real_cwd)) {
+				while (($filename=readdir($dh))!==false) {
+					if (($filename!=".")&&($filename!="..")) {
+						if (is_dir($this->real_cwd."/$filename")) {
+							
+							//check if$fckphp_configured not to show this folder
+							$hide=false;
+							for($i=0;$i<sizeof($this->fckphp_config['ResourceAreas'][$this->type]['HideFolders']);$i++) 
+								$hide=(ereg($this->fckphp_config['ResourceAreas'][$this->type]['HideFolders'][$i],$filename)?true:$hide);
+							
+							if (!$hide) echo "<Folder name=\"$filename\" />\n";
+						}
+					}
+				}
+				closedir($dh);
+			}
+		?>
+	</Folders>
+</Connector>
+		<?php
+	}
+}
+
+?>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/GetFoldersAndFiles.php
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/GetFoldersAndFiles.php	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/GetFoldersAndFiles.php	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,152 @@
+<?php 
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: GetFoldersAndFiles.php
+ * 	Implements the GetFoldersAndFiles command, to list
+ * 	files and folders in the current directory.
+ * 	Output is in XML
+ * 
+ * File Authors:
+ * 		Grant French (grant at mcpuk.net)
+ */
+class GetFoldersAndFiles {
+	var $fckphp_config;
+	var $type;
+	var $cwd;
+	var $actual_cwd;
+	
+	function GetFoldersAndFiles($fckphp_config,$type,$cwd) {
+		$this->fckphp_config=$fckphp_config;
+		$this->type=$type;
+		$this->raw_cwd=$cwd;
+		$this->actual_cwd=str_replace("//","/",($fckphp_config['UserFilesPath']."/$type/".$this->raw_cwd));
+		$this->real_cwd=str_replace("//","/",($this->fckphp_config['basedir']."/".$this->actual_cwd));
+	}
+	
+	function run() {
+
+		header ("Content-Type: application/xml; charset=utf-8");
+		echo "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n";
+		?>
+<!DOCTYPE Connector [
+
+<?php include "dtd/iso-lat1.ent";?>
+	
+	<!ELEMENT Connector	(CurrentFolder,Folders,Files)>
+		<!ATTLIST Connector command CDATA "noname">
+		<!ATTLIST Connector resourceType CDATA "0">
+		
+	<!ELEMENT CurrentFolder	(#PCDATA)>
+		<!ATTLIST CurrentFolder path CDATA "noname">
+		<!ATTLIST CurrentFolder url CDATA "0">
+		
+	<!ELEMENT Folders	(#PCDATA)>
+	
+	<!ELEMENT Folder	(#PCDATA)>
+		<!ATTLIST Folder name CDATA "noname_dir">
+		
+	<!ELEMENT Files		(#PCDATA)>
+		
+	<!ELEMENT File		(#PCDATA)>
+		<!ATTLIST File name CDATA "noname_file">
+		<!ATTLIST File size CDATA "0">
+] >
+		
+<Connector command="GetFoldersAndFiles" resourceType="<?php echo $this->type; ?>">
+	<CurrentFolder path="<?php echo $this->raw_cwd; ?>" url="<?php echo $this->fckphp_config['urlprefix'] . $this->actual_cwd; ?>" />
+	<Folders>
+<?php
+			$files=array();
+			if ($dh=opendir($this->real_cwd)) {
+				while (($filename=readdir($dh))!==false) {
+					
+					if (($filename!=".")&&($filename!="..")) {
+						if (is_dir($this->real_cwd."/$filename")) {
+							//check if$fckphp_configured not to show this folder
+							$hide=false;
+							for($i=0;$i<sizeof($this->fckphp_config['ResourceAreas'][$this->type]['HideFolders']);$i++) 
+								$hide=(ereg($this->fckphp_config['ResourceAreas'][$this->type]['HideFolders'][$i],$filename)?true:$hide);
+							
+							if (!$hide) echo "\t\t<Folder name=\"$filename\" />\n";
+							
+						} else {
+							array_push($files,$filename);
+						}
+					}
+				}
+				closedir($dh); 
+			}
+			echo "\t</Folders>\n";
+			echo "\t<Files>\n";
+
+			for ($i=0;$i<sizeof($files);$i++) {
+				
+				$lastdot=strrpos($files[$i],".");
+				$ext=(($lastdot!==false)?(substr($files[$i],$lastdot+1)):"");
+				
+				if (in_array(strtolower($ext),$this->fckphp_config['ResourceAreas'][$this->type]['AllowedExtensions'])) {
+				
+					//check if$fckphp_configured not to show this file
+					$editable=$hide=false;
+					for($j=0;$j<sizeof($this->fckphp_config['ResourceAreas'][$this->type]['HideFiles']);$j++) 
+						$hide=(ereg($this->fckphp_config['ResourceAreas'][$this->type]['HideFiles'][$j],$files[$i])?true:$hide);
+					
+					if (!$hide) {
+						if ($this->fckphp_config['ResourceAreas'][$this->type]['AllowImageEditing']) 
+							$editable=$this->isImageEditable($this->real_cwd."/".$files[$i]);
+						
+						echo "\t\t<File name=\"".htmlentities($files[$i])."\" size=\"".ceil(filesize($this->real_cwd."/".$files[$i])/1024)."\" editable=\"" . ( $editable?"1":"0" ) . "\" />\n";	
+					}
+
+				}
+				
+			}
+		
+			echo "\t</Files>\n"; 
+			echo "</Connector>\n";
+	}
+	
+	
+	function isImageEditable($file) {
+		$fh=fopen($file,"r");
+		if ($fh) {
+			$start4=fread($fh,4);
+			fclose($fh);
+			
+			$start3=substr($start4,0,3);
+			
+			if ($start4=="\x89PNG") { //PNG
+				return (function_exists("imagecreatefrompng") && function_exists("imagepng"));
+				
+			} elseif ($start3=="GIF") { //GIF
+				return (function_exists("imagecreatefromgif") && function_exists("imagegif"));
+				
+			} elseif ($start3=="\xFF\xD8\xFF") { //JPEG
+				return (function_exists("imagecreatefromjpeg")&& function_exists("imagejpeg"));
+				
+			} elseif ($start4=="hsi1") { //JPEG
+				return (function_exists("imagecreatefromjpeg")&& function_exists("imagejpeg"));
+				
+			} else {
+				return false;
+			}
+			
+		} else {
+			return false;
+		}
+	}
+	
+	
+}
+
+?>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/GetUploadProgress.php
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/GetUploadProgress.php	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/GetUploadProgress.php	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,89 @@
+<?php 
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: GetUploadProgress.php
+ * 	Implements the GetFolders command, to list the folders 
+ * 	in the current directory. Output is in XML
+ * 
+ * File Authors:
+ * 		Grant French (grant at mcpuk.net)
+ */
+class GetUploadProgress {
+	var $fckphp_config;
+	var $type;
+	var $cwd;
+	var $actual_cwd;
+	var $uploadID;
+	
+	function GetUploadProgress($fckphp_config,$type,$cwd) {
+		$this->fckphp_config=$fckphp_config;
+		$this->type=$type;
+		$this->raw_cwd=$cwd;
+		$this->actual_cwd=str_replace("//","/",($fckphp_config['UserFilesPath']."/$type/".$this->raw_cwd));
+		$this->real_cwd=str_replace("//","/",($this->fckphp_config['basedir']."/".$this->actual_cwd));
+		$this->uploadID=$_GET['uploadID'];
+		$this->refreshURL=$_GET['refreshURL'];
+		
+	}
+	
+	function run() {
+		if (isset($this->refreshURL)&&($this->refreshURL!="")) {
+			//Continue monitoring
+			$uploadProgress=file($this->refreshURL);
+			$url=$this->refreshURL;
+		} else {
+			//New download
+			$uploadProgressHandler=$this->fckphp_config['uploadProgressHandler'];
+			if ($uploadProgressHandler=='') {
+				//Progresshandler not specified, return generic response
+		?>
+<Connector command="GetUploadProgress" resourceType="<?php echo $this->type; ?>">
+	<CurrentFolder path="<?php echo $this->raw_cwd; ?>" url="<?php echo $this->actual_cwd; ?>" />
+	<Progress max="2" value="1" />
+	<RefreshURL url="" />
+</Connector>
+		<?php
+				exit(0);
+			}
+			
+			$url=$uploadProgressHandler."?iTotal=0&iRead=0&iStatus=1&sessionid=".$this->uploadID."&dtnow=".time()."&dtstart=".time();
+			
+			$_SESSION[$this->uploadID]=$url;
+			$uploadProgress=file($url);
+			
+		}
+		
+		$uploadProgress2=implode("\n",$uploadProgress);
+		
+		$parser = xml_parser_create();
+		xml_parse_into_struct($parser, $uploadProgress2, $vals, $index);
+		
+		$refreshURL=isset($vals[$index['REFRESHURL'][0]]['value'])?$vals[$index['REFRESHURL'][0]]['value']:"";
+		$totalBytes=isset($vals[$index['TOTALBYTES'][0]]['value'])?$vals[$index['TOTALBYTES'][0]]['value']:0;
+		$readBytes=isset($vals[$index['READBYTES'][0]]['value'])?$vals[$index['READBYTES'][0]]['value']:0;
+		$status=isset($vals[$index['STATUS'][0]]['value'])?$vals[$index['STATUS'][0]]['value']:1;
+		
+		header ("content-type: text/xml");
+		echo "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n";
+		?>
+<Connector command="GetUploadProgress" resourceType="<?php echo $this->type; ?>">
+	<CurrentFolder path="<?php echo $this->raw_cwd; ?>" url="<?php echo $this->actual_cwd; ?>" />
+	<Progress max="<?php echo $totalBytes; ?>" value="<?php echo $readBytes; ?>" />
+	<RefreshURL url="<?php echo htmlentities($refreshURL); ?>" />
+</Connector>
+		<?php
+		xml_parser_free($parser);
+	}
+}
+
+?>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/RenameFile.php
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/RenameFile.php	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/RenameFile.php	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,99 @@
+<?php 
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: RenameFile.php
+ * 	Implements the DeleteFile command to delete a file
+ * 	in the current directory. Output is in XML
+ * 
+ * File Authors:
+ * 		Grant French (grant at mcpuk.net)
+ */
+class RenameFile {
+	var $fckphp_config;
+	var $type;
+	var $cwd;
+	var $actual_cwd;
+	var $newfolder;
+	
+	function RenameFile($fckphp_config,$type,$cwd) {
+		$this->fckphp_config=$fckphp_config;
+		$this->type=$type;
+		$this->raw_cwd=$cwd;
+		$this->actual_cwd=str_replace("//","/",($fckphp_config['UserFilesPath']."/$type/".$this->raw_cwd));
+		$this->real_cwd=str_replace("//","/",($this->fckphp_config['basedir']."/".$this->actual_cwd));
+		$this->filename=str_replace(array("..","/"),"",$_GET['FileName']);
+		$this->newname=str_replace(array("..","/"),"",$this->checkName($_GET['NewName']));
+	}
+	
+	function checkName($name) {
+		$newName="";
+		for ($i=0;$i<strlen($name);$i++) {
+			if (in_array($name[$i],$this->fckphp_config['FileNameAllowedChars'])) $newName.=$name[$i];
+		}
+		return $newName;
+	}
+	
+	function run() {
+		$result1=false;
+		$result2=true;
+		
+		if ($this->newname!='') {
+		
+			if ($this->nameValid($this->newname)) {
+				//Remove thumbnail if it exists
+				$result2=true;
+				$thumb=$this->real_cwd.'/.thumb_'.$this->filename;
+				if (file_exists($thumb)) $result2=unlink($thumb);
+				
+				$result1=rename($this->real_cwd.'/'.$this->filename,$this->real_cwd.'/'.$this->newname);
+			} else {
+				$result1=false;
+			}
+		}
+		
+		header ("content-type: text/xml");
+		echo "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n";
+		?>
+<Connector command="RenameFile" resourceType="<?php echo $this->type; ?>">
+	<CurrentFolder path="<?php echo $this->raw_cwd; ?>" url="<?php echo $this->actual_cwd; ?>" />
+	<?php
+		if ($result1&&$result2) {
+			$err_no=0;
+		} else {
+			$err_no=502;
+		}
+	?>
+	<Error number="<?php echo "".$err_no; ?>" />
+</Connector>
+		<?php
+	}
+	
+	function nameValid($fname) {
+		$type_config=$this->fckphp_config['ResourceAreas'][$this->type];
+		
+		$lastdot=strrpos($fname,".");
+			
+		if ($lastdot!==false) {
+			$ext=substr($fname,($lastdot+1));
+			$fname=substr($fname,0,$lastdot);
+				
+			if (in_array(strtolower($ext),$type_config['AllowedExtensions'])) {
+				return true;
+			} else {
+				return false;
+			}
+		}
+	}
+}
+
+?>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/RenameFolder.php
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/RenameFolder.php	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/RenameFolder.php	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,73 @@
+<?php 
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: RenameFolder.php
+ * 	Implements the DeleteFile command to delete a file
+ * 	in the current directory. Output is in XML
+ * 
+ * File Authors:
+ * 		Grant French (grant at mcpuk.net)
+ */
+class RenameFolder {
+	var $fckphp_config;
+	var $type;
+	var $cwd;
+	var $actual_cwd;
+	var $newfolder;
+	
+	function RenameFolder($fckphp_config,$type,$cwd) {
+		$this->fckphp_config=$fckphp_config;
+		$this->type=$type;
+		$this->raw_cwd=$cwd;
+		$this->actual_cwd=str_replace("//","/",($fckphp_config['UserFilesPath']."/$type/".$this->raw_cwd));
+		$this->real_cwd=str_replace("//","/",($this->fckphp_config['basedir']."/".$this->actual_cwd));
+		$this->foldername=str_replace(array("..","/"),"",$_GET['FolderName']);
+		$this->newname=str_replace(array("..","/"),"",$this->checkName($_GET['NewName']));
+	}
+	
+	function checkName($name) {
+		$newName="";
+		for ($i=0;$i<strlen($name);$i++) {
+			if (in_array($name[$i],$this->fckphp_config['DirNameAllowedChars'])) $newName.=$name[$i];
+		}
+		return $newName;
+	}
+	
+	function run() {
+		$result1=false;
+
+		
+		if ($this->newname!='') {
+			$result1=rename($this->real_cwd.'/'.$this->foldername,$this->real_cwd.'/'.$this->newname);
+		}
+		
+		header ("content-type: text/xml");
+		echo "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n";
+		?>
+<Connector command="RenameFolder" resourceType="<?php echo $this->type; ?>">
+	<CurrentFolder path="<?php echo $this->raw_cwd; ?>" url="<?php echo $this->actual_cwd; ?>" />
+	<?php
+		if ($result1) {
+			$err_no=0;
+		} else {
+			$err_no=602;
+		}
+		
+	?>
+	<Error number="<?php echo "".$err_no; ?>" />
+</Connector>
+		<?php
+	}
+}
+
+?>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/Thumbnail.php
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/Thumbnail.php	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/Thumbnail.php	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,243 @@
+<?php 
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: Thumbnail.php
+ * 	Implements the Thumbnail command, to return
+ * 	a thumbnail to the browser for the sent file,
+ * 	if the file is an image an attempt is made to
+ * 	generate a thumbnail, otherwise an appropriate
+ * 	icon is returned.
+ * 	Output is image data
+ * 
+ * File Authors:
+ * 		Grant French (grant at mcpuk.net)
+ */
+include "helpers/iconlookup.php";
+
+class Thumbnail {
+	var $fckphp_config;
+	var $type;
+	var $cwd;
+	var $actual_cwd;
+	var $filename;
+	
+	function Thumbnail($fckphp_config,$type,$cwd) {
+		$this->fckphp_config=$fckphp_config;
+		$this->type=$type;
+		$this->raw_cwd=$cwd;
+		$this->actual_cwd=str_replace("//","/",($fckphp_config['UserFilesPath']."/$type/".$this->raw_cwd));
+		$this->real_cwd=str_replace("//","/",($this->fckphp_config['basedir']."/".$this->actual_cwd));
+		$this->filename=str_replace(array("..","/"),"",$_GET['FileName']);
+	}
+	
+	function run() {
+		//$mimeIcon=getMimeIcon($mime);
+		$fullfile=$this->real_cwd.'/'.$this->filename;
+		$thumbfile=$this->real_cwd.'/.thumb_'.$this->filename;
+		$icon=false;
+		
+		if (file_exists($thumbfile)) {
+			$icon=$thumbfile;
+		} else {
+			$mime=$this->getMIME($fullfile);
+			$ext=strtolower($this->getExtension($this->filename));	
+			
+			if ($this->isImage($mime,$ext))
+				{
+				
+				//Try and find a thumbnail, else try to generate one
+				//	else send generic picture icon.
+				
+				if ($this->isJPEG($mime,$ext)) {
+					$result=$this->resizeFromJPEG($fullfile);
+					
+				} elseif ($this->isGIF($mime,$ext)) {
+					$result=$this->resizeFromGIF($fullfile);
+					
+				} elseif ($this->isPNG($mime,$ext)) {
+					$result=$this->resizeFromPNG($fullfile);
+				}
+				
+				if ($result!==false) {
+					if (function_exists("imagejpeg")) {
+						imagejpeg($result,$thumbfile,70);
+						chmod($thumbfile,0777);
+						$icon=$thumbfile;
+					} elseif (function_exists("imagepng")) {
+						imagepng($result,$thumbfile);
+						chmod($thumbfile,0777);
+						$icon=$thumbfile;
+					} elseif (function_exists("imagegif")) {
+						imagegif($result,$thumbfile);
+						chmod($thumbfile,0777);
+						$icon=$thumbfile;
+					} else {
+						$icon=iconLookup($mime,$ext);
+					}
+					
+				} else {
+					$icon=iconLookup($mime,$ext);
+				}
+			} else {
+				$icon=iconLookup($mime,$ext);
+			}
+		}
+		
+		
+		$iconMime=$this->image2MIME($icon);
+		if ($iconMime==false) $iconMime="image/jpeg";
+		
+		header("Content-type: $iconMime",true);
+		readfile($icon);
+		
+	}
+	
+	function getMIME($file) {
+		$mime="text/plain";
+		
+		//If mime magic is installed
+		if (function_exists("mime_content_type")) {
+			$mime=mime_content_type($file);
+		} else {
+			$mime=$this->image2MIME($file);
+		}
+		
+		return strtolower($mime);
+	}
+	
+	function image2MIME($file) {
+		$fh=fopen($file,"r");
+		if ($fh) {
+			$start4=fread($fh,4);
+			$start3=substr($start4,0,3);
+			
+			if ($start4=="\x89PNG") {
+				return "image/png";
+			} elseif ($start3=="GIF") {
+				return "image/gif";
+			} elseif ($start3=="\xFF\xD8\xFF") {
+				return "image/jpeg";
+			} elseif ($start4=="hsi1") {
+				return "image/jpeg";
+			} else {
+				return false;
+			}
+			
+			unset($start3);unset($start4);
+			fclose($fh);
+		} else {
+			return false;
+		}
+	}
+	
+	
+	function isImage($mime,$ext) {
+		if (
+			($mime=="image/gif")||
+			($mime=="image/jpeg")||
+			($mime=="image/jpg")||
+			($mime=="image/pjpeg")||
+			($mime=="image/png")||
+			($ext=="jpg")||
+			($ext=="jpeg")||
+			($ext=="png")||
+			($ext=="gif") ) {
+		
+			return true;
+		} else {
+			return false;
+		}
+	}
+	
+	function isJPEG($mime,$ext) {
+		if (($mime=="image/jpeg")||($mime=="image/jpg")||($mime=="image/pjpeg")||($ext=="jpg")||($ext=="jpeg")) {
+			return true; 
+		} else {
+			return false;
+		}
+	}
+
+	function isGIF($mime,$ext) {
+		if (($mime=="image/gif")||($ext=="gif")) {
+			return true; 
+		} else {
+			return false;
+		}
+	}
+	
+	function isPNG($mime,$ext) {
+		if (($mime=="image/png")||($ext=="png")) {
+			return true; 
+		} else {
+			return false;
+		}
+	}	
+	
+	function getExtension($filename) {
+		//Get Extension
+		$ext=""; 
+		$lastpos=strrpos($this->filename,'.'); 
+		if ($lastpos!==false) $ext=substr($this->filename,($lastpos+1));
+		return strtolower($ext);
+	}
+	
+	function resizeFromJPEG($file) {
+		if (function_exists("imagecreatefromjpeg")) {
+			$img=@imagecreatefromjpeg($this->real_cwd.'/'.$this->filename);
+			return (($img)?$this->resizeImage($img):false);
+		} else { return false; }
+	}
+	
+	function resizeFromGIF($file) {
+		if (function_exists("imagecreatefromgif")) {
+			$img=@imagecreatefromgif($this->real_cwd.'/'.$this->filename);
+			return (($img)?$this->resizeImage($img):false);
+		} else { return false; }
+	}
+	
+	function resizeFromPNG($file) {
+		if (function_exists("imagecreatefrompng")) {
+			$img=@imagecreatefrompng($this->real_cwd.'/'.$this->filename);
+			return (($img)?$this->resizeImage($img):false);
+		} else { return false; }
+	}
+	
+	function resizeImage($img) {
+		//Get size for thumbnail
+		$width=imagesx($img); $height=imagesy($img);
+		if ($width>$height) { $n_height=$height*(96/$width); $n_width=96; } else { $n_width=$width*(96/$height); $n_height=96; }
+		
+		$x=0;$y=0;
+		if ($n_width<96) $x=round((96-$n_width)/2);
+		if ($n_height<96) $y=round((96-$n_height)/2);
+		
+		$thumb=imagecreatetruecolor(96,96);
+		
+		#Background colour fix by:
+		#Ben Lancaster (benlanc at ster.me.uk)
+		$bgcolor = imagecolorallocate($thumb,255,255,255);
+		imagefill($thumb, 0, 0, $bgcolor);
+		
+		if (function_exists("imagecopyresampled")) {
+			if (!($result=@imagecopyresampled($thumb,$img,$x,$y,0,0,$n_width,$n_height,$width,$height))) {
+				$result=imagecopyresized($thumb,$img,$x,$y,0,0,$n_width,$n_height,$width,$height);
+			}	
+		} else {
+			$result=imagecopyresized($thumb,$img,$x,$y,0,0,$n_width,$n_height,$width,$height);
+		}
+
+		return ($result)?$thumb:false;
+	}
+}
+
+?>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/helpers/.htaccess
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/helpers/.htaccess	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/helpers/.htaccess	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1 @@
+Options ExecCGI

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/helpers/header.cgi
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/helpers/header.cgi	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/helpers/header.cgi	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,41 @@
+#!/usr/bin/perl
+
+# Mega Upload
+# PHP File Uploader with progress bar Version 1.42
+# Copyright (C) Raditha Dissanyake 2003
+# http://www.raditha.com
+
+# Licence:
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+# 
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+# 
+# The Initial Developer of the Original Code is Raditha Dissanayake.
+# Portions created by Raditha are Copyright (C) 2003
+# Raditha Dissanayake. All Rights Reserved.
+# 
+
+$tmp_dir="/www/m/c/mcpuk.net/tmp";
+
+$|=1;								#unbuffers streams
+
+$interval=1;				  # how often to refresh the progress bar
+
+$max_upload = 500000000000; # set this to whatever you feel suitable for you.
+					    
+
+
+# don't change the next few lines unless you have a very good reason to.
+
+$post_data_file = "$tmp_dir/$sessionid"."_postdata";
+$monitor_file = "$tmp_dir/$sessionid"."_flength";
+$signal_file = "$tmp_dir/$sessionid"."_signal";
+
+
+1;

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/helpers/iconlookup.php
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/helpers/iconlookup.php	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/helpers/iconlookup.php	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,111 @@
+<?php 
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: iconlookup.php
+ * 	(!)
+ * 
+ * File Authors:
+ * 		Grant French (grant at mcpuk.net)
+ */
+function iconLookup($mime,$ext) {
+
+	$mimeIcons=array(
+			"image"=>"image.jpg",
+			"audio"=>"sound.jpg",
+			"video"=>"video.jpg",
+			"text"=>"document2.jpg",
+			"text/html"=>"html.jpg",
+			"application"=>"binary.jpg",
+			"application/pdf"=>"pdf.jpg",
+			"application/msword"=>"document2.jpg",
+			"application/postscript"=>"postscript.jpg",
+			"application/rtf"=>"document2.jpg",
+			"application/vnd.ms-excel"=>"document2.jpg",
+			"application/vnd.ms-powerpoint"=>"document2.jpg",
+			"application/x-tar"=>"tar.jpg",
+			"application/zip"=>"tar.jpg",
+			"message"=>"email.jpg",
+			"message/html"=>"html.jpg",
+			"model"=>"kmplot.jpg",
+			"multipart"=>"kmultiple.jpg"
+			);
+	
+	$extIcons=array(
+			"pdf"=>"pdf.jpg",
+			"ps"=>"postscript.jpg",
+			"eps"=>"postscript.jpg",
+			"ai"=>"postscript.jpg",
+			"ra"=>"real_doc.jpg",
+			"rm"=>"real_doc.jpg",
+			"ram"=>"real_doc.jpg",
+			"wav"=>"sound.jpg",
+			"mp3"=>"sound.jpg",
+			"ogg"=>"sound.jpg",
+			"eml"=>"email.jpg",
+			"tar"=>"tar.jpg",
+			"zip"=>"tar.jpg",
+			"bz2"=>"tar.jpg",
+			"tgz"=>"tar.jpg",
+			"gz"=>"tar.jpg",
+			"rar"=>"tar.jpg",
+			"avi"=>"video.jpg",
+			"mpg"=>"video.jpg",
+			"mpeg"=>"video.jpg",
+			"jpg"=>"image.jpg",
+			"gif"=>"image.jpg",
+			"png"=>"image.jpg",
+			"jpeg"=>"image.jpg",
+			"nfo"=>"info.jpg",
+			"xls"=>"spreadsheet.jpg",
+			"csv"=>"spreadsheet.jpg",
+			"html"=>"html.jpg",
+			"doc"=>"document2.jpg",
+			"rtf"=>"document2.jpg",
+			"txt"=>"document2.jpg",
+			"xla"=>"document2.jpg",
+			"xlc"=>"document2.jpg",
+			"xlt"=>"document2.jpg",
+			"xlw"=>"document2.jpg",
+			"txt"=>"document2.jpg"
+			);
+
+	if ($mime!="text/plain") {
+		//Check specific cases
+		$mimes=array_keys($mimeIcons);
+		if (in_array($mime,$mimes)) {
+			return $_SERVER['DOCUMENT_ROOT'].dirname($_SERVER['PHP_SELF'])."/images/".$mimeIcons[$mime];
+		} else {
+			//Check for the generic mime type
+			$mimePrefix="text";
+			$firstSlash=strpos($mime,"/"); 
+			if ($firstSlash!==false) $mimePrefix=substr($mime,0,$firstSlash);
+			
+			if (in_array($mimePrefix,$mimes)) {
+				return $_SERVER['DOCUMENT_ROOT'].dirname($_SERVER['PHP_SELF'])."/images/".$mimeIcons[$mimePrefix];
+			} else {
+				return $_SERVER['DOCUMENT_ROOT'].dirname($_SERVER['PHP_SELF'])."/images/empty.jpg";	
+			}
+		}
+	} else {
+		$extensions=array_keys($extIcons);
+		if (in_array($ext,$extensions)) {
+			return $_SERVER['DOCUMENT_ROOT'].dirname($_SERVER['PHP_SELF'])."/images/".$extIcons[$ext];
+		} else {
+			return $_SERVER['DOCUMENT_ROOT'].dirname($_SERVER['PHP_SELF'])."/images/empty.jpg";
+		}
+	}
+
+	return $_SERVER['DOCUMENT_ROOT'].dirname($_SERVER['PHP_SELF'])."/images/empty.jpg";
+}
+
+?>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/helpers/progress.cgi
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/helpers/progress.cgi	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/helpers/progress.cgi	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,413 @@
+#!/usr/bin/perl -w
+
+# PHP File Uploader with progress bar Version 1.43	
+# Copyright (C) Raditha Dissanyake 2003,2004
+# http://www.raditha.com
+
+# Licence:
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+# 
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+# 
+# The Initial Developer of the Original Code is Raditha Dissanayake.
+# Portions created by Raditha are Copyright (C) 2003,2004
+# Raditha Dissanayake. All Rights Reserved.
+# 
+# Portions contributed by Orest Kinasevych are Copyright (C)
+# 2003 Kinasevych Saj
+
+#
+# CHANGES
+# 1.00 
+#   No longer uses cookies. This has two major benefits; the first
+#   being that minority of users who do not like cookies are not 
+#   inconvinienced. Secondly there is one less dependecy and this 
+#   would lead to a smoother setup for most people.
+#   (if you want to use cookies look at the contrib folder)
+#
+# 1.02
+#   added a cache control header in version 1.02
+#
+# 1.10
+#   Added a more detailed progress bar in version 
+#
+# 1.42
+#   The organization of the temporary files have been improved so to
+#   make is easier to clean up after abandoned uploads. (as suggested
+#   by Igor Kryltsov)
+#
+#
+	
+
+
+use CGI;
+use Fcntl qw(:DEFAULT :flock);
+
+#use Carp;		
+# Carp is only needed if you want debugging. Uncomment the above line
+# if you comment out any of the carp statements in the body of the 
+# script.
+
+
+#
+# the most obvious issue that we will face is file locking.
+# if two threads read and write from the same file at the same
+# time only one of them will be allowed to finish the operation.
+# Since we are storing our temporary data in a file we are likely to
+# run into that exact same problem.
+# We can't overcome it but we can make sure the progress bar does
+# not display junk when that happens.
+#
+#
+# status codes = 0-uploading, 1-started, 2- complete
+
+
+$query = new CGI();
+$sessionid = $query->param('sessionid');
+$sessionid =~ s/[^a-zA-Z0-9]//g;  # santized as suggested by Terrence Johnson.
+
+$iTotal = $query->param('iTotal');
+$iRead = $query->param('iRead');
+$status =  $query->param('iStatus');
+
+
+##
+# The code that deals with calculating elapsed time, time remaining 
+# and upload speed were contributed by Orest Kinasevych 
+##
+
+##
+# Get values assigned for current time and upload start time
+##
+#$dtnow = $query->param('dtnow'); # assign value for current time
+$dtnow=time;
+$dtstart = $query->param('dtstart'); # assign value for upload start time
+##
+
+
+#carp "$dtnow  $dtstart";
+
+$thisUrl = $query->url;
+
+##
+# Elapsed time
+# Calculate elapsed time and format for display
+##
+$dtelapsed = $dtnow - $dtstart;
+$dtelapsed_sec = ($dtelapsed % 60); # gets number of seconds
+$dtelapsed_min = ((($dtelapsed - $dtelapsed_sec) % 3600) / 60); # gets number of minutes
+$dtelapsed_hours = (((($dtelapsed - $dtelapsed_sec) - ($dtelapsed_min * 60)) % 86400) / 3600);
+# gets number of hours; assuming that we won't be going into days!
+if ($dtelapsed_sec < 10) { $dtelapsed_sec = "0$dtelapsed_sec"; } # append leading zero
+if ($dtelapsed_min < 10) { $dtelapsed_min = "0$dtelapsed_min"; } # append leading zero
+if ($dtelapsed_hours < 10) { $dtelapsed_hours = "0$dtelapsed_hours"; } # append leading zero
+$dtelapsedf = "$dtelapsed_hours:$dtelapsed_min:$dtelapsed_sec"; # display as 00:00:00
+##
+
+##
+# Upload speed
+##
+$bSpeed = 0; # if not yet determined
+if ($dtelapsed > 0) # avoid divide by zero errors
+{
+	$bSpeed = $iRead / $dtelapsed; # Bytes uploaded / Seconds elapsed = Bytes/Second speed
+	$bitSpeed = $bSpeed * 8; # bps
+	$kbitSpeed = $bitSpeed / 1000; # Kbps
+}
+else
+{
+	$kbitSpeed = $bSpeed; # just pass the zero value
+}
+$bSpeedf = sprintf("%d",$kbitSpeed); # remove decimals
+
+
+##
+# Est remaining time
+# Calculate remaining time based on upload speed so far
+##
+
+$bRemaining = $iTotal - $iRead; # Total size - amount uploaded = amount remaining
+$dtRemaining = 0;
+if ($bSpeed > 0) {
+	# Bytes remaining / Bytes/Second = Seconds 
+	$dtRemaining = $bRemaining / $bSpeed;
+}
+$dtRemaining = sprintf("%d",$dtRemaining); # remove decimals
+$dtRemaining_sec = ($dtRemaining % 60); # gets number of seconds
+$dtRemaining_min = ((($dtRemaining - $dtRemaining_sec) % 3600) / 60); # gets number of minutes
+$dtRemaining_hours = (((($dtRemaining - $dtRemaining_sec) - ($dtRemaining_min * 60)) % 86400) / 3600); # gets number of hours; assuming that we won't be going into days!
+if ($dtRemaining_sec < 10)
+{
+ 	# append leading zero
+	$dtRemaining_sec = "0$dtRemaining_sec";
+}
+if ($dtRemaining_min < 10)
+{
+	# append leading zero
+	$dtRemaining_min = "0$dtRemaining_min";
+}
+if ($dtRemaining_hours < 10)
+{
+ 	# append leading zero
+	$dtRemaining_hours = "0$dtRemaining_hours";
+}
+$dtRemainingf = "$dtRemaining_hours:$dtRemaining_min:$dtRemaining_sec"; # display as 00:00:00
+
+##
+# The values for iStatus are
+#	0 - in progress
+#	1 - New upload
+#	2 - Complete
+##
+
+#carp "iTotal = $iTotal, iRead = $iRead, status = $status, sessionId = $sessionid";
+
+require("./header.cgi");
+
+
+sub readFlength()
+{
+	
+	if(open (STAT, $monitor_file))
+	{
+		sysopen(STAT,  $monitor_file, O_RDONLY)
+				or die "can't open numfile: $!";
+		$ofh = select(STAT); $| = 1; select ($ofh);
+		$iTotal = <STAT>;
+
+		#carp "trying to read the stuff in $iTotal";
+		if(defined($iTotal) && $iTotal ne "")
+		{
+			return 1;
+		
+		}
+		else
+		{
+			return 0;
+		}
+	} 
+	return 0;
+	
+}
+
+##
+# many thanx to Terrence Johnson who pointed out the fact that i should have added 
+# cache control header.
+##
+
+print "Pragma: no-cache\n";
+print "Content-type: text/xml\n\n ";
+
+if($status == 1)
+{
+	#new upload starting
+	show_starting();
+}
+elsif($status ==0)
+{
+	##
+	# in progress
+	# we will try to read in the total size of data to be transfered from the
+	# shared file. It will also tell us how much data has been transfered upto
+	# now.
+	##
+	$bRead = -s "$post_data_file";
+		
+	if(defined $bRead)
+	{
+		# We have  been able to read in it from the file.
+		$percent = $bRead * 100 / $iTotal;
+		$iRead=$bRead;
+		
+	}
+	else
+	{
+		&show_error();
+		exit();
+	}
+
+	#
+	# division results in truncation errors at times so don't compare percentage
+	# There have been occaisional reports of the progress bar showing 100% but not
+	# disappearing even after file upload has been completed.
+	#
+	# Nils Menrad came up with the solution which is to modify the end of upload
+	# test.
+	#
+	if((($iTotal == $bRead) && $bRead != 0) || $bRead>$iTotal) 
+	{
+		if($status == 1 && -e "$signal_file")
+		{
+			$bRead=0;
+			$status=0;
+			&get_last_values();
+		}
+		else
+		{
+			show_complete();
+			unlink $monitor_file;
+			unlink $post_data_file;
+			unlink $signal_file;
+			
+			exit;
+		}
+	}
+	else
+	{
+		$kachal = "$bRead , $iTotal";
+	}
+
+
+	&make_progress_bar();
+	exit;
+}
+else 
+{
+	show_complete();
+}
+
+#
+# Since the progress bar is in html, so it needs to refresh itself periodicaly to
+# obtain new values. The refresh url with the query string is generated by this 
+# function.
+
+sub make_url
+{
+
+	#print "Content-type: text/html\n\n ";
+	#print "hellow $iTotal $iStatus $sessionid $iRead <br>\n" ;
+
+	##
+	$url = "$thisUrl?iTotal=$iTotal&iRead=$iRead&iStatus=$status&sessionid=$sessionid&dtnow=$dtnow&dtstart=$dtstart";
+	##
+	$url =~ s/\n//;
+	
+	return $url;
+
+}
+
+sub make_progress_bar
+{
+	$url = make_url();
+	
+	print <<__PART1__;
+	<UploadProgress sessionID="$sessionid">
+		<RefreshURL><![CDATA[$url]]></RefreshURL>
+		<TotalBytes>$iTotal</TotalBytes>
+		<ReadBytes>$iRead</ReadBytes>
+		<Status>$status</Status>
+		<Speed>$bSpeedf</Speed>
+		<TimeRemaining>$dtRemainingf</TimeRemaining>
+		<TimeElapsed>$dtelapsedf</TimeElapsed>
+	</UploadProgress>
+__PART1__
+
+}
+
+
+sub show_complete
+{
+	
+	$status=2;
+	$url = make_url();
+
+	print <<__PART2__;
+	<UploadProgress sessionID="$sessionid">
+		<RefreshURL><![CDATA[$url]]></RefreshURL>
+		<TotalBytes>$iTotal</TotalBytes>
+		<ReadBytes>$iRead</ReadBytes>
+		<Status>$status</Status>
+		<Speed>$bSpeedf</Speed>
+		<TimeRemaining>0</TimeRemaining>
+		<TimeElapsed>$dtelapsedf</TimeElapsed>
+	</UploadProgress>
+__PART2__
+
+}
+
+sub show_starting
+{
+	#carp "starting";
+	if(readFlength() == 1)
+	{
+		$status=0;
+	}
+	$url = make_url();
+
+	print <<__PART2__;
+	<UploadProgress sessionID="$sessionid">
+		<RefreshURL><![CDATA[$url]]></RefreshURL>
+		<TotalBytes>$iTotal</TotalBytes>
+		<ReadBytes>$iRead</ReadBytes>
+		<Status>$status</Status>
+		<Speed>$bSpeedf</Speed>
+		<TimeRemaining>$dtRemainingf</TimeRemaining>
+		<TimeElapsed>$dtelapsedf</TimeElapsed>
+	</UploadProgress>
+__PART2__
+}
+
+sub show_error
+{
+	$url = make_url();
+	print <<__PART2__;
+	<UploadProgress sessionID="$sessionid">
+		<RefreshURL><![CDATA[$url]]></RefreshURL>
+		<TotalBytes>$iTotal</TotalBytes>
+		<ReadBytes>$iRead</ReadBytes>
+		<Status>-1</Status>
+		<Speed>$bSpeedf</Speed>
+		<TimeRemaining>$dtRemainingf</TimeRemaining>
+		<TimeElapsed>$dtelapsedf</TimeElapsed>
+	</UploadProgress>
+__PART2__
+
+}
+
+# this function may not return;
+sub get_last_values()
+{
+	if($status == 1)
+	{
+		show_starting();
+		exit;
+	}
+	else
+	{
+
+	 	if($status == 2)
+		{
+
+			
+			show_complete();
+			exit;
+		}
+		else
+		{
+
+			#
+			# we have done everything possible to try to retrieve the data
+			# now try to calculate the percentage once again
+			#
+			$iTotal = $iTotal;
+			$bRead = $iRead;
+
+			if(defined($iTotal) && $iTotal != 0)
+			{
+				$percent = $bRead * 100 / $iTotal;
+				$kachal="1";
+			}
+			else
+			{
+				&show_error();
+				exit;
+			}
+		}
+	}
+}

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/helpers/upload.cgi
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/helpers/upload.cgi	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Commands/helpers/upload.cgi	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,195 @@
+#!/usr/bin/perl
+
+# PHP File Uploader with progress bar Version 1.43
+# Copyright (C) Raditha Dissanyake 2003
+# http://www.raditha.com
+
+# Licence:
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+# 
+# Software distributed under this License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+# 
+# The Initial Developer of the Original Code is Raditha Dissanayake.
+# Portions created by Raditha are Copyright (C) 2003
+# Raditha Dissanayake. All Rights Reserved.
+# 
+
+# CHANGES:
+# As of version 1.00 cookies were abolished!
+# as of version 1.02 stdin is no longer set to non blocking.
+# 1.40 - POST is no longer required and processing is more efficient.
+#	Please refer online docs  for details.
+# 1.42 - The temporary locations were changed, to make it easier to
+#	clean up afterwards.	
+
+use CGI;
+use Fcntl qw(:DEFAULT :flock);
+use File::Temp qw/ tempfile tempdir /;
+#use Carp;
+
+
+ at qstring=split(/&/,$ENV{'QUERY_STRING'});
+ at p1 = split(/=/,$qstring[0]);
+$sessionid = $p1[1];
+$sessionid =~ s/[^a-zA-Z0-9]//g;  # sanitized as suggested by Terrence Johnson.
+
+ at p1 = split(/=/,$qstring[1]);
+$php_uploader = $p1[1];
+
+require("./header.cgi");
+
+#carp "$post_data_file and $monitor_file";
+
+$content_type = $ENV{'CONTENT_TYPE'};
+$len = $ENV{'CONTENT_LENGTH'};
+$bRead=0;
+$|=1;
+
+sub bye_bye {
+	$mes = shift;
+	print "Content-type: text/html\n\n";
+	print "<br>$mes<br>\n";
+
+	exit;
+}
+
+
+#
+# The thing to watch out for is file locking. Only
+# one thread may open a file for writing at any given time.
+# 
+
+if (-e "$post_data_file") {
+	unlink("$post_data_file");
+}
+
+if (-e "$monitor_file") {
+	unlink("$monitor_file");
+}
+
+
+sysopen(FH, $monitor_file, O_RDWR | O_CREAT, 0x777)
+	or die "can't open numfile: $!";
+
+# autoflush FH
+$ofh = select(FH); $| = 1; select ($ofh);
+flock(FH, LOCK_EX)
+	or die "can't write-lock numfile: $!";
+seek(FH, 0, 0)
+	or die "can't rewind numfile : $!";
+print FH $len;	
+close(FH);	
+	
+sleep(1);
+
+
+open(TMP,">","$post_data_file") or &bye_bye ("can't open temp file");
+
+#
+# read and store the raw post data on a temporary file so that we can
+# pass it though to a CGI instance later on.
+#
+
+
+
+my $i=0;
+
+$ofh = select(TMP); $| = 1; select ($ofh);
+			
+while (read (STDIN ,$LINE, 32768) && $bRead < $len )
+{
+	$bRead += length $LINE;
+	
+	select(undef, undef, undef,0.01);	# sleep for 0.35 of a second.
+	
+	# Many thanx to Patrick Knoell who came up with the optimized value for
+	# the duration of the sleep
+
+	$i++;
+	print TMP $LINE;
+}
+
+close (TMP);
+
+
+
+#
+# We don't want to decode the post data ourselves. That's like
+# reinventing the wheel. If we handle the post data with the perl
+# CGI module that means the PHP script does not get access to the
+# files, but there is a way around this.
+#
+# We can ask the CGI module to save the files, then we can pass
+# these filenames to the PHP script. In other words instead of
+# giving the raw post data (which contains the 'bodies' of the
+# files), we just send a list of file names.
+#
+#print "\n\n";
+open(STDIN,"$post_data_file") or die "can't open temp file";
+
+# chmod the file so everyone can read it
+# added by Ben Lancaster (benlanc at ster.me.uk)
+chmod (0666, $post_data_file);
+
+my $cg = new CGI();
+my $qstring="?";
+my %vars = $cg->Vars;
+my $j=0;
+
+while(($key,$value) = each %vars)
+{
+ 	
+	$file_upload = $cg->param($key);
+
+	if(defined $value && $value ne '')
+	{	
+
+		my $fh = $cg->upload($key);
+		#print "::".$key."::".$fh."::\n";
+		if(defined $fh)
+		{
+			#carp $fh;
+			($tmp_fh, $tmp_filename) = tempfile();
+
+			# chmod the file so everyone can read it
+			# added by Ben Lancaster (benlanc at ster.me.uk)	
+			chmod (0666, $tmp_filename);
+			
+			while(<$fh>) {
+				print $tmp_fh $_;
+			}
+
+			close($tmp_fh);
+
+			$fsize =(-s $fh);
+
+			
+			$fh =~ s/([^a-zA-Z0-9_\-.])/uc sprintf("%%%02x",ord($1))/eg;
+			
+			$tmp_filename =~ s/([^a-zA-Z0-9_\-.])/uc sprintf("%%%02x",ord($1))/eg;
+			$qstring .= "file[$key][name]=$fh&file[$key][size]=$fsize&";
+			$qstring .= "file[$key][tmp_name]=$tmp_filename&";
+			$j++;
+		}
+		else
+		{
+			$value =~ s/([^a-zA-Z0-9_\-.])/uc sprintf("%%%02x",ord($1))/eg;
+			$qstring .= "$key=$value&" ;
+		}
+	}
+}
+
+
+my $url = $php_uploader . $qstring . "&" . $ENV{'QUERY_STRING'};
+
+open (SIGNAL,">", $signal_file);
+print SIGNAL "\n";
+close (SIGNAL);
+
+print "Location: $url\n\n";
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Docs/AuthenticationHandlers.txt
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Docs/AuthenticationHandlers.txt	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Docs/AuthenticationHandlers.txt	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,68 @@
+Authentication via connector::
+
+In my PHP connector the one from the FBXP project, it is 
+possible to require authentication before a user can use
+the connector. 
+
+The works in the following manor:-
+
+A1/ File Browser Requests Command From Connector
+A2/ Connector.php recieves the request
+	B1/ File config.php imported
+	B2/ If authentication required load the authentication
+		handler file specified in the config, i.e.
+		$config['auth']['HandlerClass']='Default';
+		the Auth/Default.php will be imported
+	B3/ Create new instance of Auth class (defined in the
+		authentication handler imported.
+		C1/ Auth class, authenticate method called, passing
+			the data recieved in the ExtraParams variable
+			of the query string.
+		C2/ authenticate method returns a modified copy of the 
+			$config, to indicate successfull authentication
+			$config['authSuccess'] should be set to true, if
+			the authentication failed this should be set to false.
+		
+	B4a/ on success command is executed and output sent to client
+	B4b/ on failure blank xml response returned.
+
+A3/ End
+
+
+How to create my own authentication handler::
+
+Create a file in the Auth folder with the name of the handler (your choice)
+i.e. If i wanted to call it MySQL the file i would create would be
+MySQL.php in the Auth folder.
+
+Skeleton for the new authentication class::
+<?php
+class Auth {
+	function authenticate($data,$config) {
+	
+	}
+}
+?>
+
+as you can see the class must have a method called authenticate which
+takes two parameters, the value from the ExtraParams ($data) and a 
+reference to the connector configuration $config (so you can change
+things depending on the user if you wish) , you can now put what
+ever code you like in that method to determine if the user is allowed 
+or not. (you may add extra function to the class for internal use too,
+these will not be called by the connector, but call them from inside
+the authenticate method). The function returns a modified copy of the
+$config, with any changes you like + the addition of a top level 
+array element key: authSuccess   value: true if authentication
+successful, else false.
+
+If you want to limit what the user can do then you may want to change 
+the array at: $config['Commands']
+This holds an array of command that can be executed, if you remove say
+DeleteFolder from the array then the user will not be able to delete 
+a folder.
+
+
+By Example:: There is a default authentication handler that i wrote to
+distribute with the connector, so you may want to take a look at it
+to get a better idea of whats going on.
\ No newline at end of file


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Docs/AuthenticationHandlers.txt
___________________________________________________________________
Name: svn:eol-style
   + native

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Docs/license.txt
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Docs/license.txt	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Docs/license.txt	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,506 @@
+This connector is supplied under the same license as FCKeditor, 
+The Lesser GPL License (LGPL)-
+
+
+ GNU LESSER GENERAL PUBLIC LICENSE
+		       Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL.  It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+  This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it.  You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+  When we speak of free software, we are referring to freedom of use,
+not price.  Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+  To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights.  These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+  For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you.  You must make sure that they, too, receive or can get the source
+code.  If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it.  And you must show them these terms so they know their rights.
+
+  We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+  To protect each distributor, we want to make it very clear that
+there is no warranty for the free library.  Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+  Finally, software patents pose a constant threat to the existence of
+any free program.  We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder.  Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+  Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License.  This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License.  We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+  When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library.  The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom.  The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+  We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License.  It also provides other free software developers Less
+of an advantage over competing non-free programs.  These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries.  However, the Lesser license provides advantages in certain
+special circumstances.
+
+  For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard.  To achieve this, non-free programs must be
+allowed to use the library.  A more frequent case is that a free
+library does the same job as widely used non-free libraries.  In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+  In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software.  For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+  Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.  Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library".  The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+		  GNU LESSER GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+  A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+  The "Library", below, refers to any such software library or work
+which has been distributed under these terms.  A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language.  (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+  "Source code" for a work means the preferred form of the work for
+making modifications to it.  For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+  Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it).  Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+  
+  1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+  You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+  2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) The modified work must itself be a software library.
+
+    b) You must cause the files modified to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    c) You must cause the whole of the work to be licensed at no
+    charge to all third parties under the terms of this License.
+
+    d) If a facility in the modified Library refers to a function or a
+    table of data to be supplied by an application program that uses
+    the facility, other than as an argument passed when the facility
+    is invoked, then you must make a good faith effort to ensure that,
+    in the event an application does not supply such function or
+    table, the facility still operates, and performs whatever part of
+    its purpose remains meaningful.
+
+    (For example, a function in a library to compute square roots has
+    a purpose that is entirely well-defined independent of the
+    application.  Therefore, Subsection 2d requires that any
+    application-supplied function or table used by this function must
+    be optional: if the application does not supply it, the square
+    root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library.  To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License.  (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.)  Do not make any other change in
+these notices.
+
+  Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+  This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+  4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+  If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library".  Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+  However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library".  The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+  When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library.  The
+threshold for this to be true is not precisely defined by law.
+
+  If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work.  (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+  Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+  6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+  You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License.  You must supply a copy of this License.  If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License.  Also, you must do one
+of these things:
+
+    a) Accompany the work with the complete corresponding
+    machine-readable source code for the Library including whatever
+    changes were used in the work (which must be distributed under
+    Sections 1 and 2 above); and, if the work is an executable linked
+    with the Library, with the complete machine-readable "work that
+    uses the Library", as object code and/or source code, so that the
+    user can modify the Library and then relink to produce a modified
+    executable containing the modified Library.  (It is understood
+    that the user who changes the contents of definitions files in the
+    Library will not necessarily be able to recompile the application
+    to use the modified definitions.)
+
+    b) Use a suitable shared library mechanism for linking with the
+    Library.  A suitable mechanism is one that (1) uses at run time a
+    copy of the library already present on the user's computer system,
+    rather than copying library functions into the executable, and (2)
+    will operate properly with a modified version of the library, if
+    the user installs one, as long as the modified version is
+    interface-compatible with the version that the work was made with.
+
+    c) Accompany the work with a written offer, valid for at
+    least three years, to give the same user the materials
+    specified in Subsection 6a, above, for a charge no more
+    than the cost of performing this distribution.
+
+    d) If distribution of the work is made by offering access to copy
+    from a designated place, offer equivalent access to copy the above
+    specified materials from the same place.
+
+    e) Verify that the user has already received a copy of these
+    materials or that you have already sent this user a copy.
+
+  For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it.  However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+  It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system.  Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+  7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+    a) Accompany the combined library with a copy of the same work
+    based on the Library, uncombined with any other library
+    facilities.  This must be distributed under the terms of the
+    Sections above.
+
+    b) Give prominent notice with the combined library of the fact
+    that part of it is a work based on the Library, and explaining
+    where to find the accompanying uncombined form of the same work.
+
+  8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License.  Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License.  However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+  9. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Library or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+  10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+  11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded.  In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+  13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation.  If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+  14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission.  For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this.  Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+			    NO WARRANTY
+
+  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+
+           How to Apply These Terms to Your New Libraries
+
+  If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change.  You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+  To apply these terms, attach the following notices to the library.  It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the library's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this library; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the
+  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+  <signature of Ty Coon>, 1 April 1990
+  Ty Coon, President of Vice
+
+That's all there is to it!


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Docs/license.txt
___________________________________________________________________
Name: svn:eol-style
   + native

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Docs/readme.txt
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Docs/readme.txt	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Docs/readme.txt	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,95 @@
+PHP Connector for the FCKeditor v2 File Manager
+Written By Grant French, Sept 2004
+grant at mcpuk.net - http://www.mcpuk.net 
+
+FCK Editor - Written By Frederico Caldeira Knabben
+http://www.fckeditor.net 
+
+Icons supplied for file types from everaldo - 
+http://www.everaldo.com
+
+Permissions fix for upload.cgu and fix for
+thumbnail background colour by -
+Ben Lancaster (benlanc at ster.me.uk)
+
+!!PLEASE READ THROUGH THIS README *BEFORE* CRYING FOR HELP!!
+
+
+NOTES:
+------
+
+This software is provided as is with no guarantees or
+warranties what so ever. It has been proven to work
+under the following setups (many other should work):-
+
+PHP 4.3.x / Apache 1.3.x (FreeBSD/WinXP Pro/OpenBSD)
+PHP 5.x / Apache 2.x (Linux)
+
+Reported to work under IIS with minor alterations.
+(Manually define $_SERVER['DOCUMENT_ROOT'] and dont use
+the upload cgi)
+
+!!! if you specify the relative path of the connector in 
+	the fckconfig.js file you may experience some unusual
+	behaviour mainly in firefox, like the resource list
+	failing to refresh. To avoid this specify the absolute
+	path of the connector.
+
+	
+CONNECTOR CONFIGURATION
+-----------------------
+
+/FCKeditor/editor/filemanager/browser/mcpuk/connectors/php/config.php
+The config.php file contains most of the configuration options for the
+connector, the file is fully commented, so please take a look through it.
+		
+Most commonly asked question:
+Can i put the userfiles outside the FCKeditor folder?
+
+The answer is yes, the folder containing all users files is 
+setup be default to be /UserFiles this can be changed 
+to anything you like, such as /userdata/editorfiles this is
+done by editing the $fckphp_config['UserFilesPath'] directive 
+in the config.php file for the connector
+
+
+
+FILE & FOLDER SETUP:
+--------------------
+
+1. Create the user files folder (set in the config.php)
+	NOTE: you no longer need to create the Image/File/Media/Flash folders
+	if you are using the 'Authentication' option in the connector.
+	If you are not using the 'Authentication' option then you must create
+	the Image File Media and Flash folders in the user files folder.
+	
+2. The user files folder must all be chmodded to 0777 (a+wrx)
+
+
+
+Upload Progress (Optional) - Rather Buggy
+-----------------------------------------
+You may move the filemanager/browser/default/connectors/php/Commands/helpers/upload.cgi ,
+filemanager/browser/default/connectors/php/Commands/helpers/progress.cgi and
+filemanager/browser/default/connectors/php/Commands/helpers/header.cgi
+to you cgi-bin folder or set the settings on the folder to allow these to be executed,
+check the first line in each of these files to check that the path to perl is correct
+for your setup. Open the header.cgi file, check and modify settings as required.
+If you have moved these files adjust the path to them in the fckconfig lines as 
+specified above and the path the progress.cgi in the config.php file (see below)
+
+
+
+FINAL NOTE:
+-----------
+
+1. Limited support will be provided by email as and when i have time.
+2. If you have any ideas share them either by mailing me or in the 
+	forum for the fckeditor (http://sf.net/projects/fckeditor/forums)
+3. Enjoy
+
+
+LICENSE:
+--------
+
+LGPL - Lesser General Public License (see LICENSE.txt file)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/Docs/readme.txt
___________________________________________________________________
Name: svn:eol-style
   + native

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/config.php
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/config.php	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/config.php	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,233 @@
+<?php 
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: config.php
+ * 	Configuration file
+ * 
+ * File Authors:
+ * 		Grant French (grant at mcpuk.net)
+ */
+session_start();
+
+/*------------------------------------------------------------------------------*/
+/* HTTP over SSL Detection (shouldnt require changing)				*/
+/*------------------------------------------------------------------------------*/
+$fckphp_config['prot']="http";
+$fckphp_config['prot'].=((isset($_SERVER['HTTPS'])&&$_SERVER['HTTPS']=='on')?"s":"");
+$fckphp_config['prot'].="://";
+/*==============================================================================*/
+
+
+/*------------------------------------------------------------------------------*/
+/* The physical path to the document root, Set manually if not using apache	*/
+/*------------------------------------------------------------------------------*/
+//$fckphp_config['basedir']=$_SERVER['DOCUMENT_ROOT'];
+$fckphp_config['basedir'] = 'D:\Work\FCKeditor\www\FCKeditor.V2\editor\filemanager\browser\mcpuk' ;
+/*==============================================================================*/
+
+
+/*------------------------------------------------------------------------------*/
+/* Prefix added to image path before sending back to editor			*/
+/*------------------------------------------------------------------------------*/
+$fckphp_config['urlprefix']=$fckphp_config['prot'].$_SERVER['SERVER_NAME'];
+/*==============================================================================*/
+
+
+/*------------------------------------------------------------------------------*/
+/* Path to user files relative to the document root (no trailing slash)		*/
+/*------------------------------------------------------------------------------*/
+$fckphp_config['UserFilesPath'] = "/UserFiles" ;
+/*==============================================================================*/
+
+
+/*------------------------------------------------------------------------------*/
+/* Progressbar handler (script that monitors upload progress) (''=none)
+/*------------------------------------------------------------------------------*/
+// $fckphp_config['uploadProgressHandler']=''; //No upload progress handler
+$fckphp_config['uploadProgressHandler']=$fckphp_config['prot'].$_SERVER['SERVER_NAME']."/cgi-bin/progress.cgi"; //Perl upload progress handler
+/*==============================================================================*/
+
+
+/*------------------------------------------------------------------------------*/
+/* Authentication (auth) :-								*/
+/*  - Req		:: Boolean, whether authentication is required		*/
+/*  - HandlerClass	:: Name of class to handle authentication in connector	*/
+/*------------------------------------------------------------------------------*/
+$fckphp_config['auth']['Req']=false;
+$fckphp_config['auth']['HandlerClass']='Default';
+/*==============================================================================*/
+
+
+/*------------------------------------------------------------------------------*/
+/* Settings for authentication handler :-					*/
+/*  - SharedKey :: Shared encryption key (as set in test.php in example)	*/
+/*------------------------------------------------------------------------------*/
+$fckphp_config['auth']['Handler']['SharedKey']="->Shared_K3y-F0R*5enD1NG^auth3nt1caT10n'Info/To\FILE,Brow5er--!";
+/*==============================================================================*/
+
+
+/*------------------------------------------------------------------------------*/
+/* Per resource area settings:-							*/
+/* - AllowedExtensions	:: Array, allowed file extensions (in lowercase)	*/
+/* - AllowedMIME	:: Array, allowed mime types (in lowercase)		*/
+/* - MaxSize		:: Number, Maximum size of file uploads in KBytes	*/
+/* - DiskQuota		:: Number, Maximum size allowed for the resource area	*/
+/* - HideFolders	:: Array, RegExp, matching folder names will be hidden	*/
+/* - HideFiles		:: Array, RegExp, matching file names will be hidden	*/
+/* - AllowImageEditing	:: Boolean, whether images in this area may be edited	*/
+/*------------------------------------------------------------------------------*/
+//First area options are commented
+
+//File Area
+$fckphp_config['ResourceAreas']['File'] =array(
+	
+	//Files(identified by extension) that may be uploaded to this area
+	'AllowedExtensions'	=>	array("zip","doc","xls","pdf","rtf","csv","jpg","gif","jpeg","png","avi","mpg","mpeg","swf","fla"),
+	
+	//Not implemented yet
+	'AllowedMIME'		=>	array(),
+	
+	//Set the maximum single upload to this area to 2MB (2048Kb)
+	'MaxSize'		=>	2048,
+	
+	//Set disk quota for this resource area to 20MB
+	'DiskQuota'		=>	20,
+	
+	//By Default hide all folders starting with a . (Unix standard)
+	'HideFolders'		=>	array("^\."), 
+	
+	//By Default hide all files starting with a . (Unix standard)
+	'HideFiles'		=>	array("^\."), 
+	
+	//Do not allow images to be edited in this resource area
+	'AllowImageEditing'	=>	false
+	);
+
+//Image area
+$fckphp_config['ResourceAreas']['Image'] =array(
+	'AllowedExtensions'	=>	array("jpg","gif","jpeg","png","tiff","tif",),
+	'AllowedMIME'		=>	array(),
+	'MaxSize'		=>	1024,
+	'DiskQuota'		=>	5,
+	'HideFolders'		=>	array("^\."),
+	'HideFiles'		=>	array("^\."),
+	'AllowImageEditing'	=>	false //Not yet complete, but you can take a look and see
+	);
+
+//Flash area
+$fckphp_config['ResourceAreas']['Flash'] =array(
+	'AllowedExtensions'	=>	array("swf","fla"),
+	'AllowedMIME'		=>	array(),
+	'MaxSize'		=>	1024,
+	'DiskQuota'		=>	5,
+	'HideFolders'		=>	array("^\."),
+	'HideFiles'		=>	array("^\."),
+	'AllowImageEditing'	=>	false
+	);
+	
+//Media area
+$fckphp_config['ResourceAreas']['Media'] =array(
+	'AllowedExtensions'	=>	array("swf","fla","jpg","gif","jpeg","png","avi","mpg","mpeg"),
+	'AllowedMIME'		=>	array(),
+	'MaxSize'		=>	5120,
+	'DiskQuota'		=>	20,
+	'HideFolders'		=>	array("^\."),
+	'HideFiles'		=>	array("^\."),
+	'AllowImageEditing'	=>	false
+	);
+	
+/*==============================================================================*/		
+
+
+/*------------------------------------------------------------------------------*/
+/* Global Disk Quota - Max size of all resource areas				*/
+/*------------------------------------------------------------------------------*/
+$fckphp_config['DiskQuota']['Global']=50; //In MBytes (default: 50mb)
+/*==============================================================================*/
+
+
+/*------------------------------------------------------------------------------*/
+/* Directory and File Naming :-							*/
+/*  -MaxDirNameLength	:: Maximum allowed length of a directory name		*/
+/*  -DirNameAllowedChars :: Array of characters allowed in a directory name	*/
+/*  -FileNameAllowedChars :: Array of characters allowed in a file name		*/
+/*------------------------------------------------------------------------------*/
+
+$fckphp_config['MaxDirNameLength']=25;
+
+$fckphp_config['DirNameAllowedChars']=array();
+
+	//Allow numbers
+	for($i=48;$i<58;$i++) array_push($fckphp_config['DirNameAllowedChars'],chr($i));
+	
+	//Allow lowercase letters
+	for($i=97;$i<123;$i++) array_push($fckphp_config['DirNameAllowedChars'],chr($i));
+	
+	//Allow uppercase letters
+	for($i=65;$i<91;$i++) array_push($fckphp_config['DirNameAllowedChars'],chr($i));
+	
+	//Allow space,dash,underscore,dot
+	array_push($fckphp_config['DirNameAllowedChars']," ","-","_",".");
+	
+$fckphp_config['FileNameAllowedChars']=$fckphp_config['DirNameAllowedChars'];
+array_push($fckphp_config['FileNameAllowedChars'],')','(','[',']','~');
+/*==============================================================================*/
+
+
+/*------------------------------------------------------------------------------*/
+/* Debugging :-									*/
+/*  - Debug	:: Boolean, if set to true a copy of the connector output is 	*/
+/*			sent to a file as well as to the client.		*/
+/*  - DebugOutput :: File to send debug output to (absolute path)		*/
+/*------------------------------------------------------------------------------*/
+
+$fckphp_config['Debug']=false;
+$fckphp_config['DebugOutput']="/var/www/fckeditor/htdocs/FCKeditor/data/fck_conn_dbg";
+
+#Log PHP errors
+$fckphp_config['Debug_Errors']=false;
+$fckphp_config['Debug_Trace']=false;
+
+#Log Connector output
+$fckphp_config['Debug_Output']=false;
+
+#With each logged event display contents of
+/* $_GET */ $fckphp_config['Debug_GET']=false;
+/* $_POST */ $fckphp_config['Debug_POST']=false;
+/* $_SERVER */ $fckphp_config['Debug_SERVER']=false;
+/* $_SESSIONS */ $fckphp_config['Debug_SESSIONS']=false;
+
+/*==============================================================================*/
+
+
+/*------------------------------------------------------------------------------*/
+/* Internals :-									*/
+/*	ResourceTypes :: Array of valid resource areas				*/
+/*	Commands :: Array of valid commands accepted by the connector		*/
+/*------------------------------------------------------------------------------*/
+$fckphp_config['ResourceTypes'] = array('File','Image','Flash','Media');
+$fckphp_config['Commands'] = array(
+				"CreateFolder",
+				"GetFolders",
+				"GetFoldersAndFiles",
+				"FileUpload",
+				"Thumbnail",
+				"DeleteFile",
+				"DeleteFolder",
+				"GetUploadProgress",
+				"RenameFile",
+				"RenameFolder"
+				);
+/*==============================================================================*/
+
+?>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/connector.php
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/connector.php	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/connector.php	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,194 @@
+<?php 
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: connector.php
+ * 	Main connector file, implements the State Pattern to 
+ * 	redirect requests to the appropriate class based on 
+ * 	the command name passed.
+ * 
+ * File Authors:
+ * 		Grant French (grant at mcpuk.net)
+ */
+//Errors in the config.php could still cause problems.
+global $fckphp_config;
+require_once "config.php";
+
+error_reporting(E_ALL);
+function errorHandler ($errno, $errstr, $errfile, $errline, $errcontext) {
+	$reported=false;
+	if (strpos($errstr,"var: Deprecated.")===false) {
+		global $fckphp_config;
+		if ($fckphp_config['Debug']===true && $fckphp_config['Debug_Errors']===true) {
+			$oldData=implode("",file($fckphp_config['DebugOutput']));
+			if ($fh=fopen($fckphp_config['DebugOutput'],"w")) {
+				fwrite($fh,"\n".date("d/m/Y H:i:s")."\n");
+				fwrite($fh,"PHP ERROR::: 
+						Error Number: $errno
+						Error Message: $errstr
+						Error File: $errfile
+						Error Line: $errline\n");
+				if ($fckphp_config['Debug_Trace']) fwrite($fh,"		Error Context: ".print_r($errcontext,true)."\n");
+				if ($fckphp_config['Debug_GET']) fwrite($fh,"\n\$_GET::\n".print_r($_GET,true)."\n");
+				if ($fckphp_config['Debug_POST']) fwrite($fh,"\n\$_POST::\n".print_r($_POST,true)."\n");
+				if ($fckphp_config['Debug_SERVER']) fwrite($fh,"\n\$_SERVER::\n".print_r($_SERVER,true)."\n");
+				if ($fckphp_config['Debug_SESSIONS']) fwrite($fh,"\n\$_SESSIONS::\n".print_r($_SESSION,true)."\n");
+				fwrite($fh,"\n-------------------------------------------------------\n\n\n");
+				fwrite($fh,$oldData); $oldData="";
+				fclose($fh);
+				$reported=true;
+			} 
+		}
+		
+		if (!$reported) {
+			//display error instead.
+			echo("PHP ERROR::: <br />
+					Error Number: $errno <br />
+					Error Message: $errstr <br />
+					Error File: $errfile <br />
+					Error Line: $errline <br />");
+				
+			if ($fckphp_config['Debug_Trace']) echo "Error Context: ".print_r($errcontext,true)."\n";	
+			if ($fckphp_config['Debug_GET']) echo "\$_GET::\n".print_r($_GET,true)."<br />\n";
+			if ($fckphp_config['Debug_POST']) echo "\$_POST::\n".print_r($_POST,true)."<br />\n";
+			if ($fckphp_config['Debug_SERVER']) echo "\$_SERVER::\n".print_r($_SERVER,true)."<br />\n";
+			if ($fckphp_config['Debug_SESSIONS']) echo "\$_SESSIONS::\n".print_r($_SESSION,true)."<br />\n";
+			echo "<br />\n<br />\n";
+		}
+	}
+}
+set_error_handler('errorHandler');
+
+if (!isset($_SERVER['DOCUMENT_ROOT'])) $_SERVER["DOCUMENT_ROOT"] = $fckphp_config['basedir'];
+
+if ($fckphp_config['Debug']===true && $fckphp_config['Debug_Output']) ob_start();
+outputHeaders();
+
+//These are the commands we may expect
+$valid_commands=$fckphp_config['Commands'];
+$valid_resource_types=$fckphp_config['ResourceTypes'];
+
+//Get the passed data
+$command=(
+		((isset($_GET['Command']))&&($_GET['Command']!=""))?
+			$_GET['Command']:
+			""
+		);
+		
+$type=(
+		((isset($_GET['Type']))&&($_GET['Type']!=""))?
+			$_GET['Type']:
+			"File"
+		);
+		
+$cwd=str_replace("..","",
+		(
+		((isset($_GET['CurrentFolder']))&&($_GET['CurrentFolder']!=""))?
+			$_GET['CurrentFolder']:
+			"/"
+		)
+		);
+		
+$cwd=str_replace("..","",$cwd);
+
+$extra=(
+		((isset($_GET['ExtraParams']))&&($_GET['ExtraParams']!=""))?
+			$_GET['ExtraParams']:
+			""
+		);
+
+if (in_array($command,$valid_commands)) {
+
+	if ($fckphp_config['auth']['Req']) {
+		require_once "./Auth/".$fckphp_config['auth']['HandlerClass'].".php";
+		
+		$auth=new Auth();
+		$fckphp_config=$auth->authenticate($extra,$fckphp_config);
+		if ($fckphp_config['authSuccess']!==true) {
+			header ("content-type: text/xml");
+			echo "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n";
+			?>
+<Connector command="authentication_failed" resourceType="authentication_failed">
+	<CurrentFolder path="authentication_failed" url="authentication_failed" />
+	<Error number="-1" />
+</Connector><?php
+			if ($fckphp_config['Debug']===true  && $fckphp_config['Debug_Output']) recordOutput();
+			exit(0);
+		}
+	}
+
+	//bit of validation
+	if (!in_array($type,$valid_resource_types)) {
+		echo "Invalid resource type.";
+		if ($fckphp_config['Debug']===true  && $fckphp_config['Debug_Output']) recordOutput();
+		exit(0);
+	}
+	
+	require_once "Commands/$command.php";
+
+	$action=new $command($fckphp_config,$type,$cwd);
+
+	$action->run();
+	if ($fckphp_config['Debug']===true && $fckphp_config['Debug_Output']) recordOutput();
+	
+} else {
+	//No reason for me to be here.
+	echo "Invalid command.";
+	echo str_replace("\n","<br />",print_r($_GET,true));
+	if ($fckphp_config['Debug']===true  && $fckphp_config['Debug_Output']) recordOutput();
+	exit(0);
+}
+
+
+function recordOutput() {
+	global $fckphp_config;
+
+	if ($fckphp_config['Debug']===true  && $fckphp_config['Debug_Output']) {
+		$contents=ob_get_contents();
+		if (strlen($contents)>0) {
+			$oldData=implode("",file($fckphp_config['DebugOutput']));
+			if ($fh=fopen($fckphp_config['DebugOutput'],"w")) {
+				fwrite($fh,"\n".date("d/m/Y H:i:s")."\n");
+				if ($fckphp_config['Debug_GET']) fwrite($fh,"\n\$_GET::\n".print_r($_GET,true)."\n");
+				if ($fckphp_config['Debug_POST']) fwrite($fh,"\n\$_POST::\n".print_r($_POST,true)."\n");
+				if ($fckphp_config['Debug_SERVER']) fwrite($fh,"\n\$_SERVER::\n".print_r($_SERVER,true)."\n");
+				if ($fckphp_config['Debug_SESSIONS']) fwrite($fh,"\n\$_SESSIONS::\n".print_r($_SESSION,true)."\n");
+				fwrite($fh,$contents);
+				fwrite($fh,"\n-------------------------------------------------------\n\n\n");
+				fwrite($fh,$oldData); $oldData="";
+				fclose($fh);
+			}
+		}
+		ob_flush();
+	}
+}
+
+function outputHeaders() {
+
+	//Anti browser caching headers
+	//Borrowed from fatboy's implementation  (fatFCK at code247.com)
+	
+	// ensure file is never cached
+	// Date in the past
+	header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
+	
+	// always modified
+	header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
+	
+	// HTTP/1.1
+	header("Cache-Control: no-store, no-cache, must-revalidate");
+	header("Cache-Control: post-check=0, pre-check=0", false);
+	
+	// HTTP/1.0
+	header("Pragma: no-cache");
+}
+?> 

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/dtd/iso-lat1.ent
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/dtd/iso-lat1.ent	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/dtd/iso-lat1.ent	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,62 @@
+<!ENTITY aacute	"&#x00E1;">
+<!ENTITY Aacute	"&#x00C1;">
+<!ENTITY acirc	"&#x00E2;">
+<!ENTITY Acirc	"&#x00C2;">
+<!ENTITY agrave	"&#x00E0;">
+<!ENTITY Agrave	"&#x00C0;">
+<!ENTITY aring	"&#x00E5;">
+<!ENTITY Aring	"&#x00C5;">
+<!ENTITY atilde	"&#x00E3;">
+<!ENTITY Atilde	"&#x00C3;">
+<!ENTITY auml	"&#x00E4;">
+<!ENTITY Auml	"&#x00C4;">
+<!ENTITY aelig	"&#x00E6;">
+<!ENTITY AElig	"&#x00C6;">
+<!ENTITY ccedil	"&#x00E7;">
+<!ENTITY Ccedil	"&#x00C7;">
+<!ENTITY eth	"&#x00F0;">
+<!ENTITY ETH	"&#x00D0;">
+<!ENTITY eacute	"&#x00E9;">
+<!ENTITY Eacute	"&#x00C9;">
+<!ENTITY ecirc	"&#x00EA;">
+<!ENTITY Ecirc	"&#x00CA;">
+<!ENTITY egrave	"&#x00E8;">
+<!ENTITY Egrave	"&#x00C8;">
+<!ENTITY euml	"&#x00EB;">
+<!ENTITY Euml	"&#x00CB;">
+<!ENTITY iacute	"&#x00ED;">
+<!ENTITY Iacute	"&#x00CD;">
+<!ENTITY icirc	"&#x00EE;">
+<!ENTITY Icirc	"&#x00CE;">
+<!ENTITY igrave	"&#x00EC;">
+<!ENTITY Igrave	"&#x00CC;">
+<!ENTITY iuml	"&#x00EF;">
+<!ENTITY Iuml	"&#x00CF;">
+<!ENTITY ntilde	"&#x00F1;">
+<!ENTITY Ntilde	"&#x00D1;">
+<!ENTITY oacute	"&#x00F3;">
+<!ENTITY Oacute	"&#x00D3;">
+<!ENTITY ocirc	"&#x00F4;">
+<!ENTITY Ocirc	"&#x00D4;">
+<!ENTITY ograve	"&#x00F2;">
+<!ENTITY Ograve	"&#x00D2;">
+<!ENTITY oslash	"&#x00F8;">
+<!ENTITY Oslash	"&#x00D8;">
+<!ENTITY otilde	"&#x00F5;">
+<!ENTITY Otilde	"&#x00D5;">
+<!ENTITY ouml	"&#x00F6;">
+<!ENTITY Ouml	"&#x00D6;">
+<!ENTITY szlig	"&#x00DF;">
+<!ENTITY thorn	"&#x00FE;">
+<!ENTITY THORN	"&#x00DE;">
+<!ENTITY uacute	"&#x00FA;">
+<!ENTITY Uacute	"&#x00DA;">
+<!ENTITY ucirc	"&#x00FB;">
+<!ENTITY Ucirc	"&#x00DB;">
+<!ENTITY ugrave	"&#x00F9;">
+<!ENTITY Ugrave	"&#x00D9;">
+<!ENTITY uuml	"&#x00FC;">
+<!ENTITY Uuml	"&#x00DC;">
+<!ENTITY yacute	"&#x00FD;">
+<!ENTITY Yacute	"&#x00DD;">
+<!ENTITY yuml	"&#x00FF;">
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/ascii.jpg
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/ascii.jpg
___________________________________________________________________
Name: svn:mime-type
   + image/jpeg

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/binary.jpg
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/binary.jpg
___________________________________________________________________
Name: svn:mime-type
   + image/jpeg

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/document2.jpg
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/document2.jpg
___________________________________________________________________
Name: svn:mime-type
   + image/jpeg

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/email.jpg
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/email.jpg
___________________________________________________________________
Name: svn:mime-type
   + image/jpeg

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/empty.jpg
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/empty.jpg
___________________________________________________________________
Name: svn:mime-type
   + image/jpeg

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/html.jpg
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/html.jpg
___________________________________________________________________
Name: svn:mime-type
   + image/jpeg

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/image.jpg
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/image.jpg
___________________________________________________________________
Name: svn:mime-type
   + image/jpeg

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/info.jpg
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/info.jpg
___________________________________________________________________
Name: svn:mime-type
   + image/jpeg

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/kmplot.jpg
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/kmplot.jpg
___________________________________________________________________
Name: svn:mime-type
   + image/jpeg

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/kmultiple.jpg
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/kmultiple.jpg
___________________________________________________________________
Name: svn:mime-type
   + image/jpeg

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/pdf.jpg
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/pdf.jpg
___________________________________________________________________
Name: svn:mime-type
   + image/jpeg

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/php.jpg
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/php.jpg
___________________________________________________________________
Name: svn:mime-type
   + image/jpeg

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/postscript.jpg
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/postscript.jpg
___________________________________________________________________
Name: svn:mime-type
   + image/jpeg

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/real_doc.jpg
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/real_doc.jpg
___________________________________________________________________
Name: svn:mime-type
   + image/jpeg

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/sound.jpg
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/sound.jpg
___________________________________________________________________
Name: svn:mime-type
   + image/jpeg

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/spreadsheet.jpg
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/spreadsheet.jpg
___________________________________________________________________
Name: svn:mime-type
   + image/jpeg

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/tar.jpg
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/tar.jpg
___________________________________________________________________
Name: svn:mime-type
   + image/jpeg

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/video.jpg
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/images/video.jpg
___________________________________________________________________
Name: svn:mime-type
   + image/jpeg

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/test.html.suspended
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/test.html.suspended	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/test.html.suspended	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,7 @@
+<html><head><title>File Upload Test</title></head>
+<body>
+<form enctype="multipart/form-data" method="post" action="/cgi-bin/upload.cgi?uploadID=58484&Connector=/FCKeditor/editor/filemanager/browser/default/connectors/php/connector.php&Command=FileUpload&Type=Image&CurrentFolder=/&ExtraParams=313131323934373331357c5e5345505e7c3139322e3136382e302e327c5e5345505e7c61646d696e7c5e5345505e7c3338316139376339633638303937393566343665313463613738383230626439">
+<input type="file" name="NewFile" />
+<input type="submit" value="Upload" />
+</form>
+</body></html> 

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/testme.php.suspended
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/testme.php.suspended	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/connectors/php/testme.php.suspended	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,340 @@
+<html>
+<head>
+	<title>Test PHP Connector</title>
+</head>
+<body>
+<?php
+	error_reporting(E_ALL);
+	
+	include "config.php";
+	
+	$resources=$fckphp_config['ResourceTypes'];
+	
+	$dr=$fckphp_config['basedir'];
+	$actual_userfolder=str_replace("//","/",$dr."/".$fckphp_config['UserFilesPath']."/");
+	
+	
+	//Display base directory set in the$fckphp_config
+	echo "Base Dir is set to: $dr<br />\n";
+	
+	//Display the path to this script
+	echo "PHP_SELF: ".$_SERVER['PHP_SELF']."<br />\n";
+	
+	
+	//Seperator
+	echo "\n<br /><hr /><br />\n";
+	
+	
+	//Check if PHP has MIME-Magic Support
+	echo "Checking for mime magic support: ".((function_exists("mime_content_type"))?"Yes":"No - you won't get icons by mime type")."<br />";
+	
+	//Check if PHP has GD Support
+	echo "Checking for GD support: ".((function_exists("imagecreate"))?"Yes":"No - you won't get thumbnails for images")."<br />";
+	echo "&nbsp;&nbsp;&nbsp;&nbsp;JPEG Support: ".((function_exists("imagecreatefromjpeg"))?"Yes":"No - you won't get thumbnails for jpeg images")."<br />";
+	echo "&nbsp;&nbsp;&nbsp;&nbsp;PNG Support: ".((function_exists("imagecreatefrompng"))?"Yes":"No - you won't get thumbnails for png images")."<br />";
+	echo "&nbsp;&nbsp;&nbsp;&nbsp;GIF Support: ".((function_exists("imagecreatefromgif"))?"Yes":"No - you won't get thumbnails for gif images")."<br />";
+	echo "&nbsp;&nbsp;&nbsp;&nbsp;Image Write Support: ".((function_exists("imagegif") || function_exists("imagepng") || function_exists("imagejpeg"))?"Yes":"No - you won't get thumbnails for any images, as i cant write GIFs, PNGs or JPEGs")."<br />";
+	
+	
+	//Seperator
+	echo "\n<br /><hr /><br />\n";
+	
+	
+	//Check if the user files folder set in the$fckphp_config exists
+	echo "Checking if user files folder exists ($actual_userfolder): ";
+	if (is_dir($actual_userfolder)) {
+		echo "[ Passed ]<br />\n";
+	} else {
+		echo "[ Failed ] <br />Task: Create the user files folder in the webroot and point the$fckphp_config.php file to it.<br />\n";
+		echo "Skipping all other tests, fix this one first.";
+		exit(0);
+	}
+	
+	
+	//Seperator
+	echo "\n<br /><hr /><br />\n";
+	
+	
+	//Check if the File,Image,Flash,Media folders exist in the user files folder and are writeable
+	echo "Checking for resource type folders under user file folder: <br />\n";
+	foreach ($resources as $value) {
+	
+		//Does the folder exist
+		$passed=false;
+		echo "&nbsp;&nbsp;&nbsp;&nbsp;$value exists (".($actual_userfolder.$value).": ";	
+		if (is_dir(($actual_userfolder.$value))) {
+			echo "[ Passed ]<br />\n";
+			$passed=true;
+		} else {
+			echo "[ Failed ]<br /> Task: chmod this folder to make it writeable to the php processes user.<br />\n";
+		}
+		
+		
+		//Is the folder writeable by PHP
+		echo "&nbsp;&nbsp;&nbsp;&nbsp;$value writeable: ";	
+		if ($passed) {
+			if (is_writeable(($actual_userfolder.$value))) {
+				echo "[ Passed ]<br />\n";
+			} else {
+				echo "[ Failed ]<br /> Task: chmod this folder to make it writeable to the php processes user.<br />\n";
+			}
+		} else {
+			echo "[ Skipped ]<br />\n";
+		}
+		echo "<br />\n";
+	}
+
+	
+	//Check if PHP is$fckphp_configured to use open_basedir
+	echo "Checking if open_basedir restriction in place: (".((($bd=ini_get("open_basedir"))==null)?"Not Set":$bd." - This may cause you some troubles.").")<br />";
+	
+	//Try to open the user files folder
+	echo "Trying an opendir on the user files folder: ".((opendir($actual_userfolder))?"[ Passed ]":"[ Failed ]")."<br />";
+	
+	
+	//Seperator
+	echo "\n<br /><hr /><br />\n";
+	
+	
+	//Compose the url to the connector
+		$uri="http".(((isset($_SERVER['HTTPS']))&&(strtolower($_SERVER['HTTPS'])!='off'))?"s":"")."://".$_SERVER['SERVER_NAME'].dirname($_SERVER['SCRIPT_NAME'])."/";
+		
+		
+//--------------------------------------------------------------------------------------------------------------------------------------------------
+	//Test the GetFolders Command
+		echo "Requesting connector.php?Command=GetFolders&Type=Image&CurrentFolder=/ :<br />\n
+			<div style=\"border-style:solid;border-width:1px;border-color:#000000\">\n";
+			
+		$test = implode("",file($uri."connector.php?Command=GetFolders&Type=Image&CurrentFolder=/"));
+		$test=htmlentities($test);
+		echo str_replace("\n","<br />",$test);
+		echo "</div> Please do a sanity check on this, it should be something like: \n
+			<div style=\"border-style:solid;border-width:1px;border-color:#000000\">\n";
+		
+		$expect="
+<?xml version=\"1.0\" encoding=\"utf-8\" ?>
+<Connector command=\"GetFolders\" resourceType=\"Image\">
+    <CurrentFolder path=\"/\" url=\"/data/resources/Image/\" />
+    <Folders>
+    </Folders>
+</Connector>";
+	
+		
+		$expect=htmlentities($expect);
+		$expect=str_replace(array("\n","\r"),"<br />",$expect);
+		echo "<b>EXAMPLE RESPONSE</b>".$expect;
+		?>
+		</div>
+		<br /><br />
+		<?php
+//--------------------------------------------------------------------------------------------------------------------------------------------------
+		
+	//Seperator
+		echo "\n<br /><hr /><br />\n";
+		
+		
+//--------------------------------------------------------------------------------------------------------------------------------------------------
+	//Test GetFoldersAndFiles Command
+		echo "Requesting connector.php?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=/ :<br />\n
+			<div style=\"border-style:solid;border-width:1px;border-color:#000000\">\n";
+			
+		$test = implode("",file($uri."connector.php?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=/"));
+		$test=htmlentities($test);
+		echo str_replace("\n","<br />",$test);
+		echo "</div> Please do a sanity check on this, it should be something like: \n
+			<div style=\"border-style:solid;border-width:1px;border-color:#000000\">\n";
+		
+		$expect="
+<?xml version=\"1.0\" encoding=\"utf-8\" ?>
+<Connector command=\"GetFoldersAndFiles\" resourceType=\"Image\">
+<CurrentFolder path=\"/\" url=\"/data/resources/Image/\" />
+<Folders>
+</Folders>
+<Files>
+</Files>
+</Connector>";
+	
+		
+		$expect=htmlentities($expect);
+		$expect=str_replace(array("\n","\r"),"<br />",$expect);
+		echo "<b>EXAMPLE RESPONSE</b>".$expect;
+		?>
+		</div>
+		<br /><br />
+		<?php
+//--------------------------------------------------------------------------------------------------------------------------------------------------		
+		
+		//Seperator
+		echo "\n<br /><hr /><br />\n";
+		
+		
+//--------------------------------------------------------------------------------------------------------------------------------------------------	
+	//Test the CreateFolder command
+		echo "Requesting connector.php?Command=CreateFolder&Type=Image&CurrentFolder=/&NewFolderName=TestFolder99 :<br />\n
+			<div style=\"border-style:solid;border-width:1px;border-color:#000000\">\n";
+			
+		$test = implode("",file($uri."connector.php?Command=CreateFolder&Type=Image&CurrentFolder=/&NewFolderName=TestFolder99"));
+		$test=htmlentities($test);
+		echo str_replace("\n","<br />",$test);
+		echo "</div> Please do a sanity check on this, it should be something like: \n
+			<div style=\"border-style:solid;border-width:1px;border-color:#000000\">\n";
+		
+		$expect="
+<?xml version=\"1.0\" encoding=\"utf-8\" ?>
+<Connector command=\CreateFolder\" resourceType=\"Image\">
+<CurrentFolder path=\"/\" url=\"/data/resources/Image/\" />
+	<Error number=\"0\" />
+</Connector>";
+	
+		
+		$expect=htmlentities($expect);
+		$expect=str_replace(array("\n","\r"),"<br />",$expect);
+		echo "<b>EXAMPLE RESPONSE</b>".$expect;
+		?>
+		</div>
+		<br /><br />
+		<?php	
+//--------------------------------------------------------------------------------------------------------------------------------------------------
+
+		
+	//Seperator
+		echo "\n<br /><hr /><br />\n";
+	
+		
+//--------------------------------------------------------------------------------------------------------------------------------------------------
+	//Test the RenameFolder Command
+		echo "Requesting connector.php?Command=RenameFolder&Type=Image&CurrentFolder=/&FolderName=TestFolder99&NewName=TestFolder90 :<br />\n
+			<div style=\"border-style:solid;border-width:1px;border-color:#000000\">\n";
+			
+		$test = implode("",file($uri."connector.php?Command=RenameFolder&Type=Image&CurrentFolder=/&FolderName=TestFolder99&NewName=TestFolder90"));
+		$test=htmlentities($test);
+		echo str_replace("\n","<br />",$test);
+		echo "</div> Please do a sanity check on this, it should be something like: \n
+			<div style=\"border-style:solid;border-width:1px;border-color:#000000\">\n";
+		
+		$expect="
+<?xml version=\"1.0\" encoding=\"utf-8\" ?>
+<Connector command=\"RenameFolder\" resourceType=\"Image\">
+    <CurrentFolder path=\"/\" url=\"/data/resources/Image/\" />
+    <Error number=\"0\" />
+</Connector>";
+	
+		
+		$expect=htmlentities($expect);
+		$expect=str_replace(array("\n","\r"),"<br />",$expect);
+		echo "<b>EXAMPLE RESPONSE</b>".$expect;
+		?>
+		</div>
+		<br /><br />
+		<?php
+//--------------------------------------------------------------------------------------------------------------------------------------------------
+
+		
+	//Seperator
+		echo "\n<br /><hr /><br />\n";
+	
+		
+//--------------------------------------------------------------------------------------------------------------------------------------------------
+	//Test the DeleteFolder Command
+		echo "Requesting connector.php?Command=DeleteFolder&Type=Image&CurrentFolder=/&FolderName=TestFolder90 :<br />\n
+			<div style=\"border-style:solid;border-width:1px;border-color:#000000\">\n";
+			
+		$test = implode("",file($uri."connector.php?Command=DeleteFolder&Type=Image&CurrentFolder=/&FolderName=TestFolder90"));
+		$test=htmlentities($test);
+		echo str_replace("\n","<br />",$test);
+		echo "</div> Please do a sanity check on this, it should be something like: \n
+			<div style=\"border-style:solid;border-width:1px;border-color:#000000\">\n";
+		
+		$expect="
+<?xml version=\"1.0\" encoding=\"utf-8\" ?>
+<Connector command=\"DeleteFolder\" resourceType=\"Image\">
+    <CurrentFolder path=\"/\" url=\"/data/resources/Image/\" />
+    <Error number=\"0\" />
+</Connector>";
+	
+		
+		$expect=htmlentities($expect);
+		$expect=str_replace(array("\n","\r"),"<br />",$expect);
+		echo "<b>EXAMPLE RESPONSE</b>".$expect;
+		?>
+		</div>
+		<br /><br />
+		<?php
+//--------------------------------------------------------------------------------------------------------------------------------------------------
+		
+		
+	//Seperator
+		echo "\n<br /><hr /><br />\n";
+	
+		
+//--------------------------------------------------------------------------------------------------------------------------------------------------
+	//Test the Progress.cgi Command
+		echo "Requesting ".$fckphp_config['uploadProgressHandler']."?iTotal=0&iRead=0&iStatus=1&sessionid=92823&dtnow=".time()."&dtstart=".time()." :<br />\n
+			<div style=\"border-style:solid;border-width:1px;border-color:#000000\">\n";
+			
+		$test = implode("",file($fckphp_config['uploadProgressHandler']."?iTotal=0&iRead=0&iStatus=1&sessionid=92823&dtnow=".time()."&dtstart=".time()));
+		$test=htmlentities($test);
+		echo str_replace("\n","<br />",$test);
+		echo "</div> Please do a sanity check on this, it should be something like: \n
+			<div style=\"border-style:solid;border-width:1px;border-color:#000000\">\n";
+		
+		$expect="
+<UploadProgress sessionID=\"92823\">
+<RefreshURL><![CDATA[".$fckphp_config['uploadProgressHandler']."?iTotal=0&iRead=0&iStatus=1&sessionid=92823&dtnow=1098477167&dtstart=1098477166]]></RefreshURL>
+<TotalBytes>0</TotalBytes>
+<ReadBytes>0</ReadBytes>
+<Status>1</Status>
+<Speed>0</Speed>
+<TimeRemaining>00:00:00</TimeRemaining>
+<TimeElapsed>00:00:01</TimeElapsed>
+</UploadProgress>";
+	
+		
+		$expect=htmlentities($expect);
+		$expect=str_replace(array("\n","\r"),"<br />",$expect);
+		echo "<b>EXAMPLE RESPONSE</b>".$expect;
+		?>
+		</div>
+		<br /><br />
+		<?php
+//--------------------------------------------------------------------------------------------------------------------------------------------------
+
+		
+	//Seperator
+		echo "\n<br /><hr /><br />\n";
+	
+		
+//--------------------------------------------------------------------------------------------------------------------------------------------------
+	//Test the GetUploadProgress Command
+		echo "Requesting connector.php?Command=GetUploadProgress&Type=File&CurrentFolder=/Docs/&uploadID=19382&refreshURL=".$fckphp_config['uploadProgressHandler']."?uploadID=19382&amp;read=30&amp;total=100 :<br />\n
+			<div style=\"border-style:solid;border-width:1px;border-color:#000000\">\n";
+			
+		$test = implode("",file($uri."connector.php?Command=GetUploadProgress&Type=File&CurrentFolder=/Docs/&uploadID=19382&refreshURL=".$fckphp_config['uploadProgressHandler']."?uploadID=19382&amp;read=30&amp;total=100"));
+		$test=str_replace("&amp;","&",$test);
+		$test=htmlentities($test);
+		echo str_replace("\n","<br />",$test);
+		echo "</div> Please do a sanity check on this, it should be something like: \n
+			<div style=\"border-style:solid;border-width:1px;border-color:#000000\">\n";
+		
+		$expect="
+<?xml version=\"1.0\" encoding=\"utf-8\" ?>
+<Connector command=\"GetUploadProgress\" resourceType=\"File\">
+<CurrentFolder path=\"/Docs/\" url=\"/data/resources/File/Docs/\" />
+<Progress max=\"0\" value=\"0\" />
+<RefreshURL url=\"".$fckphp_config['uploadProgressHandler']."?iTotal=&iRead=&iStatus=&sessionid=&dtnow=1098478692&dtstart=\" />
+</Connector>";
+	
+		
+		$expect=htmlentities($expect);
+		$expect=str_replace(array("\n","\r"),"<br />",$expect);
+		echo "<b>EXAMPLE RESPONSE</b>".$expect;
+		?>
+		</div>
+		<br /><br />
+		<?php
+//--------------------------------------------------------------------------------------------------------------------------------------------------
+		
+
+?>
+</body>
+</html> 

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/frmactualfolder.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/frmactualfolder.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/frmactualfolder.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,63 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: frmactualfolder.html
+ * 	This page shows the actual folder path.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<link href="browser.css" type="text/css" rel="stylesheet">
+		<script type="text/javascript">
+
+function OnResize()
+{
+	divName.style.width = "1px" ;
+	divName.style.width = tdName.offsetWidth + "px" ;
+}
+
+function SetCurrentFolder( resourceType, folderPath )
+{
+	document.getElementById('tdName').innerHTML = folderPath ;
+}
+
+window.onload = function()
+{
+	window.top.IsLoadedActualFolder = true ;
+}
+
+		</script>
+	</head>
+	<body bottomMargin="0" topMargin="0">
+		<table height="100%" cellSpacing="0" cellPadding="0" width="100%" border="0">
+			<tr>
+				<td>
+					<button style="WIDTH: 100%" type="button">
+						<table cellSpacing="0" cellPadding="0" width="100%" border="0">
+							<tr>
+								<td><img height="32" alt="" src="images/FolderOpened32.gif" width="32"></td>
+								<td>&nbsp;</td>
+								<td id="tdName" width="100%" nowrap class="ActualFolder">/</td>
+								<td>&nbsp;</td>
+								<td><!--<img height="8" src="images/ButtonArrow.gif" width="12">--></td>
+								<td>&nbsp;</td>
+							</tr>
+						</table>
+					</button>
+				</td>
+			</tr>
+		</table>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/frmcreatefolder.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/frmcreatefolder.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/frmcreatefolder.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,105 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: frmcreatefolder.html
+ * 	Page used to create new folders in the current folder.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<link href="browser.css" type="text/css" rel="stylesheet">
+		<script type="text/javascript" src="js/fckxml.js"></script>
+		<script type="text/javascript" src="js/common.js"></script>
+		<script language="javascript">
+
+function SetCurrentFolder( resourceType, folderPath )
+{
+	oConnector.ResourceType = resourceType ;
+	oConnector.CurrentFolder = folderPath
+}
+
+function CreateFolder()
+{
+	var sFolderName ;
+	
+	while ( true ) 
+	{
+		sFolderName = prompt( 'Type the name of the new folder:', '' ) ;
+	
+		if ( sFolderName == null )
+			return ;
+		else if ( sFolderName.length == 0 )
+			alert( 'Please type the folder name' ) ;
+		else
+			break ;
+	}
+	
+	oConnector.SendCommand( 'CreateFolder', 'NewFolderName=' + escape( sFolderName) , CreateFolderCallBack ) ;
+}
+
+function CreateFolderCallBack( fckXml )
+{
+	// Get the current folder path.
+	var oNode = fckXml.SelectSingleNode( 'Connector/Error' ) ;
+	var iErrorNumber = parseInt( oNode.attributes.getNamedItem('number').value ) ;
+	
+	switch ( iErrorNumber )
+	{
+		case 0 :
+			window.parent.frames['frmResourcesList'].Refresh() ;
+			break ;
+		case 101 :
+			alert( 'Folder already exists' ) ;
+			break ;
+		case 102 :
+			alert( 'Invalid folder name' ) ;
+			break ;
+		case 103 :
+			alert( 'You have no permissions to create the folder' ) ;
+			break ;
+		case 110 :
+			alert( 'Unknown error creating folder' ) ;
+			break ;
+		default :
+			alert( 'Error creating folder. Error number: ' + iErrorNumber ) ;
+			break ;
+	}
+}
+
+window.onload = function()
+{
+	window.top.IsLoadedCreateFolder = true ;
+}
+		</script>
+	</head>
+	<body bottomMargin="0" topMargin="0">
+		<table height="100%" cellSpacing="0" cellPadding="0" width="100%" border="0">
+			<tr>
+				<td>
+					<button type="button" style="WIDTH: 100%" onclick="CreateFolder();">
+						<table cellSpacing="0" cellPadding="0" border="0">
+							<tr>
+								<td><img height="16" alt="" src="images/Folder.gif" width="16"></td>
+								<td>&nbsp;</td>
+								<td nowrap>Create New Folder</td>
+							</tr>
+						</table>
+					</button>
+				</td>
+			</tr>
+		</table>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/frmfolders.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/frmfolders.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/frmfolders.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,199 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: frmfolders.html
+ * 	This page shows the list of folders available in the parent folder 
+ * 	of the current folder.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<link href="browser.css" type="text/css" rel="stylesheet">
+		<script type="text/javascript" src="js/fckxml.js"></script>
+		<script type="text/javascript" src="js/common.js"></script>
+		<script language="javascript">
+
+var sActiveFolder ;
+
+var bIsLoaded = false ;
+var iIntervalId ;
+
+var oListManager = new Object() ;
+
+oListManager.Init = function()
+{
+	this.Table = document.getElementById('tableFiles') ;
+	this.UpRow = document.getElementById('trUp') ;
+
+	this.TableRows = new Object() ;	
+}
+
+oListManager.Clear = function()
+{
+	// Remove all other rows available.
+	while ( this.Table.rows.length > 1 )
+		this.Table.deleteRow(1) ;
+
+	// Reset the TableRows collection.
+	this.TableRows = new Object() ;
+}
+
+oListManager.AddItem = function( folderName, folderPath )
+{
+	// Create the new row.
+	var oRow = this.Table.insertRow(-1) ;
+	oRow.className = 'FolderListFolder' ;
+
+	// Build the link to view the folder.
+	var sLink = '<a href="#" onclick="OpenFolder(\'' + folderPath + '\');return false;">' ;
+
+	// Add the folder icon cell.
+	var oCell = oRow.insertCell(-1) ;
+	oCell.width = 16 ;
+	oCell.innerHTML = sLink + '<img alt="" src="images/spacer.gif" width="16" height="16" border="0"></a>' ;
+
+	// Add the folder name cell.
+	oCell = oRow.insertCell(-1) ;
+	oCell.noWrap = true ;
+	oCell.innerHTML = '&nbsp;' + sLink + folderName + '</a>' ;
+	
+	this.TableRows[ folderPath ] = oRow ;
+}
+
+oListManager.ShowUpFolder = function( upFolderPath )
+{
+	this.UpRow.style.display = ( upFolderPath != null ? '' : 'none' ) ;
+	
+	if ( upFolderPath != null )
+	{
+		document.getElementById('linkUpIcon').onclick = document.getElementById('linkUp').onclick = function()
+		{
+			LoadFolders( upFolderPath ) ;
+			return false ;
+		}
+	}
+}
+
+function CheckLoaded()
+{
+	if ( window.top.IsLoadedActualFolder 
+		&& window.top.IsLoadedCreateFolder 
+		&& window.top.IsLoadedUpload
+		&& window.top.IsLoadedResourcesList )
+	{
+		window.clearInterval( iIntervalId ) ;
+		bIsLoaded = true ;
+		OpenFolder( sActiveFolder ) ;
+	}
+}
+
+function OpenFolder( folderPath )
+{
+	sActiveFolder = folderPath ;
+
+	if ( ! bIsLoaded )
+	{
+		if ( ! iIntervalId )
+			iIntervalId = window.setInterval( CheckLoaded, 100 ) ;
+		return ;
+	}
+
+	// Change the style for the select row (to show the opened folder).
+	for ( var sFolderPath in oListManager.TableRows )
+	{
+		oListManager.TableRows[ sFolderPath ].className = 
+			( sFolderPath == folderPath ? 'FolderListCurrentFolder' : 'FolderListFolder' ) ;
+	}
+
+	// Set the current folder in all frames.
+	window.parent.frames['frmActualFolder'].SetCurrentFolder( oConnector.ResourceType, folderPath ) ;
+	window.parent.frames['frmCreateFolder'].SetCurrentFolder( oConnector.ResourceType, folderPath ) ;
+	window.parent.frames['frmUpload'].SetCurrentFolder( oConnector.ResourceType, folderPath ) ;
+	
+	// Load the resources list for this folder.
+	window.parent.frames['frmResourcesList'].LoadResources( oConnector.ResourceType, folderPath ) ;
+}
+
+function LoadFolders( folderPath )
+{
+	// Clear the folders list.
+	oListManager.Clear() ;
+
+	// Get the parent folder path.
+	var sParentFolderPath ;
+	if ( folderPath != '/' )
+		sParentFolderPath = folderPath.substring( 0, folderPath.lastIndexOf( '/', folderPath.length - 2 ) + 1 ) ;
+
+	// Show/Hide the Up Folder.
+	oListManager.ShowUpFolder( sParentFolderPath ) ;
+	
+	if ( folderPath != '/' )
+	{
+		sActiveFolder = folderPath ;
+		oConnector.CurrentFolder = sParentFolderPath
+		oConnector.SendCommand( 'GetFolders', null, GetFoldersCallBack ) ;
+	}
+	else 
+	{
+		oListManager.ShowUpFolder( '/' ) ;
+		sActiveFolder = folderPath ;
+		oConnector.SendCommand( 'GetFolders', null, GetFoldersCallBack ) ;	
+	}
+		
+}
+
+function GetFoldersCallBack( fckXml )
+{
+	// Get the current folder path.
+	var oNode = fckXml.SelectSingleNode( 'Connector/CurrentFolder' ) ;
+	var sCurrentFolderPath = oNode.attributes.getNamedItem('path').value ;
+	
+	var oNodes = fckXml.SelectNodes( 'Connector/Folders/Folder' ) ;
+	
+	for ( var i = 0 ; i < oNodes.length ; i++ )
+	{
+		var sFolderName = oNodes[i].attributes.getNamedItem('name').value ;
+		oListManager.AddItem( sFolderName, sCurrentFolderPath + sFolderName + "/" ) ;
+	}
+	
+	OpenFolder( sActiveFolder ) ;
+}
+
+function SetResourceType( type )
+{
+	oConnector.ResourceType = type ;
+	LoadFolders( '/' ) ;
+}
+
+window.onload = function()
+{
+	oListManager.Init() ;
+	
+	if ( oConnector.ResourceType.length == 0 )
+		SetResourceType( 'File' ) ;
+	else
+		LoadFolders( '/' ) ;
+}
+		</script>
+	</head>
+	<body class="FileArea" bottomMargin="10" leftMargin="10" topMargin="10" rightMargin="10">
+		<table id="tableFiles" cellSpacing="0" cellPadding="0" width="100%" border="0">
+			<tr id="trUp" style="DISPLAY: none">
+				<td width="16"><a id="linkUpIcon" href="#"><img alt="" src="images/FolderUp.gif" width="16" height="16" border="0"></a></td>
+				<td nowrap width="100%">&nbsp;<a id="linkUp" href="#">..</a></td>
+			</tr>
+		</table>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/frmimageeditor.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/frmimageeditor.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/frmimageeditor.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,282 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: frmimageeditor.html
+ * 	This page facilitates the editing of images.
+ * 
+ * File Authors:
+ * 		Grant French (grant at mcpuk.net)
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<link href="browser.css" type="text/css" rel="stylesheet">
+		<script type="text/javascript" src="js/fckxml.js"></script>
+		<script type="text/javascript" src="js/common.js"></script>
+		<script type="text/javascript" src="js/wz_jsgraphics.js"></script>
+		<script type="text/javascript" src="js/EditorContent.js"></script>
+		<script language="javascript" type="text/javascript">
+<!--
+
+oConnector.CurrentFolder = GetMyUrlParam( 'CurrentFolder' ) ;
+var fileName=GetMyUrlParam( 'FileName' ) ;
+var fileURL=unescape( GetMyUrlParam( 'FileURL' ) );
+
+var cursor_X, cursor_Y;
+var imageEditorLoaded=false;
+
+var bottomFrame1, bottomFrame2, bottomFrame3;
+/*
+var t_cx, t_cy, t_cw, t_ch;
+var m_sx, m_sy, m_w, m_h, m_a, m_d;
+var s_sw, s_sh;
+
+var r_ra;
+var constrained;
+var pattern = "images/2x2.gif";*/
+
+function RenameFile( fileName, fileUrl )
+{
+	var promptMsg='Please enter the new name for ' + fileName + ':';
+	var newName=prompt(promptMsg,fileName);
+	
+	if ((newName!=null)&&(newName!='')&&(newName!=fileName)) {
+		oConnector.SendCommand( 'RenameFile', "FileName=" + escape( fileName ) + "&NewName=" + escape( newName ), RenameFileCallBack ) ;
+	}
+}
+
+function RenameFolder( folderName )
+{
+	var promptMsg='Please enter the new name for ' + folderName + ':';
+	var newName=prompt(promptMsg,folderName);
+	
+	if ((newName!=null)&&(newName!='')&&(newName!=folderName)) {
+		oConnector.SendCommand( 'RenameFolder', "FolderName=" + escape( folderName ) + "&NewName=" + escape ( newName ), RenameFolderCallBack ) ;
+	}
+}
+
+function LoadResources( resourceType, folderPath )
+{
+	oListManager.Clear() ;
+	oConnector.ResourceType = resourceType ;
+	oConnector.CurrentFolder = folderPath
+	oConnector.SendCommand( 'GetFoldersAndFiles', null, GetFoldersAndFilesCallBack ) ;
+}
+
+function Refresh()
+{
+	LoadResources( oConnector.ResourceType, oConnector.CurrentFolder ) ;
+}
+
+function RenameFolderCallBack ( fckXml )
+{
+	var oNodes = fckXml.SelectNodes( 'Connector/Error' );
+	if (oNodes.length>0) {
+		var errNo = parseInt(oNodes[0].attributes.getNamedItem('number').value) ;
+		
+		switch (errNo) {
+			case 0 :
+				break;	
+			
+			case 602 :
+				alert('Failed to rename folder.');
+				break;
+			
+			default:
+				alert('Invalid XML response from connector..');
+		}
+	} else {
+		alert('Invalid XML response from connector.');
+	}
+	Refresh();
+}
+
+
+function drawFramework() 
+{
+	bottomFrame1 = top.frames['frmCreateFolder'].document;
+	bottomFrame2 = top.frames['frmUpload'].document;
+	bottomFrame3 = top.frames['frmFolders'].document;
+	
+	bottomFrame1.body.innerHTML='<table style="border-width: 0px; border-style: none;" align="center" cellpadding="2" id="toolbar1"><table>';
+	bottomFrame2.body.innerHTML='<table style="height: 100%; border-width: 0px; border-style: none;" cellpadding="4"><tr id="toolbar2"></tr><table>';
+	bottomFrame3.body.innerHTML='<table style="border-width: 0px; border-style: none;" align="center" cellpadding="8" id="toolbar3"><table>';
+	
+	var toolbar1 = bottomFrame1.getElementById('toolbar1');
+	var toolbar2 = bottomFrame2.getElementById('toolbar2');
+	var toolbar3 = bottomFrame3.getElementById('toolbar3');
+	
+
+/*#######################*/
+/* START OF MAIN TOOLBAR */
+/*#######################*/
+
+	/* --- Save Image --- */
+	var row = toolbar3.insertRow(-1);
+	var oCell = row.insertCell(-1);
+	oCell.innerHTML = 	'<a href="" title="Save Image">' +
+				'<img src="images/toolbar/save.gif" style="width: 22px; height: 22px;" /><br />' + 
+				'Save' +
+				'</a>';
+	oCell.noWrap = true;
+	oCell.align = 'center';
+		
+	
+	/* --- Close Image --- */
+	var row = toolbar3.insertRow(-1);
+	var oCell = row.insertCell(-1);
+	oCell.innerHTML = 	'<a href="#" title="Close Image" onclick="window.top.location.reload();">' +
+				'<img src="images/toolbar/close.gif" style="width: 22px; height: 22px;" /><br />' + 
+				'Close' +
+				'</a>';
+	oCell.noWrap = true;
+	oCell.align = 'center';
+	
+	
+	/* --- Seperator --- */
+	var row = toolbar3.insertRow(-1);
+	var oCell = row.insertCell(-1);
+	oCell.innerHTML = 	'<hr /><br />';
+				
+	oCell.noWrap = true;
+	oCell.align = 'center';
+	
+	
+	/* --- Resize Image --- */
+	var row = toolbar3.insertRow(-1);
+	var oCell = row.insertCell(-1);
+	oCell.innerHTML = 	'<a href="javascript: top.frames[\'frmResourcesList\'].setMode(\'resize\');" class="tb_item" id="tb_scale" title="Resize Image">' +
+				'<img src="images/toolbar/resize.gif" style="width: 22px; height: 22px;" /><br />' + 
+				'Resize' +
+				'</a>';
+	oCell.noWrap = true;
+	oCell.align = 'center';
+	
+	
+	/* --- Crop Image --- */
+	var row = toolbar3.insertRow(-1);
+	var oCell = row.insertCell(-1);
+	oCell.innerHTML = 	'<a href="javascript: top.frames[\'frmResourcesList\'].setMode(\'crop\');" class="tb_item" id="tb_crop" title="Crop Image">' +
+				'<img src="images/toolbar/crop.gif" style="width: 22px; height: 22px;" /><br />' + 
+				'Crop' +
+				'</a>';
+	oCell.noWrap = true;
+	oCell.align = 'center';
+	
+	
+	/* --- Rotate Image --- */
+	var row = toolbar3.insertRow(-1);
+	var oCell = row.insertCell(-1);
+	oCell.innerHTML = 	'<a href="javascript: top.frames[\'frmResourcesList\'].setMode(\'rotate\');" class="tb_item" id="tb_rotate" title="Rotate Image">' +
+				'<img src="images/toolbar/rotate.gif" style="width: 22px; height: 22px;" /><br />' + 
+				'Rotate' +
+				'</a>';
+	oCell.noWrap = true;
+	oCell.align = 'center';
+	
+	
+	/* --- Flip Image --- */
+	var row = toolbar3.insertRow(-1);
+	var oCell = row.insertCell(-1);
+	oCell.innerHTML = 	'<a href="javascript: top.frames[\'frmResourcesList\'].setMode(\'flip\');" class="tb_item" id="tb_flip" title="Flip Image">' +
+				'<img src="images/toolbar/flip.gif" style="width: 22px; height: 22px;" /><br />' + 
+				'Flip' +
+				'</a>';
+	oCell.noWrap = true;
+	oCell.align = 'center';
+	
+	
+
+/*###################*/
+/* START OF INFO BAR */
+/*###################*/
+	/* --- X Position --- */
+	var row = toolbar1.insertRow(-1);
+	var oCell = row.insertCell(-1);
+	oCell.innerHTML = '<div style="display: inline;">X: <div style="display: inline;" id="cursor_x">0</div>px</div>';
+	oCell.noWrap = true;
+	oCell.align = 'center';
+	cursor_X=bottomFrame1.getElementById('cursor_x');
+	
+	/* --- Y Posision --- */
+	var row = toolbar1.insertRow(-1);
+	var oCell = row.insertCell(-1);
+	oCell.innerHTML = '<div style="display: inline;">Y: <div style="display: inline;" id="cursor_y">0</div>px</div>';
+	oCell.noWrap = true;
+	oCell.align = 'center';
+	cursor_Y=bottomFrame1.getElementById('cursor_y');
+
+	
+/*#####################*/
+/* START OF MANUAL BAR */
+/*#####################*/
+
+	/* --- X Position --- */
+	//var row = toolbar2.insertRow(-1);
+	var oCell = toolbar2.insertCell(-1);
+	oCell.innerHTML = '<input type="text" id="cx" />' + 
+	'<input type="text" id="cy" />';
+	
+	oCell.noWrap = true;
+	oCell.align = 'center';
+	cursor_X=bottomFrame1.getElementById('cursor_x');
+
+
+}
+
+window.onload = function()
+{
+	drawFramework();
+	document.getElementById('theImage').src=fileURL;
+	
+	jg_doc = new jsGraphics("imgCanvas"); // draw directly into document
+	jg_doc.setColor("#000000"); // black
+	
+// 	top.frames['frmResourcesList'].setMode('scale');
+	imageEditorLoaded=true;
+// 	top.frames['frmResourcesList'].setMode('scale');
+}
+
+function updateXY(eventObject)
+{
+	if (imageEditorLoaded) {
+		cursor_X.innerHTML = eventObject.pageX;
+		cursor_Y.innerHTML = eventObject.pageY;
+	}
+}
+
+//-->
+
+		</script>
+		<style type="text/css">
+			body { margin: 0; padding: 0;  background-color: #eee; }
+			table { width: 100%; }
+			table td { text-align: center; }
+			.crop{cursor:crosshair;}
+			.selection { border: dotted 1px #000000; position:absolute; width: 0px; height: 1px; z-index:5; }
+			.selectionWhite{ border: dotted 1px #FFFFFF; position:absolute; width: 0px; height: 1px; z-index:5; }
+			.handleBox{ z-index:105; }
+			.error { font-size:large; font-weight:bold; color:#c00; font-family: Helvetica, sans-serif; } 
+		</style>
+	</head>
+	<body class="FileArea" bottomMargin="10" leftMargin="10" topMargin="10" rightMargin="10">
+		<div id="status"></div>
+		<div id="ant" class="selection" style="visibility:hidden"><img src="img/spacer.gif" width="0" height="0" border="0" alt="" id="cropContent"></div>
+		<br /><table style="margin-left: auto; margin-right: auto;">
+			<tr>
+				<td>
+					<span id="imgCanvas" class="crop"><img src="" alt="" id="theImage" name="theImage"></span>
+				</td>
+			</tr>
+		</table>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/frmresourceslist.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/frmresourceslist.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/frmresourceslist.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,384 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: frmresourceslist.html
+ * 	This page shows all resources available in a folder in the File Browser.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ * 		Grant French (grant at mcpuk.net)
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<link href="browser.css" type="text/css" rel="stylesheet">
+		<script type="text/javascript" src="js/fckxml.js"></script>
+		<script type="text/javascript" src="js/common.js"></script>
+		<script language="javascript">
+
+var oListManager = new Object() ;
+
+oListManager.Init = function()
+{
+	this.Table = document.getElementById('tableFiles') ;
+}
+
+oListManager.Clear = function()
+{
+	// Remove all other rows available.
+	while ( this.Table.rows.length > 0 )
+		this.Table.deleteRow(0) ;
+}
+
+oListManager.AddFolder = function( folderName, folderPath )
+{
+	var docWidth=document.body.clientWidth;
+	if (docWidth==null) docWidth=document.body.scrollWidth;
+	var maxCols=docWidth/120;
+	maxCols--;
+	
+	var rows=this.Table.getElementsByTagName('tr');
+	
+	
+	if (rows.length!=0) {
+		var lastRow = rows[(rows.length-1)];
+		var cells = lastRow.getElementsByTagName('td');
+		var lastRow_Cols = cells.length;
+		
+		if (lastRow_Cols>=maxCols) {
+			lastRow = this.Table.insertRow(-1);
+			lastRow.className="Frame_tb";
+		}
+	} else {
+		var lastRow = this.Table.insertRow(-1);
+		lastRow.className="Frame_tb";
+	}
+	
+	// Build the link to view the folder.
+	var sLink = '<a href="#" onclick="OpenFolder(\'' + escape(folderPath) + '\');return false;">' ;
+	var dLink = '<a href="#" onclick="DeleteFolder(\'' + escape(folderName) + '\');return false;">' ;
+	var rLink = '<a href="#" onclick="RenameFolder(\'' + escape(folderName) + '\');return false;">' ;
+	
+	// Add the file icon cell.
+	var oCell = lastRow.insertCell(-1) ;
+	oCell.vAlign="top";
+	oCell.width = 96 ;
+	oCell.innerHTML = sLink + '<img alt="' + folderName + '" src="images/Folder96.jpg" width="96" height="96" border="0"><br />' + folderName + '</a><br />';
+	oCell.innerHTML += dLink + '<img border="0" src="images/delete.gif" width="16" height="16" alt="Delete Folder" title="Delete Folder"></a>&nbsp;';
+	oCell.innerHTML += rLink + '<img border="0" src="images/edit.gif" width="16" height="16" alt="Rename Folder" title="Rename Folder"></a>' ;
+	oCell.noWrap = true ;
+	oCell.align = 'center' ;
+	
+}
+
+oListManager.AddFile = function ( fileName, fileUrl, fileSize, imageEditable )
+{
+	var docWidth=document.body.clientWidth;
+	if (docWidth==null) docWidth=document.body.scrollWidth;
+	var maxCols=docWidth/120;
+	maxCols--;
+	
+	var rows=this.Table.getElementsByTagName('tr');
+	
+	
+	if (rows.length!=0) {
+		var lastRow = rows[(rows.length-1)];
+		var cells = lastRow.getElementsByTagName('td');
+		var lastRow_Cols = cells.length;
+		
+		if (lastRow_Cols>=maxCols) {
+			var lastRow = this.Table.insertRow(-1);
+			lastRow.className="Frame_tb";
+		}
+	} else {
+		var lastRow = this.Table.insertRow(-1);
+		lastRow.className="Frame_tb";
+	}
+	
+	// Build the link to view the file.
+	var sLink = '<a href="#" title="Size: ' + fileSize + 'kb" onclick="OpenFile(\'' + escape(fileUrl) + '\');return false;">' ;
+	var dLink = '<a href="#" title="Delete file" onclick="DeleteFile(\'' + escape(fileName) + '\');return false;">' ;
+	var eLink = '<a href="#" title="Rename file" onclick="RenameFile(\'' + escape(fileName) + '\');return false;">' ;
+	var eImageLink = '<a href="#" title="Edit Image" onclick="EditImage(\'' + escape(fileName) + '\',\'' + escape(fileUrl) + '\');return false;">' ;
+	
+	// Add the file icon cell.
+	var oCell = lastRow.insertCell(-1) ;
+	oCell.vAlign="top";
+	oCell.width = 96 ;
+	
+	oCell.innerHTML = sLink + 
+		'<img alt="' + fileName + '" src="' + 
+					oConnector.ConnectorUrl + 
+					'?Command=Thumbnail&Type=' + 
+					oConnector.ResourceType + 
+					'&CurrentFolder=' + 
+					oConnector.CurrentFolder + 
+					'&FileName=' + escape(fileName) + 
+					'&ExtraParams=' + oConnector.ExtraParams +
+					'" width="96" height="96" border="0"><br />' + 
+		fileName + '</a><br />';
+	oCell.innerHTML += dLink + '<img border="0" src="images/delete.gif" width="16" height="16" alt="Delete File" title="Delete File"></a>&nbsp;';
+	oCell.innerHTML += eLink + '<img border="0" src="images/edit.gif" width="16" height="16" alt="Edit/Rename File" title="Rename File"></a>' ;
+	if (imageEditable==1) { 
+		oCell.innerHTML += eImageLink + '<img border="0" src="images/editImage.gif" width="16" height="16" alt="Edit Image" title="Edit Image"></a>' ;
+	}
+		
+	oCell.noWrap = true ;
+	oCell.align = 'center' ;
+	
+}
+
+oListManager.PackRow = function ()
+{
+	var docWidth=document.body.clientWidth;
+	if (docWidth==null) docWidth=document.body.scrollWidth;
+	var maxCols=docWidth/120;
+	maxCols--;
+	
+	var rows=this.Table.getElementsByTagName('tr');
+	
+	
+	if (rows.length!=0) {
+		var lastRow = rows[(rows.length-1)];
+		var cells = lastRow.getElementsByTagName('td');
+		var lastRow_Cols = cells.length;
+		
+		if (lastRow_Cols<maxCols) {
+			for (i=lastRow_Cols;i<maxCols;i++) {
+				var oCell = lastRow.insertCell(-1);
+				oCell.width=96;
+				oCell.innerHTML = '&nbsp;';
+				oCell.noWrap=true;
+				oCell.align='center';
+			}
+		}
+	}
+	
+}
+
+function OpenFolder( folderPath )
+{
+	// Load the resources list for this folder.
+	window.parent.frames['frmFolders'].LoadFolders( folderPath ) ;
+}
+
+function OpenFile( fileUrl )
+{
+	fileUrl=unescape(fileUrl);
+	window.top.opener.SetUrl( fileUrl ) ;
+	window.top.close() ;
+	window.top.opener.focus() ;
+}
+
+function DeleteFile( fileName, fileUrl )
+{
+	if (confirm('Are you sure you wish to delete ' + unescape(fileName) + '?')) {
+		oConnector.SendCommand( 'DeleteFile', "FileName=" + fileName, DeleteFileCallBack ) ;
+	}
+}
+
+function DeleteFolder( folderName )
+{
+	if (confirm('Are you sure you wish to delete ' + unescape(folderName) + ' and all files in it?')) {
+		oConnector.SendCommand( 'DeleteFolder', "FolderName=" + folderName, DeleteFolderCallBack ) ;
+	}
+}
+
+function RenameFile( fileName, fileUrl )
+{
+	var promptMsg='Please enter the new name for ' + unescape(fileName) + ':';
+	var newName=prompt(promptMsg,unescape(fileName));
+	
+	if ((newName!=null)&&(newName!='')&&(newName!=fileName)) {
+		oConnector.SendCommand( 'RenameFile', "FileName=" + fileName + "&NewName=" + escape( newName ), RenameFileCallBack ) ;
+	}
+}
+
+function EditImage( fileName, fileUrl )
+{
+
+	window.location.href="frmimageeditor.html?Connector=" + oConnector.ConnectorUrl + 
+				"&Type=" + oConnector.ResourceType + 
+				"&CurrentFolder=" + oConnector.CurrentFolder + 
+				"&FileName=" + fileName + 
+				"&FileURL=" + fileUrl;
+				
+}
+
+function RenameFolder( folderName )
+{
+	var promptMsg='Please enter the new name for ' + unescape(folderName) + ':';
+	var newName=prompt(promptMsg,unescape(folderName));
+	
+	if ((newName!=null)&&(newName!='')&&(newName!=unescape(folderName))) {
+		oConnector.SendCommand( 'RenameFolder', "FolderName=" + folderName + "&NewName=" + escape ( newName ), RenameFolderCallBack ) ;
+	}
+}
+
+function LoadResources( resourceType, folderPath )
+{
+	oListManager.Clear() ;
+	oConnector.ResourceType = resourceType ;
+	oConnector.CurrentFolder = folderPath
+	oConnector.SendCommand( 'GetFoldersAndFiles', null, GetFoldersAndFilesCallBack ) ;
+}
+
+function Refresh()
+{
+	LoadResources( oConnector.ResourceType, oConnector.CurrentFolder ) ;
+}
+
+function GetFoldersAndFilesCallBack( fckXml )
+{
+	// Get the current folder path.
+	var oNode = fckXml.SelectSingleNode( 'Connector/CurrentFolder' ) ;
+	var sCurrentFolderPath	= oNode.attributes.getNamedItem('path').value ;
+	var sCurrentFolderUrl	= oNode.attributes.getNamedItem('url').value ;
+
+	// Add the Folders.	
+	var oNodes = fckXml.SelectNodes( 'Connector/Folders/Folder' ) ;
+	
+	if (oNodes!=null) {
+		for ( var i = 0 ; i < oNodes.length ; i++ )
+		{
+			var sFolderName = oNodes[i].attributes.getNamedItem('name').value ;
+			oListManager.AddFolder( sFolderName, sCurrentFolderPath + sFolderName + "/" ) ;
+		}
+	}
+	
+	// Add the Files.	
+	var oNodes = fckXml.SelectNodes( 'Connector/Files/File' ) ;
+	if (oNodes!=null) {
+		for ( var i = 0 ; i < oNodes.length ; i++ )
+		{
+			var sFileName = oNodes[i].attributes.getNamedItem('name').value ;
+			var sFileSize = oNodes[i].attributes.getNamedItem('size').value ;
+			var iEditable = oNodes[i].attributes.getNamedItem('editable') ;
+			if (iEditable!=null) {
+				iEditable = iEditable.value;	
+			} else {
+				iEditable = 0;
+			}
+			
+			oListManager.AddFile( sFileName, sCurrentFolderUrl + sFileName, sFileSize, iEditable ) ;
+		}
+	}
+	
+	oListManager.PackRow();
+}
+
+function DeleteFileCallBack ( fckXml )
+{
+	var oNodes = fckXml.SelectNodes( 'Connector/Error' );
+	if (oNodes!=null && oNodes.length>0) {
+		var errNo = parseInt(oNodes[0].attributes.getNamedItem('number').value) ;
+		
+		switch (errNo) {
+			case 0 :
+				break;	
+			
+			case 302 :
+				alert('Failed to delete file.');
+				break;
+			
+			default:
+				alert('DFi: Invalid XML response from connector..');
+		}
+	} else {
+		alert('DFi: Invalid XML response from connector.');
+	}
+	Refresh();
+}
+
+
+function DeleteFolderCallBack ( fckXml )
+{
+	var oNodes = fckXml.SelectNodes( 'Connector/Error' );
+	if (oNodes!=null && oNodes.length>0) {
+		var errNo = parseInt(oNodes[0].attributes.getNamedItem('number').value) ;
+		
+		switch (errNo) {
+			case 0 :
+				break;	
+			
+			case 402 :
+				alert('Failed to delete folder.');
+				break;
+			
+			default:
+				alert('DFo: Invalid XML response from connector..');
+		}
+	} else {
+		alert('DFo: Invalid XML response from connector.');
+	}
+	Refresh();
+}
+
+function RenameFileCallBack ( fckXml )
+{
+	var oNodes = fckXml.SelectNodes( 'Connector/Error' );
+	if (oNodes!=null && oNodes.length>0) {
+		var errNo = parseInt(oNodes[0].attributes.getNamedItem('number').value) ;
+		
+		switch (errNo) {
+			case 0 :
+				break;	
+			
+			case 502 :
+				alert('Failed to rename file.');
+				break;
+			
+			default:
+				alert('RFi: Invalid XML response from connector..');
+		}
+	} else {
+		alert('RFi: Invalid XML response from connector.');
+	}
+	Refresh();
+}
+
+
+function RenameFolderCallBack ( fckXml )
+{
+	var oNodes = fckXml.SelectNodes( 'Connector/Error' );
+	if (oNodes!=null && oNodes.length>0) {
+		var errNo = parseInt(oNodes[0].attributes.getNamedItem('number').value) ;
+		
+		switch (errNo) {
+			case 0 :
+				break;	
+			
+			case 602 :
+				alert('Failed to rename folder.');
+				break;
+			
+			default:
+				alert('RFo: Invalid XML response from connector..');
+		}
+	} else {
+		alert('RFo: Invalid XML response from connector.');
+	}
+	Refresh();
+}
+
+window.onload = function()
+{
+	oListManager.Init() ;
+	window.top.IsLoadedResourcesList = true ;
+}
+		</script>
+	</head>
+	<body class="FileArea" bottomMargin="10" leftMargin="10" topMargin="10" rightMargin="10">
+		<table id="tableFiles" cellSpacing="4" cellPadding="5" width="100%" border="0">
+		</table>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/frmresourcetype.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/frmresourcetype.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/frmresourcetype.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,66 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: frmresourcetype.html
+ * 	This page shows the list of available resource types.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
+		<link href="browser.css" type="text/css" rel="stylesheet">
+		<script type="text/javascript" src="js/common.js"></script>
+		<script language="javascript">
+
+function SetResourceType( type )
+{
+	window.parent.frames["frmFolders"].SetResourceType( type ) ;
+}
+
+var aTypes = [
+	['File','File'],
+	['Image','Image'],
+	['Flash','Flash'],
+	['Media','Media']
+] ;
+
+window.onload = function()
+{
+   var bHasType = ( oConnector.ResourceType.length > 0 ) ;
+   cmbTypeObj=document.getElementById("cmbType");
+   for ( var i = 0 ; i < aTypes.length ; i++ )
+   {
+       if ( !bHasType || aTypes[i][0] ==
+oConnector.ResourceType )
+           AddSelectOption( cmbTypeObj, aTypes[i][1],
+aTypes[i][0] ) ;
+   }
+} 
+
+		</script>
+	</head>
+	<body bottomMargin="0" topMargin="0">
+		<table height="100%" cellSpacing="0" cellPadding="0" width="100%" border="0">
+			<tr>
+				<td nowrap>
+					Resource Type<BR>
+					<select id="cmbType" style="WIDTH: 100%" onchange="SetResourceType(this.value);">
+					</select>
+				</td>
+			</tr>
+		</table>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/frmupload.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/frmupload.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/frmupload.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,233 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: frmupload.html
+ * 	Page used to upload new files in the current folder.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ * 		Grant French (grant at mcpuk.net)
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<link href="browser.css" type="text/css" rel="stylesheet" />
+		<script type="text/javascript" src="js/fckxml.js"></script>
+		<script type="text/javascript" src="js/common.js"></script>
+		<script language="javascript">
+
+var randomnumber=Math.floor(Math.random()*65535);
+var refreshURL='';
+var uploading=false;
+
+function SetCurrentFolder( resourceType, folderPath )
+{
+	var sUrl = oConnector.UploadHandler +'?uploadID='+randomnumber+'&Connector='+escape(oConnector.ConnectorUrl)+'&Command=FileUpload' ;
+	sUrl += '&Type=' + resourceType ;
+	sUrl += '&CurrentFolder=' + folderPath ;
+	sUrl += '&ExtraParams=' + oConnector.ExtraParams ;
+	document.getElementById('frmUpload').action = sUrl ;
+	
+	oConnector.ResourceType = resourceType ;
+	oConnector.CurrentFolder = folderPath ;
+}
+
+function OnSubmit()
+{
+	if ( document.getElementById('NewFile').value.length == 0 )
+	{
+		alert( 'Please select a file from your computer' ) ;
+		return false ;
+	}
+
+	// Set the interface elements.
+	document.getElementById('eUploadMessage').innerHTML = 'Upload a new file in this folder (Upload in progress, please wait... 0%)' ;
+	document.getElementById('filebox').style.display="none";
+	resetProgressBar();
+	document.getElementById('progressbox').style.display="inline";
+	document.getElementById('btnUpload').disabled = true ;
+	
+	uploading=true;
+	setTimeout("GetUploadProgress()",2000);
+	
+	return true ;
+}
+
+function OnUploadCompleted( errorNumber, fileName )
+{
+	uploading=false;
+	
+	// Reset the Upload Worker Frame.
+	window.parent.frames['frmUploadWorker'].location = '' ;
+	
+	// Reset the upload form.
+	//Sometimes causes IE to get itself in a mess (wont allow second upload)
+	//document.getElementById('NewFile').reset() ;
+	
+	// Reset the interface elements.
+	document.getElementById('eUploadMessage').innerHTML = 'Upload a new file in this folder' ;
+	document.getElementById('btnUpload').disabled = false ;
+	
+	var randomnumber=Math.floor(Math.random()*65535);
+	SetCurrentFolder(oConnector.ResourceType,oConnector.CurrentFolder);
+	
+	switch ( errorNumber )
+	{
+		case 0 :
+			window.parent.frames['frmResourcesList'].Refresh() ;
+			document.getElementById('filebox').style.display="inline";
+			document.getElementById('progressbox').style.display="none";
+			break ;
+		case 201 :
+			window.parent.frames['frmResourcesList'].Refresh() ;
+			document.getElementById('filebox').style.display="inline";
+			document.getElementById('progressbox').style.display="none";
+			alert( 'A file with the same name is already available. The uploaded file has been renamed to "' + fileName + '"' ) ;
+			break ;
+		case 202 :
+			document.getElementById('filebox').style.display="inline";
+			document.getElementById('progressbox').style.display="none";
+			alert( 'Error, "'+fileName+'"' ) ;
+			break ;
+		default :
+			document.getElementById('filebox').style.display="inline";
+			document.getElementById('progressbox').style.display="none";
+			alert( 'Error on file upload. Error number: ' + errorNumber ) ;
+			break ;
+	}
+}
+
+function resetProgressBar() {
+	oProgressBar=document.getElementById('progress');
+	var rows=oProgressBar.getElementsByTagName('tr');
+	var row=rows[0];
+	var cols=row.getElementsByTagName('td');
+//	var label=document.getElementById("progress_label");
+	
+//	label.innerHTML="0%"
+	for (i=0;i<(cols.length-1);i++) {
+		cols[i].className="progress_hollow";	
+	}
+}
+
+warned=false;
+function GetUploadProgressCallback( fckXml ) {
+	// Get the current folder path.
+	
+	if (!uploading) return false;
+	
+	var oNode = fckXml.SelectSingleNode( 'Connector/CurrentFolder' ) ;
+	if (oNode==null) { if(!warned) { alert("Invalid XML response from connector."); warned=true; } return false; }
+	if ((oNode.attributes.getNamedItem('path')==null)||(oNode.attributes.getNamedItem('url')==null)) {
+		if(!warned) { alert("Invalid XML response from connector."); warned=true; }
+		return;
+	}
+	
+	var sCurrentFolderPath	= oNode.attributes.getNamedItem('path').value ;
+	var sCurrentFolderUrl	= oNode.attributes.getNamedItem('url').value ;
+
+	// Add the Folders.	
+	var oNode = fckXml.SelectSingleNode( 'Connector/Progress' ) ;
+	if (oNode==null) { if(!warned) { alert("Invalid XML response from connector."); warned=true; } return false; }
+	if ((oNode.attributes.getNamedItem('max')==null)||(oNode.attributes.getNamedItem('value')==null)) {
+		if(!warned) { alert("Invalid XML response from connector."); warned=true; }
+		return;
+	}
+	
+	var iMax	= oNode.attributes.getNamedItem('max').value ;
+	var iValue	= oNode.attributes.getNamedItem('value').value ;
+	
+	var oNode = fckXml.SelectSingleNode( 'Connector/RefreshURL' ) ;
+	if (oNode==null) { if(!warned) { alert("Invalid XML response from connector."); warned=true; } return false; }
+	if ((oNode.attributes.getNamedItem('url')==null)) {
+		if(!warned) { alert("Invalid XML response from connector."); warned=true; }
+		return;
+	}
+	refreshURL	= oNode.attributes.getNamedItem('url').value ;
+	
+	var oProgressBar=document.getElementById('progress');
+	//var label=document.getElementById("progress_label");
+	var rows=oProgressBar.getElementsByTagName('tr');
+	var row=rows[0];
+	var cols=row.getElementsByTagName('td');
+	var percentage=Math.floor((iValue/iMax)*100);
+	document.getElementById('eUploadMessage').innerHTML = 'Upload a new file in this folder (Upload in progress, please wait.. ' + percentage + '% )' ;
+	
+	//label.innerHTML=percentage+"%"
+	for (i=0;i<(cols.length-1);i++) {
+		if (((i+1)*(100/cols.length))<=percentage) {
+			cols[i].className="progress_filled";	
+		} else {
+			cols[i].className="progress_hollow";
+		}
+	}
+	
+	if (uploading) getProgressTimer=setTimeout("GetUploadProgress()",1000);
+}
+
+function GetUploadProgress() {
+	if (uploading) oConnector.SendCommand( 'GetUploadProgress', 'uploadID='+randomnumber+'&refreshURL='+escape(refreshURL), GetUploadProgressCallback ) ;
+}
+
+window.onload = function()
+{
+	window.top.IsLoadedUpload = true ;
+}
+		</script>
+	</head>
+	<body bottomMargin="0" topMargin="0">
+		<form id="frmUpload" action="" target="frmUploadWorker" method="post" enctype="multipart/form-data" onsubmit="return OnSubmit();">
+			<table height="100%" cellSpacing="0" cellPadding="0" width="100%" border="0">
+				<tr>
+					<td nowrap>
+						<span id="eUploadMessage">Upload a new file in this folder</span><br>
+						<table cellSpacing="0" cellPadding="0" width="100%" border="0">
+							<tr>
+								<td width="100%">
+									<div id="filebox"><input id="NewFile" name="NewFile" style="width: 100%; background-color: transparent;" type="file"></div>
+									<div id="progressbox" style="display: none">
+										<table id="progress" style="width: 100%" class="progress_bar">
+											<tr>
+												<td class="progress_hollow">&nbsp;</td>
+												<td class="progress_hollow">&nbsp;</td>
+												<td class="progress_hollow">&nbsp;</td>
+												<td class="progress_hollow">&nbsp;</td>
+												<td class="progress_hollow">&nbsp;</td>
+												<td class="progress_hollow">&nbsp;</td>
+												<td class="progress_hollow">&nbsp;</td>
+												<td class="progress_hollow">&nbsp;</td>
+												<td class="progress_hollow">&nbsp;</td>
+												<td class="progress_hollow">&nbsp;</td>
+												<td class="progress_hollow">&nbsp;</td>
+												<td class="progress_hollow">&nbsp;</td>
+												<td class="progress_hollow">&nbsp;</td>
+												<td class="progress_hollow">&nbsp;</td>
+												<td class="progress_hollow">&nbsp;</td>
+												<td class="progress_hollow">&nbsp;</td>
+												<td class="progress_hollow">&nbsp;</td>
+												<td class="progress_hollow">&nbsp;</td>
+												<td class="progress_hollow">&nbsp;</td>
+												<td class="progress_hollow">&nbsp;</td>
+											</tr>
+										</table>
+										<!--<div id="progress_label"></div>-->
+									</div>
+								</td>
+								<td nowrap>&nbsp;<input id="btnUpload" type="submit" value="Upload"></td>
+							</tr>
+						</table>
+					</td>
+				</tr>
+			</table>
+		</form>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/2x2.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/2x2.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/2x2_w.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/2x2_w.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/ButtonArrow.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/ButtonArrow.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/Folder.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/Folder.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/Folder32.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/Folder32.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/Folder96.jpg
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/Folder96.jpg
___________________________________________________________________
Name: svn:mime-type
   + image/jpeg

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/FolderOpened.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/FolderOpened.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/FolderOpened32.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/FolderOpened32.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/FolderUp.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/FolderUp.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/close.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/close.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/delete.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/delete.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/edit.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/edit.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/editImage.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/editImage.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/ai.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/ai.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/avi.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/avi.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/bmp.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/bmp.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/cs.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/cs.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/default.icon.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/default.icon.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/dll.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/dll.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/doc.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/doc.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/exe.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/exe.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/fla.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/fla.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/gif.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/gif.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/htm.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/htm.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/html.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/html.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/jpg.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/jpg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/js.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/js.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/mdb.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/mdb.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/mp3.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/mp3.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/pdf.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/pdf.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/ppt.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/ppt.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/rdp.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/rdp.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/swf.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/swf.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/swt.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/swt.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/txt.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/txt.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/vsd.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/vsd.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/xls.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/xls.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/xml.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/xml.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/zip.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/32/zip.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/ai.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/ai.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/avi.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/avi.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/bmp.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/bmp.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/cs.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/cs.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/default.icon.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/default.icon.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/dll.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/dll.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/doc.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/doc.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/exe.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/exe.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/fla.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/fla.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/gif.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/gif.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/htm.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/htm.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/html.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/html.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/jpg.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/jpg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/js.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/js.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/mdb.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/mdb.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/mp3.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/mp3.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/pdf.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/pdf.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/ppt.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/ppt.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/rdp.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/rdp.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/swf.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/swf.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/swt.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/swt.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/txt.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/txt.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/vsd.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/vsd.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/xls.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/xls.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/xml.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/xml.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/zip.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/icons/zip.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/spacer.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/spacer.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/toolbar/close.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/toolbar/close.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/toolbar/crop.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/toolbar/crop.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/toolbar/flip.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/toolbar/flip.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/toolbar/resize.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/toolbar/resize.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/toolbar/rotate.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/toolbar/rotate.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/toolbar/save.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/images/toolbar/save.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/js/EditorContent.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/js/EditorContent.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/js/EditorContent.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,32 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: EditorContent.js
+ * 	(!)
+ * 
+ * File Authors:
+ * 		Grant French (grant at mcpuk.net)
+ */
+var mode='resize';
+
+function setMode(newMode) {
+	if (newMode=="resize" || newMode=="crop" || newMode=="rotate" || newMode=="flip") {
+		mode=newMode;
+		alert("New Mode :: "+mode);
+	} else {
+		alert("Image Editor :: Invalid mode selected.");
+	}
+}
+
+function mouseMove(e) {
+
+}

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/js/common.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/js/common.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/js/common.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,101 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: common.js
+ * 	Common objects and functions shared by all pages that compose the
+ * 	File Browser dialog window.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+function AddSelectOption( selectElement, optionText, optionValue )
+{
+	var oOption = document.createElement("OPTION") ;
+
+	oOption.text	= optionText ;
+	oOption.value	= optionValue ;	
+
+	selectElement.options.add(oOption) ;
+
+	return oOption ;
+}
+
+function GetUrlParam( paramName )
+{
+	var oRegex = new RegExp( '[\?&]' + paramName + '=([^&]+)', 'i' ) ;
+	var oMatch = oRegex.exec( unescape(window.top.location.search) ) ;
+	
+	if ( oMatch && oMatch.length > 1 )
+		return oMatch[1] ;
+	else
+		return '' ;
+}
+
+function GetMyUrlParam( paramName )
+{
+	var oRegex = new RegExp( '[\?&]' + paramName + '=([^&]+)', 'i' ) ;
+	var oMatch = oRegex.exec( window.location.search ) ;
+	
+	if ( oMatch && oMatch.length > 1 )
+		return oMatch[1] ;
+	else
+		return '' ;
+}
+
+var oConnector = new Object() ;
+oConnector.CurrentFolder	= '/' ;
+oConnector.UploadHandler	= GetUrlParam( 'UploadHandler' );
+oConnector.ConnectorUrl		= GetUrlParam( 'Connector' ) ;
+oConnector.ResourceType		= GetUrlParam( 'Type' ) ;
+oConnector.ExtraParams		= GetUrlParam( 'ExtraParams' ) ;
+
+if ((oConnector.UploadHandler=='')||(oConnector.UploadHandler=='undefined')) oConnector.UploadHandler=oConnector.ConnectorUrl;
+
+
+oConnector.SendCommand = function( command, params, callBackFunction )
+{
+	var sUrl = this.ConnectorUrl + '?Command=' + command ;
+	sUrl += '&Type=' + this.ResourceType ;
+	sUrl += '&ExtraParams=' + this.ExtraParams ;
+	sUrl += '&CurrentFolder=' + escape( this.CurrentFolder ) ;
+	
+	if ( params ) sUrl += '&' + params ;
+
+	var oXML = new FCKXml() ;
+	
+	if ( callBackFunction )
+		oXML.LoadUrl( sUrl, callBackFunction ) ;	// Asynchronous load.
+	else
+		return oXML.LoadUrl( sUrl ) ;
+}
+
+var oIcons = new Object() ;
+
+oIcons.AvailableIconsArray = [ 
+	'ai','avi','bmp','cs','dll','doc','exe','fla','gif','htm','html','jpg','js',
+	'mdb','mp3','pdf','ppt','rdp','swf','swt','txt','vsd','xls','xml','zip' ] ;
+	
+oIcons.AvailableIcons = new Object() ;
+
+for ( var i = 0 ; i < oIcons.AvailableIconsArray.length ; i++ )
+	oIcons.AvailableIcons[ oIcons.AvailableIconsArray[i] ] = true ;
+
+oIcons.GetIcon = function( fileName )
+{
+	var sExtension = fileName.substr( fileName.lastIndexOf('.') + 1 ).toLowerCase() ;
+
+	if ( this.AvailableIcons[ sExtension ] == true )
+		return sExtension ;
+	else
+		return 'default.icon' ;
+}

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/js/fckxml.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/js/fckxml.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/js/fckxml.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,118 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckxml.js
+ * 	Defines the FCKXml object that is used for XML data calls
+ * 	and XML processing.
+ * 	This script is shared by almost all pages that compose the 
+ * 	File Browser frameset.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+var FCKXml = function()
+{}
+
+function escapeHTML(text) {
+text=text.replace('\n','');
+text=text.replace('&','&amp;');
+text=text.replace('<','&lt;');
+text=text.replace('>','&gt;');
+return text;
+}
+
+FCKXml.prototype.GetHttpRequest = function()
+{
+	if ( window.XMLHttpRequest )		// Gecko
+		return new XMLHttpRequest() ;
+	else if ( window.ActiveXObject )	// IE
+		return new ActiveXObject("MsXml2.XmlHttp") ;
+}
+
+FCKXml.prototype.LoadUrl = function( urlToCall, asyncFunctionPointer )
+{
+	var oFCKXml = this ;
+
+	var bAsync = ( typeof(asyncFunctionPointer) == 'function' ) ;
+
+	var oXmlHttp = this.GetHttpRequest() ;
+	oXmlHttp.open( "GET", urlToCall, bAsync ) ;
+	
+	if ( bAsync )
+	{	
+		oXmlHttp.onreadystatechange = function() 
+		{
+			if ( oXmlHttp.readyState == 4 )
+			{
+				/*
+				dbgWin=window.open('','dbgWin','width=700,height=400');
+				txt=dbgWin.document.getElementById('txtXML');
+				
+				if (txt==null) {
+					dbgWin.document.write("<textarea style=\"width: 100%; height: 100%\" id=\"txtXML\"></textarea>");
+					txt=dbgWin.document.getElementById('txtXML');
+				}
+				
+				txt.value=new String("-----------------------------------------\n" + oXmlHttp.responseText);
+				*/
+				
+				oFCKXml.DOMDocument = oXmlHttp.responseXML ;
+				asyncFunctionPointer( oFCKXml ) ;
+			}
+		}
+	}
+	
+	oXmlHttp.send( null ) ;
+	
+	if ( ! bAsync )
+		this.DOMDocument = oXmlHttp.responseXML ;
+}
+
+FCKXml.prototype.SelectNodes = function( xpath )
+{
+	if ( document.all )		// IE
+		return this.DOMDocument.selectNodes( xpath ) ;
+	else					// Gecko
+	{
+		var aNodeArray = new Array();
+
+		var xPathResult = this.DOMDocument.evaluate( xpath, this.DOMDocument, 
+				this.DOMDocument.createNSResolver(this.DOMDocument.documentElement), XPathResult.ORDERED_NODE_ITERATOR_TYPE, null) ;
+		if ( xPathResult ) 
+		{
+			var oNode = xPathResult.iterateNext() ;
+ 			while( oNode )
+ 			{
+ 				aNodeArray[aNodeArray.length] = oNode ;
+ 				oNode = xPathResult.iterateNext();
+ 			}
+		} 
+		return aNodeArray ;
+	}
+}
+
+FCKXml.prototype.SelectSingleNode = function( xpath ) 
+{
+	if ( document.all )		// IE
+		return this.DOMDocument.selectSingleNode( xpath ) ;
+	else					// Gecko
+	{
+		var xPathResult = this.DOMDocument.evaluate( xpath, this.DOMDocument,
+				this.DOMDocument.createNSResolver(this.DOMDocument.documentElement), 9, null);
+
+		if ( xPathResult && xPathResult.singleNodeValue )
+			return xPathResult.singleNodeValue ;
+		else	
+			return null ;
+	}
+}

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/js/wz_jsgraphics.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/js/wz_jsgraphics.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/browser/mcpuk/js/wz_jsgraphics.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,931 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: wz_jsgraphics.js
+ * 	Javascript Graphics.
+ * 
+ * File Authors:
+ * 		Grant French (grant at mcpuk.net)
+ */
+/***********************************************************************
+** Title.........:  Javascript Graphics
+** Version.......:  1.0
+** Author........:  Xiang Wei ZHUO <wei at zhuo.org>
+** Filename......:  wz_jsgraphics.js
+** Last changed..:  31 Aug 2003  
+** Notes.........:  Modified for Image Editor, added extra commands
+**/ 
+
+/* This notice must be untouched at all times.
+
+wz_jsgraphics.js    v. 2.03
+The latest version is available at
+http://www.walterzorn.com
+or http://www.devira.com
+or http://www.walterzorn.de
+
+Copyright (c) 2002-2003 Walter Zorn. All rights reserved.
+Created 3. 11. 2002 by Walter Zorn <walter at kreuzotter.de>
+Last modified: 11. 6. 2003
+
+High Performance JavaScript Graphics Library.
+Provides methods
+- to draw lines, rectangles, ellipses, polygons
+  with specifiable line thickness,
+- to fill rectangles and ellipses
+- to draw text.
+NOTE: Operations, functions and branching have rather been optimized
+to efficiency and speed than to shortness of source code.
+
+This program is free software;
+you can redistribute it and/or modify it under the terms of the
+GNU General Public License as published by the Free Software Foundation;
+either version 2 of the License, or (at your option) any later version.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY;
+without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+See the GNU General Public License
+at http://www.gnu.org/copyleft/gpl.html for more details.
+*/
+
+var jg_ihtm, jg_ie, jg_dom,
+jg_n4 = (document.layers && typeof document.classes != "undefined");
+
+function chkDHTM(x, i)
+{
+    x = document.body || null;
+    jg_ie = (x && typeof x.insertAdjacentHTML != "undefined");
+    jg_dom = (x && !jg_ie &&
+        typeof x.appendChild != "undefined" &&
+        typeof document.createRange != "undefined" &&
+        typeof (i = document.createRange()).setStartBefore != "undefined" &&
+        typeof i.createContextualFragment != "undefined");
+    jg_ihtm = (!jg_ie && !jg_dom && x && typeof x.innerHTML != "undefined");
+}
+
+
+
+
+
+function pntDoc()
+{
+    this.wnd.document.write(this.htm);
+    this.htm = '';
+}
+
+
+
+
+
+function pntCnvDom()
+{
+    var x = document.createRange();
+    x.setStartBefore(this.cnv);
+    x = x.createContextualFragment(this.htm);
+    this.cnv.appendChild(x);
+    this.htm = '';
+}
+
+
+
+
+
+function pntCnvIe()
+{
+    this.cnv.insertAdjacentHTML("BeforeEnd", this.htm);
+    this.htm = '';
+}
+
+
+
+
+
+function pntCnvIhtm()
+{
+    this.cnv.innerHTML += this.htm;
+    this.htm = '';
+}
+
+
+
+
+
+function pntCnv()
+{
+    this.htm = '';
+}
+
+
+
+
+
+function mkDiv(x, y, w, h)
+{
+    this.htm += '<div style="position:absolute;'+
+        'left:' + x + 'px;'+
+        'top:' + y + 'px;'+
+        'width:' + w + 'px;'+
+        'height:' + h + 'px;'+
+        'clip:rect(0,'+w+'px,'+h+'px,0);'+
+        'overflow:hidden;background-color:' + this.color + ';'+
+        '"><\/div>';
+
+    //alert(this.htm);
+}
+
+
+
+
+function mkDivPrint(x, y, w, h)
+{
+    this.htm += '<div style="position:absolute;'+
+        'border-left:' + w + 'px solid ' + this.color + ';'+
+        'left:' + x + 'px;'+
+        'top:' + y + 'px;'+
+        'width:' + w + 'px;'+
+        'height:' + h + 'px;'+
+        'clip:rect(0,'+w+'px,'+h+'px,0);'+
+        'overflow:hidden;background-color:' + this.color + ';'+
+        '"><\/div>';
+}
+
+
+
+
+
+function mkLyr(x, y, w, h)
+{
+    this.htm += '<layer '+
+        'left="' + x + '" '+
+        'top="' + y + '" '+
+        'width="' + w + '" '+
+        'height="' + h + '" '+
+        'bgcolor="' + this.color + '"><\/layer>\n';
+}
+
+
+
+
+
+function mkLbl(txt, x, y)
+{
+    this.htm += '<div style="position:absolute;white-space:nowrap;'+
+        'left:' + x + 'px;'+
+        'top:' + y + 'px;'+
+        'font-family:' +  this.ftFam + ';'+
+        'font-size:' + this.ftSz + ';'+
+        'color:' + this.color + ';' + this.ftSty + '">'+
+        txt +
+        '<\/div>';
+}
+
+
+
+
+
+function mkLin(x1, y1, x2, y2)
+{
+    if (x1 > x2)
+    {
+        var _x2 = x2;
+        var _y2 = y2;
+        x2 = x1;
+        y2 = y1;
+        x1 = _x2;
+        y1 = _y2;
+    }
+    var dx = x2-x1, dy = Math.abs(y2-y1),
+    x = x1, y = y1,
+    yIncr = (y1 > y2)? -1 : 1;
+
+    if (dx >= dy)
+    {
+        var pr = dy<<1,
+        pru = pr - (dx<<1),
+        p = pr-dx,
+        ox = x;
+        while ((dx--) > 0)
+        {
+            ++x;
+            if (p > 0)
+            {
+                this.mkDiv(ox, y, x-ox, 1);
+                y += yIncr;
+                p += pru;
+                ox = x;
+            }
+            else p += pr;
+        }
+        this.mkDiv(ox, y, x2-ox+1, 1);
+    }
+
+    else
+    {
+        var pr = dx<<1,
+        pru = pr - (dy<<1),
+        p = pr-dy,
+        oy = y;
+        if (y2 <= y1)
+        {
+            while ((dy--) > 0)
+            {
+                if (p > 0)
+                {
+                    this.mkDiv(x++, y, 1, oy-y+1);
+                    y += yIncr;
+                    p += pru;
+                    oy = y;
+                }
+                else
+                {
+                    y += yIncr;
+                    p += pr;
+                }
+            }
+            this.mkDiv(x2, y2, 1, oy-y2+1);
+        }
+        else
+        {
+            while ((dy--) > 0)
+            {
+                y += yIncr;
+                if (p > 0)
+                {
+                    this.mkDiv(x++, oy, 1, y-oy);
+                    p += pru;
+                    oy = y;
+                }
+                else p += pr;
+            }
+            this.mkDiv(x2, oy, 1, y2-oy+1);
+        }
+    }
+}
+
+
+
+
+
+function mkLin2D(x1, y1, x2, y2)
+{
+    if (x1 > x2)
+    {
+        var _x2 = x2;
+        var _y2 = y2;
+        x2 = x1;
+        y2 = y1;
+        x1 = _x2;
+        y1 = _y2;
+    }
+    var dx = x2-x1, dy = Math.abs(y2-y1),
+    x = x1, y = y1,
+    yIncr = (y1 > y2)? -1 : 1;
+
+
+    var s = this.stroke;
+    if (dx >= dy)
+    {
+        if (s-0x3 > 0)
+        {
+            var _s = (s*dx*Math.sqrt(1+dy*dy/(dx*dx))-dx-(s>>1)*dy) / dx;
+            _s = (!(s-0x4)? Math.ceil(_s) : Math.round(_s)) + 1;
+        }
+        else var _s = s;
+        var ad = Math.ceil(s/2);
+
+        var pr = dy<<1,
+        pru = pr - (dx<<1),
+        p = pr-dx,
+        ox = x;
+        while ((dx--) > 0)
+        {
+            ++x;
+            if (p > 0)
+            {
+                this.mkDiv(ox, y, x-ox+ad, _s);
+                y += yIncr;
+                p += pru;
+                ox = x;
+            }
+            else p += pr;
+        }
+        this.mkDiv(ox, y, x2-ox+ad+1, _s);
+    }
+
+    else
+    {
+        if (s-0x3 > 0)
+        {
+            var _s = (s*dy*Math.sqrt(1+dx*dx/(dy*dy))-(s>>1)*dx-dy) / dy;
+            _s = (!(s-0x4)? Math.ceil(_s) : Math.round(_s)) + 1;
+        }
+        else var _s = s;
+        var ad = Math.round(s/2);
+
+        var pr = dx<<1,
+        pru = pr - (dy<<1),
+        p = pr-dy,
+        oy = y;
+        if (y2 <= y1)
+        {
+            ++ad;
+            while ((dy--) > 0)
+            {
+                if (p > 0)
+                {
+                    this.mkDiv(x++, y, _s, oy-y+ad);
+                    y += yIncr;
+                    p += pru;
+                    oy = y;
+                }
+                else
+                {
+                    y += yIncr;
+                    p += pr;
+                }
+            }
+            this.mkDiv(x2, y2, _s, oy-y2+ad);
+        }
+        else
+        {
+            while ((dy--) > 0)
+            {
+                y += yIncr;
+                if (p > 0)
+                {
+                    this.mkDiv(x++, oy, _s, y-oy+ad);
+                    p += pru;
+                    oy = y;
+                }
+                else p += pr;
+            }
+            this.mkDiv(x2, oy, _s, y2-oy+ad+1);
+        }
+    }
+}
+
+
+
+
+
+function mkLinDott(x1, y1, x2, y2)
+{
+    if (x1 > x2)
+    {
+        var _x2 = x2;
+        var _y2 = y2;
+        x2 = x1;
+        y2 = y1;
+        x1 = _x2;
+        y1 = _y2;
+    }
+    var dx = x2-x1, dy = Math.abs(y2-y1),
+    x = x1, y = y1,
+    yIncr = (y1 > y2)? -1 : 1,
+    drw = true;
+    if (dx >= dy)
+    {
+        var pr = dy<<1,
+        pru = pr - (dx<<1),
+        p = pr-dx;
+        while ((dx--) > 0)
+        {
+            if (drw) this.mkDiv(x, y, 1, 1);
+            drw = !drw;
+            if (p > 0)
+            {
+                y += yIncr;
+                p += pru;
+            }
+            else p += pr;
+            ++x;
+        }
+        if (drw) this.mkDiv(x, y, 1, 1);
+    }
+
+    else
+    {
+        var pr = dx<<1,
+        pru = pr - (dy<<1),
+        p = pr-dy;
+        while ((dy--) > 0)
+        {
+            if (drw) this.mkDiv(x, y, 1, 1);
+            drw = !drw;
+            y += yIncr;
+            if (p > 0)
+            {
+                ++x;
+                p += pru;
+            }
+            else p += pr;
+        }
+        if (drw) this.mkDiv(x, y, 1, 1);
+    }
+}
+
+
+
+
+
+function mkOv(left, top, width, height)
+{
+    var a = width>>1, b = height>>1,
+    wod = width&1, hod = (height&1)+1,
+    cx = left+a, cy = top+b,
+    x = 0, y = b,
+    ox = 0, oy = b,
+    aa = (a*a)<<1, bb = (b*b)<<1,
+    st = (aa>>1)*(1-(b<<1)) + bb,
+    tt = (bb>>1) - aa*((b<<1)-1),
+    w, h;
+    while (y > 0)
+    {
+        if (st < 0)
+        {
+            st += bb*((x<<1)+0x3);
+            tt += (bb<<1)*(++x);
+        }
+        else if (tt < 0)
+        {
+            st += bb*((x<<1)+0x3) - (aa<<1)*(y-1);
+            tt += (bb<<1)*(++x) - aa*(((y--)<<1)-0x3);
+            w = x-ox;
+            h = oy-y;
+            if (w&0x2 && h&0x2)
+            {
+                this.mkOvQds(cx, cy, -x+0x2, ox+wod, -oy, oy-1+hod, 1, 1);
+                this.mkOvQds(cx, cy, -x+1, x-1+wod, -y-1, y+hod, 1, 1);
+            }
+            else this.mkOvQds(cx, cy, -x+1, ox+wod, -oy, oy-h+hod, w, h);
+            ox = x;
+            oy = y;
+        }
+        else
+        {
+            tt -= aa*((y<<1)-0x3);
+            st -= (aa<<1)*(--y);
+        }
+    }
+    this.mkDiv(cx-a, cy-oy, a-ox+1, (oy<<1)+hod);
+    this.mkDiv(cx+ox+wod, cy-oy, a-ox+1, (oy<<1)+hod);
+}
+
+
+
+
+
+function mkOv2D(left, top, width, height)
+{
+    var s = this.stroke;
+    width += s-1;
+    height += s-1;
+    var a = width>>1, b = height>>1,
+    wod = width&1, hod = (height&1)+1,
+    cx = left+a, cy = top+b,
+    x = 0, y = b,
+    aa = (a*a)<<1, bb = (b*b)<<1,
+    st = (aa>>1)*(1-(b<<1)) + bb,
+    tt = (bb>>1) - aa*((b<<1)-1);
+
+
+    if (s-0x4 < 0 && (!(s-0x2) || width-0x33 > 0 && height-0x33 > 0))
+    {
+        var ox = 0, oy = b,
+        w, h,
+        pxl, pxr, pxt, pxb, pxw;
+        while (y > 0)
+        {
+            if (st < 0)
+            {
+                st += bb*((x<<1)+0x3);
+                tt += (bb<<1)*(++x);
+            }
+            else if (tt < 0)
+            {
+                st += bb*((x<<1)+0x3) - (aa<<1)*(y-1);
+                tt += (bb<<1)*(++x) - aa*(((y--)<<1)-0x3);
+                w = x-ox;
+                h = oy-y;
+
+                if (w-1)
+                {
+                    pxw = w+1+(s&1);
+                    h = s;
+                }
+                else if (h-1)
+                {
+                    pxw = s;
+                    h += 1+(s&1);
+                }
+                else pxw = h = s;
+                this.mkOvQds(cx, cy, -x+1, ox-pxw+w+wod, -oy, -h+oy+hod, pxw, h);
+                ox = x;
+                oy = y;
+            }
+            else
+            {
+                tt -= aa*((y<<1)-0x3);
+                st -= (aa<<1)*(--y);
+            }
+        }
+        this.mkDiv(cx-a, cy-oy, s, (oy<<1)+hod);
+        this.mkDiv(cx+a+wod-s+1, cy-oy, s, (oy<<1)+hod);
+    }
+
+
+    else
+    {
+        var _a = (width-((s-1)<<1))>>1,
+        _b = (height-((s-1)<<1))>>1,
+        _x = 0, _y = _b,
+        _aa = (_a*_a)<<1, _bb = (_b*_b)<<1,
+        _st = (_aa>>1)*(1-(_b<<1)) + _bb,
+        _tt = (_bb>>1) - _aa*((_b<<1)-1),
+
+        pxl = new Array(),
+        pxt = new Array(),
+        _pxb = new Array();
+        pxl[0] = 0;
+        pxt[0] = b;
+        _pxb[0] = _b-1;
+        while (y > 0)
+        {
+            if (st < 0)
+            {
+                st += bb*((x<<1)+0x3);
+                tt += (bb<<1)*(++x);
+                pxl[pxl.length] = x;
+                pxt[pxt.length] = y;
+            }
+            else if (tt < 0)
+            {
+                st += bb*((x<<1)+0x3) - (aa<<1)*(y-1);
+                tt += (bb<<1)*(++x) - aa*(((y--)<<1)-0x3);
+                pxl[pxl.length] = x;
+                pxt[pxt.length] = y;
+            }
+            else
+            {
+                tt -= aa*((y<<1)-0x3);
+                st -= (aa<<1)*(--y);
+            }
+
+            if (_y > 0)
+            {
+                if (_st < 0)
+                {
+                    _st += _bb*((_x<<1)+0x3);
+                    _tt += (_bb<<1)*(++_x);
+                    _pxb[_pxb.length] = _y-1;
+                }
+                else if (_tt < 0)
+                {
+                    _st += _bb*((_x<<1)+0x3) - (_aa<<1)*(_y-1);
+                    _tt += (_bb<<1)*(++_x) - _aa*(((_y--)<<1)-0x3);
+                    _pxb[_pxb.length] = _y-1;
+                }
+                else
+                {
+                    _tt -= _aa*((_y<<1)-0x3);
+                    _st -= (_aa<<1)*(--_y);
+                    _pxb[_pxb.length-1]--;
+                }
+            }
+        }
+
+        var ox = 0, oy = b,
+        _oy = _pxb[0],
+        l = pxl.length,
+        w, h;
+        for (var i = 0; i < l; i++)
+        {
+            if (typeof _pxb[i] != "undefined")
+            {
+                if (_pxb[i] < _oy || pxt[i] < oy)
+                {
+                    x = pxl[i];
+                    this.mkOvQds(cx, cy, -x+1, ox+wod, -oy, _oy+hod, x-ox, oy-_oy);
+                    ox = x;
+                    oy = pxt[i];
+                    _oy = _pxb[i];
+                }
+            }
+            else
+            {
+                x = pxl[i];
+                this.mkDiv(cx-x+1, cy-oy, 1, (oy<<1)+hod);
+                this.mkDiv(cx+ox+wod, cy-oy, 1, (oy<<1)+hod);
+                ox = x;
+                oy = pxt[i];
+            }
+        }
+        this.mkDiv(cx-a, cy-oy, 1, (oy<<1)+hod);
+        this.mkDiv(cx+ox+wod, cy-oy, 1, (oy<<1)+hod);
+    }
+}
+
+
+
+
+
+function mkOvDott(left, top, width, height)
+{
+    var a = width>>1, b = height>>1,
+    wod = width&1, hod = height&1,
+    cx = left+a, cy = top+b,
+    x = 0, y = b,
+    aa2 = (a*a)<<1, aa4 = aa2<<1, bb = (b*b)<<1,
+    st = (aa2>>1)*(1-(b<<1)) + bb,
+    tt = (bb>>1) - aa2*((b<<1)-1),
+    drw = true;
+    while (y > 0)
+    {
+        if (st < 0)
+        {
+            st += bb*((x<<1)+0x3);
+            tt += (bb<<1)*(++x);
+        }
+        else if (tt < 0)
+        {
+            st += bb*((x<<1)+0x3) - aa4*(y-1);
+            tt += (bb<<1)*(++x) - aa2*(((y--)<<1)-0x3);
+        }
+        else
+        {
+            tt -= aa2*((y<<1)-0x3);
+            st -= aa4*(--y);
+        }
+        if (drw) this.mkOvQds(cx, cy, -x, x+wod, -y, y+hod, 1, 1);
+        drw = !drw;
+    }
+}
+
+
+
+
+
+function mkRect(x, y, w, h)
+{
+    var s = this.stroke;
+    this.mkDiv(x, y, w, s);
+    this.mkDiv(x+w, y, s, h);
+    this.mkDiv(x, y+h, w+s, s);
+    this.mkDiv(x, y+s, s, h-s);
+}
+
+
+
+
+
+function mkRectDott(x, y, w, h)
+{
+    this.drawLine(x, y, x+w, y);
+    this.drawLine(x+w, y, x+w, y+h);
+    this.drawLine(x, y+h, x+w, y+h);
+    this.drawLine(x, y, x, y+h);
+}
+
+
+
+
+
+function jsgFont()
+{
+    this.PLAIN = 'font-weight:normal;';
+    this.BOLD = 'font-weight:bold;';
+    this.ITALIC = 'font-style:italic;';
+    this.ITALIC_BOLD = this.ITALIC + this.BOLD;
+    this.BOLD_ITALIC = this.ITALIC_BOLD;
+}
+var Font = new jsgFont();
+
+
+
+
+
+function jsgStroke()
+{
+    this.DOTTED = -1;
+}
+var Stroke = new jsgStroke();
+
+
+
+
+
+function jsGraphics(id, wnd)
+{
+    this.setColor = new Function('arg', 'this.color = arg;');
+
+
+    this.getColor = new Function('return this.color');
+
+    this.setStroke = function(x)
+    {
+        this.stroke = x;
+        if (!(x+1))
+        {
+            this.drawLine = mkLinDott;
+            this.mkOv = mkOvDott;
+            this.drawRect = mkRectDott;
+        }
+        else if (x-1 > 0)
+        {
+            this.drawLine = mkLin2D;
+            this.mkOv = mkOv2D;
+            this.drawRect = mkRect;
+        }
+        else
+        {
+            this.drawLine = mkLin;
+            this.mkOv = mkOv;
+            this.drawRect = mkRect;
+        }
+    };
+
+
+
+    this.setPrintable = function(arg)
+    {
+        this.printable = arg;
+        this.mkDiv = jg_n4? mkLyr : arg? mkDivPrint : mkDiv;
+    };
+
+
+
+    this.setFont = function(fam, sz, sty)
+    {
+        this.ftFam = fam;
+        this.ftSz = sz;
+        this.ftSty = sty || Font.PLAIN;
+    };
+
+
+
+    this.drawPolyline = this.drawPolyLine = function(x, y, s)
+    {
+        var i = x.length-1; while (i >= 0)
+            this.drawLine(x[i], y[i], x[--i], y[i]);
+    };
+
+
+
+    this.fillRect = function(x, y, w, h)
+    {
+        this.mkDiv(x, y, w, h);
+    };
+
+
+    this.fillRectPattern = function(x, y, w, h, url)
+    {
+        this.htm += '<div style="position:absolute;'+
+            'left:' + x + 'px;'+
+            'top:' + y + 'px;'+
+            'width:' + w + 'px;'+
+            'height:' + h + 'px;'+
+            'clip:rect(0,'+w+'px,'+h+'px,0);'+
+            'overflow:hidden;'+
+            //'background-color:' + this.color + ';'+
+            "background-image: url('" + url + "');"+
+            "layer-background-image: url('" + url + "');"+
+            'z-index:100;"><\/div>';
+        //alert(this.htm);
+    }
+
+    this.drawHandle = function(x, y, w, h, cursor)
+    {
+        
+        this.htm += '<div style="position:absolute;'+
+        'left:' + x + 'px;'+
+        'top:' + y + 'px;'+
+        'width:' + w + 'px;'+
+        'height:' + h + 'px;'+
+        'clip:rect(0,'+w+'px,'+h+'px,0);'+
+        'padding: 2px;overflow:hidden;'+
+        "cursor: '" + cursor + "';"+
+        '" class="handleBox" id="' + cursor + '" ><\/div>';
+    }
+
+    this.drawHandleBox = function(x, y, w, h, cursor)
+    {
+        
+        this.htm += '<div style="position:absolute;'+
+        'left:' + x + 'px;'+
+        'top:' + y + 'px;'+
+        'width:' + w + 'px;'+
+        'height:' + h + 'px;'+
+        'clip:rect(0,'+(w+2)+'px,'+(h+2)+'px,0);'+
+        'overflow:hidden; border: solid 1px '+ this.color+';'+
+        "cursor: '" + cursor + "';"+
+        '" class="handleBox" id="' + cursor + '" ><\/div>';
+
+        
+    }
+
+    this.drawPolygon = function(x, y)
+    {
+        this.drawPolyline(x, y);
+        this.drawLine(x[x.length-1], y[x.length-1], x[0], y[0]);
+    };
+
+
+
+    this.drawEllipse = this.drawOval = function(x, y, w, h)
+    {
+        this.mkOv(x, y, w, h);
+    };
+
+
+
+    this.fillEllipse = this.fillOval = function(left, top, w, h)
+    {
+        var a = (w -= 1)>>1, b = (h -= 1)>>1,
+        wod = (w&1)+1, hod = (h&1)+1,
+        cx = left+a, cy = top+b,
+        x = 0, y = b,
+        ox = 0, oy = b,
+        aa2 = (a*a)<<1, aa4 = aa2<<1, bb = (b*b)<<1,
+        st = (aa2>>1)*(1-(b<<1)) + bb,
+        tt = (bb>>1) - aa2*((b<<1)-1),
+        pxl, dw, dh;
+        if (w+1) while (y > 0)
+        {
+            if (st < 0)
+            {
+                st += bb*((x<<1)+0x3);
+                tt += (bb<<1)*(++x);
+            }
+            else if (tt < 0)
+            {
+                st += bb*((x<<1)+0x3) - aa4*(y-1);
+                pxl = cx-x;
+                dw = (x<<1)+wod;
+                tt += (bb<<1)*(++x) - aa2*(((y--)<<1)-0x3);
+                dh = oy-y;
+                this.mkDiv(pxl, cy-oy, dw, dh);
+                this.mkDiv(pxl, cy+oy-dh+hod, dw, dh);
+                ox = x;
+                oy = y;
+            }
+            else
+            {
+                tt -= aa2*((y<<1)-0x3);
+                st -= aa4*(--y);
+            }
+        }
+        this.mkDiv(cx-a, cy-oy, w+1, (oy<<1)+hod);
+    };
+
+
+
+    this.drawString = mkLbl;
+
+
+
+    this.clear = function()
+    {
+        this.htm = "";
+        if (this.cnv) this.cnv.innerHTML = this.defhtm;
+        
+    };
+
+
+
+    this.mkOvQds = function(cx, cy, xl, xr, yt, yb, w, h)
+    {
+        this.mkDiv(xr+cx, yt+cy, w, h);
+        this.mkDiv(xr+cx, yb+cy, w, h);
+        this.mkDiv(xl+cx, yb+cy, w, h);
+        this.mkDiv(xl+cx, yt+cy, w, h);
+    };
+
+
+    this.setStroke(1);
+    this.setPrintable(false);
+    this.setFont('verdana,geneva,helvetica,sans-serif', String.fromCharCode(0x31, 0x32, 0x70, 0x78), Font.PLAIN);
+    this.color = '#000000';
+    this.htm = '';
+    this.wnd = wnd || window;
+
+
+    if (!(jg_ie || jg_dom || jg_ihtm)) chkDHTM();
+    if (typeof id != 'string' || !id) this.paint = pntDoc;
+    else
+    {
+        this.cnv = document.all? (this.wnd.document.all[id] || null)
+            : document.getElementById? (this.wnd.document.getElementById(id) || null)
+            : null;
+        this.defhtm = (this.cnv && this.cnv.innerHTML)? this.cnv.innerHTML : '';
+        this.paint = jg_dom? pntCnvDom : jg_ie? pntCnvIe : jg_ihtm? pntCnvIhtm : pntCnv;
+    }
+}

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/upload/asp/class_upload.asp
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/upload/asp/class_upload.asp	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/upload/asp/class_upload.asp	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,230 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: class_upload.asp
+ * 	These are the classes used to handle ASP upload without using third
+ * 	part components (OCX/DLL).
+ * 
+ * File Authors:
+ * 		NetRube (netrube at 126.com)
+-->
+<%
+'**********************************************
+' File:		NetRube_Upload.asp
+' Version:	NetRube Upload Class Version 2.1 Build 20050228
+' Author:	NetRube
+' Email:	NetRube at 126.com
+' Date:		02/28/2005
+' Comments:	The code for the Upload.
+'			This can free usage, but please
+'			not to delete this copyright information.
+'			If you have a modification version,
+'			Please send out a duplicate to me.
+'**********************************************
+' 文件名:	NetRube_Upload.asp
+' 版本:		NetRube Upload Class Version 2.1 Build 20050228
+' 作者:		NetRube(网络乡巴佬)
+' 电子邮件:	NetRube at 126.com
+' 日期:		2005年02月28日
+' 声明:		文件上传类
+'			本上传类可以自由使用,但请保留此版权声明信息
+'			如果您对本上传类进行修改增强,
+'			请发送一份给俺。
+'**********************************************
+
+Class NetRube_Upload
+
+	Public	File, Form
+	Private oSourceData
+	Private nMaxSize, nErr, sAllowed, sDenied
+	
+	Private Sub Class_Initialize
+		nErr		= 0
+		nMaxSize	= 1048576
+		
+		Set File			= Server.CreateObject("Scripting.Dictionary")
+		File.CompareMode	= 1
+		Set Form			= Server.CreateObject("Scripting.Dictionary")
+		Form.CompareMode	= 1
+		
+		Set oSourceData		= Server.CreateObject("ADODB.Stream")
+		oSourceData.Type	= 1
+		oSourceData.Mode	= 3
+		oSourceData.Open
+	End Sub
+	
+	Private Sub Class_Terminate
+		Form.RemoveAll
+		Set Form = Nothing
+		File.RemoveAll
+		Set File = Nothing
+		
+		oSourceData.Close
+		Set oSourceData = Nothing
+	End Sub
+	
+	Public Property Get Version
+		Version = "NetRube Upload Class Version 1.0 Build 20041218"
+	End Property
+
+	Public Property Get ErrNum
+		ErrNum	= nErr
+	End Property
+	
+	Public Property Let MaxSize(nSize)
+		nMaxSize	= nSize
+	End Property
+	
+	Public Property Let Allowed(sExt)
+		sAllowed	= sExt
+	End Property
+	
+	Public Property Let Denied(sExt)
+		sDenied	= sExt
+	End Property
+
+	Public Sub GetData
+		Dim aCType
+		aCType = Split(Request.ServerVariables("HTTP_CONTENT_TYPE"), ";")
+		If aCType(0) <> "multipart/form-data" Then
+			nErr = 1
+			Exit Sub
+		End If
+		
+		Dim nTotalSize
+		nTotalSize	= Request.TotalBytes
+		If nTotalSize < 1 Then
+			nErr = 2
+			Exit Sub
+		End If
+		If nMaxSize > 0 And nTotalSize > nMaxSize Then
+			nErr = 3
+			Exit Sub
+		End If
+		
+		oSourceData.Write Request.BinaryRead(nTotalSize)
+		oSourceData.Position = 0
+		
+		Dim oTotalData, oFormStream, sFormHeader, sFormName, bCrLf, nBoundLen, nFormStart, nFormEnd, nPosStart, nPosEnd, sBoundary
+		
+		oTotalData	= oSourceData.Read
+		bCrLf		= ChrB(13) & ChrB(10)
+		sBoundary	= MidB(oTotalData, 1, InStrB(1, oTotalData, bCrLf) - 1)
+		nBoundLen	= LenB(sBoundary) + 2
+		nFormStart	= nBoundLen
+		
+		Set oFormStream = Server.CreateObject("ADODB.Stream")
+		
+		Do While (nFormStart + 2) < nTotalSize
+			nFormEnd	= InStrB(nFormStart, oTotalData, bCrLf & bCrLf) + 3
+			
+			With oFormStream
+				.Type	= 1
+				.Mode	= 3
+				.Open
+				oSourceData.Position = nFormStart
+				oSourceData.CopyTo oFormStream, nFormEnd - nFormStart
+				.Position	= 0
+				.Type		= 2
+				.CharSet	= "UTF-8"
+				sFormHeader	= .ReadText
+				.Close
+			End With
+			
+			nFormStart	= InStrB(nFormEnd, oTotalData, sBoundary) - 1
+			nPosStart	= InStr(22, sFormHeader, " name=", 1) + 7
+			nPosEnd		= InStr(nPosStart, sFormHeader, """")
+			sFormName	= Mid(sFormHeader, nPosStart, nPosEnd - nPosStart)
+			
+			If InStr(45, sFormHeader, " filename=", 1) > 0 Then
+				Set File(sFormName)			= New NetRube_FileInfo
+				File(sFormName).FormName	= sFormName
+				File(sFormName).Start		= nFormEnd
+				File(sFormName).Size		= nFormStart - nFormEnd - 2
+				nPosStart					= InStr(nPosEnd, sFormHeader, " filename=", 1) + 11
+				nPosEnd						= InStr(nPosStart, sFormHeader, """")
+				File(sFormName).ClientPath	= Mid(sFormHeader, nPosStart, nPosEnd - nPosStart)
+				File(sFormName).Name		= Mid(File(sFormName).ClientPath, InStrRev(File(sFormName).ClientPath, "\") + 1)
+				File(sFormName).Ext			= LCase(Mid(File(sFormName).Name, InStrRev(File(sFormName).Name, ".") + 1))
+				nPosStart					= InStr(nPosEnd, sFormHeader, "Content-Type: ", 1) + 14
+				nPosEnd						= InStr(nPosStart, sFormHeader, vbCr)
+				File(sFormName).MIME		= Mid(sFormHeader, nPosStart, nPosEnd - nPosStart)
+			Else
+				With oFormStream
+					.Type	= 1
+					.Mode	= 3
+					.Open
+					oSourceData.Position = nPosEnd
+					oSourceData.CopyTo oFormStream, nFormStart - nFormEnd - 2
+					.Position	= 0
+					.Type		= 2
+					.CharSet	= "UTF-8"
+					Form(sFormName)	= .ReadText
+					.Close
+				End With
+			End If
+			
+			nFormStart	= nFormStart + nBoundLen
+		Loop
+		
+		oTotalData = ""
+		Set oFormStream = Nothing
+	End Sub
+
+	Public Sub SaveAs(sItem, sFileName)
+		If File(sItem).Size < 1 Then
+			nErr = 2
+			Exit Sub
+		End If
+		
+		If Not IsAllowed(File(sItem).Ext) Then
+			nErr = 4
+			Exit Sub
+		End If
+		
+		Dim oFileStream
+		Set oFileStream = Server.CreateObject("ADODB.Stream")
+		With oFileStream
+			.Type		= 1
+			.Mode		= 3
+			.Open
+			oSourceData.Position = File(sItem).Start
+			oSourceData.CopyTo oFileStream, File(sItem).Size
+			.Position	= 0
+			.SaveToFile sFileName, 2
+			.Close
+		End With
+		Set oFileStream = Nothing
+	End Sub
+	
+	Private Function IsAllowed(sExt)
+		Dim oRE
+		Set oRE	= New RegExp
+		oRE.IgnoreCase	= True
+		oRE.Global		= True
+		
+		If sDenied = "" Then
+			oRE.Pattern	= sAllowed
+			IsAllowed	= (sAllowed = "") Or oRE.Test(sExt)
+		Else
+			oRE.Pattern	= sDenied
+			IsAllowed	= Not oRE.Test(sExt)
+		End If
+		
+		Set oRE	= Nothing
+	End Function
+End Class
+
+Class NetRube_FileInfo
+	Dim FormName, ClientPath, Path, Name, Ext, Content, Size, MIME, Start
+End Class
+%>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/upload/asp/config.asp
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/upload/asp/config.asp	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/upload/asp/config.asp	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,43 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: config.asp
+ * 	Configuration file for the File Manager Connector for ASP.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<%
+
+' SECURITY: You must explicitelly enable this "uploader" (set it to "True"). 
+Dim ConfigIsEnabled
+ConfigIsEnabled = False
+
+' Path to user files relative to the document root.
+Dim ConfigUserFilesPath
+ConfigUserFilesPath = "/UserFiles/"
+
+' Allowed and Denied extensions configurations.
+Dim ConfigAllowedExtensions, ConfigDeniedExtensions
+Set ConfigAllowedExtensions	= CreateObject( "Scripting.Dictionary" )
+Set ConfigDeniedExtensions	= CreateObject( "Scripting.Dictionary" )
+
+ConfigAllowedExtensions.Add	"File", ""
+ConfigDeniedExtensions.Add	"File", "php|php3|php5|phtml|asp|aspx|ascx|jsp|cfm|cfc|pl|bat|exe|dll|reg|cgi"
+
+ConfigAllowedExtensions.Add	"Image", "jpg|gif|jpeg|png|bmp"
+ConfigDeniedExtensions.Add	"Image", ""
+
+ConfigAllowedExtensions.Add	"Flash", "swf|fla"
+ConfigDeniedExtensions.Add	"Flash", ""
+
+%>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/upload/asp/io.asp
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/upload/asp/io.asp	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/upload/asp/io.asp	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,25 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: io.asp
+ * 	This file include IO specific functions used by the ASP Uploader.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<%
+
+Function RemoveExtension( fileName )
+	RemoveExtension = Left( fileName, InStrRev( fileName, "." ) - 1 )
+End Function
+
+%>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/upload/asp/upload.asp
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/upload/asp/upload.asp	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/upload/asp/upload.asp	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,108 @@
+<%@ CodePage=65001 Language="VBScript"%>
+<%
+Option Explicit
+%>
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: upload.asp
+ * 	This is the "File Uploader" for ASP.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<!--#include file="config.asp"-->
+<!--#include file="io.asp"-->
+<!--#include file="class_upload.asp"-->
+<%
+
+' This is the function that sends the results of the uploading process.
+Function SendResults( errorNumber, fileUrl, fileName, customMsg )
+	Response.Write "<script type=""text/javascript"">"
+	Response.Write "window.parent.OnUploadCompleted(" & errorNumber & ",""" & Replace( fileUrl, """", "\""" ) & """,""" & Replace( fileName, """", "\""" ) & """,""" & Replace( customMsg , """", "\""" ) & """) ;"
+	Response.Write "</script>"
+	Response.End
+End Function
+
+%>
+<%
+
+' Check if this uploader has been enabled.
+If ( ConfigIsEnabled = False ) Then
+	SendResults "1", "", "", "This file uploader is disabled. Please check the ""editor/filemanager/upload/asp/config.asp"" file"
+End If
+
+' The the file type (from the QueryString, by default 'File').
+Dim resourceType
+If ( Request.QueryString("Type") <> "" ) Then
+	resourceType = Request.QueryString("Type")
+Else
+	resourceType = "File"
+End If
+
+' Create the Uploader object.
+Dim oUploader
+Set oUploader = New NetRube_Upload
+oUploader.MaxSize	= 0
+oUploader.Allowed	= ConfigAllowedExtensions.Item( resourceType )
+oUploader.Denied	= ConfigDeniedExtensions.Item( resourceType )
+oUploader.GetData
+
+If oUploader.ErrNum > 1 Then
+	SendResults "202", "", "", ""
+Else
+	Dim sFileName, sFileUrl, sErrorNumber, sOriginalFileName, sExtension
+	sFileName		= ""
+	sFileUrl		= ""
+	sErrorNumber	= "0"
+
+	' Map the virtual path to the local server path.
+	Dim sServerDir
+	sServerDir = Server.MapPath( ConfigUserFilesPath )
+	If ( Right( sServerDir, 1 ) <> "\" ) Then
+		sServerDir = sServerDir & "\"
+	End If
+
+	Dim oFSO
+	Set oFSO = Server.CreateObject( "Scripting.FileSystemObject" )
+
+	' Get the uploaded file name.
+	sFileName	= oUploader.File( "NewFile" ).Name
+	sExtension	= oUploader.File( "NewFile" ).Ext
+	sOriginalFileName = sFileName
+
+	Dim iCounter
+	iCounter = 0
+
+	Do While ( True )
+		Dim sFilePath
+		sFilePath = sServerDir & sFileName
+
+		If ( oFSO.FileExists( sFilePath ) ) Then
+			iCounter = iCounter + 1
+			sFileName = RemoveExtension( sOriginalFileName ) & "(" & iCounter & ")." & sExtension
+			sErrorNumber = "201"
+		Else
+			oUploader.SaveAs "NewFile", sFilePath
+			If oUploader.ErrNum > 0 Then SendResults "202", "", "", ""
+			Exit Do
+		End If
+	Loop
+	Response.Write( sFilePath )
+	sFileUrl = ConfigUserFilesPath & sFileName
+
+	SendResults sErrorNumber, sFileUrl, sFileName, ""
+	
+End If
+
+Set oUploader = Nothing
+%>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/upload/aspx/upload.aspx
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/upload/aspx/upload.aspx	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/upload/aspx/upload.aspx	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,26 @@
+<%@ Page language="c#" Inherits="FredCK.FCKeditorV2.Uploader" AutoEventWireup="false" %>
+<%--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: upload.aspx
+ * 	This is the Uploader for ASP.NET.
+ * 	
+ * 	The code of this page if included in the FCKeditor.Net package, 
+ * 	in the FredCK.FCKeditorV2.dll assemblyfile. So to use it you must 
+ * 	include that DLL in your "bin" directory.
+ * 	
+ * 	To download the FCKeditor.Net package, go to our official web site:
+ * 	http://www.fckeditor.net
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+--%>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/upload/lasso/config.lasso
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/upload/lasso/config.lasso	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/upload/lasso/config.lasso	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,53 @@
+[//lasso
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * File Name: config.php
+ * 	Configuration file for the Lasso File Uploader.
+ * 
+ * File Authors:
+ * 		Jason Huck (jason.huck at corefive.com)
+ */
+
+    /*.....................................................................     
+    The connector uses the file tags, which require authentication. Enter a
+    valid username and password from Lasso admin for a group with file tags
+    permissions for uploads and the path you define in UserFilesPath below.                                                                        
+    */ 
+    
+	var('connection') = array(
+		-username='xxxxxxxx',
+		-password='xxxxxxxx'
+	);
+
+
+    /*.....................................................................     
+    Set the base path for files that users can upload and browse (relative
+    to server root).
+    
+    Set which file extensions are allowed and/or denied for each file type.                                                                           
+    */                                                                          
+	var('config') = map(
+		'Enabled' = false,
+		'UserFilesPath' = '/UserFiles/',
+		'AllowedExtensions' = map(
+			'File' = array(),
+			'Image' = array('jpg','gif','jpeg','png'),
+			'Flash' = array('swf','fla'),
+			'Media' = array('swf','fla','jpg','gif','jpeg','png','avi','mpg','mpeg')
+		),
+		'DeniedExtensions' = map(
+			'File' = array('php','asp','aspx','ascx','jsp','cfm','cfc','pl','bat','exe','dll','reg','inc','lasso','cgi','lasso','lassoapp'),
+			'Image' = array(),
+			'Flash' = array(),
+			'Media' = array()
+		)
+	);
+]

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/upload/lasso/upload.lasso
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/upload/lasso/upload.lasso	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/upload/lasso/upload.lasso	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,152 @@
+[//lasso
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * File Name: upload.php
+ * 	This is the "File Uploader" for Lasso.
+ * 
+ * File Authors:
+ * 		Jason Huck (jason.huck at corefive.com)
+ */
+
+
+    /*.....................................................................     
+    Include global configuration. See config.lasso for details.                                                                           
+    */                                                                          
+	include('config.lasso');
+
+
+    /*.....................................................................     
+    Convert query string parameters to variables and initialize output.                                                                           
+    */                                                                          
+	var(
+		'Type'			=	action_param('Type'),
+		'CurrentFolder'	=	action_param('CurrentFolder'),
+		'ServerPath'	=	action_param('ServerPath'),
+		'NewFile'		=	null,
+		'NewFileName'	=	string,
+		'OrigFilePath'	=	string,
+		'NewFilePath'	=	string,
+		'errorNumber'	=	0,
+		'customMsg'		=	''
+	);
+
+	$Type == '' ? $Type = 'File';
+
+
+    /*.....................................................................     
+    Calculate the path to the current folder.                                                                           
+    */                                                                          
+	$ServerPath == '' ? $ServerPath = $config->find('UserFilesPath');
+		
+	var('currentFolderURL' = $ServerPath 
+		+ action_param('Type') 
+		+ action_param('CurrentFolder')
+	);
+
+
+	/*.....................................................................    
+	Custom tag sets the HTML response.                                                               
+	*/
+	
+	define_tag(
+		'sendresults',
+		-namespace='fck_',
+		-priority='replace',
+		-required='errorNumber',
+		-type='integer',
+		-optional='fileUrl',
+		-type='string',
+		-optional='fileName',
+		-type='string',
+		-optional='customMsg',
+		-type='string',
+		-description='Sets the HTML response for the FCKEditor Quick Upload feature.'
+	);
+		$__html_reply__ = '\
+<script type="text/javascript">
+	window.parent.OnUploadCompleted(' + #errorNumber + ',"' 
+		+ string_replace(#fileUrl, -find='"', -replace='\\"') + '","' 
+		+ string_replace(#fileName, -find='"', -replace='\\"') + '","' 
+		+ string_replace(#customMsg, -find='"', -replace='\\"') + '");
+</script>
+		';
+	/define_tag;
+
+
+	if($config->find('Enabled'));
+		/*.................................................................     
+		Process an uploaded file.                                                                        
+		*/                                                                          
+		inline($connection);
+			/*.............................................................     
+			Was a file actually uploaded?                                                              
+			*/                                                              
+			file_uploads->size ? $NewFile = file_uploads->get(1) | $errorNumber = 202;
+							
+			if($errorNumber == 0);
+				/*.........................................................     
+				Split the file's extension from the filename in order
+				to follow the API's naming convention for duplicate
+				files. (Test.txt, Test(1).txt, Test(2).txt, etc.)                                                          
+				*/                                                          
+				$NewFileName = $NewFile->find('OrigName');													
+				$OrigFilePath = $currentFolderURL + $NewFileName;
+				$NewFilePath = $OrigFilePath;
+				local('fileExtension') = '.' + $NewFile->find('OrigExtension');					
+				local('shortFileName') = $NewFileName->removetrailing(#fileExtension)&;
+	
+	
+				/*.........................................................     
+				Make sure the file extension is allowed.                                                          
+				*/ 
+								
+				if($config->find('DeniedExtensions')->find($Type) >> $NewFile->find('OrigExtension'));
+					$errorNumber = 202;
+				else;
+					/*.....................................................     
+					Rename the target path until it is unique.                                                    
+					*/                                                      										
+					while(file_exists($NewFilePath));
+						$NewFileName = #shortFileName + '(' + loop_count + ')' + #fileExtension;
+						$NewFilePath = $currentFolderURL + $NewFileName;
+					/while;
+					
+					
+					/*.....................................................     
+					Copy the uploaded file to its final location.                                                     
+					*/                                                      
+					file_copy($NewFile->find('path'), $NewFilePath);
+	
+	
+					/*.....................................................    
+					Set the error code for the response.                                          
+					*/                                                      						
+					select(file_currenterror( -errorcode));
+						case(0);
+							$OrigFilePath != $NewFilePath ? $errorNumber = 201;
+						case;
+							$errorNumber = 202;
+					/select;
+				/if;
+			/if;
+		/inline;
+	else;
+		$errorNumber = 1;
+		$customMsg = 'This file uploader is disabled. Please check the "editor/filemanager/upload/lasso/config.lasso" file.';
+	/if;
+	
+	fck_sendresults(
+		-errorNumber=$errorNumber,
+		-fileUrl=$NewFilePath,
+		-fileName=$NewFileName,
+		-customMsg=$customMsg
+	);
+]	

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/upload/php/config.php
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/upload/php/config.php	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/upload/php/config.php	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,38 @@
+<?php 
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: config.php
+ * 	Configuration file for the PHP File Uploader.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+global $Config ;
+
+// SECURITY: You must explicitelly enable this "uploader". 
+$Config['Enabled'] = false ;
+
+// Path to uploaded files relative to the document root.
+$Config['UserFilesPath'] = '/UserFiles/' ;
+
+$Config['AllowedExtensions']['File']	= array() ;
+$Config['DeniedExtensions']['File']		= array('php','php3','php5','phtml','asp','aspx','ascx','jsp','cfm','cfc','pl','bat','exe','dll','reg','cgi') ;
+
+$Config['AllowedExtensions']['Image']	= array('jpg','gif','jpeg','png') ;
+$Config['DeniedExtensions']['Image']	= array() ;
+
+$Config['AllowedExtensions']['Flash']	= array('swf','fla') ;
+$Config['DeniedExtensions']['Flash']	= array() ;
+
+?>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/upload/php/upload.php
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/upload/php/upload.php	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/upload/php/upload.php	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,100 @@
+<?php 
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: upload.php
+ * 	This is the "File Uploader" for PHP.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+require('config.php') ;
+require('util.php') ;
+
+// This is the function that sends the results of the uploading process.
+function SendResults( $errorNumber, $fileUrl = '', $fileName = '', $customMsg = '' )
+{
+	echo '<script type="text/javascript">' ;
+	echo 'window.parent.OnUploadCompleted(' . $errorNumber . ',"' . str_replace( '"', '\\"', $fileUrl ) . '","' . str_replace( '"', '\\"', $fileName ) . '", "' . str_replace( '"', '\\"', $customMsg ) . '") ;' ;
+	echo '</script>' ;
+	exit ;
+}
+
+// Check if this uploader has been enabled.
+if ( !$Config['Enabled'] )
+	SendResults( '1', '', '', 'This file uploader is disabled. Please check the "editor/filemanager/upload/php/config.php" file' ) ;
+
+// Check if the file has been correctly uploaded.
+if ( !isset( $_FILES['NewFile'] ) || is_null( $_FILES['NewFile']['tmp_name'] ) || $_FILES['NewFile']['name'] == '' )
+	SendResults( '202' ) ;
+
+// Get the posted file.
+$oFile = $_FILES['NewFile'] ;
+
+// Get the uploaded file name and extension.
+$sFileName = $oFile['name'] ;
+$sOriginalFileName = $sFileName ;
+$sExtension = substr( $sFileName, ( strrpos($sFileName, '.') + 1 ) ) ;
+$sExtension = strtolower( $sExtension ) ;
+
+// The the file type (from the QueryString, by default 'File').
+$sType = isset( $_GET['Type'] ) ? $_GET['Type'] : 'File' ;
+
+// Get the allowed and denied extensions arrays.
+$arAllowed	= $Config['AllowedExtensions'][$sType] ;
+$arDenied	= $Config['DeniedExtensions'][$sType] ;
+
+// Check if it is an allowed extension.
+if ( ( count($arAllowed) > 0 && !in_array( $sExtension, $arAllowed ) ) || ( count($arDenied) > 0 && in_array( $sExtension, $arDenied ) ) )
+	SendResults( '202' ) ;
+
+$sErrorNumber	= '0' ;
+$sFileUrl		= '' ;
+
+// Initializes the counter used to rename the file, if another one with the same name already exists.
+$iCounter = 0 ;
+
+// The the target directory.
+$sServerDir = GetRootPath() . $Config["UserFilesPath"] ;
+
+while ( true )
+{
+	// Compose the file path.
+	$sFilePath = $sServerDir . $sFileName ;
+
+	// If a file with that name already exists.
+	if ( is_file( $sFilePath ) )
+	{
+		$iCounter++ ;
+		$sFileName = RemoveExtension( $sOriginalFileName ) . '(' . $iCounter . ').' . $sExtension ;
+		$sErrorNumber = '201' ;
+	}
+	else
+	{
+		move_uploaded_file( $oFile['tmp_name'], $sFilePath ) ;
+
+		if ( is_file( $sFilePath ) )
+		{
+			$oldumask = umask(0) ;
+			chmod( $sFilePath, 0777 ) ;
+			umask( $oldumask ) ;
+		}
+		
+		$sFileUrl = $Config["UserFilesPath"] . $sFileName ;
+
+		break ;
+	}
+}
+
+SendResults( $sErrorNumber, $sFileUrl, $sFileName ) ;
+?>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/upload/php/util.php
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/upload/php/util.php	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/upload/php/util.php	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,36 @@
+<?php 
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: util.php
+ * 	This is the File Manager Connector for ASP.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+function RemoveExtension( $fileName )
+{
+	return substr( $fileName, 0, strrpos( $fileName, '.' ) ) ;
+}
+
+function GetRootPath()
+{
+	$sRealPath = realpath( './' ) ;
+
+	$sSelfPath = $_SERVER['PHP_SELF'] ;
+	$sSelfPath = substr( $sSelfPath, 0, strrpos( $sSelfPath, '/' ) ) ;
+
+	return substr( $sRealPath, 0, strlen( $sRealPath ) - strlen( $sSelfPath ) ) ;
+}
+
+?>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/upload/test.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/upload/test.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/filemanager/upload/test.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,127 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: test.html
+ * 	Test page for the "File Uploaders".
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<html>
+	<head>
+		<title>FCKeditor - Uploaders Tests</title>
+		<script language="javascript">
+
+function SendFile()
+{
+	var sUploaderUrl = cmbUploaderUrl.value ;
+	
+	if ( sUploaderUrl.length == 0 )
+		sUploaderUrl = txtCustomUrl.value ;
+	
+	if ( sUploaderUrl.length == 0 )
+	{
+		alert( 'Please provide your custom URL or select a default one' ) ;
+		return ;
+	}
+	
+	eURL.innerHTML = sUploaderUrl ;
+	txtUrl.value = '' ;
+	
+	frmUpload.action = sUploaderUrl ;
+	frmUpload.submit() ;
+}
+
+function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )
+{
+	switch ( errorNumber )
+	{
+		case 0 :	// No errors
+			txtUrl.value = fileUrl ;
+			alert( 'File uploaded with no errors' ) ;
+			break ;
+		case 1 :	// Custom error
+			alert( customMsg ) ;
+			break ;
+		case 10 :	// Custom warning
+			txtUrl.value = fileUrl ;
+			alert( customMsg ) ;
+			break ;
+		case 201 :
+			txtUrl.value = fileUrl ;
+			alert( 'A file with the same name is already available. The uploaded file has been renamed to "' + fileName + '"' ) ;
+			break ;
+		case 202 :
+			alert( 'Invalid file' ) ;
+			break ;
+		case 203 :
+			alert( "Security error. You probably don't have enough permissions to upload. Please check your server." ) ;
+			break ;
+		default :
+			alert( 'Error on file upload. Error number: ' + errorNumber ) ;
+			break ;
+	}
+}
+
+		</script>
+	</head>
+	<body>
+		<table cellSpacing="0" cellPadding="0" width="100%" border="0" height="100%">
+			<tr>
+				<td>
+					<table cellSpacing="0" cellPadding="0" width="100%" border="0">
+						<tr>
+							<td nowrap>
+								Select the "File Uploader" to use:<br>
+								<select id="cmbUploaderUrl" name="Select1">
+									<option selected value="asp/upload.asp">ASP</option>
+									<option value="aspx/upload.aspx">ASP.Net</option>
+									<option value="php/upload.php">PHP</option>
+									<option value="">(Custom)</option>
+								</select>
+							</td>
+							<td nowrap>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
+							<td width="100%">
+								Custom Uploader URL:<BR>
+								<input id="txtCustomUrl" style="WIDTH: 100%; BACKGROUND-COLOR: #dcdcdc" disabled type="text">
+							</td>
+						</tr>
+					</table>
+					<br>
+					<table cellSpacing="0" cellPadding="0" width="100%" border="0">
+						<tr>
+							<td noWrap>
+								<form id="frmUpload" target="UploadWindow" enctype="multipart/form-data" action="" method="post">
+									Upload a new file:<br>
+									<input type="file" name="NewFile"><br>
+									<input type="button" value="Send it to the Server" onclick="SendFile();">
+								</form>
+							</td>
+							<td style="WIDTH: 16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
+							<td vAlign="top" width="100%">
+								Uploaded File URL:<br>
+								<INPUT id="txtUrl" style="WIDTH: 100%" readonly type="text">
+							</td>
+						</tr>
+					</table>
+					<br>
+					Post URL: <span id="eURL">&nbsp;</span>
+				</td>
+			</tr>
+			<tr>
+				<td height="100%">
+					<iframe name="UploadWindow" width="100%" height="100%" src="../../fckblank.html"></iframe>
+				</td>
+			</tr>
+		</table>
+	</body>
+</html>

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/anchor.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/anchor.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/aiua.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/aiua.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/ak.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/ak.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/alien.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/alien.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/alien2.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/alien2.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/angry.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/angry.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/angry1.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/angry1.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/apophys.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/apophys.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/assjani.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/assjani.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/asthanos.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/asthanos.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/bazuzeus.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/bazuzeus.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/beaute.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/beaute.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/bigsmile.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/bigsmile.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/blush.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/blush.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/boid.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/boid.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/bonk.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/bonk.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/bored.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/bored.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/borg.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/borg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/capo.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/capo.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/confused.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/confused.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/cool.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/cool.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/crazy.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/crazy.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/cwm14.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/cwm14.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/demis_roussos.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/demis_roussos.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/devil.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/devil.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/devil2.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/devil2.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/double0smile.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/double0smile.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/eek3.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/eek3.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/eltaf.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/eltaf.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/gele.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/gele.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/halm.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/halm.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/happy.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/happy.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/icon12.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/icon12.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/icon23.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/icon23.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/icon26.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/icon26.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/icon_angel.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/icon_angel.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/icon_bandit.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/icon_bandit.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/icon_bravo.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/icon_bravo.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/icon_clown.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/icon_clown.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/jesors.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/jesors.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/jesors1.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/jesors1.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/lol3.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/lol3.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/love.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/love.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/mad.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/mad.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/megaphone.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/megaphone.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/mmm.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/mmm.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/music.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/music.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/notify.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/notify.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/nuts.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/nuts.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/obanon.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/obanon.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/ouaip.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/ouaip.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/pleure.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/pleure.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/plugin.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/plugin.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/question.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/question.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/question2.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/question2.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/rasta2.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/rasta2.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/rastapop.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/rastapop.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/rosebud.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/rosebud.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/sad.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/sad.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/sad2.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/sad2.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/shocked.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/shocked.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/sick.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/sick.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/sick2.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/sick2.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/slaap.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/slaap.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/sleep.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/sleep.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/smile.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/smile.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/smiley_peur.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/smiley_peur.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/sors.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/sors.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/sovxx.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/sovxx.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/spamafote.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/spamafote.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/tap67.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/tap67.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/thumbdown.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/thumbdown.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/thumbup.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/thumbup.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/tigi.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/tigi.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/toad666.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/toad666.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/tongue.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/tongue.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/tuffgong.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/tuffgong.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/urgeman.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/urgeman.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/vanadium.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/vanadium.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/wink.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/wink.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/worship.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/worship.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/wouaf.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/wouaf.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/wow.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/wow.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/xp1700.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/xp1700.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/yltype.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/yltype.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/yopyopyop.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/yopyopyop.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/youpi.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/youpi.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/zoor.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/fun/zoor.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/angel_smile.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/angel_smile.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/angry_smile.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/angry_smile.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/broken_heart.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/broken_heart.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/cake.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/cake.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/confused_smile.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/confused_smile.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/cry_smile.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/cry_smile.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/devil_smile.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/devil_smile.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/embaressed_smile.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/embaressed_smile.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/envelope.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/envelope.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/heart.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/heart.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/kiss.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/kiss.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/lightbulb.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/lightbulb.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/omg_smile.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/omg_smile.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/regular_smile.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/regular_smile.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/sad_smile.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/sad_smile.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/shades_smile.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/shades_smile.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/teeth_smile.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/teeth_smile.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/thumbs_down.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/thumbs_down.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/thumbs_up.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/thumbs_up.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/tounge_smile.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/tounge_smile.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/whatchutalkingabout_smile.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/whatchutalkingabout_smile.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/wink_smile.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/smiley/msn/wink_smile.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/images/spacer.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/images/spacer.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/js/fck_startup.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/js/fck_startup.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/js/fck_startup.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,24 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * This file has been compacted for best loading performance.
+ */
+var NS;if (!(NS=window.parent.__FCKeditorNS)) NS=window.parent.__FCKeditorNS=new Object();
+Array.prototype.addItem=function(A){var i=this.length;this[i]=A;return i;};Array.prototype.indexOf=function(A){for (var i=0;i<this.length;i++){if (this[i]==A) return i;};return-1;};String.prototype.startsWith=function(A){return (this.substr(0,A.length)==A);};String.prototype.endsWith=function(A,B){var C=this.length;var D=A.length;if (D>C) return false;if (B){var E=new RegExp(A+'$','i');return E.test(this);}else return (D==0||this.substr(C-D,D)==A);};String.prototype.remove=function(A,B){var s='';if (A>0) s=this.substring(0,A);if (A+B<this.length) s+=this.substring(A+B,this.length);return s;};String.prototype.trim=function(){return this.replace(/(^\s*)|(\s*$)/g,'');};String.prototype.ltrim=function(){return this.replace(/^\s*/g,'');};String.prototype.rtrim=function(){return this.replace(/\s*$/g,'');};String.prototype.replaceNewLineChars=function(A){return this.replace(/\n/g,A);}
+var FCK_STATUS_NOTLOADED=window.parent.FCK_STATUS_NOTLOADED=0;var FCK_STATUS_ACTIVE=window.parent.FCK_STATUS_ACTIVE=1;var FCK_STATUS_COMPLETE=window.parent.FCK_STATUS_COMPLETE=2;var FCK_TRISTATE_OFF=window.parent.FCK_TRISTATE_OFF=0;var FCK_TRISTATE_ON=window.parent.FCK_TRISTATE_ON=1;var FCK_TRISTATE_DISABLED=window.parent.FCK_TRISTATE_DISABLED=-1;var FCK_UNKNOWN=window.parent.FCK_UNKNOWN=-1000;var FCK_TOOLBARITEM_ONLYICON=window.parent.FCK_TOOLBARITEM_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 FCKBrowserInfo;if (!(FCKBrowserInfo=NS.FCKBrowserInfo)){FCKBrowserInfo=NS.FCKBrowserInfo=new Object();var sAgent=navigator.userAgent.toLowerCase();FCKBrowserInfo.IsIE=(sAgent.indexOf("msie")!=-1);FCKBrowserInfo.IsGecko=!FCKBrowserInfo.IsIE;FCKBrowserInfo.IsSafari=(sAgent.indexOf("safari")!=-1);FCKBrowserInfo.IsNetscape=(sAgent.indexOf("netscape")!=-1);};
+var FCKScriptLoader=new Object();FCKScriptLoader.IsLoading=false;FCKScriptLoader.Queue=new Array();FCKScriptLoader.AddScript=function(A){FCKScriptLoader.Queue[FCKScriptLoader.Queue.length]=A;if (!this.IsLoading) this.CheckQueue();};FCKScriptLoader.CheckQueue=function(){if (this.Queue.length>0){this.IsLoading=true;var A=this.Queue[0];var B=new Array();for (i=1;i<this.Queue.length;i++) B[i-1]=this.Queue[i];this.Queue=B;this.LoadFile(A);}else{this.IsLoading=false;if (this.OnEmpty) this.OnEmpty();};};if (FCKBrowserInfo.IsSafari){FCKScriptLoader.LoadFile=function(A){if (A.lastIndexOf('.css')>0){this.CheckQueue();return;};var B=new XMLHttpRequest();B.open("GET",A,false);B.send(null);if (B.status==200){try{eval(B.responseText);}catch (e){alert('Error parsing '+A+': '+e.message);};}else alert('Error loading '+A);this.CheckQueue();};}else{FCKScriptLoader.LoadFile=function(A){var e;if (A.lastIndexOf('.css')>0){e=document.createElement('LINK');e.rel='stylesheet';e.type='text/css';}else{e=document.createElement("script");e.type="text/javascript";};document.getElementsByTagName("head")[0].appendChild(e);if (e.tagName=='LINK'){if (FCKBrowserInfo.IsIE) e.onload=FCKScriptLoader_OnLoad;else FCKScriptLoader.CheckQueue();e.href=A;}else{e.onload=e.onreadystatechange=FCKScriptLoader_OnLoad;e.src=A;};};function FCKScriptLoader_OnLoad(){if (this.tagName=='LINK'||!this.readyState||this.readyState=='loaded') FCKScriptLoader.CheckQueue();};}
+var FCKURLParams=new Object();var aParams=document.location.search.substr(1).split('&');for (var i=0;i<aParams.length;i++){var aParam=aParams[i].split('=');var sParamName=aParam[0];var sParamValue=aParam[1];FCKURLParams[sParamName]=sParamValue;}
+var FCK=new Object();FCK.Name=FCKURLParams['InstanceName'];FCK.Status=FCK_STATUS_NOTLOADED;FCK.EditMode=FCK_EDITMODE_WYSIWYG;var aElements=window.parent.document.getElementsByName(FCK.Name);aElements[aElements.length]=window.parent.document.getElementById(FCK.Name);var i=0;while ((FCK.LinkedField=aElements[i++])){if (FCK.LinkedField.tagName=='INPUT'||FCK.LinkedField.tagName=='TEXTAREA') break;};var FCKTempBin=new Object();FCKTempBin.Elements=new Array();FCKTempBin.AddElement=function(A){var B=FCKTempBin.Elements.length;FCKTempBin.Elements[B]=A;return B;};FCKTempBin.RemoveElement=function(A){var e=FCKTempBin.Elements[A];FCKTempBin.Elements[A]=null;return e;};FCKTempBin.Reset=function(){var i=0;while (i<FCKTempBin.Elements.length) FCKTempBin.Elements[i++]==null;FCKTempBin.Elements.length=0;}
+var FCKConfig=FCK.Config=new Object();if (document.location.protocol=='file:'){FCKConfig.BasePath=document.location.pathname.substr(1);FCKConfig.BasePath=FCKConfig.BasePath.replace(/\\/gi, '/');FCKConfig.BasePath='file://'+FCKConfig.BasePath.substring(0,FCKConfig.BasePath.lastIndexOf('/')+1);}else{FCKConfig.BasePath=document.location.pathname.substring(0,document.location.pathname.lastIndexOf('/')+1);FCKConfig.FullBasePath=document.location.protocol+'//'+document.location.host+FCKConfig.BasePath;};FCKConfig.EditorPath=FCKConfig.BasePath.replace(/editor\/$/,'');try{FCKConfig.ScreenWidth=screen.width;FCKConfig.ScreenHeight=screen.height;}catch (e){FCKConfig.ScreenWidth=800;FCKConfig.ScreenHeight=600;};FCKConfig.ProcessHiddenField=function(){this.PageConfig=new Object();var A=window.parent.document.getElementById(FCK.Name+'___Config');if (!A) return;var B=A.value.split('&');for (var i=0;i<B.length;i++){if (B[i].length==0) continue;var C=B[i].split('=');var D=unescape(C[0]);var E=unescape(C[1]);if (D=='CustomConfigurationsPath') FCKConfig[D]=E;else if (E.toLowerCase()=="true") this.PageConfig[D]=true;else if (E.toLowerCase()=="false") this.PageConfig[D]=false;else if (!isNaN(E)) this.PageConfig[D]=parseInt(E);else this.PageConfig[D]=E;};};FCKConfig.LoadPageConfig=function(){for (var A in this.PageConfig) FCKConfig[A]=this.PageConfig[A];};FCKConfig.ToolbarSets=new Object();FCKConfig.Plugins=new Object();FCKConfig.Plugins.Items=new Array();FCKConfig.Plugins.Add=function(A,B,C){FCKConfig.Plugins.Items.addItem([A,B,C]);};FCKConfig.ProtectedSource=new Object();FCKConfig.ProtectedSource.RegexEntries=new Array();FCKConfig.ProtectedSource.Add=function(A){this.RegexEntries.addItem(A);};FCKConfig.ProtectedSource.Protect=function(A){function _Replace(protectedSource){var B=FCKTempBin.AddElement(protectedSource);return '<!--{PS..'+B+'}-->';};for (var i=0;i<this.RegexEntries.length;i++){A=A.replace(this.RegexEntries[i],_Replace);};return A;};FCKConfig.ProtectedSource.Revert=function(A,B){function _Replace(m,opener,index){var C=B?FCKTempBin.RemoveElement(index):FCKTempBin.Elements[index];return FCKConfig.ProtectedSource.Revert(C,B);};return A.replace(/(<|&lt;)!--\{PS..(\d+)\}--(>|&gt;)/g,_Replace);};FCKConfig.ProtectedSource.Add(/<!--[\s\S]*?-->/g);
+var FCKeditorAPI;function FCKeditorAPI_GetInstance(instanceName){return this.__Instances[instanceName];};if (!window.parent.FCKeditorAPI){FCKeditorAPI=window.parent.FCKeditorAPI=new Object();FCKeditorAPI.__Instances=new Object();FCKeditorAPI.Version='2.1.1';FCKeditorAPI.GetInstance=FCKeditorAPI_GetInstance;}else FCKeditorAPI=window.parent.FCKeditorAPI;FCKeditorAPI.__Instances[FCK.Name]=FCK;
+function Window_OnContextMenu(e){if (e) e.preventDefault();else{if (event.srcElement==document.getElementById('eSourceField')) return true;};return false;};window.document.oncontextmenu=Window_OnContextMenu;if (FCKBrowserInfo.IsGecko){function Window_OnResize(){var oFrame=document.getElementById('eEditorArea');oFrame.height=0;var oCell=document.getElementById(FCK.EditMode==FCK_EDITMODE_WYSIWYG?'eWysiwygCell':'eSource');var iHeight=oCell.offsetHeight;oFrame.height=iHeight-2;};window.onresize=Window_OnResize;};if (FCKBrowserInfo.IsIE){var aCleanupDocs=new Array();aCleanupDocs[0]=document;function Window_OnBeforeUnload(){var d,e;var j=0;while ((d=aCleanupDocs[j++])){var i=0;while ((e=d.getElementsByTagName("DIV").item(i++))){if (e.FCKToolbarButton) e.FCKToolbarButton=null;if (e.FCKSpecialCombo) e.FCKSpecialCombo=null;if (e.Command) e.Command=null;};i=0;while ((e=d.getElementsByTagName("TR").item(i++))){if (e.FCKContextMenuItem) e.FCKContextMenuItem=null;};aCleanupDocs[j]=null;};if (typeof(FCKTempBin)!='undefined') FCKTempBin.Reset();};window.attachEvent("onunload",Window_OnBeforeUnload);};function Window_OnLoad(){if (FCKBrowserInfo.IsNetscape) document.getElementById('eWysiwygCell').style.paddingRight='2px';LoadConfigFile();};window.onload=Window_OnLoad;function LoadConfigFile(){FCKScriptLoader.OnEmpty=ProcessHiddenField;FCKScriptLoader.AddScript('../fckconfig.js');};function ProcessHiddenField(){FCKConfig.ProcessHiddenField();LoadCustomConfigFile();};function LoadCustomConfigFile(){if (FCKConfig.CustomConfigurationsPath.length>0){FCKScriptLoader.OnEmpty=LoadPageConfig;FCKScriptLoader.AddScript(FCKConfig.CustomConfigurationsPath);}else{LoadPageConfig();};};function LoadPageConfig(){FCKConfig.LoadPageConfig();LoadStyles();};function LoadStyles(){FCKScriptLoader.OnEmpty=LoadScripts;FCKScriptLoader.AddScript(FCKConfig.SkinPath+'fck_editor.css');FCKScriptLoader.AddScript(FCKConfig.SkinPath+'fck_contextmenu.css');};function LoadScripts(){FCKScriptLoader.OnEmpty=null;if (FCKBrowserInfo.IsIE) FCKScriptLoader.AddScript('js/fckeditorcode_ie_1.js');else FCKScriptLoader.AddScript('js/fckeditorcode_gecko_1.js');};function LoadLanguageFile(){FCKScriptLoader.OnEmpty=LoadEditor;FCKScriptLoader.AddScript('lang/'+FCKLanguageManager.ActiveLanguage.Code+'.js');};function LoadEditor(){FCKScriptLoader.OnEmpty=null;if (FCKLang) window.document.dir=FCKLang.Dir;FCK.StartEditor();}

Added: zope.html/trunk/src/zope/html/fckeditor/editor/js/fckeditorcode_gecko_1.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/js/fckeditorcode_gecko_1.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/js/fckeditorcode_gecko_1.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,27 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * This file has been compacted for best loading performance.
+ */
+var FCKDebug=new Object();if (FCKConfig.Debug){FCKDebug.Output=function(A,B){if (!FCKConfig.Debug) return;if (A!=null&&isNaN(A)) A=A.replace(/</g,"&lt;");if (!this.DebugWindow||this.DebugWindow.closed) this.DebugWindow=window.open('fckdebug.html','FCKeditorDebug','menubar=no,scrollbars=no,resizable=yes,location=no,toolbar=no,width=600,height=500',true);if (this.DebugWindow.Output) this.DebugWindow.Output(A,B);};}else FCKDebug.Output=function() {};
+var FCKTools=new Object();FCKTools.GetLinkedFieldValue=function(){return FCK.LinkedField.value;};FCKTools.AttachToLinkedFieldFormSubmit=function(A){var B=FCK.LinkedField.form;if (!B) return;if (FCKBrowserInfo.IsIE) B.attachEvent("onsubmit",A);else B.addEventListener('submit',A,true);if (!B.updateFCKeditor) B.updateFCKeditor=new Array();B.updateFCKeditor[B.updateFCKeditor.length]=A;if (!B.originalSubmit&&(typeof(B.submit)=='function'||(!B.submit.tagName&&!B.submit.length))){B.originalSubmit=B.submit;B.submit=FCKTools_SubmitReplacer;};};function FCKTools_SubmitReplacer(){if (this.updateFCKeditor){for (var i=0;i<this.updateFCKeditor.length;i++) this.updateFCKeditor[i]();};this.originalSubmit();};FCKTools.AddSelectOption=function(A,B,C,D){var E=A.createElement("OPTION");E.text=C;E.value=D;B.options.add(E);return E;};FCKTools.RemoveAllSelectOptions=function(A){for (var i=A.options.length-1;i>=0;i--){A.options.remove(i);};};FCKTools.SelectNoCase=function(A,B,C){var D=B.toString().toLowerCase();for (var i=0;i<A.options.length;i++){if (D==A.options[i].value.toLowerCase()){A.selectedIndex=i;return;};};if (C!=null) FCKTools.SelectNoCase(A,C);};FCKTools.HTMLEncode=function(A){if (!A) return '';A=A.replace(/&/g,"&amp;");A=A.replace(/"/g,"&quot;");A=A.replace(/</g,"&lt;");A=A.replace(/>/g,"&gt;");A=A.replace(/'/g,"&#39;");return A;};FCKTools.GetResultingArray=function(A,B){switch (typeof(A)){case "string":return A.split(B);case "function":return B();default:if (isArray(A)) return A;else return new Array();};};FCKTools.GetElementPosition=function(A){var c={ X:0,Y:0 };while (A){c.X+=A.offsetLeft;c.Y+=A.offsetTop;A=A.offsetParent;};return c;};FCKTools.GetElementAscensor=function(A,B){var e=A;var C=","+B.toUpperCase()+",";while (e){if (C.indexOf(","+e.nodeName.toUpperCase()+",")!=-1) return e;e=e.parentNode;};return null;};FCKTools.Pause=function(A){var B=new Date();while (true){var C=new Date();if (A<C-B) return;};};FCKTools.ConvertStyleSizeToHtml=function(A){return A.endsWith('%')?A:parseInt(A);};FCKTools.ConvertHtmlSizeToStyle=function(A){return A.endsWith('%')?A:(A+'px');};
+var GECKO_BOGUS='<br _moz_editor_bogus_node="TRUE">';FCKTools.AppendStyleSheet=function(A,B){var e=A.createElement('LINK');e.rel='stylesheet';e.type='text/css';e.href=B;A.getElementsByTagName("HEAD")[0].appendChild(e);return e;};FCKTools.ClearElementAttributes=function(A){for (var i=0;i<A.attributes.length;i++){A.removeAttribute(A.attributes[i].name,0);};};FCKTools.GetAllChildrenIds=function(A){var B=new Array();var C=function(parent){for (var i=0;i<parent.childNodes.length;i++){var D=parent.childNodes[i].id;if (D&&D.length>0) B[B.length]=D;C(parent.childNodes[i]);};};C(A);return B;};FCKTools.RemoveOuterTags=function(e){var A=e.ownerDocument.createDocumentFragment();for (var i=0;i<e.childNodes.length;i++) A.appendChild(e.childNodes[i]);e.parentNode.replaceChild(A,e);};FCKTools.CreateXmlObject=function(A){switch (A){case 'XmlHttp':return new XMLHttpRequest();case 'DOMDocument':return document.implementation.createDocument('','',null);};return null;};
+var FCKRegexLib=new Object();FCKRegexLib.AposEntity=/&apos;/gi;FCKRegexLib.ObjectElements=/^(?:IMG|TABLE|TR|TD|INPUT|SELECT|TEXTAREA|HR|OBJECT)$/i;FCKRegexLib.BlockElements=/^(?:P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TD)$/i;FCKRegexLib.EmptyElements=/^(?:BASE|META|LINK|HR|BR|PARAM|IMG|AREA|INPUT)$/i;FCKRegexLib.NamedCommands=/^(?:Cut|Copy|Paste|Print|SelectAll|RemoveFormat|Unlink|Undo|Redo|Bold|Italic|Underline|StrikeThrough|Subscript|Superscript|JustifyLeft|JustifyCenter|JustifyRight|JustifyFull|Outdent|Indent|InsertOrderedList|InsertUnorderedList|InsertHorizontalRule)$/i;FCKRegexLib.BodyContents=/([\s\S]*\<body[^\>]*\>)([\s\S]*)(\<\/body\>[\s\S]*)/i;FCKRegexLib.ToReplace=/___fcktoreplace:([\w]+)/ig;FCKRegexLib.MetaHttpEquiv=/http-equiv\s*=\s*["']?([^"' ]+)/i;FCKRegexLib.HasBaseTag=/<base /i;FCKRegexLib.HeadOpener=/<head\s?[^>]*>/i;FCKRegexLib.HeadCloser=/<\/head\s*>/i;FCKRegexLib.TableBorderClass=/\s*FCK__ShowTableBorders\s*/;FCKRegexLib.ElementName=/^[A-Za-z_:][\w.-:]*$/;FCKRegexLib.ForceSimpleAmpersand=/___FCKAmp___/g;FCKRegexLib.SpaceNoClose=/\/>/g;FCKRegexLib.EmptyParagraph=/^<(p|div)>\s*<\/\1>$/i;FCKRegexLib.TagBody=/></;FCKRegexLib.StrongOpener=/<STRONG([ \>])/gi;FCKRegexLib.StrongCloser=/<\/STRONG>/gi;FCKRegexLib.EmOpener=/<EM([ \>])/gi;FCKRegexLib.EmCloser=/<\/EM>/gi;FCKRegexLib.GeckoEntitiesMarker=/#\?-\:/g;
+FCKLanguageManager.GetActiveLanguage=function(){if (FCKConfig.AutoDetectLanguage){var A;if (navigator.userLanguage) A=navigator.userLanguage.toLowerCase();else if (navigator.language) A=navigator.language.toLowerCase();else{return FCKConfig.DefaultLanguage;};if (A.length>=5){A=A.substr(0,5);if (this.AvailableLanguages[A]) return A;};if (A.length>=2){A=A.substr(0,2);if (this.AvailableLanguages[A]) return A;};};return this.DefaultLanguage;};FCKLanguageManager.TranslateElements=function(A,B,C){var e=A.getElementsByTagName(B);for (var i=0;i<e.length;i++){var D=e[i].getAttribute('fckLang');if (D){var s=FCKLang[D];if (s) eval('e[i].'+C+' = s');};};};FCKLanguageManager.TranslatePage=function(A){this.TranslateElements(A,'INPUT','value');this.TranslateElements(A,'SPAN','innerHTML');this.TranslateElements(A,'LABEL','innerHTML');this.TranslateElements(A,'OPTION','innerHTML');};if (FCKLanguageManager.AvailableLanguages[FCKConfig.DefaultLanguage]) FCKLanguageManager.DefaultLanguage=FCKConfig.DefaultLanguage;else FCKLanguageManager.DefaultLanguage='en';FCKLanguageManager.ActiveLanguage=new Object();FCKLanguageManager.ActiveLanguage.Code=FCKLanguageManager.GetActiveLanguage();FCKLanguageManager.ActiveLanguage.Name=FCKLanguageManager.AvailableLanguages[FCKLanguageManager.ActiveLanguage.Code];FCK.Language=FCKLanguageManager;LoadLanguageFile();
+var FCKEvents;if (!(FCKEvents=NS.FCKEvents)){FCKEvents=NS.FCKEvents=function(A){this.Owner=A;this.RegisteredEvents=new Object();};FCKEvents.prototype.AttachEvent=function(A,B){if (!this.RegisteredEvents[A]) this.RegisteredEvents[A]=new Array();this.RegisteredEvents[A][this.RegisteredEvents[A].length]=B;};FCKEvents.prototype.FireEvent=function(A,B){var C=true;var D=this.RegisteredEvents[A];if (D){for (var i=0;i<D.length;i++) C=(D[i](this.Owner,B)&&C);};return C;};}
+var FCKXHtmlEntities=new Object();if (FCKConfig.ProcessHTMLEntities){FCKXHtmlEntities.Entities={' ':'nbsp','¡':'iexcl','¢':'cent','£':'pound','¤':'curren','¥':'yen','¦':'brvbar','§':'sect','¨':'uml','©':'copy','ª':'ordf','«':'laquo','¬':'not','­':'shy','®':'reg','¯':'macr','°':'deg','±':'plusmn','²':'sup2','³':'sup3','´':'acute','µ':'micro','¶':'para','·':'middot','¸':'cedil','¹':'sup1','º':'ordm','»':'raquo','¼':'frac14','½':'frac12','¾':'frac34','¿':'iquest','×':'times','÷':'divide','ƒ':'fnof','•':'bull','…':'hellip','′':'prime','″':'Prime','‾':'oline','⁄':'frasl','℘':'weierp','ℑ':'image','ℜ':'real','™':'trade','ℵ':'alefsym','←':'larr','↑':'uarr','→':'rarr','↓':'darr','↔':'harr','↵':'crarr','⇐':'lArr','⇑':'uArr','⇒':'rArr','⇓':'dArr','⇔':'hArr','∀':'forall','∂':'part','∃':'exist','∅':'empty','∇':'nabla','∈':'isin','∉':'notin','∋':'ni','∏':'prod','∑':'sum','−':'minus','∗':'lowast','√':'radic','∝':'prop','∞':'infin','∠':'ang','∧':'and','∨':'or','∩':'cap','∪':'cup','∫':'int','∴':'there4','∼':'sim','≅':'cong','≈':'asymp','≠':'ne','≡':'equiv','≤':'le','≥':'ge','⊂':'sub','⊃':'sup','⊄':'nsub','⊆':'sube','⊇':'supe','⊕':'oplus','⊗':'otimes','⊥':'perp','⋅':'sdot','◊':'loz','♠':'spades','♣':'clubs','♥':'hearts','♦':'diams','"':'quot','ˆ':'circ','˜':'tilde',' ':'ensp',' ':'emsp',' ':'thinsp','‌':'zwnj','‍':'zwj','‎':'lrm','‏':'rlm','–':'ndash','—':'mdash','‘':'lsquo','’':'rsquo','‚':'sbquo','“':'ldquo','”':'rdquo','„':'bdquo','†':'dagger','‡':'Dagger','‰':'permil','‹':'lsaquo','›':'rsaquo','€':'euro'};FCKXHtmlEntities.Chars='';for (var e in FCKXHtmlEntities.Entities) FCKXHtmlEntities.Chars+=e;if (FCKConfig.IncludeLatinEntities){var oEntities={'À':'Agrave','Á':'Aacute','Â':'Acirc','Ã':'Atilde','Ä':'Auml','Å':'Aring','Æ':'AElig','Ç':'Ccedil','È':'Egrave','É':'Eacute','Ê':'Ecirc','Ë':'Euml','Ì':'Igrave','Í':'Iacute','Î':'Icirc','Ï':'Iuml','Ð':'ETH','Ñ':'Ntilde','Ò':'Ograve','Ó':'Oacute','Ô':'Ocirc','Õ':'Otilde','Ö':'Ouml','Ø':'Oslash','Ù':'Ugrave','Ú':'Uacute','Û':'Ucirc','Ü':'Uuml','Ý':'Yacute','Þ':'THORN','ß':'szlig','à':'agrave','á':'aacute','â':'acirc','ã':'atilde','ä':'auml','å':'aring','æ':'aelig','ç':'ccedil','è':'egrave','é':'eacute','ê':'ecirc','ë':'euml','ì':'igrave','í':'iacute','î':'icirc','ï':'iuml','ð':'eth','ñ':'ntilde','ò':'ograve','ó':'oacute','ô':'ocirc','õ':'otilde','ö':'ouml','ø':'oslash','ù':'ugrave','ú':'uacute','û':'ucirc','ü':'uuml','ý':'yacute','þ':'thorn','ÿ':'yuml','Œ':'OElig','œ':'oelig','Š':'Scaron','š':'scaron','Ÿ':'Yuml'};for (var e in oEntities){FCKXHtmlEntities.Entities[e]=oEntities[e];FCKXHtmlEntities.Chars+=e;};oEntities=null;};if (FCKConfig.IncludeGreekEntities){var oEntities={'Α':'Alpha','Β':'Beta','Γ':'Gamma','Δ':'Delta','Ε':'Epsilon','Ζ':'Zeta','Η':'Eta','Θ':'Theta','Ι':'Iota','Κ':'Kappa','Λ':'Lambda','Μ':'Mu','Ν':'Nu','Ξ':'Xi','Ο':'Omicron','Π':'Pi','Ρ':'Rho','Σ':'Sigma','Τ':'Tau','Υ':'Upsilon','Φ':'Phi','Χ':'Chi','Ψ':'Psi','Ω':'Omega','α':'alpha','β':'beta','γ':'gamma','δ':'delta','ε':'epsilon','ζ':'zeta','η':'eta','θ':'theta','ι':'iota','κ':'kappa','λ':'lambda','μ':'mu','ν':'nu','ξ':'xi','ο':'omicron','π':'pi','ρ':'rho','ς':'sigmaf','σ':'sigma','τ':'tau','υ':'upsilon','φ':'phi','χ':'chi','ψ':'psi','ω':'omega'};for (var e in oEntities){FCKXHtmlEntities.Entities[e]=oEntities[e];FCKXHtmlEntities.Chars+=e;};oEntities=null;};FCKXHtmlEntities.EntitiesRegex=new RegExp('','');FCKXHtmlEntities.EntitiesRegex.compile('['+FCKXHtmlEntities.Chars+']|[^'+FCKXHtmlEntities.Chars+']+','g');}else{FCKXHtmlEntities.Entities={ ' ':'nbsp' };FCKXHtmlEntities.EntitiesRegex=/[ ]|[^ ]+/g;}
+var FCKXHtml=new Object();FCKXHtml.CurrentJobNum=0;FCKXHtml.GetXHTML=function(A,B,C){FCKXHtml.SpecialBlocks=new Array();this.XML=FCKTools.CreateXmlObject('DOMDocument');this.MainNode=this.XML.appendChild(this.XML.createElement('xhtml'));FCKXHtml.CurrentJobNum++;if (B) this._AppendNode(this.MainNode,A);else this._AppendChildNodes(this.MainNode,A,false);var D=this._GetMainXmlString();D=D.substr(7,D.length-15).trim();if (FCKBrowserInfo.IsGecko) D=D.replace(/<br\/>$/,'');D=D.replace(FCKRegexLib.SpaceNoClose,' />');if (FCKConfig.ForceSimpleAmpersand) D=D.replace(FCKRegexLib.ForceSimpleAmpersand,'&');if (C) D=FCKCodeFormatter.Format(D);for (var i=0;i<FCKXHtml.SpecialBlocks.length;i++){var E=new RegExp('___FCKsi___'+i);D=D.replace(E,FCKXHtml.SpecialBlocks[i]);};this.XML=null;return D};FCKXHtml._AppendAttribute=function(A,B,C){try{var D=this.XML.createAttribute(B);D.value=C?C:'';A.attributes.setNamedItem(D);}catch (e){};};FCKXHtml._AppendChildNodes=function(A,B,C){var D=0;if (B.hasChildNodes()){var E=B.childNodes;for (var i=0;i<E.length;i++){if (this._AppendNode(A,E[i])) D++;};};if (D==0){if (C&&FCKConfig.FillEmptyBlocks){this._AppendEntity(A,'nbsp');return;};if (!FCKRegexLib.EmptyElements.test(B.nodeName)) A.appendChild(this.XML.createTextNode(''));};};FCKXHtml._AppendNode=function(A,B){switch (B.nodeType){case 1:if (B.getAttribute('_fckfakelement')) return FCKXHtml._AppendNode(A,FCK.GetRealElement(B));if (FCKBrowserInfo.IsGecko&&B.hasAttribute('_moz_editor_bogus_node')) return false;if (B.getAttribute('_fckdelete')) return false;var C=B.nodeName;if (!FCKRegexLib.ElementName.test(C)) return false;C=C.toLowerCase();if (FCKBrowserInfo.IsGecko&&C=='br'&&B.hasAttribute('type')&&B.getAttribute('type',2)=='_moz') return false;if (B._fckxhtmljob&&B._fckxhtmljob==FCKXHtml.CurrentJobNum) return false;else B._fckxhtmljob=FCKXHtml.CurrentJobNum;var D=this._CreateNode(C);FCKXHtml._AppendAttributes(A,B,D,C);var E=FCKXHtml.TagProcessors[C];if (E){D=E(D,B);if (!D) break;}else this._AppendChildNodes(D,B,FCKRegexLib.BlockElements.test(C));A.appendChild(D);break;case 3:this._AppendTextNode(A,B.nodeValue.replaceNewLineChars(' '));break;case 8:try { A.appendChild(this.XML.createComment(B.nodeValue));}catch (e) { /* Do nothing... probably this is a wrong format comment. */};break;default:A.appendChild(this.XML.createComment("Element not supported - Type: "+B.nodeType+" Name: "+B.nodeName));break;};return true;};if (FCKConfig.ForceStrongEm){FCKXHtml._CreateNode=function(A){switch (A){case 'b':A='strong';break;case 'i':A='em';break;};return this.XML.createElement(A);};}else{FCKXHtml._CreateNode=function(A){return this.XML.createElement(A);};};FCKXHtml._AppendSpecialItem=function(A){return '___FCKsi___'+FCKXHtml.SpecialBlocks.addItem(A);};FCKXHtml._AppendTextNode=function(A,B){var C=B.match(FCKXHtmlEntities.EntitiesRegex);if (C){for (var i=0;i<C.length;i++){if (C[i].length==1){var D=FCKXHtmlEntities.Entities[C[i]];if (D!=null){this._AppendEntity(A,D);continue;};};A.appendChild(this.XML.createTextNode(C[i]));};};};FCKXHtml.TagProcessors=new Object();FCKXHtml.TagProcessors['img']=function(A){if (!A.attributes.getNamedItem('alt')) FCKXHtml._AppendAttribute(A,'alt','');return A;};FCKXHtml.TagProcessors['script']=function(A,B){if (!A.attributes.getNamedItem('type')) FCKXHtml._AppendAttribute(A,'type','text/javascript');A.appendChild(FCKXHtml.XML.createTextNode(FCKXHtml._AppendSpecialItem(B.text)));return A;};FCKXHtml.TagProcessors['style']=function(A,B){if (B.getAttribute('_fcktemp')) return null;if (!A.attributes.getNamedItem('type')) FCKXHtml._AppendAttribute(A,'type','text/css');A.appendChild(FCKXHtml.XML.createTextNode(FCKXHtml._AppendSpecialItem(B.innerHTML)));return A;};FCKXHtml.TagProcessors['title']=function(A,B){A.appendChild(FCKXHtml.XML.createTextNode(FCK.EditorDocument.title));return A;};FCKXHtml.TagProcessors['base']=function(A,B){if (B.getAttribute('_fcktemp')) return null;return A;};FCKXHtml.TagProcessors['link']=function(A,B){if (B.getAttribute('_fcktemp')) return null;return A;};FCKXHtml.TagProcessors['table']=function(A,B){var C=A.attributes.getNamedItem('class');if (C&&FCKRegexLib.TableBorderClass.test(C.nodeValue)){var D=C.nodeValue.replace(FCKRegexLib.TableBorderClass,'');if (D.length==0) A.attributes.removeNamedItem('class');else FCKXHtml._AppendAttribute(A,'class',D);};FCKXHtml._AppendChildNodes(A,B,false);return A;}
+FCKXHtml._GetMainXmlString=function(){var A=new XMLSerializer();return A.serializeToString(this.MainNode).replace(FCKRegexLib.GeckoEntitiesMarker,'&');};FCKXHtml._AppendEntity=function(A,B){A.appendChild(this.XML.createTextNode('#?-:'+B+';'));};FCKXHtml._AppendAttributes=function(A,B,C){var D=B.attributes;for (var n=0;n<D.length;n++){var E=D[n];if (E.specified){var F=E.nodeName.toLowerCase();var G;if (F=='_fckxhtmljob') continue;else if (F.indexOf('_moz')==0) continue;else if (F=='class') G=E.nodeValue;else if (E.nodeValue===true) G=F;else G=B.getAttribute(F,2);if (FCKConfig.ForceSimpleAmpersand&&G.replace) G=G.replace(/&/g,'___FCKAmp___');this._AppendAttribute(C,F,G);};};}
+var FCKCodeFormatter;if (!(FCKCodeFormatter=NS.FCKCodeFormatter)){FCKCodeFormatter=NS.FCKCodeFormatter=new Object();FCKCodeFormatter.Regex=new Object();FCKCodeFormatter.Regex.BlocksOpener=/\<(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TITLE|META|LINK|BASE|SCRIPT|LINK|TD|AREA|OPTION)[^\>]*\>/gi;FCKCodeFormatter.Regex.BlocksCloser=/\<\/(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TITLE|META|LINK|BASE|SCRIPT|LINK|TD|AREA|OPTION)[^\>]*\>/gi;FCKCodeFormatter.Regex.NewLineTags=/\<(BR|HR)[^\>]\>/gi;FCKCodeFormatter.Regex.MainTags=/\<\/?(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR)[^\>]*\>/gi;FCKCodeFormatter.Regex.LineSplitter=/\s*\n+\s*/g;FCKCodeFormatter.Regex.IncreaseIndent=/^\<(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR|UL|OL)[ \/\>]/i;FCKCodeFormatter.Regex.DecreaseIndent=/^\<\/(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR|UL|OL)[ \>]/i;FCKCodeFormatter.Regex.FormatIndentatorRemove=new RegExp(FCKConfig.FormatIndentator);FCKCodeFormatter.Format=function(A){var B=A.replace(this.Regex.BlocksOpener,'\n$&');;B=B.replace(this.Regex.BlocksCloser,'$&\n');B=B.replace(this.Regex.NewLineTags,'$&\n');B=B.replace(this.Regex.MainTags,'\n$&\n');var C='';var D=B.split(this.Regex.LineSplitter);B='';for (var i=0;i<D.length;i++){var E=D[i];if (E.length==0) continue;if (this.Regex.DecreaseIndent.test(E)) C=C.replace(this.Regex.FormatIndentatorRemove,'');B+=C+E+'\n';if (this.Regex.IncreaseIndent.test(E)) C+=FCKConfig.FormatIndentator;};return B.trim();};}
+var FCKUndo=new Object();FCKUndo.SaveUndoStep=function(){}
+FCK.Events=new FCKEvents(FCK);FCK.Toolbar=null;FCK.TempBaseTag=FCKConfig.BaseHref.length>0?'<base href="'+FCKConfig.BaseHref+'" _fcktemp="true"></base>':'';FCK.StartEditor=function(){this.EditorWindow=window.frames['eEditorArea'];this.EditorDocument=this.EditorWindow.document;this.SetHTML(FCKTools.GetLinkedFieldValue());FCKTools.AttachToLinkedFieldFormSubmit(this.UpdateLinkedField);FCKUndo.SaveUndoStep();this.SetStatus(FCK_STATUS_ACTIVE);};function Window_OnFocus(){FCK.Focus();};FCK.SetStatus=function(A){this.Status=A;if (A==FCK_STATUS_ACTIVE){window.onfocus=window.document.body.onfocus=Window_OnFocus;if (FCKConfig.StartupFocus) FCK.Focus();if (FCKBrowserInfo.IsIE) FCKScriptLoader.AddScript('js/fckeditorcode_ie_2.js');else FCKScriptLoader.AddScript('js/fckeditorcode_gecko_2.js');};this.Events.FireEvent('OnStatusChange',A);};FCK.GetHTML=function(A){var B;if (FCK.EditMode==FCK_EDITMODE_WYSIWYG){if (FCKBrowserInfo.IsIE) B=this.EditorDocument.body.innerHTML.replace(FCKRegexLib.ToReplace,'$1');else B=this.EditorDocument.body.innerHTML;}else B=document.getElementById('eSourceField').value;if (A) return FCKCodeFormatter.Format(B);else return B;};FCK.GetXHTML=function(A){var B=(FCK.EditMode==FCK_EDITMODE_SOURCE);if (B) this.SwitchEditMode();var C;if (FCKConfig.FullPage) C=FCKXHtml.GetXHTML(this.EditorDocument.getElementsByTagName('html')[0],true,A);else{if (FCKConfig.IgnoreEmptyParagraphValue&&this.EditorDocument.body.innerHTML=='<P>&nbsp;</P>') C='';else C=FCKXHtml.GetXHTML(this.EditorDocument.body,false,A);};if (B) this.SwitchEditMode();if (FCKBrowserInfo.IsIE) C=C.replace(FCKRegexLib.ToReplace,'$1');if (FCK.DocTypeDeclaration&&FCK.DocTypeDeclaration.length>0) C=FCK.DocTypeDeclaration+'\n'+C;if (FCK.XmlDeclaration&&FCK.XmlDeclaration.length>0) C=FCK.XmlDeclaration+'\n'+C;return FCKConfig.ProtectedSource.Revert(C);};FCK.UpdateLinkedField=function(){if (FCKConfig.EnableXHTML) FCK.LinkedField.value=FCK.GetXHTML(FCKConfig.FormatOutput);else FCK.LinkedField.value=FCK.GetHTML(FCKConfig.FormatOutput);FCK.Events.FireEvent('OnAfterLinkedFieldUpdate');};FCK.ShowContextMenu=function(x,y){if (this.Status!=FCK_STATUS_COMPLETE) return;FCKContextMenu.Show(x,y);this.Events.FireEvent("OnContextMenu");};FCK.RegisteredDoubleClickHandlers=new Object();FCK.OnDoubleClick=function(A){var B=FCK.RegisteredDoubleClickHandlers[A.tagName];if (B) B(A);};FCK.RegisterDoubleClickHandler=function(A,B){FCK.RegisteredDoubleClickHandlers[B.toUpperCase()]=A;};FCK.OnAfterSetHTML=function(){var A,i=0;while((A=FCKDocumentProcessors[i++])) A.ProcessDocument(FCK.EditorDocument);this.Events.FireEvent('OnAfterSetHTML');};var FCKDocumentProcessors=new Array();var FCKDocumentProcessors_CreateFakeImage=function(A,B){var C=FCK.EditorDocument.createElement('IMG');C.className=A;C.src=FCKConfig.FullBasePath+'images/spacer.gif';C.setAttribute('_fckfakelement','true',0);C.setAttribute('_fckrealelement',FCKTempBin.AddElement(B),0);return C;};var FCKAnchorsProcessor=new Object();FCKAnchorsProcessor.ProcessDocument=function(A){var B=A.getElementsByTagName('A');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){if (C.name.length>0&&(!C.getAttribute('href')||C.getAttribute('href').length==0)){var D=FCKDocumentProcessors_CreateFakeImage('FCK__Anchor',C.cloneNode(true));D.setAttribute('_fckanchor','true',0);C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);};};};FCKDocumentProcessors.addItem(FCKAnchorsProcessor);var FCKPageBreaksProcessor=new Object();FCKPageBreaksProcessor.ProcessDocument=function(A){var B=A.getElementsByTagName('CENTER');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){if (C.style.pageBreakAfter=='always'&&C.innerHTML.trim().length==0){var D=FCKDocumentProcessors_CreateFakeImage('FCK__PageBreak',C.cloneNode(true));C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);};};};FCKDocumentProcessors.addItem(FCKPageBreaksProcessor);var FCKFlashProcessor=new Object();FCKFlashProcessor.ProcessDocument=function(A){var B=A.getElementsByTagName('EMBED');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){if (C.src.endsWith('.swf',true)){var D=FCKDocumentProcessors_CreateFakeImage('FCK__Flash',C.cloneNode(true));D.setAttribute('_fckflash','true',0);FCKFlashProcessor.RefreshView(D,C);C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);};};};FCKFlashProcessor.RefreshView=function(A,B){if (B.width>0) A.style.width=FCKTools.ConvertHtmlSizeToStyle(B.width);if (B.height>0) A.style.height=FCKTools.ConvertHtmlSizeToStyle(B.height);};FCKDocumentProcessors.addItem(FCKFlashProcessor);FCK.GetRealElement=function(A){var e=FCKTempBin.Elements[A.getAttribute('_fckrealelement')];if (A.getAttribute('_fckflash')){if (A.style.width.length>0) e.width=FCKTools.ConvertStyleSizeToHtml(A.style.width);if (A.style.height.length>0) e.height=FCKTools.ConvertStyleSizeToHtml(A.style.height);};return e;};
+FCK.Description="FCKeditor for Gecko Browsers";FCK.InitializeBehaviors=function(){if (FCKConfig.ShowBorders){var A=FCKTools.AppendStyleSheet(this.EditorDocument,FCKConfig.FullBasePath+'css/fck_showtableborders_gecko.css');A.setAttribute('_fcktemp','true');};var B=function(e){e.preventDefault();FCK.ShowContextMenu(e.clientX,e.clientY);};this.EditorDocument.addEventListener('contextmenu',B,true);var C=function(e){if (e.ctrlKey&&!e.shiftKey&&!e.altKey){var D=false;switch (e.which){case 66:case 98:FCK.ExecuteNamedCommand('bold');D=true;break;case 105:case 73:FCK.ExecuteNamedCommand('italic');D=true;break;case 117:case 85:FCK.ExecuteNamedCommand('underline');D=true;break;case 86:case 118:D=(FCK.Status!=FCK_STATUS_COMPLETE||!FCK.Events.FireEvent("OnPaste"));break;};if (D){e.preventDefault();e.stopPropagation();};};};this.EditorDocument.addEventListener('keypress',C,true);this.ExecOnSelectionChange=function(){FCK.Events.FireEvent("OnSelectionChange");};this.ExecOnSelectionChangeTimer=function(){if (FCK.LastOnChangeTimer) window.clearTimeout(FCK.LastOnChangeTimer);FCK.LastOnChangeTimer=window.setTimeout(FCK.ExecOnSelectionChange,100);};this.EditorDocument.addEventListener('mouseup',this.ExecOnSelectionChange,false);this.EditorDocument.addEventListener('keyup',this.ExecOnSelectionChangeTimer,false);this._DblClickListener=function(e){FCK.OnDoubleClick(e.target);e.stopPropagation();};this.EditorDocument.addEventListener('dblclick',this._DblClickListener,true);this._OnLoad=function(){if (this._FCK_HTML){this.document.body.innerHTML=this._FCK_HTML;this._FCK_HTML=null;};};this.EditorWindow.addEventListener('load',this._OnLoad,true);};FCK.MakeEditable=function(){try{FCK.EditorDocument.designMode='on';FCK.EditorDocument.execCommand('useCSS',false,!FCKConfig.GeckoUseSPAN);}catch (e) {};};FCK.Focus=function(){try{FCK.EditorWindow.focus();}catch(e) {};};FCK.SetHTML=function(A,B){A=A.replace(FCKRegexLib.StrongOpener,'<b$1');A=A.replace(FCKRegexLib.StrongCloser,'<\/b>');A=A.replace(FCKRegexLib.EmOpener,'<i$1');A=A.replace(FCKRegexLib.EmCloser,'<\/i>');if (B||FCK.EditMode==FCK_EDITMODE_WYSIWYG){A=FCKConfig.ProtectedSource.Protect(A);if (FCKConfig.FullPage&&FCKRegexLib.BodyContents.test(A)){if (FCK.TempBaseTag.length>0&&!FCKRegexLib.HasBaseTag.test(A)) A=A.replace(FCKRegexLib.HeadOpener,'$&'+FCK.TempBaseTag);A=A.replace(FCKRegexLib.HeadCloser,'<link href="'+FCKConfig.BasePath+'css/fck_internal.css'+'" rel="stylesheet" type="text/css" _fcktemp="true" /></head>');var C=A.match(FCKRegexLib.BodyContents);var D=C[1];var E=C[2];var F=C[3];var G=D+'&nbsp;'+F;if (!this._Initialized){FCK.EditorDocument.designMode="on";FCK.EditorDocument.execCommand("useCSS",false,!FCKConfig.GeckoUseSPAN);this._Initialized=true;};this.EditorDocument.open();this.EditorDocument.write(G);this.EditorDocument.close();if (this.EditorDocument.body) this.EditorDocument.body.innerHTML=E;else this.EditorWindow._FCK_HTML=E;this.InitializeBehaviors();}else{if (!this._Initialized){this.EditorDocument.dir=FCKConfig.ContentLangDirection;var G='<title></title>'+'<link href="'+FCKConfig.EditorAreaCSS+'" rel="stylesheet" type="text/css" />'+'<link href="'+FCKConfig.BasePath+'css/fck_internal.css'+'" rel="stylesheet" type="text/css" _fcktemp="true" />'+FCK.TempBaseTag;this.EditorDocument.getElementsByTagName("HEAD")[0].innerHTML=G;this.InitializeBehaviors();this._Initialized=true;};if (A.length==0) FCK.EditorDocument.body.innerHTML=GECKO_BOGUS;else if (FCKRegexLib.EmptyParagraph.test(A)) FCK.EditorDocument.body.innerHTML=A.replace(FCKRegexLib.TagBody,'>'+GECKO_BOGUS+'<');else FCK.EditorDocument.body.innerHTML=A;FCK.MakeEditable();};FCK.OnAfterSetHTML();}else document.getElementById('eSourceField').value=A;}

Added: zope.html/trunk/src/zope/html/fckeditor/editor/js/fckeditorcode_gecko_2.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/js/fckeditorcode_gecko_2.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/js/fckeditorcode_gecko_2.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,56 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * This file has been compacted for best loading performance.
+ */
+FCK.RedirectNamedCommands=new Object();FCK.ExecuteNamedCommand=function(A,B){FCKUndo.SaveUndoStep();if (FCK.RedirectNamedCommands[A]!=null) FCK.ExecuteRedirectedNamedCommand(A,B);else{FCK.Focus();FCK.EditorDocument.execCommand(A,false,B);FCK.Events.FireEvent('OnSelectionChange');};FCKUndo.SaveUndoStep();};FCK.GetNamedCommandState=function(A){try{if (!FCK.EditorDocument.queryCommandEnabled(A)) return FCK_TRISTATE_DISABLED;else return FCK.EditorDocument.queryCommandState(A)?FCK_TRISTATE_ON:FCK_TRISTATE_OFF;}catch (e){return FCK_TRISTATE_OFF;};};FCK.GetNamedCommandValue=function(A){var B='';var C=FCK.GetNamedCommandState(A);if (C==FCK_TRISTATE_DISABLED) return null;try{B=this.EditorDocument.queryCommandValue(A);}catch(e) {};return B?B:'';};FCK.PasteFromWord=function(){FCKDialog.OpenDialog('FCKDialog_Paste',FCKLang.PasteFromWord,'dialog/fck_paste.html',400,330,'Word');};FCK.Preview=function(){var A=FCKConfig.ScreenWidth*0.8;var B=FCKConfig.ScreenHeight*0.7;var C=(FCKConfig.ScreenWidth-A)/2;var D=window.open('',null,'toolbar=yes,location=no,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width='+A+',height='+B+',left='+C);var E;if (FCKConfig.FullPage){if (FCK.TempBaseTag.length>0) E=FCK.GetXHTML().replace(FCKRegexLib.HeadOpener,'$&'+FCK.TempBaseTag);else E=FCK.GetXHTML();}else{E=FCKConfig.DocType+'<html dir="'+FCKConfig.ContentLangDirection+'">'+'<head><title>'+FCKLang.Preview+'</title>'+'<link href="'+FCKConfig.EditorAreaCSS+'" rel="stylesheet" type="text/css" />'+FCK.TempBaseTag+'</head><body>'+FCK.GetXHTML()+'</body></html>';};D.document.write(E);D.document.close();};FCK.SwitchEditMode=function(){var A=(FCK.EditMode==FCK_EDITMODE_WYSIWYG);document.getElementById('eWysiwyg').style.display=A?'none':'';document.getElementById('eSource').style.display=A?'':'none';if (A){if (FCKBrowserInfo.IsIE) FCKUndo.SaveUndoStep();document.getElementById('eSourceField').value=(FCKConfig.EnableXHTML&&FCKConfig.EnableSourceXHTML?FCK.GetXHTML(FCKConfig.FormatSource):FCK.GetHTML(FCKConfig.FormatSource));}else FCK.SetHTML(FCK.GetHTML(),true);FCK.EditMode=A?FCK_EDITMODE_SOURCE:FCK_EDITMODE_WYSIWYG;FCKToolbarSet.RefreshModeState();FCK.Focus();};FCK.CreateElement=function(A){var e=FCK.EditorDocument.createElement(A);return FCK.InsertElementAndGetIt(e);};FCK.InsertElementAndGetIt=function(e){e.setAttribute('__FCKTempLabel',1);this.InsertElement(e);var A=FCK.EditorDocument.getElementsByTagName(e.tagName);for (var i=0;i<A.length;i++){if (A[i].getAttribute('__FCKTempLabel')){A[i].removeAttribute('__FCKTempLabel');return A[i];};};return null;};
+FCK._BaseGetNamedCommandState=FCK.GetNamedCommandState;FCK.GetNamedCommandState=function(A){switch (A){case 'Unlink':return FCKSelection.HasAncestorNode('A')?FCK_TRISTATE_OFF:FCK_TRISTATE_DISABLED;default:return FCK._BaseGetNamedCommandState(A);};};FCK.RedirectNamedCommands={Print:true,Paste:true,Cut:true,Copy:true};FCK.ExecuteRedirectedNamedCommand=function(A,B){switch (A){case 'Print':FCK.EditorWindow.print();break;case 'Paste':try			{ if (FCK.Paste()) FCK.ExecuteNamedCommand('Paste');}catch (e)	{ alert(FCKLang.PasteErrorPaste);};break;case 'Cut':try			{ FCK.ExecuteNamedCommand('Cut');}catch (e)	{ alert(FCKLang.PasteErrorCut);};break;case 'Copy':try			{ FCK.ExecuteNamedCommand('Copy');}catch (e)	{ alert(FCKLang.PasteErrorCopy);};break;default:FCK.ExecuteNamedCommand(A,B);};};FCK.AttachToOnSelectionChange=function(A){this.Events.AttachEvent('OnSelectionChange',A);};FCK.Paste=function(){if (FCKConfig.ForcePasteAsPlainText){FCK.PasteAsPlainText();return false;}else return true;};FCK.InsertHtml=function(A){var B=FCKSelection.Delete();var C=B.getRangeAt(0);var D=C.createContextualFragment(A);var E=D.lastChild;C.insertNode(D);C.setEndAfter(E);C.setStartAfter(E);B.removeAllRanges();B=FCK.EditorWindow.getSelection();B.addRange(C);this.Focus();};FCK.InsertElement=function(A){var B=FCKSelection.Delete();var C=B.getRangeAt(0);C.insertNode(A);C.setEndAfter(A);C.setStartAfter(A);this.Focus();};FCK.PasteAsPlainText=function(){FCKDialog.OpenDialog('FCKDialog_Paste',FCKLang.PasteAsText,'dialog/fck_paste.html',400,330,'PlainText');};FCK.GetClipboardHTML=function(){return '';};FCK.CreateLink=function(A){FCK.ExecuteNamedCommand('Unlink');if (A.length>0){var B='javascript:void(0);/*'+(new Date().getTime())+'*/';FCK.ExecuteNamedCommand('CreateLink',B);var C=document.evaluate("//a[@href='"+B+"']",this.EditorDocument.body,null,9,null).singleNodeValue;if (C){C.href=A;return C;};};};
+var FCKSelection=new Object();FCK.Selection=FCKSelection;
+FCKSelection.GetType=function(){this._Type='Text';var A=FCK.EditorWindow.getSelection();if (A&&A.rangeCount==1){var B=A.getRangeAt(0);if (B.startContainer==B.endContainer&&(B.endOffset-B.startOffset)==1) this._Type='Control';};return this._Type;};FCKSelection.GetSelectedElement=function(){if (this.GetType()=='Control'){var A=FCK.EditorWindow.getSelection();return A.anchorNode.childNodes[A.anchorOffset];};};FCKSelection.GetParentElement=function(){if (this.GetType()=='Control') return FCKSelection.GetSelectedElement().parentElement;else{var A=FCK.EditorWindow.getSelection();if (A){var B=A.anchorNode;while (B&&B.nodeType!=1) B=B.parentNode;return B;};};};FCKSelection.SelectNode=function(A){FCK.Focus();var B=FCK.EditorDocument.createRange();B.selectNode(A);var C=FCK.EditorWindow.getSelection();C.removeAllRanges();C.addRange(B);};FCKSelection.Collapse=function(A){var B=FCK.EditorWindow.getSelection();if (A==null||A===true) B.collapseToStart();else B.collapseToEnd();};FCKSelection.HasAncestorNode=function(A){var B=this.GetSelectedElement();if (!B&&FCK.EditorWindow){try		{ B=FCK.EditorWindow.getSelection().getRangeAt(0).startContainer;}catch(e){};};while (B){if (B.nodeType==1&&B.tagName==A) return true;B=B.parentNode;};return false;};FCKSelection.MoveToAncestorNode=function(A){var B;var C=this.GetSelectedElement();if (!C) C=FCK.EditorWindow.getSelection().getRangeAt(0).startContainer;while (C){if (C.tagName==A) return C;C=C.parentNode;};return null;};FCKSelection.Delete=function(){var A=FCK.EditorWindow.getSelection();for (var i=0;i<A.rangeCount;i++){A.getRangeAt(i).deleteContents();};return A;};
+var FCKPanel=function(A){if (A) this.Window=A;else{this.Window=window;while (this.Window!=window.top){try{if (this.Window.parent.document.body.tagName=='FRAMESET') break;}catch (e){break;};this.Window=this.Window.parent;};};};FCKPanel.prototype.Create=function(){this._IFrame=this.Window.document.createElement('iframe');this._IFrame.src='about:blank';this._IFrame.frameBorder='0';this._IFrame.scrolling='no';this._IFrame.style.left='0px';this._IFrame.style.top='0px';this._IFrame.width=10;this._IFrame.height=10;this._IFrame.style.position='absolute';this._IFrame.style.visibility='hidden';this._IFrame.IsFCKPanel=true;this._IFrame.Panel=this;this.Window.document.body.appendChild(this._IFrame);this.Document=this._IFrame.contentWindow.document;this.Document.open();this.Document.write('<html><head></head><body><\/body><\/html>');this.Document.close();this.Document.body.style.margin=this.Document.body.style.padding='0px';if (this.StyleSheet) FCKTools.AppendStyleSheet(this.Document,this.StyleSheet);this.OuterDiv=this.Document.body.appendChild(this.Document.createElement('DIV'));this.OuterDiv.style.cssFloat='left';this.PanelDiv=this.OuterDiv.appendChild(this.Document.createElement('DIV'));this.PanelDiv.className='FCK_Panel';this.Created=true;};FCKPanel.prototype.Show=function(A,B,C,D,E,F){if (!this.Created) this.Create();if (D!=null&&F&&D<this.OuterDiv.offsetWidth) this.PanelDiv.style.width=D;if (E!=null&&F&&E<this.PanelDiv.offsetHeight) this.PanelDiv.style.height=E+'px';var G=this.GetElementPosition(C);A+=G.X;B+=G.Y;if (A+this.OuterDiv.offsetWidth>this.Window.innerWidth){A-=A+this.OuterDiv.offsetWidth-this.Window.innerWidth;};this._IFrame.style.left=A+'px';this._IFrame.style.top=B+'px';function SetOnClickListener(targetWindow,targetFunction){try{if (targetWindow==null||(targetWindow.frameElement&&targetWindow.frameElement.IsFCKPanel)) return;targetWindow.document.addEventListener('click',targetFunction,false);}catch (e) {};for (var i=0;i<targetWindow.frames.length;i++) SetOnClickListener(targetWindow.frames[i],targetFunction);};SetOnClickListener(window.top,FCKPanelEventHandlers.OnDocumentClick);this._IFrame.width=this.OuterDiv.offsetWidth;this._IFrame.height=this.OuterDiv.offsetHeight;this._IFrame.style.visibility='';};FCKPanel.prototype.GetElementPosition=function(A){var c={ X:0,Y:0 };while (A){c.X+=A.offsetLeft;c.Y+=A.offsetTop;if (A.offsetParent==null&&A.ownerDocument.defaultView!=this.Window) A=A.ownerDocument.defaultView.frameElement;else A=A.offsetParent;};return c;};FCKPanel.prototype.Hide=function(){this.PanelDiv.style.overflow='visible';this._IFrame.style.visibility='hidden';};var FCKPanelEventHandlers=new Object();FCKPanelEventHandlers.OnDocumentClick=function(e){var A=e.target.ownerDocument.defaultView;if (!A.IsFCKPanel){function RemoveOnClickListener(targetWindow){if (targetWindow==null) return;try{if (targetWindow.frameElement&&targetWindow.frameElement.IsFCKPanel) targetWindow.frameElement.Panel.Hide();else targetWindow.document.removeEventListener('click',FCKPanelEventHandlers.OnDocumentClick,false);}catch (e) {};for (var i=0;i<targetWindow.frames.length;i++) RemoveOnClickListener(targetWindow.frames[i]);};RemoveOnClickListener(window.top);};}
+var FCKTableHandler=new Object();FCKTableHandler.InsertRow=function(){var A=FCKSelection.MoveToAncestorNode("TR");if (!A) return;var B=A.cloneNode(true);A.parentNode.insertBefore(B,A);FCKTableHandler.ClearRow(A);};FCKTableHandler.DeleteRows=function(A){if (!A) A=FCKSelection.MoveToAncestorNode("TR");if (!A) return;var B=FCKTools.GetElementAscensor(A,'TABLE');if (B.rows.length==1){FCKTableHandler.DeleteTable(B);return;};A.parentNode.removeChild(A);};FCKTableHandler.DeleteTable=function(A){if (!A) A=FCKSelection.MoveToAncestorNode("TABLE");if (!A) return;A.parentNode.removeChild(A);};FCKTableHandler.InsertColumn=function(){var A=FCKSelection.MoveToAncestorNode("TD");if (!A) A=FCKSelection.MoveToAncestorNode("TH");if (!A) return;var B=FCKTools.GetElementAscensor(A,'TABLE');var C=A.cellIndex+1;for (var i=0;i<B.rows.length;i++){var D=B.rows[i];if (D.cells.length<C) continue;A=D.cells[C-1].cloneNode(false);if (FCKBrowserInfo.IsGecko) A.innerHTML=FCKBrowserInfo.IsGecko?GECKO_BOGUS:'';var E=D.cells[C];if (E) D.insertBefore(A,E);else D.appendChild(A);};};FCKTableHandler.DeleteColumns=function(){var A=FCKSelection.MoveToAncestorNode("TD");if (!A) return;var B=FCKTools.GetElementAscensor(A,'TABLE');var C=A.cellIndex;for (var i=B.rows.length-1;i>=0;i--){var D=B.rows[i];if (C==0&&D.cells.length==1){FCKTableHandler.DeleteRows(D);continue;};if (D.cells[C]) D.removeChild(D.cells[C]);};};FCKTableHandler.InsertCell=function(A){var B=A?A:FCKSelection.MoveToAncestorNode("TD");if (!B) return;var C=FCK.EditorDocument.createElement("TD");if (FCKBrowserInfo.IsGecko) C.innerHTML=GECKO_BOGUS;if (B.cellIndex==B.parentNode.cells.lenght-1){B.parentNode.appendChild(C);}else{B.parentNode.insertBefore(C,B.nextSibling);};return C;};FCKTableHandler.DeleteCell=function(A){if (A.parentNode.cells.length==1){FCKTableHandler.DeleteRows(FCKTools.GetElementAscensor(A,'TR'));return;};A.parentNode.removeChild(A);};FCKTableHandler.DeleteCells=function(){var A=FCKTableHandler.GetSelectedCells();for (var i=A.length-1;i>=0;i--){FCKTableHandler.DeleteCell(A[i]);};};FCKTableHandler.MergeCells=function(){var A=FCKTableHandler.GetSelectedCells();if (A.length<2) return;if (A[0].parentNode!=A[A.length-1].parentNode) return;var B=isNaN(A[0].colSpan)?1:A[0].colSpan;var C='';for (var i=A.length-1;i>0;i--){B+=isNaN(A[i].colSpan)?1:A[i].colSpan;C=A[i].innerHTML+C;FCKTableHandler.DeleteCell(A[i]);};A[0].colSpan=B;A[0].innerHTML+=C;};FCKTableHandler.SplitCell=function(){var A=FCKTableHandler.GetSelectedCells();if (A.length!=1) return;var B=this._CreateTableMap(A[0].parentNode.parentNode);var C=FCKTableHandler._GetCellIndexSpan(B,A[0].parentNode.rowIndex,A[0]);var D=this._GetCollumnCells(B,C);for (var i=0;i<D.length;i++){if (D[i]==A[0]){var E=this.InsertCell(A[0]);if (!isNaN(A[0].rowSpan)&&A[0].rowSpan>1) E.rowSpan=A[0].rowSpan;}else{if (isNaN(D[i].colSpan)) D[i].colSpan=2;else D[i].colSpan+=1;};};};FCKTableHandler._GetCellIndexSpan=function(A,B,C){if (A.length<B+1) return null;var D=A[B];for (var c=0;c<D.length;c++){if (D[c]==C) return c;};return null;};FCKTableHandler._GetCollumnCells=function(A,B){var C=new Array();for (var r=0;r<A.length;r++){var D=A[r][B];if (D&&(C.length==0||C[C.length-1]!=D)) C[C.length]=D;};return C;};FCKTableHandler._CreateTableMap=function(A){var B=A.rows;var r=-1;var C=new Array();for (var i=0;i<B.length;i++){r++;if (!C[r]) C[r]=new Array();var c=-1;for (var j=0;j<B[i].cells.length;j++){var D=B[i].cells[j];c++;while (C[r][c]) c++;var E=isNaN(D.colSpan)?1:D.colSpan;var F=isNaN(D.rowSpan)?1:D.rowSpan;for (var G=0;G<F;G++){if (!C[r+G]) C[r+G]=new Array();for (var H=0;H<E;H++){C[r+G][c+H]=B[i].cells[j];};};c+=E-1;};};return C;};FCKTableHandler.ClearRow=function(A){var B=A.cells;for (var i=0;i<B.length;i++){if (FCKBrowserInfo.IsGecko) B[i].innerHTML=GECKO_BOGUS;else B[i].innerHTML='';};}
+FCKTableHandler.GetSelectedCells=function(){var A=new Array();var B=FCK.EditorWindow.getSelection();if (B.rangeCount==1&&B.anchorNode.nodeType==3){var C=FCKTools.GetElementAscensor(B.anchorNode,'TD');if (C){A[0]=C;return A;};};for (var i=0;i<B.rangeCount;i++){var D=B.getRangeAt(i);var E=D.startContainer.childNodes[D.startOffset];if (E.tagName=='TD') A[A.length]=E;};return A;};
+var FCKXml;if (!(FCKXml=NS.FCKXml)){FCKXml=NS.FCKXml=function(){};FCKXml.prototype.LoadUrl=function(A){var B=this;var C=FCKTools.CreateXmlObject('XmlHttp');C.open("GET",A,false);C.send(null);if (C.status==200||C.status==304) this.DOMDocument=C.responseXML;else if (C.status==0&&C.readyState==4) this.DOMDocument=C.responseXML;else alert('Error loading "'+A+'"');};FCKXml.prototype.SelectNodes=function(A,B){var C=new Array();var D=this.DOMDocument.evaluate(A,B?B:this.DOMDocument,this.DOMDocument.createNSResolver(this.DOMDocument.documentElement),XPathResult.ORDERED_NODE_ITERATOR_TYPE,null);if (D){var E=D.iterateNext();while(E){C[C.length]=E;E=D.iterateNext();};};return C;};FCKXml.prototype.SelectSingleNode=function(A,B){var C=this.DOMDocument.evaluate(A,B?B:this.DOMDocument,this.DOMDocument.createNSResolver(this.DOMDocument.documentElement),9,null);if (C&&C.singleNodeValue) return C.singleNodeValue;else return null;};}
+var FCKStyleDef=function(A,B){this.Name=A;this.Element=B.toUpperCase();this.IsObjectElement=FCKRegexLib.ObjectElements.test(this.Element);this.Attributes=new Object();};FCKStyleDef.prototype.AddAttribute=function(A,B){this.Attributes[A]=B;};FCKStyleDef.prototype.GetOpenerTag=function(){var s='<'+this.Element;for (var a in this.Attributes) s+=' '+a+'="'+this.Attributes[a]+'"';return s+'>';};FCKStyleDef.prototype.GetCloserTag=function(){return '</'+this.Element+'>';};FCKStyleDef.prototype.RemoveFromSelection=function(){if (FCKSelection.GetType()=='Control') this._RemoveMe(FCKSelection.GetSelectedElement());else this._RemoveMe(FCKSelection.GetParentElement());}
+FCKStyleDef.prototype.ApplyToSelection=function(){if (FCKSelection.GetType()=='Text'&&!this.IsObjectElement){var A=FCK.EditorWindow.getSelection();var e=FCK.EditorDocument.createElement(this.Element);for (var i=0;i<A.rangeCount;i++){e.appendChild(A.getRangeAt(i).extractContents());};this._AddAttributes(e);this._RemoveDuplicates(e);var B=A.getRangeAt(0);B.insertNode(e);}else{var C=FCKSelection.GetSelectedElement();if (C.tagName==this.Element) this._AddAttributes(C);};};FCKStyleDef.prototype._AddAttributes=function(A){for (var a in this.Attributes) A.setAttribute(a,this.Attributes[a],0);};FCKStyleDef.prototype._RemoveDuplicates=function(A){for (var i=0;i<A.childNodes.length;i++){var B=A.childNodes[i];if (B.nodeType!=1) continue;this._RemoveDuplicates(B);if (this.IsEqual(B)) FCKTools.RemoveOuterTags(B);};};FCKStyleDef.prototype.IsEqual=function(e){if (e.tagName!=this.Element) return false;for (var a in this.Attributes){if (e.getAttribute(a)!=this.Attributes[a]) return false;};return true;};FCKStyleDef.prototype._RemoveMe=function(A){if (!A) return;var B=A.parentNode;if (A.nodeType==1&&this.IsEqual(A)){if (this.IsObjectElement){for (var a in this.Attributes) A.removeAttribute(a,0);return;}else FCKTools.RemoveOuterTags(A);};this._RemoveMe(B);}
+var FCKStylesLoader=function(){this.Styles=new Object();this.StyleGroups=new Object();this.Loaded=false;this.HasObjectElements=false;};FCKStylesLoader.prototype.Load=function(A){var B=new FCKXml();B.LoadUrl(A);var C=B.SelectNodes('Styles/Style');for (var i=0;i<C.length;i++){var D=C[i].attributes.getNamedItem('element').value.toUpperCase();var E=new FCKStyleDef(C[i].attributes.getNamedItem('name').value,D);if (E.IsObjectElement) this.HasObjectElements=true;var F=B.SelectNodes('Attribute',C[i]);for (var j=0;j<F.length;j++){var G=F[j].attributes.getNamedItem('name').value;var H=F[j].attributes.getNamedItem('value').value;if (G.toLowerCase()=='style'){var I=document.createElement('SPAN');I.style.cssText=H;H=I.style.cssText;};E.AddAttribute(G,H);};this.Styles[E.Name]=E;var J=this.StyleGroups[D];if (J==null){this.StyleGroups[D]=new Array();J=this.StyleGroups[D];};J[J.length]=E;};this.Loaded=true;}
+var FCKNamedCommand=function(A){this.Name=A;};FCKNamedCommand.prototype.Execute=function(){FCK.ExecuteNamedCommand(this.Name);};FCKNamedCommand.prototype.GetState=function(){return FCK.GetNamedCommandState(this.Name);};
+var FCKDialogCommand=function(A,B,C,D,E,F,G){this.Name=A;this.Title=B;this.Url=C;this.Width=D;this.Height=E;this.GetStateFunction=F;this.GetStateParam=G;};FCKDialogCommand.prototype.Execute=function(){FCKDialog.OpenDialog('FCKDialog_'+this.Name,this.Title,this.Url,this.Width,this.Height);};FCKDialogCommand.prototype.GetState=function(){if (this.GetStateFunction) return this.GetStateFunction(this.GetStateParam);else return FCK_TRISTATE_OFF;};var FCKUndefinedCommand=function(){this.Name='Undefined';};FCKUndefinedCommand.prototype.Execute=function(){alert(FCKLang.NotImplemented);};FCKUndefinedCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};var FCKFontNameCommand=function(){this.Name='FontName';};FCKFontNameCommand.prototype.Execute=function(A){if (A==null||A==""){}else FCK.ExecuteNamedCommand('FontName',A);};FCKFontNameCommand.prototype.GetState=function(){return FCK.GetNamedCommandValue('FontName');};var FCKFontSizeCommand=function(){this.Name='FontSize';};FCKFontSizeCommand.prototype.Execute=function(A){if (typeof(A)=='string') A=parseInt(A);if (A==null||A==''){FCK.ExecuteNamedCommand('FontSize',3);}else FCK.ExecuteNamedCommand('FontSize',A);};FCKFontSizeCommand.prototype.GetState=function(){return FCK.GetNamedCommandValue('FontSize');};var FCKFormatBlockCommand=function(){this.Name='FormatBlock';};FCKFormatBlockCommand.prototype.Execute=function(A){if (A==null||A=='') FCK.ExecuteNamedCommand('FormatBlock','<P>');else FCK.ExecuteNamedCommand('FormatBlock','<'+A+'>');};FCKFormatBlockCommand.prototype.GetState=function(){return FCK.GetNamedCommandValue('FormatBlock');};var FCKPreviewCommand=function(){this.Name='Preview';};FCKPreviewCommand.prototype.Execute=function(){FCK.Preview();};FCKPreviewCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};var FCKSaveCommand=function(){this.Name='Save';};FCKSaveCommand.prototype.Execute=function(){var A=FCK.LinkedField.form;if (typeof(A.onsubmit)=='function'){var B=A.onsubmit();if (B!=null&&B===false) return;};A.submit();};FCKSaveCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};var FCKNewPageCommand=function(){this.Name='NewPage';};FCKNewPageCommand.prototype.Execute=function(){FCKUndo.SaveUndoStep();FCK.SetHTML('');FCKUndo.Typing=true;};FCKNewPageCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};var FCKSourceCommand=function(){this.Name='Source';};FCKSourceCommand.prototype.Execute=function(){if (FCKBrowserInfo.IsGecko){var A=FCKConfig.ScreenWidth*0.65;var B=FCKConfig.ScreenHeight*0.65;FCKDialog.OpenDialog('FCKDialog_Source',FCKLang.Source,'dialog/fck_source.html',A,B,null,null,true);}else FCK.SwitchEditMode();};FCKSourceCommand.prototype.GetState=function(){return (FCK.EditMode==FCK_EDITMODE_WYSIWYG?FCK_TRISTATE_OFF:FCK_TRISTATE_ON);};var FCKUndoCommand=function(){this.Name='Undo';};FCKUndoCommand.prototype.Execute=function(){if (FCKBrowserInfo.IsIE) FCKUndo.Undo();else FCK.ExecuteNamedCommand('Undo');};FCKUndoCommand.prototype.GetState=function(){if (FCKBrowserInfo.IsIE) return (FCKUndo.CheckUndoState()?FCK_TRISTATE_OFF:FCK_TRISTATE_DISABLED);else return FCK.GetNamedCommandState('Undo');};var FCKRedoCommand=function(){this.Name='Redo';};FCKRedoCommand.prototype.Execute=function(){if (FCKBrowserInfo.IsIE) FCKUndo.Redo();else FCK.ExecuteNamedCommand('Redo');};FCKRedoCommand.prototype.GetState=function(){if (FCKBrowserInfo.IsIE) return (FCKUndo.CheckRedoState()?FCK_TRISTATE_OFF:FCK_TRISTATE_DISABLED);else return FCK.GetNamedCommandState('Redo');};var FCKPageBreakCommand=function(){this.Name='PageBreak';};FCKPageBreakCommand.prototype.Execute=function(){var A=FCK.EditorDocument.createElement('CENTER');A.style.pageBreakAfter='always';var B=FCKDocumentProcessors_CreateFakeImage('FCK__PageBreak',A);B=FCK.InsertElement(B);};FCKPageBreakCommand.prototype.GetState=function(){return 0;}
+var FCKSpellCheckCommand=function(){this.Name='SpellCheck';this.IsEnabled=(FCKConfig.SpellChecker=='SpellerPages');};FCKSpellCheckCommand.prototype.Execute=function(){FCKDialog.OpenDialog('FCKDialog_SpellCheck','Spell Check','dialog/fck_spellerpages.html',440,480);};FCKSpellCheckCommand.prototype.GetState=function(){return this.IsEnabled?FCK_TRISTATE_OFF:FCK_TRISTATE_DISABLED;}
+var FCKTextColorCommand=function(A){this.Name=A=='ForeColor'?'TextColor':'BGColor';this.Type=A;this._Panel=new FCKPanel();this._Panel.StyleSheet=FCKConfig.SkinPath+'fck_contextmenu.css';this._Panel.Create();this._CreatePanelBody(this._Panel.Document,this._Panel.PanelDiv);};FCKTextColorCommand.prototype.Execute=function(A,B,C){FCK._ActiveColorPanelType=this.Type;this._Panel.Show(A,B,C);};FCKTextColorCommand.prototype.SetColor=function(A){if (FCK._ActiveColorPanelType=='ForeColor') FCK.ExecuteNamedCommand('ForeColor',A);else if (FCKBrowserInfo.IsGecko) FCK.ExecuteNamedCommand('hilitecolor',A);else FCK.ExecuteNamedCommand('BackColor',A);delete FCK._ActiveColorPanelType;};FCKTextColorCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};function FCKTextColorCommand_OnMouseOver()	{ this.className='ColorSelected';};function FCKTextColorCommand_OnMouseOut()	{ this.className='ColorDeselected';};function FCKTextColorCommand_OnClick(){this.className='ColorDeselected';this.Command.SetColor('#'+this.Color);this.Command._Panel.Hide();};function FCKTextColorCommand_AutoOnClick(){this.className='ColorDeselected';this.Command.SetColor('');this.Command._Panel.Hide();};function FCKTextColorCommand_MoreOnClick(){this.className='ColorDeselected';this.Command._Panel.Hide();FCKDialog.OpenDialog('FCKDialog_Color',FCKLang.DlgColorTitle,'dialog/fck_colorselector.html',400,330,this.Command.SetColor);};FCKTextColorCommand.prototype._CreatePanelBody=function(A,B){function CreateSelectionDiv(){var C=A.createElement("DIV");C.className='ColorDeselected';C.onmouseover=FCKTextColorCommand_OnMouseOver;C.onmouseout=FCKTextColorCommand_OnMouseOut;return C;};var D=B.appendChild(A.createElement("TABLE"));D.style.tableLayout='fixed';D.cellPadding=0;D.cellSpacing=0;D.border=0;D.width=150;var E=D.insertRow(-1).insertCell(-1);E.colSpan=8;var C=E.appendChild(CreateSelectionDiv());C.innerHTML='<table cellspacing="0" cellpadding="0" width="100%" border="0">\<tr>\<td><div class="ColorBoxBorder"><div class="ColorBox" style="background-color: #000000"></div></div></td>\<td nowrap width="100%" align="center" unselectable="on">' + FCKLang.ColorAutomatic + '</td>\</tr>\</table>';C.Command=this;C.onclick=FCKTextColorCommand_AutoOnClick;var G=FCKConfig.FontColors.toString().split(',');var H=0;while (H<G.length){var I=D.insertRow(-1);for (var i=0;i<8&&H<G.length;i++,H++){C=I.insertCell(-1).appendChild(CreateSelectionDiv());C.Color=G[H];C.innerHTML='<div class="ColorBoxBorder"><div class="ColorBox" style="background-color: #'+G[H]+'"></div></div>';C.Command=this;C.onclick=FCKTextColorCommand_OnClick;};};E=D.insertRow(-1).insertCell(-1);E.colSpan=8;C=E.appendChild(CreateSelectionDiv());C.innerHTML='<table width="100%" cellpadding="0" cellspacing="0" border="0"><tr><td nowrap align="center">'+FCKLang.ColorMoreColors+'</td></tr></table>';C.Command=this;C.onclick=FCKTextColorCommand_MoreOnClick;}
+var FCKPastePlainTextCommand=function(){this.Name='PasteText';};FCKPastePlainTextCommand.prototype.Execute=function(){FCK.PasteAsPlainText();};FCKPastePlainTextCommand.prototype.GetState=function(){return FCK.GetNamedCommandState('Paste');};
+var FCKPasteWordCommand=function(){this.Name='PasteWord';};FCKPasteWordCommand.prototype.Execute=function(){FCK.PasteFromWord();};FCKPasteWordCommand.prototype.GetState=function(){if (FCKConfig.ForcePasteAsPlainText) return FCK_TRISTATE_DISABLED;else return FCK.GetNamedCommandState('Paste');};
+var FCKTableCommand=function(A){this.Name=A;};FCKTableCommand.prototype.Execute=function(){FCKUndo.SaveUndoStep();switch (this.Name){case 'TableInsertRow':FCKTableHandler.InsertRow();break;case 'TableDeleteRows':FCKTableHandler.DeleteRows();break;case 'TableInsertColumn':FCKTableHandler.InsertColumn();break;case 'TableDeleteColumns':FCKTableHandler.DeleteColumns();break;case 'TableInsertCell':FCKTableHandler.InsertCell();break;case 'TableDeleteCells':FCKTableHandler.DeleteCells();break;case 'TableMergeCells':FCKTableHandler.MergeCells();break;case 'TableSplitCell':FCKTableHandler.SplitCell();break;default:alert(FCKLang.UnknownCommand.replace(/%1/g,this.Name));};};FCKTableCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;}
+var FCKStyleCommand=function(){this.Name='Style';this.StylesLoader=new FCKStylesLoader();this.StylesLoader.Load(FCKConfig.StylesXmlPath);this.Styles=this.StylesLoader.Styles;};FCKStyleCommand.prototype.Execute=function(A,B){FCKUndo.SaveUndoStep();if (B.Selected) B.Style.RemoveFromSelection();else B.Style.ApplyToSelection();FCKUndo.SaveUndoStep();FCK.Focus();FCK.Events.FireEvent("OnSelectionChange");};FCKStyleCommand.prototype.GetState=function(){var A=FCK.EditorDocument.selection;if (FCKSelection.GetType()=='Control'){var e=FCKSelection.GetSelectedElement();if (e) return this.StylesLoader.StyleGroups[e.tagName]?FCK_TRISTATE_OFF:FCK_TRISTATE_DISABLED;};return FCK_TRISTATE_OFF;};FCKStyleCommand.prototype.GetActiveStyles=function(){var A=new Array();if (FCKSelection.GetType()=='Control') this._CheckStyle(FCKSelection.GetSelectedElement(),A,false);else this._CheckStyle(FCKSelection.GetParentElement(),A,true);return A;};FCKStyleCommand.prototype._CheckStyle=function(A,B,C){if (!A) return;if (A.nodeType==1){var D=this.StylesLoader.StyleGroups[A.tagName];if (D){for (var i=0;i<D.length;i++){if (D[i].IsEqual(A)) B[B.length]=D[i];};};};if (C) this._CheckStyle(A.parentNode,B,C);}
+var FCKCommands=FCK.Commands=new Object();FCKCommands.LoadedCommands=new Object();FCKCommands.RegisterCommand=function(A,B){this.LoadedCommands[A]=B;};FCKCommands.GetCommand=function(A){var B=FCKCommands.LoadedCommands[A];if (B) return B;switch (A){case 'DocProps':B=new FCKDialogCommand('DocProps',FCKLang.DocProps,'dialog/fck_docprops.html',400,390,FCKCommands.GetFullPageState);break;case 'Templates':B=new FCKDialogCommand('Templates',FCKLang.DlgTemplatesTitle,'dialog/fck_template.html',380,450);break;case 'Link':B=new FCKDialogCommand('Link',FCKLang.DlgLnkWindowTitle,'dialog/fck_link.html',400,330,FCK.GetNamedCommandState,'CreateLink');break;case 'Anchor':B=new FCKDialogCommand('Anchor',FCKLang.DlgAnchorTitle,'dialog/fck_anchor.html',370,170);break;case 'BulletedList':B=new FCKDialogCommand('BulletedList',FCKLang.BulletedListProp,'dialog/fck_listprop.html',370,170);break;case 'NumberedList':B=new FCKDialogCommand('NumberedList',FCKLang.NumberedListProp,'dialog/fck_listprop.html',370,170);break;case 'About':B=new FCKDialogCommand('About',FCKLang.About,'dialog/fck_about.html',400,330);break;case 'Find':B=new FCKDialogCommand('Find',FCKLang.DlgFindTitle,'dialog/fck_find.html',340,170);break;case 'Replace':B=new FCKDialogCommand('Replace',FCKLang.DlgReplaceTitle,'dialog/fck_replace.html',340,200);break;case 'Image':B=new FCKDialogCommand('Image',FCKLang.DlgImgTitle,'dialog/fck_image.html',450,400);break;case 'Flash':B=new FCKDialogCommand('Flash',FCKLang.DlgFlashTitle,'dialog/fck_flash.html',450,400);break;case 'SpecialChar':B=new FCKDialogCommand('SpecialChar',FCKLang.DlgSpecialCharTitle,'dialog/fck_specialchar.html',400,300);break;case 'Smiley':B=new FCKDialogCommand('Smiley',FCKLang.DlgSmileyTitle,'dialog/fck_smiley.html',FCKConfig.SmileyWindowWidth,FCKConfig.SmileyWindowHeight);break;case 'Table':B=new FCKDialogCommand('Table',FCKLang.DlgTableTitle,'dialog/fck_table.html',400,250);break;case 'TableProp':B=new FCKDialogCommand('Table',FCKLang.DlgTableTitle,'dialog/fck_table.html?Parent',400,250);break;case 'TableCellProp':B=new FCKDialogCommand('TableCell',FCKLang.DlgCellTitle,'dialog/fck_tablecell.html',500,250);break;case 'UniversalKey':B=new FCKDialogCommand('UniversalKey',FCKLang.UniversalKeyboard,'dialog/fck_universalkey.html',415,300);break;case 'Style':B=new FCKStyleCommand();break;case 'FontName':B=new FCKFontNameCommand();break;case 'FontSize':B=new FCKFontSizeCommand();break;case 'FontFormat':B=new FCKFormatBlockCommand();break;case 'Source':B=new FCKSourceCommand();break;case 'Preview':B=new FCKPreviewCommand();break;case 'Save':B=new FCKSaveCommand();break;case 'NewPage':B=new FCKNewPageCommand();break;case 'PageBreak':B=new FCKPageBreakCommand();break;case 'TextColor':B=new FCKTextColorCommand('ForeColor');break;case 'BGColor':B=new FCKTextColorCommand('BackColor');break;case 'PasteText':B=new FCKPastePlainTextCommand();break;case 'PasteWord':B=new FCKPasteWordCommand();break;case 'TableInsertRow':B=new FCKTableCommand('TableInsertRow');break;case 'TableDeleteRows':B=new FCKTableCommand('TableDeleteRows');break;case 'TableInsertColumn':B=new FCKTableCommand('TableInsertColumn');break;case 'TableDeleteColumns':B=new FCKTableCommand('TableDeleteColumns');break;case 'TableInsertCell':B=new FCKTableCommand('TableInsertCell');break;case 'TableDeleteCells':B=new FCKTableCommand('TableDeleteCells');break;case 'TableMergeCells':B=new FCKTableCommand('TableMergeCells');break;case 'TableSplitCell':B=new FCKTableCommand('TableSplitCell');break;case 'Form':B=new FCKDialogCommand('Form',FCKLang.Form,'dialog/fck_form.html',380,230);break;case 'Checkbox':B=new FCKDialogCommand('Checkbox',FCKLang.Checkbox,'dialog/fck_checkbox.html',380,230);break;case 'Radio':B=new FCKDialogCommand('Radio',FCKLang.RadioButton,'dialog/fck_radiobutton.html',380,230);break;case 'TextField':B=new FCKDialogCommand('TextField',FCKLang.TextField,'dialog/fck_textfield.html',380,230);break;case 'Textarea':B=new FCKDialogCommand('Textarea',FCKLang.Textarea,'dialog/fck_textarea.html',380,230);break;case 'HiddenField':B=new FCKDialogCommand('HiddenField',FCKLang.HiddenField,'dialog/fck_hiddenfield.html',380,230);break;case 'Button':B=new FCKDialogCommand('Button',FCKLang.Button,'dialog/fck_button.html',380,230);break;case 'Select':B=new FCKDialogCommand('Select',FCKLang.SelectionField,'dialog/fck_select.html',400,380);break;case 'ImageButton':B=new FCKDialogCommand('ImageButton',FCKLang.ImageButton,'dialog/fck_image.html?ImageButton',450,400);break;case 'SpellCheck':B=new FCKSpellCheckCommand();break;case 'Undo':B=new FCKUndoCommand();break;case 'Redo':B=new FCKRedoCommand();break;case 'Undefined':B=new FCKUndefinedCommand();break;default:if (FCKRegexLib.NamedCommands.test(A)) B=new FCKNamedCommand(A);else{alert(FCKLang.UnknownCommand.replace(/%1/g,A));return null;};};FCKCommands.LoadedCommands[A]=B;return B;};FCKCommands.GetFullPageState=function(){return FCKConfig.FullPage?FCK_TRISTATE_OFF:FCK_TRISTATE_DISABLED;};
+var FCKToolbarButton=function(A,B,C,D,E,F){this.Command=FCKCommands.GetCommand(A);this.Label=B?B:A;this.Tooltip=C?C:(B?B:A);this.Style=D?D:FCK_TOOLBARITEM_ONLYICON;this.SourceView=E?true:false;this.ContextSensitive=F?true:false;this.IconPath=FCKConfig.SkinPath+'toolbar/'+A.toLowerCase()+'.gif';this.State=FCK_UNKNOWN;};FCKToolbarButton.prototype.CreateInstance=function(A){this.DOMDiv=document.createElement('div');this.DOMDiv.className='TB_Button_Off';this.DOMDiv.FCKToolbarButton=this;var B='<table title="'+this.Tooltip+'" cellspacing="0" cellpadding="0" border="0" unselectable="on">'+'<tr>';if (this.Style!=FCK_TOOLBARITEM_ONLYTEXT) B+='<td class="TB_Icon" unselectable="on"><img src="'+this.IconPath+'" width="21" height="21" unselectable="on"></td>';if (this.Style!=FCK_TOOLBARITEM_ONLYICON) B+='<td class="TB_Text" unselectable="on" nowrap>'+this.Label+'</td>';B+='</tr>'+'</table>';this.DOMDiv.innerHTML=B;var C=A.DOMRow.insertCell(-1);C.appendChild(this.DOMDiv);this.RefreshState();};FCKToolbarButton.prototype.RefreshState=function(){var A=this.Command.GetState();if (A==this.State) return;this.State=A;switch (this.State){case FCK_TRISTATE_ON:this.DOMDiv.className='TB_Button_On';this.DOMDiv.onmouseover=FCKToolbarButton_OnMouseOnOver;this.DOMDiv.onmouseout=FCKToolbarButton_OnMouseOnOut;this.DOMDiv.onclick=FCKToolbarButton_OnClick;break;case FCK_TRISTATE_OFF:this.DOMDiv.className='TB_Button_Off';this.DOMDiv.onmouseover=FCKToolbarButton_OnMouseOffOver;this.DOMDiv.onmouseout=FCKToolbarButton_OnMouseOffOut;this.DOMDiv.onclick=FCKToolbarButton_OnClick;break;default:this.Disable();break;};};function FCKToolbarButton_OnMouseOnOver(){this.className='TB_Button_On TB_Button_On_Over';};function FCKToolbarButton_OnMouseOnOut(){this.className='TB_Button_On';};function FCKToolbarButton_OnMouseOffOver(){this.className='TB_Button_On TB_Button_Off_Over';};function FCKToolbarButton_OnMouseOffOut(){this.className='TB_Button_Off';};function FCKToolbarButton_OnClick(e){this.FCKToolbarButton.Click(e);return false;};FCKToolbarButton.prototype.Click=function(){this.Command.Execute();};FCKToolbarButton.prototype.Enable=function(){this.RefreshState();};FCKToolbarButton.prototype.Disable=function(){this.State=FCK_TRISTATE_DISABLED;this.DOMDiv.className='TB_Button_Disabled';this.DOMDiv.onmouseover=null;this.DOMDiv.onmouseout=null;this.DOMDiv.onclick=null;}
+var FCKSpecialCombo=function(A){this.FieldWidth=80;this.PanelWidth=130;this.PanelMaxHeight=150;this.Label='&nbsp;';this.Caption=A;this.Tooltip=A;this.Style=FCK_TOOLBARITEM_ICONTEXT;this.Enabled=true;this.Items=new Object();this._Panel=new FCKPanel();this._Panel.StyleSheet=FCKConfig.SkinPath+'fck_contextmenu.css';this._Panel.Create();this._Panel.PanelDiv.className+=' SC_Panel';this._Panel.PanelDiv.innerHTML='<table cellpadding="0" cellspacing="0" width="100%" style="TABLE-LAYOUT: fixed"><tr><td nowrap></td></tr></table>';this._ItemsHolderEl=this._Panel.PanelDiv.getElementsByTagName('TD')[0];};function FCKSpecialCombo_ItemOnMouseOver(){this.className+=' SC_ItemOver';};function FCKSpecialCombo_ItemOnMouseOut(){this.className=this.originalClass;};function FCKSpecialCombo_ItemOnClick(){this.FCKSpecialCombo._Panel.Hide();this.FCKSpecialCombo.SetLabel(this.FCKItemLabel);if (typeof(this.FCKSpecialCombo.OnSelect)=='function') this.FCKSpecialCombo.OnSelect(this.FCKItemID,this);};FCKSpecialCombo.prototype.AddItem=function(A,B,C){var D=this._ItemsHolderEl.appendChild(this._Panel.Document.createElement('DIV'));D.className=D.originalClass='SC_Item';D.innerHTML=B;D.FCKItemID=A;D.FCKItemLabel=C?C:A;D.FCKSpecialCombo=this;D.Selected=false;D.onmouseover=FCKSpecialCombo_ItemOnMouseOver;D.onmouseout=FCKSpecialCombo_ItemOnMouseOut;D.onclick=FCKSpecialCombo_ItemOnClick;this.Items[A.toString().toLowerCase()]=D;return D;};FCKSpecialCombo.prototype.SelectItem=function(A){A=A?A.toString().toLowerCase():'';var B=this.Items[A];if (B){B.className=B.originalClass='SC_ItemSelected';B.Selected=true;};};FCKSpecialCombo.prototype.DeselectAll=function(){for (var i in this.Items){this.Items[i].className=this.Items[i].originalClass='SC_Item';this.Items[i].Selected=false;};};FCKSpecialCombo.prototype.SetLabelById=function(A){A=A?A.toString().toLowerCase():'';var B=this.Items[A];this.SetLabel(B?B.FCKItemLabel:'');};FCKSpecialCombo.prototype.SetLabel=function(A){this.Label=A.length==0?'&nbsp;':A;if (this._LabelEl) this._LabelEl.innerHTML=this.Label;};FCKSpecialCombo.prototype.SetEnabled=function(A){this.Enabled=A;this._OuterTable.className=A?'':'SC_FieldDisabled';};FCKSpecialCombo.prototype.Create=function(A){this._OuterTable=A.appendChild(document.createElement('TABLE'));this._OuterTable.cellPadding=0;this._OuterTable.cellSpacing=0;this._OuterTable.insertRow(-1);var B;var C;switch (this.Style){case FCK_TOOLBARITEM_ONLYICON:B='TB_ButtonType_Icon';C=false;break;case FCK_TOOLBARITEM_ONLYTEXT:B='TB_ButtonType_Text';C=false;break;case FCK_TOOLBARITEM_ICONTEXT:C=true;break;};if (this.Caption&&this.Caption.length>0&&C){var D=this._OuterTable.rows[0].insertCell(-1);D.unselectable='on';D.innerHTML=this.Caption;D.className='SC_FieldCaption';};var E=this._OuterTable.rows[0].insertCell(-1).appendChild(document.createElement('DIV'));if (C){E.className='SC_Field';E.style.width=this.FieldWidth+'px';E.innerHTML='<table width="100%" cellpadding="0" cellspacing="0" style="TABLE-LAYOUT: fixed;" unselectable="on"><tbody><tr><td class="SC_FieldLabel" unselectable="on"><label unselectable="on">&nbsp;</label></td><td class="SC_FieldButton" unselectable="on">&nbsp;</td></tr></tbody></table>';this._LabelEl=E.getElementsByTagName('label')[0];this._LabelEl.innerHTML=this.Label;}else{E.className='TB_Button_Off';E.innerHTML='<table cellpadding="0" cellspacing="0" style="TABLE-LAYOUT: fixed;" unselectable="on"><tbody><tr><td class="SC_FieldButton" style="border-left: none;" unselectable="on">&nbsp;</td></tr></tbody></table>';E.innerHTML='<table title="'+this.Tooltip+'" class="'+B+'" cellspacing="0" cellpadding="0" border="0" unselectable="on">'+'<tr>'+'<td class="TB_Text" unselectable="on">'+this.Caption+'</td>'+'<td class="TB_ButtonArrow" unselectable="on"><img src="'+FCKConfig.SkinPath+'images/toolbar.buttonarrow.gif" width="5" height="3"></td>'+'</tr>'+'</table>';};E.SpecialCombo=this;E.onmouseover=FCKSpecialCombo_OnMouseOver;E.onmouseout=FCKSpecialCombo_OnMouseOut;E.onclick=FCKSpecialCombo_OnClick;};function FCKSpecialCombo_OnMouseOver(){if (this.SpecialCombo.Enabled){switch (this.SpecialCombo.Style){case FCK_TOOLBARITEM_ONLYICON:this.className='TB_Button_On';break;case FCK_TOOLBARITEM_ONLYTEXT:this.className='TB_Button_On';break;case FCK_TOOLBARITEM_ICONTEXT:this.className='SC_Field SC_FieldOver';break;};};};function FCKSpecialCombo_OnMouseOut(){switch (this.SpecialCombo.Style){case FCK_TOOLBARITEM_ONLYICON:this.className='TB_Button_Off';break;case FCK_TOOLBARITEM_ONLYTEXT:this.className='TB_Button_Off';break;case FCK_TOOLBARITEM_ICONTEXT:this.className='SC_Field';break;};};function FCKSpecialCombo_OnClick(e){if (e){e.stopPropagation();FCKPanelEventHandlers.OnDocumentClick(e);};if (this.SpecialCombo.Enabled){var oPanel=this.SpecialCombo._Panel;if (typeof(this.SpecialCombo.OnBeforeClick)=='function') this.SpecialCombo.OnBeforeClick(this.SpecialCombo);if (this.SpecialCombo._ItemsHolderEl.offsetHeight>this.SpecialCombo.PanelMaxHeight) oPanel.PanelDiv.style.height=this.SpecialCombo.PanelMaxHeight+'px';else oPanel.PanelDiv.style.height=this.SpecialCombo._ItemsHolderEl.offsetHeight+'px';oPanel.PanelDiv.style.width=this.SpecialCombo.PanelWidth+'px';if (FCKBrowserInfo.IsGecko) oPanel.PanelDiv.style.overflow='-moz-scrollbars-vertical';oPanel.Show(0,this.offsetHeight,this,null,this.SpecialCombo.PanelMaxHeight,true);};return false;};
+var FCKToolbarSpecialCombo=function(){this.SourceView=false;this.ContextSensitive=true;};function FCKToolbarSpecialCombo_OnSelect(itemId,item){this.Command.Execute(itemId,item);};FCKToolbarSpecialCombo.prototype.CreateInstance=function(A){this._Combo=new FCKSpecialCombo(this.GetLabel());this._Combo.FieldWidth=this.FieldWidth!=null?this.FieldWidth:100;this._Combo.PanelWidth=this.PanelWidth!=null?this.PanelWidth:150;this._Combo.PanelMaxHeight=this.PanelMaxHeight!=null?this.PanelMaxHeight:150;this._Combo.Tooltip=this.Tooltip;this._Combo.Style=this.Style;this.CreateItems(this._Combo);this._Combo.Create(A.DOMRow.insertCell(-1));this._Combo.Command=this.Command;this._Combo.OnSelect=FCKToolbarSpecialCombo_OnSelect;};function FCKToolbarSpecialCombo_RefreshActiveItems(combo,value){combo.DeselectAll();combo.SelectItem(value);combo.SetLabelById(value);};FCKToolbarSpecialCombo.prototype.RefreshState=function(){var A;var B=this.Command.GetState();if (B!=FCK_TRISTATE_DISABLED){A=FCK_TRISTATE_ON;if (this.RefreshActiveItems) this.RefreshActiveItems(this._Combo,B);else FCKToolbarSpecialCombo_RefreshActiveItems(this._Combo,B);}else A=FCK_TRISTATE_DISABLED;if (A==this.State) return;if (A==FCK_TRISTATE_DISABLED){this._Combo.DeselectAll();this._Combo.SetLabel('');};this.State=A;this._Combo.SetEnabled(A!=FCK_TRISTATE_DISABLED);};FCKToolbarSpecialCombo.prototype.Enable=function(){this.RefreshState();};FCKToolbarSpecialCombo.prototype.Disable=function(){this.State=FCK_TRISTATE_DISABLED;this._Combo.DeselectAll();this._Combo.SetLabel('');this._Combo.SetEnabled(false);}
+var FCKToolbarFontsCombo=function(A,B){this.Command=FCKCommands.GetCommand('FontName');this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:FCK_TOOLBARITEM_ICONTEXT;};FCKToolbarFontsCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarFontsCombo.prototype.GetLabel=function(){return FCKLang.Font;};FCKToolbarFontsCombo.prototype.CreateItems=function(A){var B=FCKConfig.FontNames.split(';');for (var i=0;i<B.length;i++) this._Combo.AddItem(B[i],'<span style="font-family: \''+B[i]+'\'; font-size: 12px;">'+B[i]+'</span>');}
+var FCKToolbarFontSizeCombo=function(A,B){this.Command=FCKCommands.GetCommand('FontSize');this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:FCK_TOOLBARITEM_ICONTEXT;};FCKToolbarFontSizeCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarFontSizeCombo.prototype.GetLabel=function(){return FCKLang.FontSize;};FCKToolbarFontSizeCombo.prototype.CreateItems=function(A){A.FieldWidth=70;var B=FCKConfig.FontSizes.split(';');for (var i=0;i<B.length;i++){var C=B[i].split('/');this._Combo.AddItem(C[0],'<font size="'+C[0]+'">'+C[1]+'</font>',C[1]);};}
+var FCKToolbarFontFormatCombo=function(A,B){this.Command=FCKCommands.GetCommand('FontFormat');this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:FCK_TOOLBARITEM_ICONTEXT;this.PanelWidth=190;};FCKToolbarFontFormatCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarFontFormatCombo.prototype.GetLabel=function(){return FCKLang.FontFormat;};FCKToolbarFontFormatCombo.prototype.CreateItems=function(A){var B=FCKLang['FontFormats'].split(';');var C={p:B[0],pre:B[1],address:B[2],h1:B[3],h2:B[4],h3:B[5],h4:B[6],h5:B[7],h6:B[8],div:B[9]};var D=FCKConfig.FontFormats.split(';');for (var i=0;i<D.length;i++){if (D[i]=='div'&&FCKBrowserInfo.IsGecko) continue;this._Combo.AddItem(D[i],'<'+D[i]+'>'+C[D[i]]+'</'+D[i]+'>',C[D[i]]);};}
+var FCKToolbarStyleCombo=function(A,B){this.Command=FCKCommands.GetCommand('Style');this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:FCK_TOOLBARITEM_ICONTEXT;};FCKToolbarStyleCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarStyleCombo.prototype.GetLabel=function(){return FCKLang.Style;};FCKToolbarStyleCombo.prototype.CreateItems=function(A){FCKTools.AppendStyleSheet(A._Panel.Document,FCKConfig.EditorAreaCSS);if (!FCKBrowserInfo.IsGecko) A.OnBeforeClick=this.RefreshVisibleItems;for (var s in this.Command.Styles){var B=this.Command.Styles[s];var C;if (B.IsObjectElement) C=A.AddItem(s,s);else C=A.AddItem(s,B.GetOpenerTag()+s+B.GetCloserTag());C.Style=B;};};FCKToolbarStyleCombo.prototype.RefreshActiveItems=function(A){A.DeselectAll();var B=this.Command.GetActiveStyles();if (B.length>0){for (var i=0;i<B.length;i++) A.SelectItem(B[i].Name);A.SetLabelById(B[0].Name);}else A.SetLabel('');};FCKToolbarStyleCombo.prototype.RefreshVisibleItems=function(A){if (FCKSelection.GetType()=='Control') var B=FCKSelection.GetSelectedElement().tagName;for (var i in A.Items){var C=A.Items[i];if ((B&&C.Style.Element==B)||(!B&&!C.Style.IsObjectElement)) C.style.display='';else C.style.display='none';};}
+var FCKToolbarPanelButton=function(A,B,C,D){this.Command=FCKCommands.GetCommand(A);this.Label=B?B:A;this.Tooltip=C?C:(B?B:A);this.Style=D?D:FCK_TOOLBARITEM_ONLYICON;this.State=FCK_UNKNOWN;};FCKToolbarPanelButton.prototype.Click=function(e){if (e){e.stopPropagation();FCKPanelEventHandlers.OnDocumentClick(e);};if (this.State!=FCK_TRISTATE_DISABLED){this.Command.Execute(0,this.DOMDiv.offsetHeight,this.DOMDiv);};return false;};FCKToolbarPanelButton.prototype.CreateInstance=function(A){this.DOMDiv=document.createElement('div');this.DOMDiv.className='TB_Button_Off';this.DOMDiv.FCKToolbarButton=this;var B='<table title="'+this.Tooltip+'" cellspacing="0" cellpadding="0" border="0" unselectable="on">'+'<tr>';if (this.Style!=FCK_TOOLBARITEM_ONLYTEXT) B+='<td class="TB_Icon" unselectable="on"><img src="'+FCKConfig.SkinPath+'toolbar/'+this.Command.Name.toLowerCase()+'.gif" width="21" height="21" unselectable="on"></td>';if (this.Style!=FCK_TOOLBARITEM_ONLYICON) B+='<td class="TB_Text" unselectable="on" nowrap>'+this.Label+'</td>';B+='<td class="TB_ButtonArrow" unselectable="on"><img src="'+FCKConfig.SkinPath+'images/toolbar.buttonarrow.gif" width="5" height="3"></td>'+'</tr>'+'</table>';this.DOMDiv.innerHTML=B;var C=A.DOMRow.insertCell(-1);C.appendChild(this.DOMDiv);this.RefreshState();};FCKToolbarPanelButton.prototype.RefreshState=FCKToolbarButton.prototype.RefreshState;FCKToolbarPanelButton.prototype.Enable=FCKToolbarButton.prototype.Enable;FCKToolbarPanelButton.prototype.Disable=FCKToolbarButton.prototype.Disable;
+var FCKToolbarItems=new Object();FCKToolbarItems.LoadedItems=new Object();FCKToolbarItems.RegisterItem=function(A,B){this.LoadedItems[A]=B;};FCKToolbarItems.GetItem=function(A){var B=FCKToolbarItems.LoadedItems[A];if (B) return B;switch (A){case 'Source':B=new FCKToolbarButton('Source',FCKLang.Source,null,FCK_TOOLBARITEM_ICONTEXT,true,true);break;case 'DocProps':B=new FCKToolbarButton('DocProps',FCKLang.DocProps);break;case 'Templates':B=new FCKToolbarButton('Templates',FCKLang.Templates);break;case 'Save':B=new FCKToolbarButton('Save',FCKLang.Save,null,null,true);break;case 'NewPage':B=new FCKToolbarButton('NewPage',FCKLang.NewPage,null,null,true);break;case 'Preview':B=new FCKToolbarButton('Preview',FCKLang.Preview,null,null,true);break;case 'About':B=new FCKToolbarButton('About',FCKLang.About,null,null,true);break;case 'Cut':B=new FCKToolbarButton('Cut',FCKLang.Cut,null,null,false,true);break;case 'Copy':B=new FCKToolbarButton('Copy',FCKLang.Copy,null,null,false,true);break;case 'Paste':B=new FCKToolbarButton('Paste',FCKLang.Paste,null,null,false,true);break;case 'PasteText':B=new FCKToolbarButton('PasteText',FCKLang.PasteText,null,null,false,true);break;case 'PasteWord':B=new FCKToolbarButton('PasteWord',FCKLang.PasteWord,null,null,false,true);break;case 'Print':B=new FCKToolbarButton('Print',FCKLang.Print,null,null,false,true);break;case 'SpellCheck':B=new FCKToolbarButton('SpellCheck',FCKLang.SpellCheck);break;case 'Undo':B=new FCKToolbarButton('Undo',FCKLang.Undo,null,null,false,true);break;case 'Redo':B=new FCKToolbarButton('Redo',FCKLang.Redo,null,null,false,true);break;case 'SelectAll':B=new FCKToolbarButton('SelectAll',FCKLang.SelectAll);break;case 'RemoveFormat':B=new FCKToolbarButton('RemoveFormat',FCKLang.RemoveFormat,null,null,false,true);break;case 'Bold':B=new FCKToolbarButton('Bold',FCKLang.Bold,null,null,false,true);break;case 'Italic':B=new FCKToolbarButton('Italic',FCKLang.Italic,null,null,false,true);break;case 'Underline':B=new FCKToolbarButton('Underline',FCKLang.Underline,null,null,false,true);break;case 'StrikeThrough':B=new FCKToolbarButton('StrikeThrough',FCKLang.StrikeThrough,null,null,false,true);break;case 'Subscript':B=new FCKToolbarButton('Subscript',FCKLang.Subscript,null,null,false,true);break;case 'Superscript':B=new FCKToolbarButton('Superscript',FCKLang.Superscript,null,null,false,true);break;case 'OrderedList':B=new FCKToolbarButton('InsertOrderedList',FCKLang.NumberedListLbl,FCKLang.NumberedList,null,false,true);break;case 'UnorderedList':B=new FCKToolbarButton('InsertUnorderedList',FCKLang.BulletedListLbl,FCKLang.BulletedList,null,false,true);break;case 'Outdent':B=new FCKToolbarButton('Outdent',FCKLang.DecreaseIndent,null,null,false,true);break;case 'Indent':B=new FCKToolbarButton('Indent',FCKLang.IncreaseIndent,null,null,false,true);break;case 'Link':B=new FCKToolbarButton('Link',FCKLang.InsertLinkLbl,FCKLang.InsertLink,null,false,true);break;case 'Unlink':B=new FCKToolbarButton('Unlink',FCKLang.RemoveLink,null,null,false,true);break;case 'Anchor':B=new FCKToolbarButton('Anchor',FCKLang.Anchor);break;case 'Image':B=new FCKToolbarButton('Image',FCKLang.InsertImageLbl,FCKLang.InsertImage);break;case 'Flash':B=new FCKToolbarButton('Flash',FCKLang.InsertFlashLbl,FCKLang.InsertFlash);break;case 'Table':B=new FCKToolbarButton('Table',FCKLang.InsertTableLbl,FCKLang.InsertTable);break;case 'SpecialChar':B=new FCKToolbarButton('SpecialChar',FCKLang.InsertSpecialCharLbl,FCKLang.InsertSpecialChar);break;case 'Smiley':B=new FCKToolbarButton('Smiley',FCKLang.InsertSmileyLbl,FCKLang.InsertSmiley);break;case 'PageBreak':B=new FCKToolbarButton('PageBreak',FCKLang.PageBreakLbl,FCKLang.PageBreak);break;case 'UniversalKey':B=new FCKToolbarButton('UniversalKey',FCKLang.UniversalKeyboard);break;case 'Rule':B=new FCKToolbarButton('InsertHorizontalRule',FCKLang.InsertLineLbl,FCKLang.InsertLine,null,false,true);break;case 'JustifyLeft':B=new FCKToolbarButton('JustifyLeft',FCKLang.LeftJustify,null,null,false,true);break;case 'JustifyCenter':B=new FCKToolbarButton('JustifyCenter',FCKLang.CenterJustify,null,null,false,true);break;case 'JustifyRight':B=new FCKToolbarButton('JustifyRight',FCKLang.RightJustify,null,null,false,true);break;case 'JustifyFull':B=new FCKToolbarButton('JustifyFull',FCKLang.BlockJustify,null,null,false,true);break;case 'Style':B=new FCKToolbarStyleCombo();break;case 'FontName':B=new FCKToolbarFontsCombo();break;case 'FontSize':B=new FCKToolbarFontSizeCombo();break;case 'FontFormat':B=new FCKToolbarFontFormatCombo();break;case 'TextColor':B=new FCKToolbarPanelButton('TextColor',FCKLang.TextColor);break;case 'BGColor':B=new FCKToolbarPanelButton('BGColor',FCKLang.BGColor);break;case 'Find':B=new FCKToolbarButton('Find',FCKLang.Find);break;case 'Replace':B=new FCKToolbarButton('Replace',FCKLang.Replace);break;case 'Form':B=new FCKToolbarButton('Form',FCKLang.Form);break;case 'Checkbox':B=new FCKToolbarButton('Checkbox',FCKLang.Checkbox);break;case 'Radio':B=new FCKToolbarButton('Radio',FCKLang.RadioButton);break;case 'TextField':B=new FCKToolbarButton('TextField',FCKLang.TextField);break;case 'Textarea':B=new FCKToolbarButton('Textarea',FCKLang.Textarea);break;case 'HiddenField':B=new FCKToolbarButton('HiddenField',FCKLang.HiddenField);break;case 'Button':B=new FCKToolbarButton('Button',FCKLang.Button);break;case 'Select':B=new FCKToolbarButton('Select',FCKLang.SelectionField);break;case 'ImageButton':B=new FCKToolbarButton('ImageButton',FCKLang.ImageButton);break;default:alert(FCKLang.UnknownToolbarItem.replace(/%1/g,A));return null;};FCKToolbarItems.LoadedItems[A]=B;return B;}
+var FCKToolbar=function(){this.Items=new Array();var e=this.DOMTable=document.createElement('table');e.className='TB_Toolbar';e.style.styleFloat=e.style.cssFloat=FCKLang.Dir=='rtl'?'right':'left';e.cellPadding=0;e.cellSpacing=0;e.border=0;this.DOMRow=e.insertRow(-1);var A=this.DOMRow.insertCell(-1);A.className='TB_Start';A.innerHTML='<img src="'+FCKConfig.SkinPath+'images/toolbar.start.gif" width="7" height="21" style="VISIBILITY: hidden" onload="this.style.visibility = \'\';" unselectable="on">';FCKToolbarSet.DOMElement.appendChild(e);};FCKToolbar.prototype.AddItem=function(A){this.Items[this.Items.length]=A;A.CreateInstance(this);};FCKToolbar.prototype.AddSeparator=function(){var A=this.DOMRow.insertCell(-1);A.unselectable='on';A.innerHTML='<img src="'+FCKConfig.SkinPath+'images/toolbar.separator.gif" width="5" height="21" style="VISIBILITY: hidden" onload="this.style.visibility = \'\';" unselectable="on">';};FCKToolbar.prototype.AddTerminator=function(){var A=this.DOMRow.insertCell(-1);A.className='TB_End';A.innerHTML='<img src="'+FCKConfig.SkinPath+'images/toolbar.end.gif" width="12" height="21" style="VISIBILITY: hidden" onload="this.style.visibility = \'\';" unselectable="on">';};
+var FCKToolbarBreak=function(){var A=document.createElement('div');A.style.clear=A.style.cssFloat=FCKLang.Dir=='rtl'?'right':'left';FCKToolbarSet.DOMElement.appendChild(A);}
+var FCKToolbarSet=FCK.ToolbarSet=new Object();document.getElementById('ExpandHandle').title=FCKLang.ToolbarExpand;document.getElementById('CollapseHandle').title=FCKLang.ToolbarCollapse;FCKToolbarSet.Toolbars=new Array();FCKToolbarSet.ItemsWysiwygOnly=new Array();FCKToolbarSet.ItemsContextSensitive=new Array();FCKToolbarSet.Expand=function(){document.getElementById('Collapsed').style.display='none';document.getElementById('Expanded').style.display='';if (!FCKBrowserInfo.IsIE){window.setTimeout("window.onresize()",1);};};FCKToolbarSet.Collapse=function(){document.getElementById('Collapsed').style.display='';document.getElementById('Expanded').style.display='none';if (!FCKBrowserInfo.IsIE){window.setTimeout("window.onresize()",1);};};FCKToolbarSet.Restart=function(){if (!FCKConfig.ToolbarCanCollapse||FCKConfig.ToolbarStartExpanded) this.Expand();else this.Collapse();document.getElementById('CollapseHandle').style.display=FCKConfig.ToolbarCanCollapse?'':'none';};FCKToolbarSet.Load=function(A){this.DOMElement=document.getElementById('eToolbar');var B=FCKConfig.ToolbarSets[A];if (!B){alert(FCKLang.UnknownToolbarSet.replace(/%1/g,A));return;};this.Toolbars=new Array();for (var x=0;x<B.length;x++){var C=B[x];var D;if (typeof(C)=='string'){if (C=='/') D=new FCKToolbarBreak();}else{D=new FCKToolbar();for (var j=0;j<C.length;j++){var E=C[j];if (E=='-') D.AddSeparator();else{var F=FCKToolbarItems.GetItem(E);if (F){D.AddItem(F);if (!F.SourceView) this.ItemsWysiwygOnly[this.ItemsWysiwygOnly.length]=F;if (F.ContextSensitive) this.ItemsContextSensitive[this.ItemsContextSensitive.length]=F;};};};D.AddTerminator();};this.Toolbars[this.Toolbars.length]=D;};};FCKToolbarSet.RefreshModeState=function(){if (FCK.EditMode==FCK_EDITMODE_WYSIWYG){for (var i=0;i<FCKToolbarSet.ItemsWysiwygOnly.length;i++) FCKToolbarSet.ItemsWysiwygOnly[i].Enable();FCKToolbarSet.RefreshItemsState();}else{FCKToolbarSet.RefreshItemsState();for (var i=0;i<FCKToolbarSet.ItemsWysiwygOnly.length;i++) FCKToolbarSet.ItemsWysiwygOnly[i].Disable();};};FCKToolbarSet.RefreshItemsState=function(){for (var i=0;i<FCKToolbarSet.ItemsContextSensitive.length;i++) FCKToolbarSet.ItemsContextSensitive[i].RefreshState();};
+var FCKDialog=new Object();FCKDialog.OpenDialog=function(A,B,C,D,E,F,G,H){var I=new Object();I.Title=B;I.Page=C;I.Editor=window;I.CustomValue=F;var J=FCKConfig.BasePath+'fckdialog.html';this.Show(I,A,J,D,E,G,H);};
+FCKDialog.Show=function(A,B,C,D,E,F,G){var H=(FCKConfig.ScreenHeight-E)/2;var I=(FCKConfig.ScreenWidth-D)/2;var J="location=no,menubar=no,toolbar=no,dependent=yes,dialog=yes,minimizable=no,modal=yes,alwaysRaised=yes"+",resizable="+(G?'yes':'no')+",width="+D+",height="+E+",top="+H+",left="+I;if (!F) F=window;var K=F.open('','FCKeditorDialog_'+B,J,true);K.moveTo(I,H);K.resizeTo(D,E);K.focus();K.location.href=C;K.dialogArguments=A;F.FCKLastDialogInfo=A;this.Window=K;try{window.top.captureEvents(Event.CLICK|Event.MOUSEDOWN|Event.MOUSEUP|Event.FOCUS);window.top.parent.addEventListener('mousedown',this.CheckFocus,true);window.top.parent.addEventListener('mouseup',this.CheckFocus,true);window.top.parent.addEventListener('click',this.CheckFocus,true);window.top.parent.addEventListener('focus',this.CheckFocus,true);}catch (e){};};FCKDialog.CheckFocus=function(){if (typeof(FCKDialog)!="object") return false;if (FCKDialog.Window&&!FCKDialog.Window.closed) FCKDialog.Window.focus();else{try{window.top.releaseEvents(Event.CLICK|Event.MOUSEDOWN|Event.MOUSEUP|Event.FOCUS);window.top.parent.removeEventListener('onmousedown',FCKDialog.CheckFocus,true);window.top.parent.removeEventListener('mouseup',FCKDialog.CheckFocus,true);window.top.parent.removeEventListener('click',FCKDialog.CheckFocus,true);window.top.parent.removeEventListener('onfocus',FCKDialog.CheckFocus,true);}catch (e){};};return false;};
+var FCKContextMenuItem=function(A,B,C,D){this.ContextMenu=A;this.Command=FCKCommands.GetCommand(B);this.Label=C?C:B;this.HasIcon=D?true:false;};function FCKContextMenuItem_OnMouseOver(){if (this.className!='CM_Disabled') this.className='CM_Over';};function FCKContextMenuItem_OnMouseOut(){if (this.className!='CM_Disabled') this.className='CM_Option';};function FCKContextMenuItem_OnClick(){if (this.className!='CM_Disabled'){this.FCKContextMenuItem.ContextMenu.Hide();this.FCKContextMenuItem.Command.Execute();};return false;};FCKContextMenuItem.prototype.CreateTableRow=function(A){this._Row=A.insertRow(-1);this._Row.className='CM_Disabled';this._Row.FCKContextMenuItem=this;this._Row.onmouseover=FCKContextMenuItem_OnMouseOver;this._Row.onmouseout=FCKContextMenuItem_OnMouseOut;this._Row.onclick=FCKContextMenuItem_OnClick;var B=this._Row.insertCell(-1);B.className='CM_Icon';if (this.HasIcon) B.innerHTML='<img alt="" src="'+FCKConfig.SkinPath+'toolbar/'+this.Command.Name.toLowerCase()+'.gif" width="21" height="20" unselectable="on">';B=this._Row.insertCell(-1);B.className='CM_Label';B.unselectable='on';B.noWrap=true;B.innerHTML=this.Label;};FCKContextMenuItem.prototype.SetVisible=function(A){this._Row.style.display=A?'':'none';};FCKContextMenuItem.prototype.RefreshState=function(){switch (this.Command.GetState()){case FCK_TRISTATE_ON:case FCK_TRISTATE_OFF:this._Row.className='CM_Option';break;default:this._Row.className='CM_Disabled';break;};};
+var FCKContextMenuSeparator=function(){};FCKContextMenuSeparator.prototype.CreateTableRow=function(A){this._Row=A.insertRow(-1);this._Row.className='CM_Separator';var B=this._Row.insertCell(-1);B.className='CM_Icon';B=this._Row.insertCell(-1);B.className='CM_Label';B.innerHTML='<div></div>';};FCKContextMenuSeparator.prototype.SetVisible=function(A){this._Row.style.display=A?'':'none';};FCKContextMenuSeparator.prototype.RefreshState=function(){};
+var FCKContextMenuGroup=function(A,B,C,D,E){this.IsVisible=true;this.Items=new Array();if (A) this.Add(new FCKContextMenuSeparator());if (B&&C&&D) this.Add(new FCKContextMenuItem(B,C,D,E));this.ValidationFunction=null;};FCKContextMenuGroup.prototype.Add=function(A){this.Items[this.Items.length]=A;};FCKContextMenuGroup.prototype.CreateTableRows=function(A){for (var i=0;i<this.Items.length;i++){this.Items[i].CreateTableRow(A);};};FCKContextMenuGroup.prototype.SetVisible=function(A){for (var i=0;i<this.Items.length;i++){this.Items[i].SetVisible(A);};this.IsVisible=A;};FCKContextMenuGroup.prototype.RefreshState=function(){if (!this.IsVisible) return;for (var i=0;i<this.Items.length;i++){this.Items[i].RefreshState();};}
+var FCKContextMenu=new Object();FCKContextMenu._IsLoaded=false;FCKContextMenu.Reload=function(){this._Div=this._Document.createElement('DIV');this._Div.className='CM_ContextMenu';this._Div.style.position='absolute';this._Div.style.visibility='hidden';this._Document.body.appendChild(this._Div);var A=this._Document.createElement('TABLE');A.cellSpacing=0;A.cellPadding=0;A.border=0;this._Div.appendChild(A);this.Groups=new Object();for (var i=0;i<FCKConfig.ContextMenu.length;i++){var B=FCKConfig.ContextMenu[i];this.Groups[B]=this._GetGroup(B);this.Groups[B].CreateTableRows(A);};this._IsLoaded=true;};FCKContextMenu._GetGroup=function(A){var B;switch (A){case 'Generic':B=new FCKContextMenuGroup();B.Add(new FCKContextMenuItem(this,'Cut',FCKLang.Cut,true));B.Add(new FCKContextMenuItem(this,'Copy',FCKLang.Copy,true));B.Add(new FCKContextMenuItem(this,'Paste',FCKLang.Paste,true));break;case 'Link':B=new FCKContextMenuGroup();B.Add(new FCKContextMenuSeparator());B.Add(new FCKContextMenuItem(this,'Link',FCKLang.EditLink,true));B.Add(new FCKContextMenuItem(this,'Unlink',FCKLang.RemoveLink,true));break;case 'TableCell':B=new FCKContextMenuGroup();B.Add(new FCKContextMenuSeparator());B.Add(new FCKContextMenuItem(this,'TableInsertRow',FCKLang.InsertRow,true));B.Add(new FCKContextMenuItem(this,'TableDeleteRows',FCKLang.DeleteRows,true));B.Add(new FCKContextMenuSeparator());B.Add(new FCKContextMenuItem(this,'TableInsertColumn',FCKLang.InsertColumn,true));B.Add(new FCKContextMenuItem(this,'TableDeleteColumns',FCKLang.DeleteColumns,true));B.Add(new FCKContextMenuSeparator());B.Add(new FCKContextMenuItem(this,'TableInsertCell',FCKLang.InsertCell,true));B.Add(new FCKContextMenuItem(this,'TableDeleteCells',FCKLang.DeleteCells,true));B.Add(new FCKContextMenuItem(this,'TableMergeCells',FCKLang.MergeCells,true));B.Add(new FCKContextMenuItem(this,'TableSplitCell',FCKLang.SplitCell,true));B.Add(new FCKContextMenuSeparator());B.Add(new FCKContextMenuItem(this,'TableCellProp',FCKLang.CellProperties,true));B.Add(new FCKContextMenuItem(this,'TableProp',FCKLang.TableProperties,true));break;case 'Table':return new FCKContextMenuGroup(true,this,'Table',FCKLang.TableProperties,true);case 'Image':return new FCKContextMenuGroup(true,this,'Image',FCKLang.ImageProperties,true);case 'Flash':return new FCKContextMenuGroup(true,this,'Flash',FCKLang.FlashProperties,true);case 'Form':return new FCKContextMenuGroup(true,this,'Form',FCKLang.FormProp,true);case 'Checkbox':return new FCKContextMenuGroup(true,this,'Checkbox',FCKLang.CheckboxProp,true);case 'Radio':return new FCKContextMenuGroup(true,this,'Radio',FCKLang.RadioButtonProp,true);case 'TextField':return new FCKContextMenuGroup(true,this,'TextField',FCKLang.TextFieldProp,true);case 'HiddenField':return new FCKContextMenuGroup(true,this,'HiddenField',FCKLang.HiddenFieldProp,true);case 'ImageButton':return new FCKContextMenuGroup(true,this,'ImageButton',FCKLang.ImageButtonProp,true);case 'Button':return new FCKContextMenuGroup(true,this,'Button',FCKLang.ButtonProp,true);case 'Select':return new FCKContextMenuGroup(true,this,'Select',FCKLang.SelectionFieldProp,true);case 'Textarea':return new FCKContextMenuGroup(true,this,'Textarea',FCKLang.TextareaProp,true);case 'BulletedList':return new FCKContextMenuGroup(true,this,'BulletedList',FCKLang.BulletedListProp,true);case 'NumberedList':return new FCKContextMenuGroup(true,this,'NumberedList',FCKLang.NumberedListProp,true);case 'Anchor':return new FCKContextMenuGroup(true,this,'Anchor',FCKLang.AnchorProp,true);};return B;};FCKContextMenu.RefreshState=function(){var A=FCKSelection.GetSelectedElement();var B;if (A) B=A.tagName;if (this.Groups['Link'])			this.Groups['Link'].SetVisible(FCK.GetNamedCommandState('Unlink')!=FCK_TRISTATE_DISABLED);if (this.Groups['TableCell'])		this.Groups['TableCell'].SetVisible(B!='TABLE'&&FCKSelection.HasAncestorNode('TABLE'));if (this.Groups['Table'])			this.Groups['Table'].SetVisible(B=='TABLE');if (this.Groups['Image'])			this.Groups['Image'].SetVisible(B=='IMG'&&!A.getAttribute('_fckfakelement'));if (this.Groups['Flash'])			this.Groups['Flash'].SetVisible(B=='IMG'&&A.getAttribute('_fckflash'));if (this.Groups['Anchor'])		this.Groups['Anchor'].SetVisible(B=='IMG'&&A.getAttribute('_fckanchor'));if (this.Groups['BulletedList'])	this.Groups['BulletedList'].SetVisible(FCKSelection.HasAncestorNode('UL'));if (this.Groups['NumberedList'])	this.Groups['NumberedList'].SetVisible(FCKSelection.HasAncestorNode('OL'));if (this.Groups['Select'])		this.Groups['Select'].SetVisible(B=='SELECT');if (this.Groups['Textarea'])		this.Groups['Textarea'].SetVisible(B=='TEXTAREA');if (this.Groups['Form'])			this.Groups['Form'].SetVisible(FCKSelection.HasAncestorNode('FORM'));if (this.Groups['Checkbox'])		this.Groups['Checkbox'].SetVisible(B=='INPUT'&&A.type=='checkbox');if (this.Groups['Radio'])			this.Groups['Radio'].SetVisible(B=='INPUT'&&A.type=='radio');if (this.Groups['TextField'])		this.Groups['TextField'].SetVisible(B=='INPUT'&&(A.type=='text'||A.type=='password'));if (this.Groups['HiddenField'])	this.Groups['HiddenField'].SetVisible(B=='INPUT'&&A.type=='hidden');if (this.Groups['ImageButton'])	this.Groups['ImageButton'].SetVisible(B=='INPUT'&&A.type=='image');if (this.Groups['Button'])		this.Groups['Button'].SetVisible(B=='INPUT'&&(A.type=='button'||A.type=='submit'||A.type=='reset'));for (var o in this.Groups){this.Groups[o].RefreshState();};};
+FCKTools.AppendStyleSheet(window.parent.document,FCKConfig.SkinPath+'fck_contextmenu.css');FCKContextMenu.Show=function(x,y){if (!this._Document){this._Document=window.parent.document;};if (!this._IsLoaded){this.Reload();this._Div.style.zIndex=10000;this._Div.oncontextmenu=function() { return false;};};this.RefreshState();var A=FCKTools.GetElementPosition(FCK.EditorWindow.frameElement);var B=FCKTools.GetElementPosition(window.frameElement);x+=A.X+B.X;y+=A.Y+B.Y;var C=x+this._Div.offsetWidth-this._Div.ownerDocument.defaultView.innerWidth;var D=y+this._Div.offsetHeight-this._Div.ownerDocument.defaultView.innerHeight;if (C>0) x-=this._Div.offsetWidth;if (D>0) y-=this._Div.offsetHeight;this._Div.style.left=x+'px';this._Div.style.top=y+'px';var E=FCK.EditorWindow;while (E){E.document.addEventListener('click',FCKContextMenu._OnDocumentClick,false);if (E!=E.parent) E=E.parent;else if (E.opener==null) E=E.opener;else break;};this._Div.style.visibility='';};FCKContextMenu._OnDocumentClick=function(A){var e=A.target;while (e){if (e==FCKContextMenu._Div) return;e=e.parentNode;};FCKContextMenu.Hide();};FCKContextMenu.Hide=function(){this._Div.style.visibility='hidden';this._Div.style.left=this._Div.style.top='1px';}
+if (!FCKConfig.PluginsPath.endsWith('/')) FCKConfig.PluginsPath+='/';var FCKPlugin=function(A,B,C){this.Name=A;this.BasePath=C?C:FCKConfig.PluginsPath;this.Path=this.BasePath+A+'/';if (!B||B.length==0) this.AvailableLangs=new Array();else this.AvailableLangs=B.split(',');};FCKPlugin.prototype.Load=function(){if (this.AvailableLangs.length>0){var A;if (this.AvailableLangs.indexOf(FCKLanguageManager.ActiveLanguage.Code)>=0) A=FCKLanguageManager.ActiveLanguage.Code;else A=this.AvailableLangs[0];FCKScriptLoader.AddScript(this.Path+'lang/'+A+'.js');};FCKScriptLoader.AddScript(this.Path+'fckplugin.js');}
+var FCKPlugins=FCK.Plugins=new Object();FCKPlugins.ItemsCount=0;FCKPlugins.Loaded=false;FCKPlugins.Items=new Object();for (var i=0;i<FCKConfig.Plugins.Items.length;i++){var oItem=FCKConfig.Plugins.Items[i];FCKPlugins.Items[oItem[0]]=new FCKPlugin(oItem[0],oItem[1],oItem[2]);FCKPlugins.ItemsCount++;};FCKPlugins.Load=function(){for (var s in this.Items) this.Items[s].Load();this.Loaded=true;FCKPlugins.Load=null;}
+if (FCKLang&&window.document.dir.toLowerCase()!=FCKLang.Dir.toLowerCase()) window.document.dir=FCKLang.Dir;if (FCKConfig.ForcePasteAsPlainText) FCK.Events.AttachEvent("OnPaste",FCK.Paste);if (FCKPlugins.ItemsCount>0){FCKScriptLoader.OnEmpty=CompleteLoading;FCKPlugins.Load();}else CompleteLoading();function CompleteLoading(){FCKToolbarSet.Name=FCKURLParams['Toolbar']||'Default';FCKToolbarSet.Load(FCKToolbarSet.Name);FCKToolbarSet.Restart();FCK.AttachToOnSelectionChange(FCKToolbarSet.RefreshItemsState);FCK.SetStatus(FCK_STATUS_COMPLETE);if (typeof(window.parent.FCKeditor_OnComplete)=='function') window.parent.FCKeditor_OnComplete(FCK);}

Added: zope.html/trunk/src/zope/html/fckeditor/editor/js/fckeditorcode_ie_1.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/js/fckeditorcode_ie_1.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/js/fckeditorcode_ie_1.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,27 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * This file has been compacted for best loading performance.
+ */
+var FCKDebug=new Object();if (FCKConfig.Debug){FCKDebug.Output=function(A,B){if (!FCKConfig.Debug) return;if (A!=null&&isNaN(A)) A=A.replace(/</g,"&lt;");if (!this.DebugWindow||this.DebugWindow.closed) this.DebugWindow=window.open('fckdebug.html','FCKeditorDebug','menubar=no,scrollbars=no,resizable=yes,location=no,toolbar=no,width=600,height=500',true);if (this.DebugWindow.Output) this.DebugWindow.Output(A,B);};}else FCKDebug.Output=function() {};
+var FCKTools=new Object();FCKTools.GetLinkedFieldValue=function(){return FCK.LinkedField.value;};FCKTools.AttachToLinkedFieldFormSubmit=function(A){var B=FCK.LinkedField.form;if (!B) return;if (FCKBrowserInfo.IsIE) B.attachEvent("onsubmit",A);else B.addEventListener('submit',A,true);if (!B.updateFCKeditor) B.updateFCKeditor=new Array();B.updateFCKeditor[B.updateFCKeditor.length]=A;if (!B.originalSubmit&&(typeof(B.submit)=='function'||(!B.submit.tagName&&!B.submit.length))){B.originalSubmit=B.submit;B.submit=FCKTools_SubmitReplacer;};};function FCKTools_SubmitReplacer(){if (this.updateFCKeditor){for (var i=0;i<this.updateFCKeditor.length;i++) this.updateFCKeditor[i]();};this.originalSubmit();};FCKTools.AddSelectOption=function(A,B,C,D){var E=A.createElement("OPTION");E.text=C;E.value=D;B.options.add(E);return E;};FCKTools.RemoveAllSelectOptions=function(A){for (var i=A.options.length-1;i>=0;i--){A.options.remove(i);};};FCKTools.SelectNoCase=function(A,B,C){var D=B.toString().toLowerCase();for (var i=0;i<A.options.length;i++){if (D==A.options[i].value.toLowerCase()){A.selectedIndex=i;return;};};if (C!=null) FCKTools.SelectNoCase(A,C);};FCKTools.HTMLEncode=function(A){if (!A) return '';A=A.replace(/&/g,"&amp;");A=A.replace(/"/g,"&quot;");A=A.replace(/</g,"&lt;");A=A.replace(/>/g,"&gt;");A=A.replace(/'/g,"&#39;");return A;};FCKTools.GetResultingArray=function(A,B){switch (typeof(A)){case "string":return A.split(B);case "function":return B();default:if (isArray(A)) return A;else return new Array();};};FCKTools.GetElementPosition=function(A){var c={ X:0,Y:0 };while (A){c.X+=A.offsetLeft;c.Y+=A.offsetTop;A=A.offsetParent;};return c;};FCKTools.GetElementAscensor=function(A,B){var e=A;var C=","+B.toUpperCase()+",";while (e){if (C.indexOf(","+e.nodeName.toUpperCase()+",")!=-1) return e;e=e.parentNode;};return null;};FCKTools.Pause=function(A){var B=new Date();while (true){var C=new Date();if (A<C-B) return;};};FCKTools.ConvertStyleSizeToHtml=function(A){return A.endsWith('%')?A:parseInt(A);};FCKTools.ConvertHtmlSizeToStyle=function(A){return A.endsWith('%')?A:(A+'px');};
+FCKTools.AppendStyleSheet=function(A,B){return A.createStyleSheet(B);};FCKTools.ClearElementAttributes=function(A){A.clearAttributes();};FCKTools.GetAllChildrenIds=function(A){var B=new Array();for (var i=0;i<A.all.length;i++){var C=A.all[i].id;if (C&&C.length>0) B[B.length]=C;};return B;};FCKTools.RemoveOuterTags=function(e){e.insertAdjacentHTML('beforeBegin',e.innerHTML);e.parentNode.removeChild(e);};FCKTools.CreateXmlObject=function(A){var B;switch (A){case 'XmlHttp':B=['MSXML2.XmlHttp','Microsoft.XmlHttp'];break;case 'DOMDocument':B=['MSXML2.DOMDocument','Microsoft.XmlDom'];break;};for (var i=0;i<2;i++){try { return new ActiveXObject(B[i]);}catch (e){};};if (FCKLang.NoActiveX){alert(FCKLang.NoActiveX);FCKLang.NoActiveX=null;};}
+var FCKRegexLib=new Object();FCKRegexLib.AposEntity=/&apos;/gi;FCKRegexLib.ObjectElements=/^(?:IMG|TABLE|TR|TD|INPUT|SELECT|TEXTAREA|HR|OBJECT)$/i;FCKRegexLib.BlockElements=/^(?:P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TD)$/i;FCKRegexLib.EmptyElements=/^(?:BASE|META|LINK|HR|BR|PARAM|IMG|AREA|INPUT)$/i;FCKRegexLib.NamedCommands=/^(?:Cut|Copy|Paste|Print|SelectAll|RemoveFormat|Unlink|Undo|Redo|Bold|Italic|Underline|StrikeThrough|Subscript|Superscript|JustifyLeft|JustifyCenter|JustifyRight|JustifyFull|Outdent|Indent|InsertOrderedList|InsertUnorderedList|InsertHorizontalRule)$/i;FCKRegexLib.BodyContents=/([\s\S]*\<body[^\>]*\>)([\s\S]*)(\<\/body\>[\s\S]*)/i;FCKRegexLib.ToReplace=/___fcktoreplace:([\w]+)/ig;FCKRegexLib.MetaHttpEquiv=/http-equiv\s*=\s*["']?([^"' ]+)/i;FCKRegexLib.HasBaseTag=/<base /i;FCKRegexLib.HeadOpener=/<head\s?[^>]*>/i;FCKRegexLib.HeadCloser=/<\/head\s*>/i;FCKRegexLib.TableBorderClass=/\s*FCK__ShowTableBorders\s*/;FCKRegexLib.ElementName=/^[A-Za-z_:][\w.-:]*$/;FCKRegexLib.ForceSimpleAmpersand=/___FCKAmp___/g;FCKRegexLib.SpaceNoClose=/\/>/g;FCKRegexLib.EmptyParagraph=/^<(p|div)>\s*<\/\1>$/i;FCKRegexLib.TagBody=/></;FCKRegexLib.StrongOpener=/<STRONG([ \>])/gi;FCKRegexLib.StrongCloser=/<\/STRONG>/gi;FCKRegexLib.EmOpener=/<EM([ \>])/gi;FCKRegexLib.EmCloser=/<\/EM>/gi;FCKRegexLib.GeckoEntitiesMarker=/#\?-\:/g;
+FCKLanguageManager.GetActiveLanguage=function(){if (FCKConfig.AutoDetectLanguage){var A;if (navigator.userLanguage) A=navigator.userLanguage.toLowerCase();else if (navigator.language) A=navigator.language.toLowerCase();else{return FCKConfig.DefaultLanguage;};if (A.length>=5){A=A.substr(0,5);if (this.AvailableLanguages[A]) return A;};if (A.length>=2){A=A.substr(0,2);if (this.AvailableLanguages[A]) return A;};};return this.DefaultLanguage;};FCKLanguageManager.TranslateElements=function(A,B,C){var e=A.getElementsByTagName(B);for (var i=0;i<e.length;i++){var D=e[i].getAttribute('fckLang');if (D){var s=FCKLang[D];if (s) eval('e[i].'+C+' = s');};};};FCKLanguageManager.TranslatePage=function(A){this.TranslateElements(A,'INPUT','value');this.TranslateElements(A,'SPAN','innerHTML');this.TranslateElements(A,'LABEL','innerHTML');this.TranslateElements(A,'OPTION','innerHTML');};if (FCKLanguageManager.AvailableLanguages[FCKConfig.DefaultLanguage]) FCKLanguageManager.DefaultLanguage=FCKConfig.DefaultLanguage;else FCKLanguageManager.DefaultLanguage='en';FCKLanguageManager.ActiveLanguage=new Object();FCKLanguageManager.ActiveLanguage.Code=FCKLanguageManager.GetActiveLanguage();FCKLanguageManager.ActiveLanguage.Name=FCKLanguageManager.AvailableLanguages[FCKLanguageManager.ActiveLanguage.Code];FCK.Language=FCKLanguageManager;LoadLanguageFile();
+var FCKEvents;if (!(FCKEvents=NS.FCKEvents)){FCKEvents=NS.FCKEvents=function(A){this.Owner=A;this.RegisteredEvents=new Object();};FCKEvents.prototype.AttachEvent=function(A,B){if (!this.RegisteredEvents[A]) this.RegisteredEvents[A]=new Array();this.RegisteredEvents[A][this.RegisteredEvents[A].length]=B;};FCKEvents.prototype.FireEvent=function(A,B){var C=true;var D=this.RegisteredEvents[A];if (D){for (var i=0;i<D.length;i++) C=(D[i](this.Owner,B)&&C);};return C;};}
+var FCKXHtmlEntities=new Object();if (FCKConfig.ProcessHTMLEntities){FCKXHtmlEntities.Entities={' ':'nbsp','¡':'iexcl','¢':'cent','£':'pound','¤':'curren','¥':'yen','¦':'brvbar','§':'sect','¨':'uml','©':'copy','ª':'ordf','«':'laquo','¬':'not','­':'shy','®':'reg','¯':'macr','°':'deg','±':'plusmn','²':'sup2','³':'sup3','´':'acute','µ':'micro','¶':'para','·':'middot','¸':'cedil','¹':'sup1','º':'ordm','»':'raquo','¼':'frac14','½':'frac12','¾':'frac34','¿':'iquest','×':'times','÷':'divide','ƒ':'fnof','•':'bull','…':'hellip','′':'prime','″':'Prime','‾':'oline','⁄':'frasl','℘':'weierp','ℑ':'image','ℜ':'real','™':'trade','ℵ':'alefsym','←':'larr','↑':'uarr','→':'rarr','↓':'darr','↔':'harr','↵':'crarr','⇐':'lArr','⇑':'uArr','⇒':'rArr','⇓':'dArr','⇔':'hArr','∀':'forall','∂':'part','∃':'exist','∅':'empty','∇':'nabla','∈':'isin','∉':'notin','∋':'ni','∏':'prod','∑':'sum','−':'minus','∗':'lowast','√':'radic','∝':'prop','∞':'infin','∠':'ang','∧':'and','∨':'or','∩':'cap','∪':'cup','∫':'int','∴':'there4','∼':'sim','≅':'cong','≈':'asymp','≠':'ne','≡':'equiv','≤':'le','≥':'ge','⊂':'sub','⊃':'sup','⊄':'nsub','⊆':'sube','⊇':'supe','⊕':'oplus','⊗':'otimes','⊥':'perp','⋅':'sdot','◊':'loz','♠':'spades','♣':'clubs','♥':'hearts','♦':'diams','"':'quot','ˆ':'circ','˜':'tilde',' ':'ensp',' ':'emsp',' ':'thinsp','‌':'zwnj','‍':'zwj','‎':'lrm','‏':'rlm','–':'ndash','—':'mdash','‘':'lsquo','’':'rsquo','‚':'sbquo','“':'ldquo','”':'rdquo','„':'bdquo','†':'dagger','‡':'Dagger','‰':'permil','‹':'lsaquo','›':'rsaquo','€':'euro'};FCKXHtmlEntities.Chars='';for (var e in FCKXHtmlEntities.Entities) FCKXHtmlEntities.Chars+=e;if (FCKConfig.IncludeLatinEntities){var oEntities={'À':'Agrave','Á':'Aacute','Â':'Acirc','Ã':'Atilde','Ä':'Auml','Å':'Aring','Æ':'AElig','Ç':'Ccedil','È':'Egrave','É':'Eacute','Ê':'Ecirc','Ë':'Euml','Ì':'Igrave','Í':'Iacute','Î':'Icirc','Ï':'Iuml','Ð':'ETH','Ñ':'Ntilde','Ò':'Ograve','Ó':'Oacute','Ô':'Ocirc','Õ':'Otilde','Ö':'Ouml','Ø':'Oslash','Ù':'Ugrave','Ú':'Uacute','Û':'Ucirc','Ü':'Uuml','Ý':'Yacute','Þ':'THORN','ß':'szlig','à':'agrave','á':'aacute','â':'acirc','ã':'atilde','ä':'auml','å':'aring','æ':'aelig','ç':'ccedil','è':'egrave','é':'eacute','ê':'ecirc','ë':'euml','ì':'igrave','í':'iacute','î':'icirc','ï':'iuml','ð':'eth','ñ':'ntilde','ò':'ograve','ó':'oacute','ô':'ocirc','õ':'otilde','ö':'ouml','ø':'oslash','ù':'ugrave','ú':'uacute','û':'ucirc','ü':'uuml','ý':'yacute','þ':'thorn','ÿ':'yuml','Œ':'OElig','œ':'oelig','Š':'Scaron','š':'scaron','Ÿ':'Yuml'};for (var e in oEntities){FCKXHtmlEntities.Entities[e]=oEntities[e];FCKXHtmlEntities.Chars+=e;};oEntities=null;};if (FCKConfig.IncludeGreekEntities){var oEntities={'Α':'Alpha','Β':'Beta','Γ':'Gamma','Δ':'Delta','Ε':'Epsilon','Ζ':'Zeta','Η':'Eta','Θ':'Theta','Ι':'Iota','Κ':'Kappa','Λ':'Lambda','Μ':'Mu','Ν':'Nu','Ξ':'Xi','Ο':'Omicron','Π':'Pi','Ρ':'Rho','Σ':'Sigma','Τ':'Tau','Υ':'Upsilon','Φ':'Phi','Χ':'Chi','Ψ':'Psi','Ω':'Omega','α':'alpha','β':'beta','γ':'gamma','δ':'delta','ε':'epsilon','ζ':'zeta','η':'eta','θ':'theta','ι':'iota','κ':'kappa','λ':'lambda','μ':'mu','ν':'nu','ξ':'xi','ο':'omicron','π':'pi','ρ':'rho','ς':'sigmaf','σ':'sigma','τ':'tau','υ':'upsilon','φ':'phi','χ':'chi','ψ':'psi','ω':'omega'};for (var e in oEntities){FCKXHtmlEntities.Entities[e]=oEntities[e];FCKXHtmlEntities.Chars+=e;};oEntities=null;};FCKXHtmlEntities.EntitiesRegex=new RegExp('','');FCKXHtmlEntities.EntitiesRegex.compile('['+FCKXHtmlEntities.Chars+']|[^'+FCKXHtmlEntities.Chars+']+','g');}else{FCKXHtmlEntities.Entities={ ' ':'nbsp' };FCKXHtmlEntities.EntitiesRegex=/[ ]|[^ ]+/g;}
+var FCKXHtml=new Object();FCKXHtml.CurrentJobNum=0;FCKXHtml.GetXHTML=function(A,B,C){FCKXHtml.SpecialBlocks=new Array();this.XML=FCKTools.CreateXmlObject('DOMDocument');this.MainNode=this.XML.appendChild(this.XML.createElement('xhtml'));FCKXHtml.CurrentJobNum++;if (B) this._AppendNode(this.MainNode,A);else this._AppendChildNodes(this.MainNode,A,false);var D=this._GetMainXmlString();D=D.substr(7,D.length-15).trim();if (FCKBrowserInfo.IsGecko) D=D.replace(/<br\/>$/,'');D=D.replace(FCKRegexLib.SpaceNoClose,' />');if (FCKConfig.ForceSimpleAmpersand) D=D.replace(FCKRegexLib.ForceSimpleAmpersand,'&');if (C) D=FCKCodeFormatter.Format(D);for (var i=0;i<FCKXHtml.SpecialBlocks.length;i++){var E=new RegExp('___FCKsi___'+i);D=D.replace(E,FCKXHtml.SpecialBlocks[i]);};this.XML=null;return D};FCKXHtml._AppendAttribute=function(A,B,C){try{var D=this.XML.createAttribute(B);D.value=C?C:'';A.attributes.setNamedItem(D);}catch (e){};};FCKXHtml._AppendChildNodes=function(A,B,C){var D=0;if (B.hasChildNodes()){var E=B.childNodes;for (var i=0;i<E.length;i++){if (this._AppendNode(A,E[i])) D++;};};if (D==0){if (C&&FCKConfig.FillEmptyBlocks){this._AppendEntity(A,'nbsp');return;};if (!FCKRegexLib.EmptyElements.test(B.nodeName)) A.appendChild(this.XML.createTextNode(''));};};FCKXHtml._AppendNode=function(A,B){switch (B.nodeType){case 1:if (B.getAttribute('_fckfakelement')) return FCKXHtml._AppendNode(A,FCK.GetRealElement(B));if (FCKBrowserInfo.IsGecko&&B.hasAttribute('_moz_editor_bogus_node')) return false;if (B.getAttribute('_fckdelete')) return false;var C=B.nodeName;if (!FCKRegexLib.ElementName.test(C)) return false;C=C.toLowerCase();if (FCKBrowserInfo.IsGecko&&C=='br'&&B.hasAttribute('type')&&B.getAttribute('type',2)=='_moz') return false;if (B._fckxhtmljob&&B._fckxhtmljob==FCKXHtml.CurrentJobNum) return false;else B._fckxhtmljob=FCKXHtml.CurrentJobNum;var D=this._CreateNode(C);FCKXHtml._AppendAttributes(A,B,D,C);var E=FCKXHtml.TagProcessors[C];if (E){D=E(D,B);if (!D) break;}else this._AppendChildNodes(D,B,FCKRegexLib.BlockElements.test(C));A.appendChild(D);break;case 3:this._AppendTextNode(A,B.nodeValue.replaceNewLineChars(' '));break;case 8:try { A.appendChild(this.XML.createComment(B.nodeValue));}catch (e) { /* Do nothing... probably this is a wrong format comment. */};break;default:A.appendChild(this.XML.createComment("Element not supported - Type: "+B.nodeType+" Name: "+B.nodeName));break;};return true;};if (FCKConfig.ForceStrongEm){FCKXHtml._CreateNode=function(A){switch (A){case 'b':A='strong';break;case 'i':A='em';break;};return this.XML.createElement(A);};}else{FCKXHtml._CreateNode=function(A){return this.XML.createElement(A);};};FCKXHtml._AppendSpecialItem=function(A){return '___FCKsi___'+FCKXHtml.SpecialBlocks.addItem(A);};FCKXHtml._AppendTextNode=function(A,B){var C=B.match(FCKXHtmlEntities.EntitiesRegex);if (C){for (var i=0;i<C.length;i++){if (C[i].length==1){var D=FCKXHtmlEntities.Entities[C[i]];if (D!=null){this._AppendEntity(A,D);continue;};};A.appendChild(this.XML.createTextNode(C[i]));};};};FCKXHtml.TagProcessors=new Object();FCKXHtml.TagProcessors['img']=function(A){if (!A.attributes.getNamedItem('alt')) FCKXHtml._AppendAttribute(A,'alt','');return A;};FCKXHtml.TagProcessors['script']=function(A,B){if (!A.attributes.getNamedItem('type')) FCKXHtml._AppendAttribute(A,'type','text/javascript');A.appendChild(FCKXHtml.XML.createTextNode(FCKXHtml._AppendSpecialItem(B.text)));return A;};FCKXHtml.TagProcessors['style']=function(A,B){if (B.getAttribute('_fcktemp')) return null;if (!A.attributes.getNamedItem('type')) FCKXHtml._AppendAttribute(A,'type','text/css');A.appendChild(FCKXHtml.XML.createTextNode(FCKXHtml._AppendSpecialItem(B.innerHTML)));return A;};FCKXHtml.TagProcessors['title']=function(A,B){A.appendChild(FCKXHtml.XML.createTextNode(FCK.EditorDocument.title));return A;};FCKXHtml.TagProcessors['base']=function(A,B){if (B.getAttribute('_fcktemp')) return null;return A;};FCKXHtml.TagProcessors['link']=function(A,B){if (B.getAttribute('_fcktemp')) return null;return A;};FCKXHtml.TagProcessors['table']=function(A,B){var C=A.attributes.getNamedItem('class');if (C&&FCKRegexLib.TableBorderClass.test(C.nodeValue)){var D=C.nodeValue.replace(FCKRegexLib.TableBorderClass,'');if (D.length==0) A.attributes.removeNamedItem('class');else FCKXHtml._AppendAttribute(A,'class',D);};FCKXHtml._AppendChildNodes(A,B,false);return A;}
+FCKXHtml._GetMainXmlString=function(){return this.MainNode.xml;};FCKXHtml._AppendEntity=function(A,B){A.appendChild(this.XML.createEntityReference(B));};FCKXHtml._AppendAttributes=function(A,B,C,D){var E=B.attributes;for (var n=0;n<E.length;n++){var F=E[n];if (F.specified){var G=F.nodeName.toLowerCase();var H;if (G=='_fckxhtmljob') continue;else if (G=='style') H=B.style.cssText;else if (G=='class'||G.indexOf('on')==0) H=F.nodeValue;else if (D=='body'&&G=='contenteditable') continue;else if (F.nodeValue===true) H=G;else if (!(H=B.getAttribute(G,2))) H=F.nodeValue;if (FCKConfig.ForceSimpleAmpersand&&H.replace) H=H.replace(/&/g,'___FCKAmp___');this._AppendAttribute(C,G,H);};};};FCKXHtml.TagProcessors['meta']=function(A,B){var C=A.attributes.getNamedItem('http-equiv');if (C==null||C.value.length==0){var D=B.outerHTML.match(FCKRegexLib.MetaHttpEquiv);if (D){D=D[1];FCKXHtml._AppendAttribute(A,'http-equiv',D);};};return A;};FCKXHtml.TagProcessors['font']=function(A,B){if (A.attributes.length==0) A=FCKXHtml.XML.createDocumentFragment();FCKXHtml._AppendChildNodes(A,B);return A;};FCKXHtml.TagProcessors['input']=function(A,B){if (B.name) FCKXHtml._AppendAttribute(A,'name',B.name);if (B.value&&!A.attributes.getNamedItem('value')) FCKXHtml._AppendAttribute(A,'value',B.value);return A;};FCKXHtml.TagProcessors['option']=function(A,B){if (B.selected&&!A.attributes.getNamedItem('selected')) FCKXHtml._AppendAttribute(A,'selected','selected');FCKXHtml._AppendChildNodes(A,B);return A;};FCKXHtml.TagProcessors['abbr']=function(A,B){var C=B.nextSibling;while (true){if (C&&C.nodeName!='/ABBR'){FCKXHtml._AppendNode(A,C);C=C.nextSibling;}else break;};return A;};FCKXHtml.TagProcessors['area']=function(A,B){if (!A.attributes.getNamedItem('coords')){var C=B.getAttribute('coords',2);if (C&&C!='0,0,0') FCKXHtml._AppendAttribute(A,'coords',C);};if (!A.attributes.getNamedItem('shape')){var C=B.getAttribute('shape',2);if (C&&C.length>0) FCKXHtml._AppendAttribute(A,'shape',C);};return A;};FCKXHtml.TagProcessors['label']=function(A,B){if (B.htmlFor.length>0) FCKXHtml._AppendAttribute(A,'for',B.htmlFor);FCKXHtml._AppendChildNodes(A,B);return A;};FCKXHtml.TagProcessors['form']=function(A,B){if (B.acceptCharset.length>0&&B.acceptCharset!='UNKNOWN') FCKXHtml._AppendAttribute(A,'accept-charset',B.acceptCharset);if (B.name) FCKXHtml._AppendAttribute(A,'name',B.name);FCKXHtml._AppendChildNodes(A,B);return A;};FCKXHtml.TagProcessors['textarea']=FCKXHtml.TagProcessors['select']=function(A,B){if (B.name) FCKXHtml._AppendAttribute(A,'name',B.name);FCKXHtml._AppendChildNodes(A,B);return A;} 
+var FCKCodeFormatter;if (!(FCKCodeFormatter=NS.FCKCodeFormatter)){FCKCodeFormatter=NS.FCKCodeFormatter=new Object();FCKCodeFormatter.Regex=new Object();FCKCodeFormatter.Regex.BlocksOpener=/\<(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TITLE|META|LINK|BASE|SCRIPT|LINK|TD|AREA|OPTION)[^\>]*\>/gi;FCKCodeFormatter.Regex.BlocksCloser=/\<\/(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TITLE|META|LINK|BASE|SCRIPT|LINK|TD|AREA|OPTION)[^\>]*\>/gi;FCKCodeFormatter.Regex.NewLineTags=/\<(BR|HR)[^\>]\>/gi;FCKCodeFormatter.Regex.MainTags=/\<\/?(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR)[^\>]*\>/gi;FCKCodeFormatter.Regex.LineSplitter=/\s*\n+\s*/g;FCKCodeFormatter.Regex.IncreaseIndent=/^\<(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR|UL|OL)[ \/\>]/i;FCKCodeFormatter.Regex.DecreaseIndent=/^\<\/(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR|UL|OL)[ \>]/i;FCKCodeFormatter.Regex.FormatIndentatorRemove=new RegExp(FCKConfig.FormatIndentator);FCKCodeFormatter.Format=function(A){var B=A.replace(this.Regex.BlocksOpener,'\n$&');;B=B.replace(this.Regex.BlocksCloser,'$&\n');B=B.replace(this.Regex.NewLineTags,'$&\n');B=B.replace(this.Regex.MainTags,'\n$&\n');var C='';var D=B.split(this.Regex.LineSplitter);B='';for (var i=0;i<D.length;i++){var E=D[i];if (E.length==0) continue;if (this.Regex.DecreaseIndent.test(E)) C=C.replace(this.Regex.FormatIndentatorRemove,'');B+=C+E+'\n';if (this.Regex.IncreaseIndent.test(E)) C+=FCKConfig.FormatIndentator;};return B.trim();};}
+var FCKUndo=new Object();FCKUndo.SavedData=new Array();FCKUndo.CurrentIndex=-1;FCKUndo.TypesCount=FCKUndo.MaxTypes=25;FCKUndo.Typing=false;FCKUndo.SaveUndoStep=function(){FCKUndo.SavedData=FCKUndo.SavedData.slice(0,FCKUndo.CurrentIndex+1);var A=FCK.EditorDocument.body.innerHTML;if (FCKUndo.CurrentIndex>=0&&A==FCKUndo.SavedData[FCKUndo.CurrentIndex][0]) return;if (FCKUndo.CurrentIndex+1>=FCKConfig.MaxUndoLevels) FCKUndo.SavedData.shift();else FCKUndo.CurrentIndex++;var B;if (FCK.EditorDocument.selection.type=='Text') B=FCK.EditorDocument.selection.createRange().getBookmark();FCKUndo.SavedData[FCKUndo.CurrentIndex]=[A,B];FCK.Events.FireEvent("OnSelectionChange");};FCKUndo.CheckUndoState=function(){return (FCKUndo.Typing||FCKUndo.CurrentIndex>0);};FCKUndo.CheckRedoState=function(){return (!FCKUndo.Typing&&FCKUndo.CurrentIndex<(FCKUndo.SavedData.length-1));};FCKUndo.Undo=function(){if (FCKUndo.CheckUndoState()){if (FCKUndo.CurrentIndex==(FCKUndo.SavedData.length-1)){FCKUndo.SaveUndoStep();};FCKUndo._ApplyUndoLevel(--FCKUndo.CurrentIndex);FCK.Events.FireEvent("OnSelectionChange");};};FCKUndo.Redo=function(){if (FCKUndo.CheckRedoState()){FCKUndo._ApplyUndoLevel(++FCKUndo.CurrentIndex);FCK.Events.FireEvent("OnSelectionChange");};};FCKUndo._ApplyUndoLevel=function(A){var B=FCKUndo.SavedData[A];if (!B) return;FCK.SetInnerHtml(B[0]);if (B[1]){var C=FCK.EditorDocument.selection.createRange();C.moveToBookmark(B[1]);C.select();};FCKUndo.TypesCount=0;FCKUndo.Typing=false;}
+FCK.Events=new FCKEvents(FCK);FCK.Toolbar=null;FCK.TempBaseTag=FCKConfig.BaseHref.length>0?'<base href="'+FCKConfig.BaseHref+'" _fcktemp="true"></base>':'';FCK.StartEditor=function(){this.EditorWindow=window.frames['eEditorArea'];this.EditorDocument=this.EditorWindow.document;this.SetHTML(FCKTools.GetLinkedFieldValue());FCKTools.AttachToLinkedFieldFormSubmit(this.UpdateLinkedField);FCKUndo.SaveUndoStep();this.SetStatus(FCK_STATUS_ACTIVE);};function Window_OnFocus(){FCK.Focus();};FCK.SetStatus=function(A){this.Status=A;if (A==FCK_STATUS_ACTIVE){window.onfocus=window.document.body.onfocus=Window_OnFocus;if (FCKConfig.StartupFocus) FCK.Focus();if (FCKBrowserInfo.IsIE) FCKScriptLoader.AddScript('js/fckeditorcode_ie_2.js');else FCKScriptLoader.AddScript('js/fckeditorcode_gecko_2.js');};this.Events.FireEvent('OnStatusChange',A);};FCK.GetHTML=function(A){var B;if (FCK.EditMode==FCK_EDITMODE_WYSIWYG){if (FCKBrowserInfo.IsIE) B=this.EditorDocument.body.innerHTML.replace(FCKRegexLib.ToReplace,'$1');else B=this.EditorDocument.body.innerHTML;}else B=document.getElementById('eSourceField').value;if (A) return FCKCodeFormatter.Format(B);else return B;};FCK.GetXHTML=function(A){var B=(FCK.EditMode==FCK_EDITMODE_SOURCE);if (B) this.SwitchEditMode();var C;if (FCKConfig.FullPage) C=FCKXHtml.GetXHTML(this.EditorDocument.getElementsByTagName('html')[0],true,A);else{if (FCKConfig.IgnoreEmptyParagraphValue&&this.EditorDocument.body.innerHTML=='<P>&nbsp;</P>') C='';else C=FCKXHtml.GetXHTML(this.EditorDocument.body,false,A);};if (B) this.SwitchEditMode();if (FCKBrowserInfo.IsIE) C=C.replace(FCKRegexLib.ToReplace,'$1');if (FCK.DocTypeDeclaration&&FCK.DocTypeDeclaration.length>0) C=FCK.DocTypeDeclaration+'\n'+C;if (FCK.XmlDeclaration&&FCK.XmlDeclaration.length>0) C=FCK.XmlDeclaration+'\n'+C;return FCKConfig.ProtectedSource.Revert(C);};FCK.UpdateLinkedField=function(){if (FCKConfig.EnableXHTML) FCK.LinkedField.value=FCK.GetXHTML(FCKConfig.FormatOutput);else FCK.LinkedField.value=FCK.GetHTML(FCKConfig.FormatOutput);FCK.Events.FireEvent('OnAfterLinkedFieldUpdate');};FCK.ShowContextMenu=function(x,y){if (this.Status!=FCK_STATUS_COMPLETE) return;FCKContextMenu.Show(x,y);this.Events.FireEvent("OnContextMenu");};FCK.RegisteredDoubleClickHandlers=new Object();FCK.OnDoubleClick=function(A){var B=FCK.RegisteredDoubleClickHandlers[A.tagName];if (B) B(A);};FCK.RegisterDoubleClickHandler=function(A,B){FCK.RegisteredDoubleClickHandlers[B.toUpperCase()]=A;};FCK.OnAfterSetHTML=function(){var A,i=0;while((A=FCKDocumentProcessors[i++])) A.ProcessDocument(FCK.EditorDocument);this.Events.FireEvent('OnAfterSetHTML');};var FCKDocumentProcessors=new Array();var FCKDocumentProcessors_CreateFakeImage=function(A,B){var C=FCK.EditorDocument.createElement('IMG');C.className=A;C.src=FCKConfig.FullBasePath+'images/spacer.gif';C.setAttribute('_fckfakelement','true',0);C.setAttribute('_fckrealelement',FCKTempBin.AddElement(B),0);return C;};var FCKAnchorsProcessor=new Object();FCKAnchorsProcessor.ProcessDocument=function(A){var B=A.getElementsByTagName('A');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){if (C.name.length>0&&(!C.getAttribute('href')||C.getAttribute('href').length==0)){var D=FCKDocumentProcessors_CreateFakeImage('FCK__Anchor',C.cloneNode(true));D.setAttribute('_fckanchor','true',0);C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);};};};FCKDocumentProcessors.addItem(FCKAnchorsProcessor);var FCKPageBreaksProcessor=new Object();FCKPageBreaksProcessor.ProcessDocument=function(A){var B=A.getElementsByTagName('CENTER');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){if (C.style.pageBreakAfter=='always'&&C.innerHTML.trim().length==0){var D=FCKDocumentProcessors_CreateFakeImage('FCK__PageBreak',C.cloneNode(true));C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);};};};FCKDocumentProcessors.addItem(FCKPageBreaksProcessor);var FCKFlashProcessor=new Object();FCKFlashProcessor.ProcessDocument=function(A){var B=A.getElementsByTagName('EMBED');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){if (C.src.endsWith('.swf',true)){var D=FCKDocumentProcessors_CreateFakeImage('FCK__Flash',C.cloneNode(true));D.setAttribute('_fckflash','true',0);FCKFlashProcessor.RefreshView(D,C);C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);};};};FCKFlashProcessor.RefreshView=function(A,B){if (B.width>0) A.style.width=FCKTools.ConvertHtmlSizeToStyle(B.width);if (B.height>0) A.style.height=FCKTools.ConvertHtmlSizeToStyle(B.height);};FCKDocumentProcessors.addItem(FCKFlashProcessor);FCK.GetRealElement=function(A){var e=FCKTempBin.Elements[A.getAttribute('_fckrealelement')];if (A.getAttribute('_fckflash')){if (A.style.width.length>0) e.width=FCKTools.ConvertStyleSizeToHtml(A.style.width);if (A.style.height.length>0) e.height=FCKTools.ConvertStyleSizeToHtml(A.style.height);};return e;};
+FCK.Description="FCKeditor for Internet Explorer 5.5+";FCK._BehaviorsStyle='<style type="text/css" _fcktemp="true">\ INPUT { behavior:url(' + FCKConfig.FullBasePath + 'css/behaviors/hiddenfield.htc);} ';if (FCKConfig.ShowBorders) FCK._BehaviorsStyle+='TABLE { behavior: url('+FCKConfig.FullBasePath+'css/behaviors/showtableborders.htc) ; }';var sNoHandlers='INPUT, TEXTAREA, SELECT, .FCK__Anchor, .FCK__PageBreak';if (FCKConfig.DisableImageHandles) sNoHandlers+=', IMG';if (FCKConfig.DisableTableHandles) sNoHandlers+=', TABLE';FCK._BehaviorsStyle+=sNoHandlers+' { behavior: url('+FCKConfig.FullBasePath+'css/behaviors/disablehandles.htc) ; }';FCK._BehaviorsStyle+='</style>';function Doc_OnMouseUp(){if (FCK.EditorWindow.event.srcElement.tagName=='HTML'){FCK.Focus();FCK.EditorWindow.event.cancelBubble=true;FCK.EditorWindow.event.returnValue=false;};};function Doc_OnPaste(){if (FCK.Status==FCK_STATUS_COMPLETE) return FCK.Events.FireEvent("OnPaste");else return false;};function Doc_OnContextMenu(){var e=FCK.EditorWindow.event;FCK.ShowContextMenu(e.screenX,e.screenY);return false;};function Doc_OnKeyDown(){var e=FCK.EditorWindow.event;switch (e.keyCode){case 13:if (FCKConfig.UseBROnCarriageReturn&&!(e.ctrlKey||e.altKey||e.shiftKey)){Doc_OnKeyDownUndo();if (FCK.EditorDocument.queryCommandState('InsertOrderedList')||FCK.EditorDocument.queryCommandState('InsertUnorderedList')) return true;FCK.InsertHtml('<br>&nbsp;');var oRange=FCK.EditorDocument.selection.createRange();oRange.moveStart('character',-1);oRange.select();FCK.EditorDocument.selection.clear();return false;};break;case 9:if (FCKConfig.TabSpaces>0&&!(e.ctrlKey||e.altKey||e.shiftKey)){Doc_OnKeyDownUndo();FCK.InsertHtml(window.FCKTabHTML);return false;};break;case 90:if (e.ctrlKey&&!(e.altKey||e.shiftKey)){FCKUndo.Undo();return false;};break;case 89:if (e.ctrlKey&&!(e.altKey||e.shiftKey)){FCKUndo.Redo();return false;};break;};if (!(e.keyCode>=16&&e.keyCode<=18)) Doc_OnKeyDownUndo();return true;};function Doc_OnKeyDownUndo(){if (!FCKUndo.Typing){FCKUndo.SaveUndoStep();FCKUndo.Typing=true;FCK.Events.FireEvent("OnSelectionChange");};FCKUndo.TypesCount++;if (FCKUndo.TypesCount>FCKUndo.MaxTypes){FCKUndo.TypesCount=0;FCKUndo.SaveUndoStep();};};function Doc_OnDblClick(){FCK.OnDoubleClick(FCK.EditorWindow.event.srcElement);FCK.EditorWindow.event.cancelBubble=true;};function Doc_OnSelectionChange(){FCK.Events.FireEvent("OnSelectionChange");};FCK.InitializeBehaviors=function(A){this.EditorDocument.attachEvent('onmouseup',Doc_OnMouseUp);this.EditorDocument.body.attachEvent('onpaste',Doc_OnPaste);this.EditorDocument.attachEvent('oncontextmenu',Doc_OnContextMenu);if (FCKConfig.TabSpaces>0){window.FCKTabHTML='';for (i=0;i<FCKConfig.TabSpaces;i++) window.FCKTabHTML+="&nbsp;";};this.EditorDocument.attachEvent("onkeydown",Doc_OnKeyDown);this.EditorDocument.attachEvent("ondblclick",Doc_OnDblClick);this.EditorDocument.attachEvent("onselectionchange",Doc_OnSelectionChange);};FCK.Focus=function(){try{if (FCK.EditMode==FCK_EDITMODE_WYSIWYG) FCK.EditorDocument.body.focus();else document.getElementById('eSourceField').focus();}catch(e) {};};FCK.SetHTML=function(A,B){if (B||FCK.EditMode==FCK_EDITMODE_WYSIWYG){A=FCKConfig.ProtectedSource.Protect(A);var C;if (FCKConfig.FullPage){var C=FCK._BehaviorsStyle+'<link href="'+FCKConfig.FullBasePath+'css/fck_internal.css'+'" rel="stylesheet" type="text/css" _fcktemp="true" />';if (FCK.TempBaseTag.length>0&&!FCKRegexLib.HasBaseTag.test(A)) C+=FCK.TempBaseTag;C=A.replace(FCKRegexLib.HeadOpener,'$&'+C);}else{C=FCKConfig.DocType+'<html dir="'+FCKConfig.ContentLangDirection+'"';if (FCKConfig.IEForceVScroll) C+=' style="overflow-y: scroll"';C+='><head><title></title>'+'<link href="'+FCKConfig.EditorAreaCSS+'" rel="stylesheet" type="text/css" />'+'<link href="'+FCKConfig.FullBasePath+'css/fck_internal.css'+'" rel="stylesheet" type="text/css" _fcktemp="true" />';C+=FCK._BehaviorsStyle;C+=FCK.TempBaseTag;C+='</head><body>'+A+'</body></html>';};this.EditorDocument.open('','_self','',true);this.EditorDocument.write(C);this.EditorDocument.close();this.InitializeBehaviors();this.EditorDocument.body.contentEditable=true;FCK.OnAfterSetHTML();}else document.getElementById('eSourceField').value=A;};FCK.InsertHtml=function(A){FCK.Focus();FCKUndo.SaveUndoStep();var B=FCK.EditorDocument.selection;if (B.type.toLowerCase()!="none") B.clear();B.createRange().pasteHTML(A);};FCK.SetInnerHtml=function(A){var B=FCK.EditorDocument;B.body.innerHTML='<div id="__fakeFCKRemove__">&nbsp;</div>'+A;B.getElementById('__fakeFCKRemove__').removeNode(true);}

Added: zope.html/trunk/src/zope/html/fckeditor/editor/js/fckeditorcode_ie_2.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/js/fckeditorcode_ie_2.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/js/fckeditorcode_ie_2.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,56 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * This file has been compacted for best loading performance.
+ */
+FCK.RedirectNamedCommands=new Object();FCK.ExecuteNamedCommand=function(A,B){FCKUndo.SaveUndoStep();if (FCK.RedirectNamedCommands[A]!=null) FCK.ExecuteRedirectedNamedCommand(A,B);else{FCK.Focus();FCK.EditorDocument.execCommand(A,false,B);FCK.Events.FireEvent('OnSelectionChange');};FCKUndo.SaveUndoStep();};FCK.GetNamedCommandState=function(A){try{if (!FCK.EditorDocument.queryCommandEnabled(A)) return FCK_TRISTATE_DISABLED;else return FCK.EditorDocument.queryCommandState(A)?FCK_TRISTATE_ON:FCK_TRISTATE_OFF;}catch (e){return FCK_TRISTATE_OFF;};};FCK.GetNamedCommandValue=function(A){var B='';var C=FCK.GetNamedCommandState(A);if (C==FCK_TRISTATE_DISABLED) return null;try{B=this.EditorDocument.queryCommandValue(A);}catch(e) {};return B?B:'';};FCK.PasteFromWord=function(){FCKDialog.OpenDialog('FCKDialog_Paste',FCKLang.PasteFromWord,'dialog/fck_paste.html',400,330,'Word');};FCK.Preview=function(){var A=FCKConfig.ScreenWidth*0.8;var B=FCKConfig.ScreenHeight*0.7;var C=(FCKConfig.ScreenWidth-A)/2;var D=window.open('',null,'toolbar=yes,location=no,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width='+A+',height='+B+',left='+C);var E;if (FCKConfig.FullPage){if (FCK.TempBaseTag.length>0) E=FCK.GetXHTML().replace(FCKRegexLib.HeadOpener,'$&'+FCK.TempBaseTag);else E=FCK.GetXHTML();}else{E=FCKConfig.DocType+'<html dir="'+FCKConfig.ContentLangDirection+'">'+'<head><title>'+FCKLang.Preview+'</title>'+'<link href="'+FCKConfig.EditorAreaCSS+'" rel="stylesheet" type="text/css" />'+FCK.TempBaseTag+'</head><body>'+FCK.GetXHTML()+'</body></html>';};D.document.write(E);D.document.close();};FCK.SwitchEditMode=function(){var A=(FCK.EditMode==FCK_EDITMODE_WYSIWYG);document.getElementById('eWysiwyg').style.display=A?'none':'';document.getElementById('eSource').style.display=A?'':'none';if (A){if (FCKBrowserInfo.IsIE) FCKUndo.SaveUndoStep();document.getElementById('eSourceField').value=(FCKConfig.EnableXHTML&&FCKConfig.EnableSourceXHTML?FCK.GetXHTML(FCKConfig.FormatSource):FCK.GetHTML(FCKConfig.FormatSource));}else FCK.SetHTML(FCK.GetHTML(),true);FCK.EditMode=A?FCK_EDITMODE_SOURCE:FCK_EDITMODE_WYSIWYG;FCKToolbarSet.RefreshModeState();FCK.Focus();};FCK.CreateElement=function(A){var e=FCK.EditorDocument.createElement(A);return FCK.InsertElementAndGetIt(e);};FCK.InsertElementAndGetIt=function(e){e.setAttribute('__FCKTempLabel',1);this.InsertElement(e);var A=FCK.EditorDocument.getElementsByTagName(e.tagName);for (var i=0;i<A.length;i++){if (A[i].getAttribute('__FCKTempLabel')){A[i].removeAttribute('__FCKTempLabel');return A[i];};};return null;};
+FCK.Paste=function(){if (FCKConfig.ForcePasteAsPlainText){FCK.PasteAsPlainText();return false;}else if (FCKConfig.AutoDetectPasteFromWord){var A=FCK.GetClipboardHTML();var B=/<\w[^>]* class="?MsoNormal"?/gi;if (B.test(A)){if (confirm(FCKLang["PasteWordConfirm"])){FCK.PasteFromWord();return false;};};}else return true;};FCK.PasteAsPlainText=function(){var A=FCKTools.HTMLEncode(clipboardData.getData("Text"));A=A.replace(/\n/g,'<BR>');this.InsertHtml(A);};FCK.InsertElement=function(A){FCK.InsertHtml(A.outerHTML);};FCK.GetClipboardHTML=function(){var A=document.getElementById('___FCKHiddenDiv');if (!A){var A=document.createElement('DIV');A.id='___FCKHiddenDiv';A.style.visibility='hidden';A.style.overflow='hidden';A.style.position='absolute';A.style.width=1;A.style.height=1;document.body.appendChild(A);};A.innerHTML='';var C=document.body.createTextRange();C.moveToElementText(A);C.execCommand('Paste');var D=A.innerHTML;A.innerHTML='';return D;};FCK.AttachToOnSelectionChange=function(A){this.Events.AttachEvent('OnSelectionChange',A);};FCK.CreateLink=function(A){FCK.ExecuteNamedCommand('Unlink');if (A.length>0){var B='javascript:void(0);/*'+(new Date().getTime())+'*/';FCK.ExecuteNamedCommand('CreateLink',B);var C=this.EditorDocument.links;for (i=0;i<C.length;i++){if (C[i].href==B){C[i].href=A;return C[i];};};};};
+var FCKSelection=new Object();FCK.Selection=FCKSelection;
+FCKSelection.GetType=function(){return FCK.EditorDocument.selection.type;};FCKSelection.GetSelectedElement=function(){if (this.GetType()=='Control'){var A=FCK.EditorDocument.selection.createRange();if (A&&A.item) return FCK.EditorDocument.selection.createRange().item(0);};};FCKSelection.GetParentElement=function(){switch (this.GetType()){case 'Control':return FCKSelection.GetSelectedElement().parentElement;case 'None':return;default:return FCK.EditorDocument.selection.createRange().parentElement();};};FCKSelection.SelectNode=function(A){FCK.Focus();FCK.EditorDocument.selection.empty();var B=FCK.EditorDocument.selection.createRange();B.moveToElementText(A);B.select();};FCKSelection.Collapse=function(A){FCK.Focus();var B=FCK.EditorDocument.selection.createRange();B.collapse(A==null||A===true);B.select();};FCKSelection.HasAncestorNode=function(A){var B;if (FCK.EditorDocument.selection.type=="Control"){B=this.GetSelectedElement();}else{var C=FCK.EditorDocument.selection.createRange();B=C.parentElement();};while (B){if (B.tagName==A) return true;B=B.parentNode;};return false;};FCKSelection.MoveToAncestorNode=function(A){var B;if (FCK.EditorDocument.selection.type=="Control"){var C=FCK.EditorDocument.selection.createRange();for (i=0;i<C.length;i++){if (C(i).parentNode){B=C(i).parentNode;break;};};}else{var C=FCK.EditorDocument.selection.createRange();B=C.parentElement();};while (B&&B.nodeName!=A) B=B.parentNode;return B;};FCKSelection.Delete=function(){var A=FCK.EditorDocument.selection;if (A.type.toLowerCase()!="none"){A.clear();};return A;};
+var FCKPanel=function(A){this.Window=A?A:window;};function FCKPanel_OnContextMenu() { return false;};FCKPanel.prototype.Create=function(){this._Popup=this.Window.createPopup();this.Document=this._Popup.document;aCleanupDocs[aCleanupDocs.length]=this.Document;this.Document.oncontextmenu=FCKPanel_OnContextMenu;if (this.StyleSheet) FCKTools.AppendStyleSheet(this.Document,this.StyleSheet);this.PanelDiv=this.Document.body.appendChild(this.Document.createElement('DIV'));this.PanelDiv.className='FCK_Panel';this.Created=true;};FCKPanel.prototype.Show=function(A,B,C,D,E,F){if (!this.Created) this._Create();this._Popup.show(A,B,0,0,C);if (D==null||(F&&D>this.PanelDiv.offsetWidth)) var G=this.PanelDiv.offsetWidth;else var G=D;if (E==null||(F&&E>this.PanelDiv.offsetHeight)) var I=this.PanelDiv.offsetHeight;else var I=E;this.PanelDiv.style.height=I;this._Popup.show(A,B,G,I,C);};FCKPanel.prototype.Hide=function(){if (this._Popup) this._Popup.hide();}
+var FCKTableHandler=new Object();FCKTableHandler.InsertRow=function(){var A=FCKSelection.MoveToAncestorNode("TR");if (!A) return;var B=A.cloneNode(true);A.parentNode.insertBefore(B,A);FCKTableHandler.ClearRow(A);};FCKTableHandler.DeleteRows=function(A){if (!A) A=FCKSelection.MoveToAncestorNode("TR");if (!A) return;var B=FCKTools.GetElementAscensor(A,'TABLE');if (B.rows.length==1){FCKTableHandler.DeleteTable(B);return;};A.parentNode.removeChild(A);};FCKTableHandler.DeleteTable=function(A){if (!A) A=FCKSelection.MoveToAncestorNode("TABLE");if (!A) return;A.parentNode.removeChild(A);};FCKTableHandler.InsertColumn=function(){var A=FCKSelection.MoveToAncestorNode("TD");if (!A) A=FCKSelection.MoveToAncestorNode("TH");if (!A) return;var B=FCKTools.GetElementAscensor(A,'TABLE');var C=A.cellIndex+1;for (var i=0;i<B.rows.length;i++){var D=B.rows[i];if (D.cells.length<C) continue;A=D.cells[C-1].cloneNode(false);if (FCKBrowserInfo.IsGecko) A.innerHTML=FCKBrowserInfo.IsGecko?GECKO_BOGUS:'';var E=D.cells[C];if (E) D.insertBefore(A,E);else D.appendChild(A);};};FCKTableHandler.DeleteColumns=function(){var A=FCKSelection.MoveToAncestorNode("TD");if (!A) return;var B=FCKTools.GetElementAscensor(A,'TABLE');var C=A.cellIndex;for (var i=B.rows.length-1;i>=0;i--){var D=B.rows[i];if (C==0&&D.cells.length==1){FCKTableHandler.DeleteRows(D);continue;};if (D.cells[C]) D.removeChild(D.cells[C]);};};FCKTableHandler.InsertCell=function(A){var B=A?A:FCKSelection.MoveToAncestorNode("TD");if (!B) return;var C=FCK.EditorDocument.createElement("TD");if (FCKBrowserInfo.IsGecko) C.innerHTML=GECKO_BOGUS;if (B.cellIndex==B.parentNode.cells.lenght-1){B.parentNode.appendChild(C);}else{B.parentNode.insertBefore(C,B.nextSibling);};return C;};FCKTableHandler.DeleteCell=function(A){if (A.parentNode.cells.length==1){FCKTableHandler.DeleteRows(FCKTools.GetElementAscensor(A,'TR'));return;};A.parentNode.removeChild(A);};FCKTableHandler.DeleteCells=function(){var A=FCKTableHandler.GetSelectedCells();for (var i=A.length-1;i>=0;i--){FCKTableHandler.DeleteCell(A[i]);};};FCKTableHandler.MergeCells=function(){var A=FCKTableHandler.GetSelectedCells();if (A.length<2) return;if (A[0].parentNode!=A[A.length-1].parentNode) return;var B=isNaN(A[0].colSpan)?1:A[0].colSpan;var C='';for (var i=A.length-1;i>0;i--){B+=isNaN(A[i].colSpan)?1:A[i].colSpan;C=A[i].innerHTML+C;FCKTableHandler.DeleteCell(A[i]);};A[0].colSpan=B;A[0].innerHTML+=C;};FCKTableHandler.SplitCell=function(){var A=FCKTableHandler.GetSelectedCells();if (A.length!=1) return;var B=this._CreateTableMap(A[0].parentNode.parentNode);var C=FCKTableHandler._GetCellIndexSpan(B,A[0].parentNode.rowIndex,A[0]);var D=this._GetCollumnCells(B,C);for (var i=0;i<D.length;i++){if (D[i]==A[0]){var E=this.InsertCell(A[0]);if (!isNaN(A[0].rowSpan)&&A[0].rowSpan>1) E.rowSpan=A[0].rowSpan;}else{if (isNaN(D[i].colSpan)) D[i].colSpan=2;else D[i].colSpan+=1;};};};FCKTableHandler._GetCellIndexSpan=function(A,B,C){if (A.length<B+1) return null;var D=A[B];for (var c=0;c<D.length;c++){if (D[c]==C) return c;};return null;};FCKTableHandler._GetCollumnCells=function(A,B){var C=new Array();for (var r=0;r<A.length;r++){var D=A[r][B];if (D&&(C.length==0||C[C.length-1]!=D)) C[C.length]=D;};return C;};FCKTableHandler._CreateTableMap=function(A){var B=A.rows;var r=-1;var C=new Array();for (var i=0;i<B.length;i++){r++;if (!C[r]) C[r]=new Array();var c=-1;for (var j=0;j<B[i].cells.length;j++){var D=B[i].cells[j];c++;while (C[r][c]) c++;var E=isNaN(D.colSpan)?1:D.colSpan;var F=isNaN(D.rowSpan)?1:D.rowSpan;for (var G=0;G<F;G++){if (!C[r+G]) C[r+G]=new Array();for (var H=0;H<E;H++){C[r+G][c+H]=B[i].cells[j];};};c+=E-1;};};return C;};FCKTableHandler.ClearRow=function(A){var B=A.cells;for (var i=0;i<B.length;i++){if (FCKBrowserInfo.IsGecko) B[i].innerHTML=GECKO_BOGUS;else B[i].innerHTML='';};}
+FCKTableHandler.GetSelectedCells=function(){var A=new Array();var B=FCK.EditorDocument.selection.createRange();var C=B.parentElement();if (C&&C.tagName=="TD") A[0]=C;else{var C=FCKSelection.MoveToAncestorNode("TABLE");if (C){for (var i=0;i<C.cells.length;i++){var E=FCK.EditorDocument.selection.createRange();E.moveToElementText(C.cells[i]);if (B.inRange(E)||(B.compareEndPoints('StartToStart',E)>=0&&B.compareEndPoints('StartToEnd',E)<=0)||(B.compareEndPoints('EndToStart',E)>=0&&B.compareEndPoints('EndToEnd',E)<=0)){A[A.length]=C.cells[i];};};};};return A;};
+var FCKXml;if (!(FCKXml=NS.FCKXml)){FCKXml=NS.FCKXml=function(){this.Error=false;};FCKXml.prototype.LoadUrl=function(A){this.Error=false;var B=FCKTools.CreateXmlObject('XmlHttp');if (!B){this.Error=true;return;};B.open("GET",A,false);B.send(null);if (B.status==200||B.status==304) this.DOMDocument=B.responseXML;else if (B.status==0&&B.readyState==4){this.DOMDocument=FCKTools.CreateXmlObject('DOMDocument');this.DOMDocument.async=false;this.DOMDocument.resolveExternals=false;this.DOMDocument.loadXML(B.responseText);}else{this.Error=true;alert('Error loading "'+A+'"');};};FCKXml.prototype.SelectNodes=function(A,B){if (this.Error) return new Array();if (B) return B.selectNodes(A);else return this.DOMDocument.selectNodes(A);};FCKXml.prototype.SelectSingleNode=function(A,B){if (this.Error) return;if (B) return B.selectSingleNode(A);else return this.DOMDocument.selectSingleNode(A);};}
+var FCKStyleDef=function(A,B){this.Name=A;this.Element=B.toUpperCase();this.IsObjectElement=FCKRegexLib.ObjectElements.test(this.Element);this.Attributes=new Object();};FCKStyleDef.prototype.AddAttribute=function(A,B){this.Attributes[A]=B;};FCKStyleDef.prototype.GetOpenerTag=function(){var s='<'+this.Element;for (var a in this.Attributes) s+=' '+a+'="'+this.Attributes[a]+'"';return s+'>';};FCKStyleDef.prototype.GetCloserTag=function(){return '</'+this.Element+'>';};FCKStyleDef.prototype.RemoveFromSelection=function(){if (FCKSelection.GetType()=='Control') this._RemoveMe(FCKSelection.GetSelectedElement());else this._RemoveMe(FCKSelection.GetParentElement());}
+FCKStyleDef.prototype.ApplyToSelection=function(){var A=FCK.EditorDocument.selection;if (A.type=='Text'){var B=A.createRange();var e=document.createElement(this.Element);e.innerHTML=B.htmlText;this._AddAttributes(e);this._RemoveDuplicates(e);B.pasteHTML(e.outerHTML);}else if (A.type=='Control'){var C=FCKSelection.GetSelectedElement();if (C.tagName==this.Element) this._AddAttributes(C);};};FCKStyleDef.prototype._AddAttributes=function(A){for (var a in this.Attributes){if (a.toLowerCase()=='style') A.style.cssText=this.Attributes[a];else A.setAttribute(a,this.Attributes[a],0);};};FCKStyleDef.prototype._RemoveDuplicates=function(A){for (var i=0;i<A.children.length;i++){var B=A.children[i];this._RemoveDuplicates(B);if (this.IsEqual(B)){B.insertAdjacentHTML('beforeBegin',B.innerHTML);B.parentElement.removeChild(B);};};};FCKStyleDef.prototype.IsEqual=function(e){if (e.tagName!=this.Element) return false;for (var a in this.Attributes){switch (a.toLowerCase()){case 'style':if (e.style.cssText.toLowerCase()!=this.Attributes[a].toLowerCase()) return false;break;case 'class':if (e.getAttribute('className',0)!=this.Attributes[a]) return false;break;default:if (e.getAttribute(a,0)!=this.Attributes[a]) return false;};};return true;};FCKStyleDef.prototype._RemoveMe=function(A){if (!A) return;var B=A.parentElement;if (this.IsEqual(A)){if (this.IsObjectElement){for (var a in this.Attributes){switch (a.toLowerCase()){case 'class':A.removeAttribute('className',0);break;default:A.removeAttribute(a,0);};};return;}else FCKTools.RemoveOuterTags(A);};this._RemoveMe(B);}
+var FCKStylesLoader=function(){this.Styles=new Object();this.StyleGroups=new Object();this.Loaded=false;this.HasObjectElements=false;};FCKStylesLoader.prototype.Load=function(A){var B=new FCKXml();B.LoadUrl(A);var C=B.SelectNodes('Styles/Style');for (var i=0;i<C.length;i++){var D=C[i].attributes.getNamedItem('element').value.toUpperCase();var E=new FCKStyleDef(C[i].attributes.getNamedItem('name').value,D);if (E.IsObjectElement) this.HasObjectElements=true;var F=B.SelectNodes('Attribute',C[i]);for (var j=0;j<F.length;j++){var G=F[j].attributes.getNamedItem('name').value;var H=F[j].attributes.getNamedItem('value').value;if (G.toLowerCase()=='style'){var I=document.createElement('SPAN');I.style.cssText=H;H=I.style.cssText;};E.AddAttribute(G,H);};this.Styles[E.Name]=E;var J=this.StyleGroups[D];if (J==null){this.StyleGroups[D]=new Array();J=this.StyleGroups[D];};J[J.length]=E;};this.Loaded=true;}
+var FCKNamedCommand=function(A){this.Name=A;};FCKNamedCommand.prototype.Execute=function(){FCK.ExecuteNamedCommand(this.Name);};FCKNamedCommand.prototype.GetState=function(){return FCK.GetNamedCommandState(this.Name);};
+var FCKDialogCommand=function(A,B,C,D,E,F,G){this.Name=A;this.Title=B;this.Url=C;this.Width=D;this.Height=E;this.GetStateFunction=F;this.GetStateParam=G;};FCKDialogCommand.prototype.Execute=function(){FCKDialog.OpenDialog('FCKDialog_'+this.Name,this.Title,this.Url,this.Width,this.Height);};FCKDialogCommand.prototype.GetState=function(){if (this.GetStateFunction) return this.GetStateFunction(this.GetStateParam);else return FCK_TRISTATE_OFF;};var FCKUndefinedCommand=function(){this.Name='Undefined';};FCKUndefinedCommand.prototype.Execute=function(){alert(FCKLang.NotImplemented);};FCKUndefinedCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};var FCKFontNameCommand=function(){this.Name='FontName';};FCKFontNameCommand.prototype.Execute=function(A){if (A==null||A==""){}else FCK.ExecuteNamedCommand('FontName',A);};FCKFontNameCommand.prototype.GetState=function(){return FCK.GetNamedCommandValue('FontName');};var FCKFontSizeCommand=function(){this.Name='FontSize';};FCKFontSizeCommand.prototype.Execute=function(A){if (typeof(A)=='string') A=parseInt(A);if (A==null||A==''){FCK.ExecuteNamedCommand('FontSize',3);}else FCK.ExecuteNamedCommand('FontSize',A);};FCKFontSizeCommand.prototype.GetState=function(){return FCK.GetNamedCommandValue('FontSize');};var FCKFormatBlockCommand=function(){this.Name='FormatBlock';};FCKFormatBlockCommand.prototype.Execute=function(A){if (A==null||A=='') FCK.ExecuteNamedCommand('FormatBlock','<P>');else FCK.ExecuteNamedCommand('FormatBlock','<'+A+'>');};FCKFormatBlockCommand.prototype.GetState=function(){return FCK.GetNamedCommandValue('FormatBlock');};var FCKPreviewCommand=function(){this.Name='Preview';};FCKPreviewCommand.prototype.Execute=function(){FCK.Preview();};FCKPreviewCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};var FCKSaveCommand=function(){this.Name='Save';};FCKSaveCommand.prototype.Execute=function(){var A=FCK.LinkedField.form;if (typeof(A.onsubmit)=='function'){var B=A.onsubmit();if (B!=null&&B===false) return;};A.submit();};FCKSaveCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};var FCKNewPageCommand=function(){this.Name='NewPage';};FCKNewPageCommand.prototype.Execute=function(){FCKUndo.SaveUndoStep();FCK.SetHTML('');FCKUndo.Typing=true;};FCKNewPageCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};var FCKSourceCommand=function(){this.Name='Source';};FCKSourceCommand.prototype.Execute=function(){if (FCKBrowserInfo.IsGecko){var A=FCKConfig.ScreenWidth*0.65;var B=FCKConfig.ScreenHeight*0.65;FCKDialog.OpenDialog('FCKDialog_Source',FCKLang.Source,'dialog/fck_source.html',A,B,null,null,true);}else FCK.SwitchEditMode();};FCKSourceCommand.prototype.GetState=function(){return (FCK.EditMode==FCK_EDITMODE_WYSIWYG?FCK_TRISTATE_OFF:FCK_TRISTATE_ON);};var FCKUndoCommand=function(){this.Name='Undo';};FCKUndoCommand.prototype.Execute=function(){if (FCKBrowserInfo.IsIE) FCKUndo.Undo();else FCK.ExecuteNamedCommand('Undo');};FCKUndoCommand.prototype.GetState=function(){if (FCKBrowserInfo.IsIE) return (FCKUndo.CheckUndoState()?FCK_TRISTATE_OFF:FCK_TRISTATE_DISABLED);else return FCK.GetNamedCommandState('Undo');};var FCKRedoCommand=function(){this.Name='Redo';};FCKRedoCommand.prototype.Execute=function(){if (FCKBrowserInfo.IsIE) FCKUndo.Redo();else FCK.ExecuteNamedCommand('Redo');};FCKRedoCommand.prototype.GetState=function(){if (FCKBrowserInfo.IsIE) return (FCKUndo.CheckRedoState()?FCK_TRISTATE_OFF:FCK_TRISTATE_DISABLED);else return FCK.GetNamedCommandState('Redo');};var FCKPageBreakCommand=function(){this.Name='PageBreak';};FCKPageBreakCommand.prototype.Execute=function(){var A=FCK.EditorDocument.createElement('CENTER');A.style.pageBreakAfter='always';var B=FCKDocumentProcessors_CreateFakeImage('FCK__PageBreak',A);B=FCK.InsertElement(B);};FCKPageBreakCommand.prototype.GetState=function(){return 0;}
+var FCKSpellCheckCommand=function(){this.Name='SpellCheck';this.IsEnabled=(FCKConfig.SpellChecker=='ieSpell'||FCKConfig.SpellChecker=='SpellerPages');};FCKSpellCheckCommand.prototype.Execute=function(){switch (FCKConfig.SpellChecker){case 'ieSpell':this._RunIeSpell();break;case 'SpellerPages':FCKDialog.OpenDialog('FCKDialog_SpellCheck','Spell Check','dialog/fck_spellerpages.html',440,480);break;};};FCKSpellCheckCommand.prototype._RunIeSpell=function(){try{var A=new ActiveXObject("ieSpell.ieSpellExtension");A.CheckAllLinkedDocuments(FCK.EditorDocument);}catch(e){if(e.number==-2146827859){if (confirm(FCKLang.IeSpellDownload)) window.open(FCKConfig.IeSpellDownloadUrl,'IeSpellDownload');}else alert('Error Loading ieSpell: '+e.message+' ('+e.number+')');};};FCKSpellCheckCommand.prototype.GetState=function(){return this.IsEnabled?FCK_TRISTATE_OFF:FCK_TRISTATE_DISABLED;}
+var FCKTextColorCommand=function(A){this.Name=A=='ForeColor'?'TextColor':'BGColor';this.Type=A;this._Panel=new FCKPanel();this._Panel.StyleSheet=FCKConfig.SkinPath+'fck_contextmenu.css';this._Panel.Create();this._CreatePanelBody(this._Panel.Document,this._Panel.PanelDiv);};FCKTextColorCommand.prototype.Execute=function(A,B,C){FCK._ActiveColorPanelType=this.Type;this._Panel.Show(A,B,C);};FCKTextColorCommand.prototype.SetColor=function(A){if (FCK._ActiveColorPanelType=='ForeColor') FCK.ExecuteNamedCommand('ForeColor',A);else if (FCKBrowserInfo.IsGecko) FCK.ExecuteNamedCommand('hilitecolor',A);else FCK.ExecuteNamedCommand('BackColor',A);delete FCK._ActiveColorPanelType;};FCKTextColorCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};function FCKTextColorCommand_OnMouseOver()	{ this.className='ColorSelected';};function FCKTextColorCommand_OnMouseOut()	{ this.className='ColorDeselected';};function FCKTextColorCommand_OnClick(){this.className='ColorDeselected';this.Command.SetColor('#'+this.Color);this.Command._Panel.Hide();};function FCKTextColorCommand_AutoOnClick(){this.className='ColorDeselected';this.Command.SetColor('');this.Command._Panel.Hide();};function FCKTextColorCommand_MoreOnClick(){this.className='ColorDeselected';this.Command._Panel.Hide();FCKDialog.OpenDialog('FCKDialog_Color',FCKLang.DlgColorTitle,'dialog/fck_colorselector.html',400,330,this.Command.SetColor);};FCKTextColorCommand.prototype._CreatePanelBody=function(A,B){function CreateSelectionDiv(){var C=A.createElement("DIV");C.className='ColorDeselected';C.onmouseover=FCKTextColorCommand_OnMouseOver;C.onmouseout=FCKTextColorCommand_OnMouseOut;return C;};var D=B.appendChild(A.createElement("TABLE"));D.style.tableLayout='fixed';D.cellPadding=0;D.cellSpacing=0;D.border=0;D.width=150;var E=D.insertRow(-1).insertCell(-1);E.colSpan=8;var C=E.appendChild(CreateSelectionDiv());C.innerHTML='<table cellspacing="0" cellpadding="0" width="100%" border="0">\<tr>\<td><div class="ColorBoxBorder"><div class="ColorBox" style="background-color: #000000"></div></div></td>\<td nowrap width="100%" align="center" unselectable="on">' + FCKLang.ColorAutomatic + '</td>\</tr>\</table>';C.Command=this;C.onclick=FCKTextColorCommand_AutoOnClick;var G=FCKConfig.FontColors.toString().split(',');var H=0;while (H<G.length){var I=D.insertRow(-1);for (var i=0;i<8&&H<G.length;i++,H++){C=I.insertCell(-1).appendChild(CreateSelectionDiv());C.Color=G[H];C.innerHTML='<div class="ColorBoxBorder"><div class="ColorBox" style="background-color: #'+G[H]+'"></div></div>';C.Command=this;C.onclick=FCKTextColorCommand_OnClick;};};E=D.insertRow(-1).insertCell(-1);E.colSpan=8;C=E.appendChild(CreateSelectionDiv());C.innerHTML='<table width="100%" cellpadding="0" cellspacing="0" border="0"><tr><td nowrap align="center">'+FCKLang.ColorMoreColors+'</td></tr></table>';C.Command=this;C.onclick=FCKTextColorCommand_MoreOnClick;}
+var FCKPastePlainTextCommand=function(){this.Name='PasteText';};FCKPastePlainTextCommand.prototype.Execute=function(){FCK.PasteAsPlainText();};FCKPastePlainTextCommand.prototype.GetState=function(){return FCK.GetNamedCommandState('Paste');};
+var FCKPasteWordCommand=function(){this.Name='PasteWord';};FCKPasteWordCommand.prototype.Execute=function(){FCK.PasteFromWord();};FCKPasteWordCommand.prototype.GetState=function(){if (FCKConfig.ForcePasteAsPlainText) return FCK_TRISTATE_DISABLED;else return FCK.GetNamedCommandState('Paste');};
+var FCKTableCommand=function(A){this.Name=A;};FCKTableCommand.prototype.Execute=function(){FCKUndo.SaveUndoStep();switch (this.Name){case 'TableInsertRow':FCKTableHandler.InsertRow();break;case 'TableDeleteRows':FCKTableHandler.DeleteRows();break;case 'TableInsertColumn':FCKTableHandler.InsertColumn();break;case 'TableDeleteColumns':FCKTableHandler.DeleteColumns();break;case 'TableInsertCell':FCKTableHandler.InsertCell();break;case 'TableDeleteCells':FCKTableHandler.DeleteCells();break;case 'TableMergeCells':FCKTableHandler.MergeCells();break;case 'TableSplitCell':FCKTableHandler.SplitCell();break;default:alert(FCKLang.UnknownCommand.replace(/%1/g,this.Name));};};FCKTableCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;}
+var FCKStyleCommand=function(){this.Name='Style';this.StylesLoader=new FCKStylesLoader();this.StylesLoader.Load(FCKConfig.StylesXmlPath);this.Styles=this.StylesLoader.Styles;};FCKStyleCommand.prototype.Execute=function(A,B){FCKUndo.SaveUndoStep();if (B.Selected) B.Style.RemoveFromSelection();else B.Style.ApplyToSelection();FCKUndo.SaveUndoStep();FCK.Focus();FCK.Events.FireEvent("OnSelectionChange");};FCKStyleCommand.prototype.GetState=function(){var A=FCK.EditorDocument.selection;if (FCKSelection.GetType()=='Control'){var e=FCKSelection.GetSelectedElement();if (e) return this.StylesLoader.StyleGroups[e.tagName]?FCK_TRISTATE_OFF:FCK_TRISTATE_DISABLED;};return FCK_TRISTATE_OFF;};FCKStyleCommand.prototype.GetActiveStyles=function(){var A=new Array();if (FCKSelection.GetType()=='Control') this._CheckStyle(FCKSelection.GetSelectedElement(),A,false);else this._CheckStyle(FCKSelection.GetParentElement(),A,true);return A;};FCKStyleCommand.prototype._CheckStyle=function(A,B,C){if (!A) return;if (A.nodeType==1){var D=this.StylesLoader.StyleGroups[A.tagName];if (D){for (var i=0;i<D.length;i++){if (D[i].IsEqual(A)) B[B.length]=D[i];};};};if (C) this._CheckStyle(A.parentNode,B,C);}
+var FCKCommands=FCK.Commands=new Object();FCKCommands.LoadedCommands=new Object();FCKCommands.RegisterCommand=function(A,B){this.LoadedCommands[A]=B;};FCKCommands.GetCommand=function(A){var B=FCKCommands.LoadedCommands[A];if (B) return B;switch (A){case 'DocProps':B=new FCKDialogCommand('DocProps',FCKLang.DocProps,'dialog/fck_docprops.html',400,390,FCKCommands.GetFullPageState);break;case 'Templates':B=new FCKDialogCommand('Templates',FCKLang.DlgTemplatesTitle,'dialog/fck_template.html',380,450);break;case 'Link':B=new FCKDialogCommand('Link',FCKLang.DlgLnkWindowTitle,'dialog/fck_link.html',400,330,FCK.GetNamedCommandState,'CreateLink');break;case 'Anchor':B=new FCKDialogCommand('Anchor',FCKLang.DlgAnchorTitle,'dialog/fck_anchor.html',370,170);break;case 'BulletedList':B=new FCKDialogCommand('BulletedList',FCKLang.BulletedListProp,'dialog/fck_listprop.html',370,170);break;case 'NumberedList':B=new FCKDialogCommand('NumberedList',FCKLang.NumberedListProp,'dialog/fck_listprop.html',370,170);break;case 'About':B=new FCKDialogCommand('About',FCKLang.About,'dialog/fck_about.html',400,330);break;case 'Find':B=new FCKDialogCommand('Find',FCKLang.DlgFindTitle,'dialog/fck_find.html',340,170);break;case 'Replace':B=new FCKDialogCommand('Replace',FCKLang.DlgReplaceTitle,'dialog/fck_replace.html',340,200);break;case 'Image':B=new FCKDialogCommand('Image',FCKLang.DlgImgTitle,'dialog/fck_image.html',450,400);break;case 'Flash':B=new FCKDialogCommand('Flash',FCKLang.DlgFlashTitle,'dialog/fck_flash.html',450,400);break;case 'SpecialChar':B=new FCKDialogCommand('SpecialChar',FCKLang.DlgSpecialCharTitle,'dialog/fck_specialchar.html',400,300);break;case 'Smiley':B=new FCKDialogCommand('Smiley',FCKLang.DlgSmileyTitle,'dialog/fck_smiley.html',FCKConfig.SmileyWindowWidth,FCKConfig.SmileyWindowHeight);break;case 'Table':B=new FCKDialogCommand('Table',FCKLang.DlgTableTitle,'dialog/fck_table.html',400,250);break;case 'TableProp':B=new FCKDialogCommand('Table',FCKLang.DlgTableTitle,'dialog/fck_table.html?Parent',400,250);break;case 'TableCellProp':B=new FCKDialogCommand('TableCell',FCKLang.DlgCellTitle,'dialog/fck_tablecell.html',500,250);break;case 'UniversalKey':B=new FCKDialogCommand('UniversalKey',FCKLang.UniversalKeyboard,'dialog/fck_universalkey.html',415,300);break;case 'Style':B=new FCKStyleCommand();break;case 'FontName':B=new FCKFontNameCommand();break;case 'FontSize':B=new FCKFontSizeCommand();break;case 'FontFormat':B=new FCKFormatBlockCommand();break;case 'Source':B=new FCKSourceCommand();break;case 'Preview':B=new FCKPreviewCommand();break;case 'Save':B=new FCKSaveCommand();break;case 'NewPage':B=new FCKNewPageCommand();break;case 'PageBreak':B=new FCKPageBreakCommand();break;case 'TextColor':B=new FCKTextColorCommand('ForeColor');break;case 'BGColor':B=new FCKTextColorCommand('BackColor');break;case 'PasteText':B=new FCKPastePlainTextCommand();break;case 'PasteWord':B=new FCKPasteWordCommand();break;case 'TableInsertRow':B=new FCKTableCommand('TableInsertRow');break;case 'TableDeleteRows':B=new FCKTableCommand('TableDeleteRows');break;case 'TableInsertColumn':B=new FCKTableCommand('TableInsertColumn');break;case 'TableDeleteColumns':B=new FCKTableCommand('TableDeleteColumns');break;case 'TableInsertCell':B=new FCKTableCommand('TableInsertCell');break;case 'TableDeleteCells':B=new FCKTableCommand('TableDeleteCells');break;case 'TableMergeCells':B=new FCKTableCommand('TableMergeCells');break;case 'TableSplitCell':B=new FCKTableCommand('TableSplitCell');break;case 'Form':B=new FCKDialogCommand('Form',FCKLang.Form,'dialog/fck_form.html',380,230);break;case 'Checkbox':B=new FCKDialogCommand('Checkbox',FCKLang.Checkbox,'dialog/fck_checkbox.html',380,230);break;case 'Radio':B=new FCKDialogCommand('Radio',FCKLang.RadioButton,'dialog/fck_radiobutton.html',380,230);break;case 'TextField':B=new FCKDialogCommand('TextField',FCKLang.TextField,'dialog/fck_textfield.html',380,230);break;case 'Textarea':B=new FCKDialogCommand('Textarea',FCKLang.Textarea,'dialog/fck_textarea.html',380,230);break;case 'HiddenField':B=new FCKDialogCommand('HiddenField',FCKLang.HiddenField,'dialog/fck_hiddenfield.html',380,230);break;case 'Button':B=new FCKDialogCommand('Button',FCKLang.Button,'dialog/fck_button.html',380,230);break;case 'Select':B=new FCKDialogCommand('Select',FCKLang.SelectionField,'dialog/fck_select.html',400,380);break;case 'ImageButton':B=new FCKDialogCommand('ImageButton',FCKLang.ImageButton,'dialog/fck_image.html?ImageButton',450,400);break;case 'SpellCheck':B=new FCKSpellCheckCommand();break;case 'Undo':B=new FCKUndoCommand();break;case 'Redo':B=new FCKRedoCommand();break;case 'Undefined':B=new FCKUndefinedCommand();break;default:if (FCKRegexLib.NamedCommands.test(A)) B=new FCKNamedCommand(A);else{alert(FCKLang.UnknownCommand.replace(/%1/g,A));return null;};};FCKCommands.LoadedCommands[A]=B;return B;};FCKCommands.GetFullPageState=function(){return FCKConfig.FullPage?FCK_TRISTATE_OFF:FCK_TRISTATE_DISABLED;};
+var FCKToolbarButton=function(A,B,C,D,E,F){this.Command=FCKCommands.GetCommand(A);this.Label=B?B:A;this.Tooltip=C?C:(B?B:A);this.Style=D?D:FCK_TOOLBARITEM_ONLYICON;this.SourceView=E?true:false;this.ContextSensitive=F?true:false;this.IconPath=FCKConfig.SkinPath+'toolbar/'+A.toLowerCase()+'.gif';this.State=FCK_UNKNOWN;};FCKToolbarButton.prototype.CreateInstance=function(A){this.DOMDiv=document.createElement('div');this.DOMDiv.className='TB_Button_Off';this.DOMDiv.FCKToolbarButton=this;var B='<table title="'+this.Tooltip+'" cellspacing="0" cellpadding="0" border="0" unselectable="on">'+'<tr>';if (this.Style!=FCK_TOOLBARITEM_ONLYTEXT) B+='<td class="TB_Icon" unselectable="on"><img src="'+this.IconPath+'" width="21" height="21" unselectable="on"></td>';if (this.Style!=FCK_TOOLBARITEM_ONLYICON) B+='<td class="TB_Text" unselectable="on" nowrap>'+this.Label+'</td>';B+='</tr>'+'</table>';this.DOMDiv.innerHTML=B;var C=A.DOMRow.insertCell(-1);C.appendChild(this.DOMDiv);this.RefreshState();};FCKToolbarButton.prototype.RefreshState=function(){var A=this.Command.GetState();if (A==this.State) return;this.State=A;switch (this.State){case FCK_TRISTATE_ON:this.DOMDiv.className='TB_Button_On';this.DOMDiv.onmouseover=FCKToolbarButton_OnMouseOnOver;this.DOMDiv.onmouseout=FCKToolbarButton_OnMouseOnOut;this.DOMDiv.onclick=FCKToolbarButton_OnClick;break;case FCK_TRISTATE_OFF:this.DOMDiv.className='TB_Button_Off';this.DOMDiv.onmouseover=FCKToolbarButton_OnMouseOffOver;this.DOMDiv.onmouseout=FCKToolbarButton_OnMouseOffOut;this.DOMDiv.onclick=FCKToolbarButton_OnClick;break;default:this.Disable();break;};};function FCKToolbarButton_OnMouseOnOver(){this.className='TB_Button_On TB_Button_On_Over';};function FCKToolbarButton_OnMouseOnOut(){this.className='TB_Button_On';};function FCKToolbarButton_OnMouseOffOver(){this.className='TB_Button_On TB_Button_Off_Over';};function FCKToolbarButton_OnMouseOffOut(){this.className='TB_Button_Off';};function FCKToolbarButton_OnClick(e){this.FCKToolbarButton.Click(e);return false;};FCKToolbarButton.prototype.Click=function(){this.Command.Execute();};FCKToolbarButton.prototype.Enable=function(){this.RefreshState();};FCKToolbarButton.prototype.Disable=function(){this.State=FCK_TRISTATE_DISABLED;this.DOMDiv.className='TB_Button_Disabled';this.DOMDiv.onmouseover=null;this.DOMDiv.onmouseout=null;this.DOMDiv.onclick=null;}
+var FCKSpecialCombo=function(A){this.FieldWidth=80;this.PanelWidth=130;this.PanelMaxHeight=150;this.Label='&nbsp;';this.Caption=A;this.Tooltip=A;this.Style=FCK_TOOLBARITEM_ICONTEXT;this.Enabled=true;this.Items=new Object();this._Panel=new FCKPanel();this._Panel.StyleSheet=FCKConfig.SkinPath+'fck_contextmenu.css';this._Panel.Create();this._Panel.PanelDiv.className+=' SC_Panel';this._Panel.PanelDiv.innerHTML='<table cellpadding="0" cellspacing="0" width="100%" style="TABLE-LAYOUT: fixed"><tr><td nowrap></td></tr></table>';this._ItemsHolderEl=this._Panel.PanelDiv.getElementsByTagName('TD')[0];};function FCKSpecialCombo_ItemOnMouseOver(){this.className+=' SC_ItemOver';};function FCKSpecialCombo_ItemOnMouseOut(){this.className=this.originalClass;};function FCKSpecialCombo_ItemOnClick(){this.FCKSpecialCombo._Panel.Hide();this.FCKSpecialCombo.SetLabel(this.FCKItemLabel);if (typeof(this.FCKSpecialCombo.OnSelect)=='function') this.FCKSpecialCombo.OnSelect(this.FCKItemID,this);};FCKSpecialCombo.prototype.AddItem=function(A,B,C){var D=this._ItemsHolderEl.appendChild(this._Panel.Document.createElement('DIV'));D.className=D.originalClass='SC_Item';D.innerHTML=B;D.FCKItemID=A;D.FCKItemLabel=C?C:A;D.FCKSpecialCombo=this;D.Selected=false;D.onmouseover=FCKSpecialCombo_ItemOnMouseOver;D.onmouseout=FCKSpecialCombo_ItemOnMouseOut;D.onclick=FCKSpecialCombo_ItemOnClick;this.Items[A.toString().toLowerCase()]=D;return D;};FCKSpecialCombo.prototype.SelectItem=function(A){A=A?A.toString().toLowerCase():'';var B=this.Items[A];if (B){B.className=B.originalClass='SC_ItemSelected';B.Selected=true;};};FCKSpecialCombo.prototype.DeselectAll=function(){for (var i in this.Items){this.Items[i].className=this.Items[i].originalClass='SC_Item';this.Items[i].Selected=false;};};FCKSpecialCombo.prototype.SetLabelById=function(A){A=A?A.toString().toLowerCase():'';var B=this.Items[A];this.SetLabel(B?B.FCKItemLabel:'');};FCKSpecialCombo.prototype.SetLabel=function(A){this.Label=A.length==0?'&nbsp;':A;if (this._LabelEl) this._LabelEl.innerHTML=this.Label;};FCKSpecialCombo.prototype.SetEnabled=function(A){this.Enabled=A;this._OuterTable.className=A?'':'SC_FieldDisabled';};FCKSpecialCombo.prototype.Create=function(A){this._OuterTable=A.appendChild(document.createElement('TABLE'));this._OuterTable.cellPadding=0;this._OuterTable.cellSpacing=0;this._OuterTable.insertRow(-1);var B;var C;switch (this.Style){case FCK_TOOLBARITEM_ONLYICON:B='TB_ButtonType_Icon';C=false;break;case FCK_TOOLBARITEM_ONLYTEXT:B='TB_ButtonType_Text';C=false;break;case FCK_TOOLBARITEM_ICONTEXT:C=true;break;};if (this.Caption&&this.Caption.length>0&&C){var D=this._OuterTable.rows[0].insertCell(-1);D.unselectable='on';D.innerHTML=this.Caption;D.className='SC_FieldCaption';};var E=this._OuterTable.rows[0].insertCell(-1).appendChild(document.createElement('DIV'));if (C){E.className='SC_Field';E.style.width=this.FieldWidth+'px';E.innerHTML='<table width="100%" cellpadding="0" cellspacing="0" style="TABLE-LAYOUT: fixed;" unselectable="on"><tbody><tr><td class="SC_FieldLabel" unselectable="on"><label unselectable="on">&nbsp;</label></td><td class="SC_FieldButton" unselectable="on">&nbsp;</td></tr></tbody></table>';this._LabelEl=E.getElementsByTagName('label')[0];this._LabelEl.innerHTML=this.Label;}else{E.className='TB_Button_Off';E.innerHTML='<table cellpadding="0" cellspacing="0" style="TABLE-LAYOUT: fixed;" unselectable="on"><tbody><tr><td class="SC_FieldButton" style="border-left: none;" unselectable="on">&nbsp;</td></tr></tbody></table>';E.innerHTML='<table title="'+this.Tooltip+'" class="'+B+'" cellspacing="0" cellpadding="0" border="0" unselectable="on">'+'<tr>'+'<td class="TB_Text" unselectable="on">'+this.Caption+'</td>'+'<td class="TB_ButtonArrow" unselectable="on"><img src="'+FCKConfig.SkinPath+'images/toolbar.buttonarrow.gif" width="5" height="3"></td>'+'</tr>'+'</table>';};E.SpecialCombo=this;E.onmouseover=FCKSpecialCombo_OnMouseOver;E.onmouseout=FCKSpecialCombo_OnMouseOut;E.onclick=FCKSpecialCombo_OnClick;};function FCKSpecialCombo_OnMouseOver(){if (this.SpecialCombo.Enabled){switch (this.SpecialCombo.Style){case FCK_TOOLBARITEM_ONLYICON:this.className='TB_Button_On';break;case FCK_TOOLBARITEM_ONLYTEXT:this.className='TB_Button_On';break;case FCK_TOOLBARITEM_ICONTEXT:this.className='SC_Field SC_FieldOver';break;};};};function FCKSpecialCombo_OnMouseOut(){switch (this.SpecialCombo.Style){case FCK_TOOLBARITEM_ONLYICON:this.className='TB_Button_Off';break;case FCK_TOOLBARITEM_ONLYTEXT:this.className='TB_Button_Off';break;case FCK_TOOLBARITEM_ICONTEXT:this.className='SC_Field';break;};};function FCKSpecialCombo_OnClick(e){if (e){e.stopPropagation();FCKPanelEventHandlers.OnDocumentClick(e);};if (this.SpecialCombo.Enabled){var oPanel=this.SpecialCombo._Panel;if (typeof(this.SpecialCombo.OnBeforeClick)=='function') this.SpecialCombo.OnBeforeClick(this.SpecialCombo);if (this.SpecialCombo._ItemsHolderEl.offsetHeight>this.SpecialCombo.PanelMaxHeight) oPanel.PanelDiv.style.height=this.SpecialCombo.PanelMaxHeight+'px';else oPanel.PanelDiv.style.height=this.SpecialCombo._ItemsHolderEl.offsetHeight+'px';oPanel.PanelDiv.style.width=this.SpecialCombo.PanelWidth+'px';if (FCKBrowserInfo.IsGecko) oPanel.PanelDiv.style.overflow='-moz-scrollbars-vertical';oPanel.Show(0,this.offsetHeight,this,null,this.SpecialCombo.PanelMaxHeight,true);};return false;};
+var FCKToolbarSpecialCombo=function(){this.SourceView=false;this.ContextSensitive=true;};function FCKToolbarSpecialCombo_OnSelect(itemId,item){this.Command.Execute(itemId,item);};FCKToolbarSpecialCombo.prototype.CreateInstance=function(A){this._Combo=new FCKSpecialCombo(this.GetLabel());this._Combo.FieldWidth=this.FieldWidth!=null?this.FieldWidth:100;this._Combo.PanelWidth=this.PanelWidth!=null?this.PanelWidth:150;this._Combo.PanelMaxHeight=this.PanelMaxHeight!=null?this.PanelMaxHeight:150;this._Combo.Tooltip=this.Tooltip;this._Combo.Style=this.Style;this.CreateItems(this._Combo);this._Combo.Create(A.DOMRow.insertCell(-1));this._Combo.Command=this.Command;this._Combo.OnSelect=FCKToolbarSpecialCombo_OnSelect;};function FCKToolbarSpecialCombo_RefreshActiveItems(combo,value){combo.DeselectAll();combo.SelectItem(value);combo.SetLabelById(value);};FCKToolbarSpecialCombo.prototype.RefreshState=function(){var A;var B=this.Command.GetState();if (B!=FCK_TRISTATE_DISABLED){A=FCK_TRISTATE_ON;if (this.RefreshActiveItems) this.RefreshActiveItems(this._Combo,B);else FCKToolbarSpecialCombo_RefreshActiveItems(this._Combo,B);}else A=FCK_TRISTATE_DISABLED;if (A==this.State) return;if (A==FCK_TRISTATE_DISABLED){this._Combo.DeselectAll();this._Combo.SetLabel('');};this.State=A;this._Combo.SetEnabled(A!=FCK_TRISTATE_DISABLED);};FCKToolbarSpecialCombo.prototype.Enable=function(){this.RefreshState();};FCKToolbarSpecialCombo.prototype.Disable=function(){this.State=FCK_TRISTATE_DISABLED;this._Combo.DeselectAll();this._Combo.SetLabel('');this._Combo.SetEnabled(false);}
+var FCKToolbarFontsCombo=function(A,B){this.Command=FCKCommands.GetCommand('FontName');this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:FCK_TOOLBARITEM_ICONTEXT;};FCKToolbarFontsCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarFontsCombo.prototype.GetLabel=function(){return FCKLang.Font;};FCKToolbarFontsCombo.prototype.CreateItems=function(A){var B=FCKConfig.FontNames.split(';');for (var i=0;i<B.length;i++) this._Combo.AddItem(B[i],'<span style="font-family: \''+B[i]+'\'; font-size: 12px;">'+B[i]+'</span>');}
+var FCKToolbarFontSizeCombo=function(A,B){this.Command=FCKCommands.GetCommand('FontSize');this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:FCK_TOOLBARITEM_ICONTEXT;};FCKToolbarFontSizeCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarFontSizeCombo.prototype.GetLabel=function(){return FCKLang.FontSize;};FCKToolbarFontSizeCombo.prototype.CreateItems=function(A){A.FieldWidth=70;var B=FCKConfig.FontSizes.split(';');for (var i=0;i<B.length;i++){var C=B[i].split('/');this._Combo.AddItem(C[0],'<font size="'+C[0]+'">'+C[1]+'</font>',C[1]);};}
+var FCKToolbarFontFormatCombo=function(A,B){this.Command=FCKCommands.GetCommand('FontFormat');this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:FCK_TOOLBARITEM_ICONTEXT;this.PanelWidth=190;};FCKToolbarFontFormatCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarFontFormatCombo.prototype.GetLabel=function(){return FCKLang.FontFormat;};FCKToolbarFontFormatCombo.prototype.CreateItems=function(A){var B=FCKLang['FontFormats'].split(';');var C={p:B[0],pre:B[1],address:B[2],h1:B[3],h2:B[4],h3:B[5],h4:B[6],h5:B[7],h6:B[8],div:B[9]};var D=FCKConfig.FontFormats.split(';');for (var i=0;i<D.length;i++){if (D[i]=='div'&&FCKBrowserInfo.IsGecko) continue;this._Combo.AddItem(D[i],'<'+D[i]+'>'+C[D[i]]+'</'+D[i]+'>',C[D[i]]);};}
+var FCKToolbarStyleCombo=function(A,B){this.Command=FCKCommands.GetCommand('Style');this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:FCK_TOOLBARITEM_ICONTEXT;};FCKToolbarStyleCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarStyleCombo.prototype.GetLabel=function(){return FCKLang.Style;};FCKToolbarStyleCombo.prototype.CreateItems=function(A){FCKTools.AppendStyleSheet(A._Panel.Document,FCKConfig.EditorAreaCSS);if (!FCKBrowserInfo.IsGecko) A.OnBeforeClick=this.RefreshVisibleItems;for (var s in this.Command.Styles){var B=this.Command.Styles[s];var C;if (B.IsObjectElement) C=A.AddItem(s,s);else C=A.AddItem(s,B.GetOpenerTag()+s+B.GetCloserTag());C.Style=B;};};FCKToolbarStyleCombo.prototype.RefreshActiveItems=function(A){A.DeselectAll();var B=this.Command.GetActiveStyles();if (B.length>0){for (var i=0;i<B.length;i++) A.SelectItem(B[i].Name);A.SetLabelById(B[0].Name);}else A.SetLabel('');};FCKToolbarStyleCombo.prototype.RefreshVisibleItems=function(A){if (FCKSelection.GetType()=='Control') var B=FCKSelection.GetSelectedElement().tagName;for (var i in A.Items){var C=A.Items[i];if ((B&&C.Style.Element==B)||(!B&&!C.Style.IsObjectElement)) C.style.display='';else C.style.display='none';};}
+var FCKToolbarPanelButton=function(A,B,C,D){this.Command=FCKCommands.GetCommand(A);this.Label=B?B:A;this.Tooltip=C?C:(B?B:A);this.Style=D?D:FCK_TOOLBARITEM_ONLYICON;this.State=FCK_UNKNOWN;};FCKToolbarPanelButton.prototype.Click=function(e){if (e){e.stopPropagation();FCKPanelEventHandlers.OnDocumentClick(e);};if (this.State!=FCK_TRISTATE_DISABLED){this.Command.Execute(0,this.DOMDiv.offsetHeight,this.DOMDiv);};return false;};FCKToolbarPanelButton.prototype.CreateInstance=function(A){this.DOMDiv=document.createElement('div');this.DOMDiv.className='TB_Button_Off';this.DOMDiv.FCKToolbarButton=this;var B='<table title="'+this.Tooltip+'" cellspacing="0" cellpadding="0" border="0" unselectable="on">'+'<tr>';if (this.Style!=FCK_TOOLBARITEM_ONLYTEXT) B+='<td class="TB_Icon" unselectable="on"><img src="'+FCKConfig.SkinPath+'toolbar/'+this.Command.Name.toLowerCase()+'.gif" width="21" height="21" unselectable="on"></td>';if (this.Style!=FCK_TOOLBARITEM_ONLYICON) B+='<td class="TB_Text" unselectable="on" nowrap>'+this.Label+'</td>';B+='<td class="TB_ButtonArrow" unselectable="on"><img src="'+FCKConfig.SkinPath+'images/toolbar.buttonarrow.gif" width="5" height="3"></td>'+'</tr>'+'</table>';this.DOMDiv.innerHTML=B;var C=A.DOMRow.insertCell(-1);C.appendChild(this.DOMDiv);this.RefreshState();};FCKToolbarPanelButton.prototype.RefreshState=FCKToolbarButton.prototype.RefreshState;FCKToolbarPanelButton.prototype.Enable=FCKToolbarButton.prototype.Enable;FCKToolbarPanelButton.prototype.Disable=FCKToolbarButton.prototype.Disable;
+var FCKToolbarItems=new Object();FCKToolbarItems.LoadedItems=new Object();FCKToolbarItems.RegisterItem=function(A,B){this.LoadedItems[A]=B;};FCKToolbarItems.GetItem=function(A){var B=FCKToolbarItems.LoadedItems[A];if (B) return B;switch (A){case 'Source':B=new FCKToolbarButton('Source',FCKLang.Source,null,FCK_TOOLBARITEM_ICONTEXT,true,true);break;case 'DocProps':B=new FCKToolbarButton('DocProps',FCKLang.DocProps);break;case 'Templates':B=new FCKToolbarButton('Templates',FCKLang.Templates);break;case 'Save':B=new FCKToolbarButton('Save',FCKLang.Save,null,null,true);break;case 'NewPage':B=new FCKToolbarButton('NewPage',FCKLang.NewPage,null,null,true);break;case 'Preview':B=new FCKToolbarButton('Preview',FCKLang.Preview,null,null,true);break;case 'About':B=new FCKToolbarButton('About',FCKLang.About,null,null,true);break;case 'Cut':B=new FCKToolbarButton('Cut',FCKLang.Cut,null,null,false,true);break;case 'Copy':B=new FCKToolbarButton('Copy',FCKLang.Copy,null,null,false,true);break;case 'Paste':B=new FCKToolbarButton('Paste',FCKLang.Paste,null,null,false,true);break;case 'PasteText':B=new FCKToolbarButton('PasteText',FCKLang.PasteText,null,null,false,true);break;case 'PasteWord':B=new FCKToolbarButton('PasteWord',FCKLang.PasteWord,null,null,false,true);break;case 'Print':B=new FCKToolbarButton('Print',FCKLang.Print,null,null,false,true);break;case 'SpellCheck':B=new FCKToolbarButton('SpellCheck',FCKLang.SpellCheck);break;case 'Undo':B=new FCKToolbarButton('Undo',FCKLang.Undo,null,null,false,true);break;case 'Redo':B=new FCKToolbarButton('Redo',FCKLang.Redo,null,null,false,true);break;case 'SelectAll':B=new FCKToolbarButton('SelectAll',FCKLang.SelectAll);break;case 'RemoveFormat':B=new FCKToolbarButton('RemoveFormat',FCKLang.RemoveFormat,null,null,false,true);break;case 'Bold':B=new FCKToolbarButton('Bold',FCKLang.Bold,null,null,false,true);break;case 'Italic':B=new FCKToolbarButton('Italic',FCKLang.Italic,null,null,false,true);break;case 'Underline':B=new FCKToolbarButton('Underline',FCKLang.Underline,null,null,false,true);break;case 'StrikeThrough':B=new FCKToolbarButton('StrikeThrough',FCKLang.StrikeThrough,null,null,false,true);break;case 'Subscript':B=new FCKToolbarButton('Subscript',FCKLang.Subscript,null,null,false,true);break;case 'Superscript':B=new FCKToolbarButton('Superscript',FCKLang.Superscript,null,null,false,true);break;case 'OrderedList':B=new FCKToolbarButton('InsertOrderedList',FCKLang.NumberedListLbl,FCKLang.NumberedList,null,false,true);break;case 'UnorderedList':B=new FCKToolbarButton('InsertUnorderedList',FCKLang.BulletedListLbl,FCKLang.BulletedList,null,false,true);break;case 'Outdent':B=new FCKToolbarButton('Outdent',FCKLang.DecreaseIndent,null,null,false,true);break;case 'Indent':B=new FCKToolbarButton('Indent',FCKLang.IncreaseIndent,null,null,false,true);break;case 'Link':B=new FCKToolbarButton('Link',FCKLang.InsertLinkLbl,FCKLang.InsertLink,null,false,true);break;case 'Unlink':B=new FCKToolbarButton('Unlink',FCKLang.RemoveLink,null,null,false,true);break;case 'Anchor':B=new FCKToolbarButton('Anchor',FCKLang.Anchor);break;case 'Image':B=new FCKToolbarButton('Image',FCKLang.InsertImageLbl,FCKLang.InsertImage);break;case 'Flash':B=new FCKToolbarButton('Flash',FCKLang.InsertFlashLbl,FCKLang.InsertFlash);break;case 'Table':B=new FCKToolbarButton('Table',FCKLang.InsertTableLbl,FCKLang.InsertTable);break;case 'SpecialChar':B=new FCKToolbarButton('SpecialChar',FCKLang.InsertSpecialCharLbl,FCKLang.InsertSpecialChar);break;case 'Smiley':B=new FCKToolbarButton('Smiley',FCKLang.InsertSmileyLbl,FCKLang.InsertSmiley);break;case 'PageBreak':B=new FCKToolbarButton('PageBreak',FCKLang.PageBreakLbl,FCKLang.PageBreak);break;case 'UniversalKey':B=new FCKToolbarButton('UniversalKey',FCKLang.UniversalKeyboard);break;case 'Rule':B=new FCKToolbarButton('InsertHorizontalRule',FCKLang.InsertLineLbl,FCKLang.InsertLine,null,false,true);break;case 'JustifyLeft':B=new FCKToolbarButton('JustifyLeft',FCKLang.LeftJustify,null,null,false,true);break;case 'JustifyCenter':B=new FCKToolbarButton('JustifyCenter',FCKLang.CenterJustify,null,null,false,true);break;case 'JustifyRight':B=new FCKToolbarButton('JustifyRight',FCKLang.RightJustify,null,null,false,true);break;case 'JustifyFull':B=new FCKToolbarButton('JustifyFull',FCKLang.BlockJustify,null,null,false,true);break;case 'Style':B=new FCKToolbarStyleCombo();break;case 'FontName':B=new FCKToolbarFontsCombo();break;case 'FontSize':B=new FCKToolbarFontSizeCombo();break;case 'FontFormat':B=new FCKToolbarFontFormatCombo();break;case 'TextColor':B=new FCKToolbarPanelButton('TextColor',FCKLang.TextColor);break;case 'BGColor':B=new FCKToolbarPanelButton('BGColor',FCKLang.BGColor);break;case 'Find':B=new FCKToolbarButton('Find',FCKLang.Find);break;case 'Replace':B=new FCKToolbarButton('Replace',FCKLang.Replace);break;case 'Form':B=new FCKToolbarButton('Form',FCKLang.Form);break;case 'Checkbox':B=new FCKToolbarButton('Checkbox',FCKLang.Checkbox);break;case 'Radio':B=new FCKToolbarButton('Radio',FCKLang.RadioButton);break;case 'TextField':B=new FCKToolbarButton('TextField',FCKLang.TextField);break;case 'Textarea':B=new FCKToolbarButton('Textarea',FCKLang.Textarea);break;case 'HiddenField':B=new FCKToolbarButton('HiddenField',FCKLang.HiddenField);break;case 'Button':B=new FCKToolbarButton('Button',FCKLang.Button);break;case 'Select':B=new FCKToolbarButton('Select',FCKLang.SelectionField);break;case 'ImageButton':B=new FCKToolbarButton('ImageButton',FCKLang.ImageButton);break;default:alert(FCKLang.UnknownToolbarItem.replace(/%1/g,A));return null;};FCKToolbarItems.LoadedItems[A]=B;return B;}
+var FCKToolbar=function(){this.Items=new Array();var e=this.DOMTable=document.createElement('table');e.className='TB_Toolbar';e.style.styleFloat=e.style.cssFloat=FCKLang.Dir=='rtl'?'right':'left';e.cellPadding=0;e.cellSpacing=0;e.border=0;this.DOMRow=e.insertRow(-1);var A=this.DOMRow.insertCell(-1);A.className='TB_Start';A.innerHTML='<img src="'+FCKConfig.SkinPath+'images/toolbar.start.gif" width="7" height="21" style="VISIBILITY: hidden" onload="this.style.visibility = \'\';" unselectable="on">';FCKToolbarSet.DOMElement.appendChild(e);};FCKToolbar.prototype.AddItem=function(A){this.Items[this.Items.length]=A;A.CreateInstance(this);};FCKToolbar.prototype.AddSeparator=function(){var A=this.DOMRow.insertCell(-1);A.unselectable='on';A.innerHTML='<img src="'+FCKConfig.SkinPath+'images/toolbar.separator.gif" width="5" height="21" style="VISIBILITY: hidden" onload="this.style.visibility = \'\';" unselectable="on">';};FCKToolbar.prototype.AddTerminator=function(){var A=this.DOMRow.insertCell(-1);A.className='TB_End';A.innerHTML='<img src="'+FCKConfig.SkinPath+'images/toolbar.end.gif" width="12" height="21" style="VISIBILITY: hidden" onload="this.style.visibility = \'\';" unselectable="on">';};
+var FCKToolbarBreak=function(){var A=document.createElement('div');A.className='TB_Break';A.style.clear=FCKLang.Dir=='rtl'?'left':'right';FCKToolbarSet.DOMElement.appendChild(A);}
+var FCKToolbarSet=FCK.ToolbarSet=new Object();document.getElementById('ExpandHandle').title=FCKLang.ToolbarExpand;document.getElementById('CollapseHandle').title=FCKLang.ToolbarCollapse;FCKToolbarSet.Toolbars=new Array();FCKToolbarSet.ItemsWysiwygOnly=new Array();FCKToolbarSet.ItemsContextSensitive=new Array();FCKToolbarSet.Expand=function(){document.getElementById('Collapsed').style.display='none';document.getElementById('Expanded').style.display='';if (!FCKBrowserInfo.IsIE){window.setTimeout("window.onresize()",1);};};FCKToolbarSet.Collapse=function(){document.getElementById('Collapsed').style.display='';document.getElementById('Expanded').style.display='none';if (!FCKBrowserInfo.IsIE){window.setTimeout("window.onresize()",1);};};FCKToolbarSet.Restart=function(){if (!FCKConfig.ToolbarCanCollapse||FCKConfig.ToolbarStartExpanded) this.Expand();else this.Collapse();document.getElementById('CollapseHandle').style.display=FCKConfig.ToolbarCanCollapse?'':'none';};FCKToolbarSet.Load=function(A){this.DOMElement=document.getElementById('eToolbar');var B=FCKConfig.ToolbarSets[A];if (!B){alert(FCKLang.UnknownToolbarSet.replace(/%1/g,A));return;};this.Toolbars=new Array();for (var x=0;x<B.length;x++){var C=B[x];var D;if (typeof(C)=='string'){if (C=='/') D=new FCKToolbarBreak();}else{D=new FCKToolbar();for (var j=0;j<C.length;j++){var E=C[j];if (E=='-') D.AddSeparator();else{var F=FCKToolbarItems.GetItem(E);if (F){D.AddItem(F);if (!F.SourceView) this.ItemsWysiwygOnly[this.ItemsWysiwygOnly.length]=F;if (F.ContextSensitive) this.ItemsContextSensitive[this.ItemsContextSensitive.length]=F;};};};D.AddTerminator();};this.Toolbars[this.Toolbars.length]=D;};};FCKToolbarSet.RefreshModeState=function(){if (FCK.EditMode==FCK_EDITMODE_WYSIWYG){for (var i=0;i<FCKToolbarSet.ItemsWysiwygOnly.length;i++) FCKToolbarSet.ItemsWysiwygOnly[i].Enable();FCKToolbarSet.RefreshItemsState();}else{FCKToolbarSet.RefreshItemsState();for (var i=0;i<FCKToolbarSet.ItemsWysiwygOnly.length;i++) FCKToolbarSet.ItemsWysiwygOnly[i].Disable();};};FCKToolbarSet.RefreshItemsState=function(){for (var i=0;i<FCKToolbarSet.ItemsContextSensitive.length;i++) FCKToolbarSet.ItemsContextSensitive[i].RefreshState();};
+var FCKDialog=new Object();FCKDialog.OpenDialog=function(A,B,C,D,E,F,G,H){var I=new Object();I.Title=B;I.Page=C;I.Editor=window;I.CustomValue=F;var J=FCKConfig.BasePath+'fckdialog.html';this.Show(I,A,J,D,E,G,H);};
+FCKDialog.Show=function(A,B,C,D,E,F){if (!F) F=window;F.showModalDialog(C,A,"dialogWidth:"+D+"px;dialogHeight:"+E+"px;help:no;scroll:no;status:no");};
+var FCKContextMenuItem=function(A,B,C,D){this.ContextMenu=A;this.Command=FCKCommands.GetCommand(B);this.Label=C?C:B;this.HasIcon=D?true:false;};function FCKContextMenuItem_OnMouseOver(){if (this.className!='CM_Disabled') this.className='CM_Over';};function FCKContextMenuItem_OnMouseOut(){if (this.className!='CM_Disabled') this.className='CM_Option';};function FCKContextMenuItem_OnClick(){if (this.className!='CM_Disabled'){this.FCKContextMenuItem.ContextMenu.Hide();this.FCKContextMenuItem.Command.Execute();};return false;};FCKContextMenuItem.prototype.CreateTableRow=function(A){this._Row=A.insertRow(-1);this._Row.className='CM_Disabled';this._Row.FCKContextMenuItem=this;this._Row.onmouseover=FCKContextMenuItem_OnMouseOver;this._Row.onmouseout=FCKContextMenuItem_OnMouseOut;this._Row.onclick=FCKContextMenuItem_OnClick;var B=this._Row.insertCell(-1);B.className='CM_Icon';if (this.HasIcon) B.innerHTML='<img alt="" src="'+FCKConfig.SkinPath+'toolbar/'+this.Command.Name.toLowerCase()+'.gif" width="21" height="20" unselectable="on">';B=this._Row.insertCell(-1);B.className='CM_Label';B.unselectable='on';B.noWrap=true;B.innerHTML=this.Label;};FCKContextMenuItem.prototype.SetVisible=function(A){this._Row.style.display=A?'':'none';};FCKContextMenuItem.prototype.RefreshState=function(){switch (this.Command.GetState()){case FCK_TRISTATE_ON:case FCK_TRISTATE_OFF:this._Row.className='CM_Option';break;default:this._Row.className='CM_Disabled';break;};};
+var FCKContextMenuSeparator=function(){};FCKContextMenuSeparator.prototype.CreateTableRow=function(A){this._Row=A.insertRow(-1);this._Row.className='CM_Separator';var B=this._Row.insertCell(-1);B.className='CM_Icon';B=this._Row.insertCell(-1);B.className='CM_Label';B.innerHTML='<div></div>';};FCKContextMenuSeparator.prototype.SetVisible=function(A){this._Row.style.display=A?'':'none';};FCKContextMenuSeparator.prototype.RefreshState=function(){};
+var FCKContextMenuGroup=function(A,B,C,D,E){this.IsVisible=true;this.Items=new Array();if (A) this.Add(new FCKContextMenuSeparator());if (B&&C&&D) this.Add(new FCKContextMenuItem(B,C,D,E));this.ValidationFunction=null;};FCKContextMenuGroup.prototype.Add=function(A){this.Items[this.Items.length]=A;};FCKContextMenuGroup.prototype.CreateTableRows=function(A){for (var i=0;i<this.Items.length;i++){this.Items[i].CreateTableRow(A);};};FCKContextMenuGroup.prototype.SetVisible=function(A){for (var i=0;i<this.Items.length;i++){this.Items[i].SetVisible(A);};this.IsVisible=A;};FCKContextMenuGroup.prototype.RefreshState=function(){if (!this.IsVisible) return;for (var i=0;i<this.Items.length;i++){this.Items[i].RefreshState();};}
+var FCKContextMenu=new Object();FCKContextMenu._IsLoaded=false;FCKContextMenu.Reload=function(){this._Div=this._Document.createElement('DIV');this._Div.className='CM_ContextMenu';this._Div.style.position='absolute';this._Div.style.visibility='hidden';this._Document.body.appendChild(this._Div);var A=this._Document.createElement('TABLE');A.cellSpacing=0;A.cellPadding=0;A.border=0;this._Div.appendChild(A);this.Groups=new Object();for (var i=0;i<FCKConfig.ContextMenu.length;i++){var B=FCKConfig.ContextMenu[i];this.Groups[B]=this._GetGroup(B);this.Groups[B].CreateTableRows(A);};this._IsLoaded=true;};FCKContextMenu._GetGroup=function(A){var B;switch (A){case 'Generic':B=new FCKContextMenuGroup();B.Add(new FCKContextMenuItem(this,'Cut',FCKLang.Cut,true));B.Add(new FCKContextMenuItem(this,'Copy',FCKLang.Copy,true));B.Add(new FCKContextMenuItem(this,'Paste',FCKLang.Paste,true));break;case 'Link':B=new FCKContextMenuGroup();B.Add(new FCKContextMenuSeparator());B.Add(new FCKContextMenuItem(this,'Link',FCKLang.EditLink,true));B.Add(new FCKContextMenuItem(this,'Unlink',FCKLang.RemoveLink,true));break;case 'TableCell':B=new FCKContextMenuGroup();B.Add(new FCKContextMenuSeparator());B.Add(new FCKContextMenuItem(this,'TableInsertRow',FCKLang.InsertRow,true));B.Add(new FCKContextMenuItem(this,'TableDeleteRows',FCKLang.DeleteRows,true));B.Add(new FCKContextMenuSeparator());B.Add(new FCKContextMenuItem(this,'TableInsertColumn',FCKLang.InsertColumn,true));B.Add(new FCKContextMenuItem(this,'TableDeleteColumns',FCKLang.DeleteColumns,true));B.Add(new FCKContextMenuSeparator());B.Add(new FCKContextMenuItem(this,'TableInsertCell',FCKLang.InsertCell,true));B.Add(new FCKContextMenuItem(this,'TableDeleteCells',FCKLang.DeleteCells,true));B.Add(new FCKContextMenuItem(this,'TableMergeCells',FCKLang.MergeCells,true));B.Add(new FCKContextMenuItem(this,'TableSplitCell',FCKLang.SplitCell,true));B.Add(new FCKContextMenuSeparator());B.Add(new FCKContextMenuItem(this,'TableCellProp',FCKLang.CellProperties,true));B.Add(new FCKContextMenuItem(this,'TableProp',FCKLang.TableProperties,true));break;case 'Table':return new FCKContextMenuGroup(true,this,'Table',FCKLang.TableProperties,true);case 'Image':return new FCKContextMenuGroup(true,this,'Image',FCKLang.ImageProperties,true);case 'Flash':return new FCKContextMenuGroup(true,this,'Flash',FCKLang.FlashProperties,true);case 'Form':return new FCKContextMenuGroup(true,this,'Form',FCKLang.FormProp,true);case 'Checkbox':return new FCKContextMenuGroup(true,this,'Checkbox',FCKLang.CheckboxProp,true);case 'Radio':return new FCKContextMenuGroup(true,this,'Radio',FCKLang.RadioButtonProp,true);case 'TextField':return new FCKContextMenuGroup(true,this,'TextField',FCKLang.TextFieldProp,true);case 'HiddenField':return new FCKContextMenuGroup(true,this,'HiddenField',FCKLang.HiddenFieldProp,true);case 'ImageButton':return new FCKContextMenuGroup(true,this,'ImageButton',FCKLang.ImageButtonProp,true);case 'Button':return new FCKContextMenuGroup(true,this,'Button',FCKLang.ButtonProp,true);case 'Select':return new FCKContextMenuGroup(true,this,'Select',FCKLang.SelectionFieldProp,true);case 'Textarea':return new FCKContextMenuGroup(true,this,'Textarea',FCKLang.TextareaProp,true);case 'BulletedList':return new FCKContextMenuGroup(true,this,'BulletedList',FCKLang.BulletedListProp,true);case 'NumberedList':return new FCKContextMenuGroup(true,this,'NumberedList',FCKLang.NumberedListProp,true);case 'Anchor':return new FCKContextMenuGroup(true,this,'Anchor',FCKLang.AnchorProp,true);};return B;};FCKContextMenu.RefreshState=function(){var A=FCKSelection.GetSelectedElement();var B;if (A) B=A.tagName;if (this.Groups['Link'])			this.Groups['Link'].SetVisible(FCK.GetNamedCommandState('Unlink')!=FCK_TRISTATE_DISABLED);if (this.Groups['TableCell'])		this.Groups['TableCell'].SetVisible(B!='TABLE'&&FCKSelection.HasAncestorNode('TABLE'));if (this.Groups['Table'])			this.Groups['Table'].SetVisible(B=='TABLE');if (this.Groups['Image'])			this.Groups['Image'].SetVisible(B=='IMG'&&!A.getAttribute('_fckfakelement'));if (this.Groups['Flash'])			this.Groups['Flash'].SetVisible(B=='IMG'&&A.getAttribute('_fckflash'));if (this.Groups['Anchor'])		this.Groups['Anchor'].SetVisible(B=='IMG'&&A.getAttribute('_fckanchor'));if (this.Groups['BulletedList'])	this.Groups['BulletedList'].SetVisible(FCKSelection.HasAncestorNode('UL'));if (this.Groups['NumberedList'])	this.Groups['NumberedList'].SetVisible(FCKSelection.HasAncestorNode('OL'));if (this.Groups['Select'])		this.Groups['Select'].SetVisible(B=='SELECT');if (this.Groups['Textarea'])		this.Groups['Textarea'].SetVisible(B=='TEXTAREA');if (this.Groups['Form'])			this.Groups['Form'].SetVisible(FCKSelection.HasAncestorNode('FORM'));if (this.Groups['Checkbox'])		this.Groups['Checkbox'].SetVisible(B=='INPUT'&&A.type=='checkbox');if (this.Groups['Radio'])			this.Groups['Radio'].SetVisible(B=='INPUT'&&A.type=='radio');if (this.Groups['TextField'])		this.Groups['TextField'].SetVisible(B=='INPUT'&&(A.type=='text'||A.type=='password'));if (this.Groups['HiddenField'])	this.Groups['HiddenField'].SetVisible(B=='INPUT'&&A.type=='hidden');if (this.Groups['ImageButton'])	this.Groups['ImageButton'].SetVisible(B=='INPUT'&&A.type=='image');if (this.Groups['Button'])		this.Groups['Button'].SetVisible(B=='INPUT'&&(A.type=='button'||A.type=='submit'||A.type=='reset'));for (var o in this.Groups){this.Groups[o].RefreshState();};};
+function FCKContextMenu_OnContextMenu() { return false;};FCKContextMenu.Show=function(x,y){if (!this._Popup){this._Popup=window.createPopup();this._Document=this._Popup.document;this._Document.createStyleSheet(FCKConfig.SkinPath+'fck_contextmenu.css');this._Document.oncontextmenu=FCKContextMenu_OnContextMenu;aCleanupDocs[aCleanupDocs.length]=this._Document;};if (!this._IsLoaded){this.Reload();this._Div.style.visibility='';};this.RefreshState();this._Popup.show(x,y,0,0);this._Popup.show(x,y,this._Div.offsetWidth,this._Div.offsetHeight);};FCKContextMenu.Hide=function(){if (this._Popup) this._Popup.hide();}
+if (!FCKConfig.PluginsPath.endsWith('/')) FCKConfig.PluginsPath+='/';var FCKPlugin=function(A,B,C){this.Name=A;this.BasePath=C?C:FCKConfig.PluginsPath;this.Path=this.BasePath+A+'/';if (!B||B.length==0) this.AvailableLangs=new Array();else this.AvailableLangs=B.split(',');};FCKPlugin.prototype.Load=function(){if (this.AvailableLangs.length>0){var A;if (this.AvailableLangs.indexOf(FCKLanguageManager.ActiveLanguage.Code)>=0) A=FCKLanguageManager.ActiveLanguage.Code;else A=this.AvailableLangs[0];FCKScriptLoader.AddScript(this.Path+'lang/'+A+'.js');};FCKScriptLoader.AddScript(this.Path+'fckplugin.js');}
+var FCKPlugins=FCK.Plugins=new Object();FCKPlugins.ItemsCount=0;FCKPlugins.Loaded=false;FCKPlugins.Items=new Object();for (var i=0;i<FCKConfig.Plugins.Items.length;i++){var oItem=FCKConfig.Plugins.Items[i];FCKPlugins.Items[oItem[0]]=new FCKPlugin(oItem[0],oItem[1],oItem[2]);FCKPlugins.ItemsCount++;};FCKPlugins.Load=function(){for (var s in this.Items) this.Items[s].Load();this.Loaded=true;FCKPlugins.Load=null;}
+if (FCKLang&&window.document.dir.toLowerCase()!=FCKLang.Dir.toLowerCase()) window.document.dir=FCKLang.Dir;if (FCKConfig.ForcePasteAsPlainText) FCK.Events.AttachEvent("OnPaste",FCK.Paste);if (FCKPlugins.ItemsCount>0){FCKScriptLoader.OnEmpty=CompleteLoading;FCKPlugins.Load();}else CompleteLoading();function CompleteLoading(){FCKToolbarSet.Name=FCKURLParams['Toolbar']||'Default';FCKToolbarSet.Load(FCKToolbarSet.Name);FCKToolbarSet.Restart();FCK.AttachToOnSelectionChange(FCKToolbarSet.RefreshItemsState);FCK.SetStatus(FCK_STATUS_COMPLETE);if (typeof(window.parent.FCKeditor_OnComplete)=='function') window.parent.FCKeditor_OnComplete(FCK);}

Added: zope.html/trunk/src/zope/html/fckeditor/editor/lang/_translationstatus.txt
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/lang/_translationstatus.txt	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/lang/_translationstatus.txt	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,67 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: _translationstatus.txt
+ * 	Translation Status.
+ * 	A useful site with languages information:
+ * 	http://www.omniglot.com/
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+PROCESSING: ar.js      Found: 375   Missing: 2
+PROCESSING: bg.js      Found: 375   Missing: 2
+PROCESSING: bs.js      Found: 232   Missing: 145
+PROCESSING: ca.js      Found: 375   Missing: 2
+PROCESSING: cs.js      Found: 352   Missing: 25
+PROCESSING: da.js      Found: 375   Missing: 2
+PROCESSING: de.js      Found: 375   Missing: 2
+PROCESSING: el.js      Found: 232   Missing: 145
+PROCESSING: en-au.js   Found: 375   Missing: 2
+PROCESSING: en-uk.js   Found: 375   Missing: 2
+PROCESSING: eo.js      Found: 352   Missing: 25
+PROCESSING: es.js      Found: 375   Missing: 2
+PROCESSING: et.js      Found: 232   Missing: 145
+PROCESSING: eu.js      Found: 375   Missing: 2
+PROCESSING: fa.js      Found: 358   Missing: 19
+PROCESSING: fi.js      Found: 375   Missing: 2
+PROCESSING: fo.js      Found: 358   Missing: 19
+PROCESSING: fr.js      Found: 375   Missing: 2
+PROCESSING: gl.js      Found: 375   Missing: 2
+PROCESSING: he.js      Found: 375   Missing: 2
+PROCESSING: hr.js      Found: 375   Missing: 2
+PROCESSING: hu.js      Found: 377   Missing: 0
+PROCESSING: it.js      Found: 375   Missing: 2
+PROCESSING: ja.js      Found: 375   Missing: 2
+PROCESSING: ko.js      Found: 375   Missing: 2
+PROCESSING: lt.js      Found: 375   Missing: 2
+PROCESSING: mn.js      Found: 232   Missing: 145
+PROCESSING: ms.js      Found: 358   Missing: 19
+PROCESSING: nl.js      Found: 375   Missing: 2
+PROCESSING: no.js      Found: 375   Missing: 2
+PROCESSING: pl.js      Found: 352   Missing: 25
+PROCESSING: pt-br.js   Found: 375   Missing: 2
+PROCESSING: pt.js      Found: 375   Missing: 2
+PROCESSING: ro.js      Found: 375   Missing: 2
+PROCESSING: ru.js      Found: 375   Missing: 2
+PROCESSING: sk.js      Found: 375   Missing: 2
+PROCESSING: sl.js      Found: 375   Missing: 2
+PROCESSING: sr-latn.js Found: 375   Missing: 2
+PROCESSING: sr.js      Found: 375   Missing: 2
+PROCESSING: sv.js      Found: 375   Missing: 2
+PROCESSING: th.js      Found: 352   Missing: 25
+PROCESSING: tr.js      Found: 374   Missing: 3
+PROCESSING: uk.js      Found: 375   Missing: 2
+PROCESSING: vi.js      Found: 374   Missing: 3
+PROCESSING: zh-cn.js   Found: 375   Missing: 2
+PROCESSING: zh.js      Found: 375   Missing: 2
\ No newline at end of file


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/lang/_translationstatus.txt
___________________________________________________________________
Name: svn:eol-style
   + native

Added: zope.html/trunk/src/zope/html/fckeditor/editor/lang/ar.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/lang/ar.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/lang/ar.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,475 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: ar.js
+ * 	Arabic language file.
+ * 
+ * File Authors:
+ * 		Abdul-Aziz Abdul-Kareem Al-Oraij (http://aziz.oraij.com)
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "rtl",
+
+ToolbarCollapse		: "ضم شريط الأدوات",
+ToolbarExpand		: "تمدد شريط الأدوات",
+
+// Toolbar Items and Context Menu
+Save				: "حفظ",
+NewPage				: "صفحة جديدة",
+Preview				: "معاينة الصفحة",
+Cut					: "قص",
+Copy				: "نسخ",
+Paste				: "لصق",
+PasteText			: "لصق كنص بسيط",
+PasteWord			: "لصق من وورد",
+Print				: "طباعة",
+SelectAll			: "تحديد الكل",
+RemoveFormat		: "إزالة التنسيقات",
+InsertLinkLbl		: "رابط",
+InsertLink			: "إدراج/تحرير رابط",
+RemoveLink			: "إزالة رابط",
+Anchor				: "إدراج/تحرير إشارة مرجعية",
+InsertImageLbl		: "صورة",
+InsertImage			: "إدراج/تحرير صورة",
+InsertFlashLbl		: "فلاش",
+InsertFlash			: "إدراج/تحرير فيلم فلاش",
+InsertTableLbl		: "جدول",
+InsertTable			: "إدراج/تحرير جدول",
+InsertLineLbl		: "خط فاصل",
+InsertLine			: "إدراج خط فاصل",
+InsertSpecialCharLbl: "رموز",
+InsertSpecialChar	: "إدراج  رموز..ِ",
+InsertSmileyLbl		: "ابتسامات",
+InsertSmiley		: "إدراج ابتسامات",
+About				: "حول FCKeditor",
+Bold				: "غامق",
+Italic				: "مائل",
+Underline			: "تسطير",
+StrikeThrough		: "يتوسطه خط",
+Subscript			: "منخفض",
+Superscript			: "مرتفع",
+LeftJustify			: "محاذاة إلى اليسار",
+CenterJustify		: "توسيط",
+RightJustify		: "محاذاة إلى اليمين",
+BlockJustify		: "ضبط",
+DecreaseIndent		: "إنقاص المسافة البادئة",
+IncreaseIndent		: "زيادة المسافة البادئة",
+Undo				: "تراجع",
+Redo				: "إعادة",
+NumberedListLbl		: "تعداد رقمي",
+NumberedList		: "إدراج/إلغاء تعداد رقمي",
+BulletedListLbl		: "تعداد نقطي",
+BulletedList		: "إدراج/إلغاء تعداد نقطي",
+ShowTableBorders	: "معاينة حدود الجداول",
+ShowDetails			: "معاينة التفاصيل",
+Style				: "نمط",
+FontFormat			: "تنسيق",
+Font				: "خط",
+FontSize			: "حجم الخط",
+TextColor			: "لون النص",
+BGColor				: "لون الخلفية",
+Source				: "شفرة المصدر",
+Find				: "بحث",
+Replace				: "استبدال",
+SpellCheck			: "تدقيق إملائي",
+UniversalKeyboard	: "لوحة المفاتيح العالمية",
+
+Form			: "نموذج",
+Checkbox		: "خانة اختيار",
+RadioButton		: "زر خيار",
+TextField		: "مربع نص",
+Textarea		: "ناحية نص",
+HiddenField		: "إدراج حقل خفي",
+Button			: "زر ضغط",
+SelectionField	: "قائمة منسدلة",
+ImageButton		: "زر صورة",
+
+// Context Menu
+EditLink			: "تحرير رابط",
+InsertRow			: "إدراج صف",
+DeleteRows			: "حذف صفوف",
+InsertColumn		: "إدراج عمود",
+DeleteColumns		: "حذف أعمدة",
+InsertCell			: "إدراج خلية",
+DeleteCells			: "حذف خلايا",
+MergeCells			: "دمج خلايا",
+SplitCell			: "تقسيم خلية",
+CellProperties		: "خصائص الخلية",
+TableProperties		: "خصائص الجدول",
+ImageProperties		: "خصائص الصورة",
+FlashProperties		: "خصائص فيلم الفلاش",
+
+AnchorProp			: "خصائص الإشارة المرجعية",
+ButtonProp			: "خصائص زر الضغط",
+CheckboxProp		: "خصائص خانة الاختيار",
+HiddenFieldProp		: "خصائص الحقل الخفي",
+RadioButtonProp		: "خصائص زر الخيار",
+ImageButtonProp		: "خصائص زر الصورة",
+TextFieldProp		: "خصائص مربع النص",
+SelectionFieldProp	: "خصائص القائمة المنسدلة",
+TextareaProp		: "خصائص ناحية النص",
+FormProp			: "خصائص النموذج",
+
+FontFormats			: "عادي;منسّق;دوس;العنوان 1;العنوان  2;العنوان  3;العنوان  4;العنوان  5;العنوان  6",
+
+// Alerts and Messages
+ProcessingXHTML		: "انتظر قليلاً ريثما تتم   معالَجة‏ XHTML. لن يستغرق طويلاً...",
+Done				: "تم",
+PasteWordConfirm	: "يبدو أن النص المراد لصقه منسوخ من برنامج وورد. هل تود تنظيفه قبل الشروع في عملية اللصق؟",
+NotCompatiblePaste	: "هذه الميزة تحتاج لمتصفح من النوعInternet Explorer إصدار 5.5 فما فوق. هل تود اللصق دون تنظيف الكود؟",
+UnknownToolbarItem	: "عنصر شريط أدوات غير معروف \"%1\"",
+UnknownCommand		: "أمر غير معروف \"%1\"",
+NotImplemented		: "لم يتم دعم هذا الأمر",
+UnknownToolbarSet	: "لم أتمكن من العثور على طقم الأدوات \"%1\" ",
+NoActiveX			: "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "موافق",
+DlgBtnCancel		: "إلغاء الأمر",
+DlgBtnClose			: "إغلاق",
+DlgBtnBrowseServer	: "تصفح الخادم",
+DlgAdvancedTag		: "متقدم",
+DlgOpOther			: "&lt;أخرى&gt;",
+DlgInfoTab			: "معلومات",
+DlgAlertUrl			: "الرجاء كتابة عنوان الإنترنت",
+
+// General Dialogs Labels
+DlgGenNotSet		: "&lt;بدون تحديد&gt;",
+DlgGenId			: "Id",
+DlgGenLangDir		: "اتجاه النص",
+DlgGenLangDirLtr	: "اليسار لليمين (LTR)",
+DlgGenLangDirRtl	: "اليمين لليسار (RTL)",
+DlgGenLangCode		: "رمز اللغة",
+DlgGenAccessKey		: "مفاتيح الاختصار",
+DlgGenName			: "الاسم",
+DlgGenTabIndex		: "الترتيب",
+DlgGenLongDescr		: "عنوان الوصف المفصّل",
+DlgGenClass			: "فئات التنسيق",
+DlgGenTitle			: "تلميح الشاشة",
+DlgGenContType		: "نوع التلميح",
+DlgGenLinkCharset	: "ترميز المادة المرطلوبة",
+DlgGenStyle			: "نمط",
+
+// Image Dialog
+DlgImgTitle			: "خصائص الصورة",
+DlgImgInfoTab		: "معلومات الصورة",
+DlgImgBtnUpload		: "أرسلها للخادم",
+DlgImgURL			: "موقع الصورة",
+DlgImgUpload		: "رفع",
+DlgImgAlt			: "الوصف",
+DlgImgWidth			: "العرض",
+DlgImgHeight		: "الارتفاع",
+DlgImgLockRatio		: "تناسق الحجم",
+DlgBtnResetSize		: "استعادة الحجم الأصلي",
+DlgImgBorder		: "سمك الحدود",
+DlgImgHSpace		: "تباعد أفقي",
+DlgImgVSpace		: "تباعد عمودي",
+DlgImgAlign			: "محاذاة",
+DlgImgAlignLeft		: "يسار",
+DlgImgAlignAbsBottom: "أسفل النص",
+DlgImgAlignAbsMiddle: "وسط السطر",
+DlgImgAlignBaseline	: "على السطر",
+DlgImgAlignBottom	: "أسفل",
+DlgImgAlignMiddle	: "وسط",
+DlgImgAlignRight	: "يمين",
+DlgImgAlignTextTop	: "أعلى النص",
+DlgImgAlignTop		: "أعلى",
+DlgImgPreview		: "معاينة",
+DlgImgAlertUrl		: "فضلاً اكتب الموقع الذي توجد عليه هذه الصورة.",
+DlgImgLinkTab		: "الرابط",
+
+// Flash Dialog
+DlgFlashTitle		: "خصائص فيلم الفلاش",
+DlgFlashChkPlay		: "تشغيل تلقائي",
+DlgFlashChkLoop		: "تكرار",
+DlgFlashChkMenu		: "تمكين قائمة فيلم الفلاش",
+DlgFlashScale		: "الحجم",
+DlgFlashScaleAll	: "إظهار الكل",
+DlgFlashScaleNoBorder	: "بلا حدود",
+DlgFlashScaleFit	: "ضبط تام",
+
+// Link Dialog
+DlgLnkWindowTitle	: "ارتباط تشعبي",
+DlgLnkInfoTab		: "معلومات الرابط",
+DlgLnkTargetTab		: "الهدف",
+
+DlgLnkType			: "نوع الربط",
+DlgLnkTypeURL		: "العنوان",
+DlgLnkTypeAnchor	: "مكان في هذا المستند",
+DlgLnkTypeEMail		: "بريد إلكتروني",
+DlgLnkProto			: "البروتوكول",
+DlgLnkProtoOther	: "&lt;أخرى&gt;",
+DlgLnkURL			: "الموقع",
+DlgLnkAnchorSel		: "اختر علامة مرجعية",
+DlgLnkAnchorByName	: "حسب اسم العلامة",
+DlgLnkAnchorById	: "حسب تعريف العنصر",
+DlgLnkNoAnchors		: "&lt;لا يوجد علامات مرجعية في هذا المستند&gt;",
+DlgLnkEMail			: "عنوان بريد إلكتروني",
+DlgLnkEMailSubject	: "موضوع الرسالة",
+DlgLnkEMailBody		: "محتوى الرسالة",
+DlgLnkUpload		: "رفع",
+DlgLnkBtnUpload		: "أرسلها للخادم",
+
+DlgLnkTarget		: "الهدف",
+DlgLnkTargetFrame	: "&lt;إطار&gt;",
+DlgLnkTargetPopup	: "&lt;نافذة منبثقة&gt;",
+DlgLnkTargetBlank	: "إطار جديد (_blank)",
+DlgLnkTargetParent	: "الإطار الأصل (_parent)",
+DlgLnkTargetSelf	: "نفس الإطار (_self)",
+DlgLnkTargetTop		: "صفحة كاملة (_top)",
+DlgLnkTargetFrameName	: "اسم الإطار الهدف",
+DlgLnkPopWinName	: "تسمية النافذة المنبثقة",
+DlgLnkPopWinFeat	: "خصائص النافذة المنبثقة",
+DlgLnkPopResize		: "قابلة للتحجيم",
+DlgLnkPopLocation	: "شريط العنوان",
+DlgLnkPopMenu		: "القوائم الرئيسية",
+DlgLnkPopScroll		: "أشرطة التمرير",
+DlgLnkPopStatus		: "شريط الحالة السفلي",
+DlgLnkPopToolbar	: "شريط الأدوات",
+DlgLnkPopFullScrn	: "ملئ الشاشة (IE)",
+DlgLnkPopDependent	: "تابع (Netscape)",
+DlgLnkPopWidth		: "العرض",
+DlgLnkPopHeight		: "الارتفاع",
+DlgLnkPopLeft		: "التمركز لليسار",
+DlgLnkPopTop		: "التمركز للأعلى",
+
+DlnLnkMsgNoUrl		: "فضلاً أدخل عنوان الموقع الذي يشير إليه الرابط",
+DlnLnkMsgNoEMail	: "فضلاً أدخل عنوان البريد الإلكتروني",
+DlnLnkMsgNoAnchor	: "فضلاً حدد العلامة المرجعية المرغوبة",
+
+// Color Dialog
+DlgColorTitle		: "اختر لوناً",
+DlgColorBtnClear	: "مسح",
+DlgColorHighlight	: "تحديد",
+DlgColorSelected	: "اختيار",
+
+// Smiley Dialog
+DlgSmileyTitle		: "إدراج ابتسامات ",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "إدراج رمز",
+
+// Table Dialog
+DlgTableTitle		: "إدراج جدول",
+DlgTableRows		: "صفوف",
+DlgTableColumns		: "أعمدة",
+DlgTableBorder		: "سمك الحدود",
+DlgTableAlign		: "المحاذاة",
+DlgTableAlignNotSet	: "<بدون تحديد>",
+DlgTableAlignLeft	: "يسار",
+DlgTableAlignCenter	: "وسط",
+DlgTableAlignRight	: "يمين",
+DlgTableWidth		: "العرض",
+DlgTableWidthPx		: "بكسل",
+DlgTableWidthPc		: "بالمئة",
+DlgTableHeight		: "الارتفاع",
+DlgTableCellSpace	: "تباعد الخلايا",
+DlgTableCellPad		: "المسافة البادئة",
+DlgTableCaption		: "الوصف",
+
+// Table Cell Dialog
+DlgCellTitle		: "خصائص الخلية",
+DlgCellWidth		: "العرض",
+DlgCellWidthPx		: "بكسل",
+DlgCellWidthPc		: "بالمئة",
+DlgCellHeight		: "الارتفاع",
+DlgCellWordWrap		: "التفاف النص",
+DlgCellWordWrapNotSet	: "<بدون تحديد>",
+DlgCellWordWrapYes	: "نعم",
+DlgCellWordWrapNo	: "لا",
+DlgCellHorAlign		: "المحاذاة الأفقية",
+DlgCellHorAlignNotSet	: "<بدون تحديد>",
+DlgCellHorAlignLeft	: "يسار",
+DlgCellHorAlignCenter	: "وسط",
+DlgCellHorAlignRight: "يمين",
+DlgCellVerAlign		: "المحاذاة العمودية",
+DlgCellVerAlignNotSet	: "<بدون تحديد>",
+DlgCellVerAlignTop	: "أعلى",
+DlgCellVerAlignMiddle	: "وسط",
+DlgCellVerAlignBottom	: "أسفل",
+DlgCellVerAlignBaseline	: "على السطر",
+DlgCellRowSpan		: "امتداد الصفوف",
+DlgCellCollSpan		: "امتداد الأعمدة",
+DlgCellBackColor	: "لون الخلفية",
+DlgCellBorderColor	: "لون الحدود",
+DlgCellBtnSelect	: "حدّد...",
+
+// Find Dialog
+DlgFindTitle		: "بحث",
+DlgFindFindBtn		: "ابحث",
+DlgFindNotFoundMsg	: "لم يتم العثور على النص المحدد.",
+
+// Replace Dialog
+DlgReplaceTitle			: "استبدال",
+DlgReplaceFindLbl		: "البحث عن:",
+DlgReplaceReplaceLbl	: "استبدال بـ:",
+DlgReplaceCaseChk		: "مطابقة حالة الأحرف",
+DlgReplaceReplaceBtn	: "استبدال",
+DlgReplaceReplAllBtn	: "استبدال الكل",
+DlgReplaceWordChk		: "الكلمة بالكامل فقط",
+
+// Paste Operations / Dialog
+PasteErrorPaste	: "الإعدادات الأمنية للمتصفح الذي تستخدمه تمنع اللصق التلقائي. فضلاً استخدم لوحة المفاتيح لفعل ذلك (Ctrl+V).",
+PasteErrorCut	: "الإعدادات الأمنية للمتصفح الذي تستخدمه تمنع القص التلقائي. فضلاً استخدم لوحة المفاتيح لفعل ذلك (Ctrl+X).",
+PasteErrorCopy	: "الإعدادات الأمنية للمتصفح الذي تستخدمه تمنع النسخ التلقائي. فضلاً استخدم لوحة المفاتيح لفعل ذلك (Ctrl+C).",
+
+PasteAsText		: "لصق كنص بسيط",
+PasteFromWord	: "لصق من وورد",
+
+DlgPasteMsg2	: "الصق داخل الصندوق باستخدام زرّي (<STRONG>Ctrl+V</STRONG>) في لوحة المفاتيح، ثم اضغط زر  <STRONG>موافق</STRONG>.",
+DlgPasteIgnoreFont		: "تجاهل تعريفات أسماء الخطوط",
+DlgPasteRemoveStyles	: "إزالة تعريفات الأنماط",
+DlgPasteCleanBox		: "نظّف محتوى الصندوق",
+
+
+// Color Picker
+ColorAutomatic	: "تلقائي",
+ColorMoreColors	: "ألوان إضافية...",
+
+// Document Properties
+DocProps		: "خصائص الصفحة",
+
+// Anchor Dialog
+DlgAnchorTitle		: "خصائص إشارة مرجعية",
+DlgAnchorName		: "اسم الإشارة المرجعية",
+DlgAnchorErrorName	: "الرجاء كتابة اسم الإشارة المرجعية",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "ليست في القاموس",
+DlgSpellChangeTo		: "التغيير إلى",
+DlgSpellBtnIgnore		: "تجاهل",
+DlgSpellBtnIgnoreAll	: "تجاهل الكل",
+DlgSpellBtnReplace		: "تغيير",
+DlgSpellBtnReplaceAll	: "تغيير الكل",
+DlgSpellBtnUndo			: "تراجع",
+DlgSpellNoSuggestions	: "- لا توجد اقتراحات -",
+DlgSpellProgress		: "جاري التدقيق إملائياً",
+DlgSpellNoMispell		: "تم إكمال التدقيق الإملائي: لم يتم العثور على أي أخطاء إملائية",
+DlgSpellNoChanges		: "تم إكمال التدقيق الإملائي: لم يتم تغيير أي كلمة",
+DlgSpellOneChange		: "تم إكمال التدقيق الإملائي: تم تغيير كلمة واحدة فقط",
+DlgSpellManyChanges		: "تم إكمال التدقيق الإملائي: تم تغيير %1 كلمات\كلمة",
+
+IeSpellDownload			: "المدقق الإملائي (الإنجليزي) غير مثبّت. هل تود تحميله الآن؟",
+
+// Button Dialog
+DlgButtonText	: "القيمة/التسمية",
+DlgButtonType	: "نوع الزر",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "الاسم",
+DlgCheckboxValue	: "القيمة",
+DlgCheckboxSelected	: "محدد",
+
+// Form Dialog
+DlgFormName		: "الاسم",
+DlgFormAction	: "اسم الملف",
+DlgFormMethod	: "الأسلوب",
+
+// Select Field Dialog
+DlgSelectName		: "الاسم",
+DlgSelectValue		: "القيمة",
+DlgSelectSize		: "الحجم",
+DlgSelectLines		: "الأسطر",
+DlgSelectChkMulti	: "السماح بتحديدات متعددة",
+DlgSelectOpAvail	: "الخيارات المتاحة",
+DlgSelectOpText		: "النص",
+DlgSelectOpValue	: "القيمة",
+DlgSelectBtnAdd		: "إضافة",
+DlgSelectBtnModify	: "تعديل",
+DlgSelectBtnUp		: "تحريك لأعلى",
+DlgSelectBtnDown	: "تحريك لأسفل",
+DlgSelectBtnSetValue : "اجعلها محددة",
+DlgSelectBtnDelete	: "إزالة",
+
+// Textarea Dialog
+DlgTextareaName	: "الاسم",
+DlgTextareaCols	: "الأعمدة",
+DlgTextareaRows	: "الصفوف",
+
+// Text Field Dialog
+DlgTextName			: "الاسم",
+DlgTextValue		: "القيمة",
+DlgTextCharWidth	: "العرض بالأحرف",
+DlgTextMaxChars		: "عدد الحروف الأقصى",
+DlgTextType			: "نوع المحتوى",
+DlgTextTypeText		: "نص",
+DlgTextTypePass		: "كلمة مرور",
+
+// Hidden Field Dialog
+DlgHiddenName	: "الاسم",
+DlgHiddenValue	: "القيمة",
+
+// Bulleted List Dialog
+BulletedListProp	: "خصائص التعداد النقطي",
+NumberedListProp	: "خصائص التعداد الرقمي",
+DlgLstType			: "النوع",
+DlgLstTypeCircle	: "دائرة",
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "مربع",
+DlgLstTypeNumbers	: "أرقام (1، 2، 3)َ",
+DlgLstTypeLCase		: "حروف صغيرة (a, b, c)َ",
+DlgLstTypeUCase		: "حروف كبيرة (A, B, C)َ",
+DlgLstTypeSRoman	: "ترقيم روماني صغير (i, ii, iii)َ",
+DlgLstTypeLRoman	: "ترقيم روماني كبير (I, II, III)َ",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "عام",
+DlgDocBackTab		: "الخلفية",
+DlgDocColorsTab		: "الألوان والهوامش",
+DlgDocMetaTab		: "المعرّفات الرأسية",
+
+DlgDocPageTitle		: "عنوان الصفحة",
+DlgDocLangDir		: "اتجاه اللغة",
+DlgDocLangDirLTR	: "اليسار لليمين (LTR)",
+DlgDocLangDirRTL	: "اليمين لليسار (RTL)",
+DlgDocLangCode		: "رمز اللغة",
+DlgDocCharSet		: "ترميز الحروف",
+DlgDocCharSetOther	: "ترميز حروف آخر",
+
+DlgDocDocType		: "ترويسة نوع  الصفحة",
+DlgDocDocTypeOther	: "ترويسة نوع  صفحة أخرى",
+DlgDocIncXHTML		: "تضمين   إعلانات‏ لغة XHTMLَ",
+DlgDocBgColor		: "لون الخلفية",
+DlgDocBgImage		: "رابط الصورة الخلفية",
+DlgDocBgNoScroll	: "جعلها علامة مائية",
+DlgDocCText			: "النص",
+DlgDocCLink			: "الروابط",
+DlgDocCVisited		: "المزارة",
+DlgDocCActive		: "النشطة",
+DlgDocMargins		: "هوامش الصفحة",
+DlgDocMaTop			: "علوي",
+DlgDocMaLeft		: "أيسر",
+DlgDocMaRight		: "أيمن",
+DlgDocMaBottom		: "سفلي",
+DlgDocMeIndex		: "الكلمات الأساسية (مفصولة بفواصل)َ",
+DlgDocMeDescr		: "وصف الصفحة",
+DlgDocMeAuthor		: "الكاتب",
+DlgDocMeCopy		: "المالك",
+DlgDocPreview		: "معاينة",
+
+// Templates Dialog
+Templates			: "القوالب",
+DlgTemplatesTitle	: "قوالب المحتوى",
+DlgTemplatesSelMsg	: "اختر القالب الذي تود وضعه في المحرر <br>(سيتم فقدان المحتوى الحالي):",
+DlgTemplatesLoading	: "جاري تحميل قائمة القوالب، الرجاء الانتظار...",
+DlgTemplatesNoTpl	: "(لم يتم تعريف أي قالب)",
+
+// About Dialog
+DlgAboutAboutTab	: "نبذة",
+DlgAboutBrowserInfoTab	: "معلومات متصفحك",
+DlgAboutVersion		: "الإصدار",
+DlgAboutLicense		: "مرخّص بحسب قانون  GNU LGPL",
+DlgAboutInfo		: "لمزيد من المعلومات تفضل بزيارة"
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/lang/bg.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/lang/bg.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/lang/bg.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,475 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: bg.js
+ * 	Bulgarian language file.
+ * 
+ * File Authors:
+ * 		Miroslav Ivanov (miro at primal-chaos.net)
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Скрий панела с инструментите",
+ToolbarExpand		: "Покажи панела с инструментите",
+
+// Toolbar Items and Context Menu
+Save				: "Запази",
+NewPage				: "Нова страница",
+Preview				: "Предварителен изглед",
+Cut					: "Изрежи",
+Copy				: "Запамети",
+Paste				: "Вмъкни",
+PasteText			: "Вмъкни само текст",
+PasteWord			: "Вмъкни от MS Word",
+Print				: "Печат",
+SelectAll			: "Селектирай всичко",
+RemoveFormat		: "Изтрий форматирането",
+InsertLinkLbl		: "Връзка",
+InsertLink			: "Добави/Редактирай връзка",
+RemoveLink			: "Изтрий връзка",
+Anchor				: "Добави/Редактирай котва",
+InsertImageLbl		: "Изображение",
+InsertImage			: "Добави/Редактирай изображение",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Добави/Редактиай Flash обект",
+InsertTableLbl		: "Таблица",
+InsertTable			: "Добави/Редактирай таблица",
+InsertLineLbl		: "Линия",
+InsertLine			: "Вмъкни хоризонтална линия",
+InsertSpecialCharLbl: "Специален символ",
+InsertSpecialChar	: "Вмъкни специален символ",
+InsertSmileyLbl		: "Усмивка",
+InsertSmiley		: "Добави усмивка",
+About				: "За FCKeditor",
+Bold				: "Удебелен",
+Italic				: "Курсив",
+Underline			: "Подчертан",
+StrikeThrough		: "Зачертан",
+Subscript			: "Индекс за база",
+Superscript			: "Индекс за степен",
+LeftJustify			: "Подравняване в ляво",
+CenterJustify		: "Подравнявне в средата",
+RightJustify		: "Подравняване в дясно",
+BlockJustify		: "Двустранно подравняване",
+DecreaseIndent		: "Намали отстъпа",
+IncreaseIndent		: "Увеличи отстъпа",
+Undo				: "Отмени",
+Redo				: "Повтори",
+NumberedListLbl		: "Нумериран списък",
+NumberedList		: "Добави/Изтрий нумериран списък",
+BulletedListLbl		: "Ненумериран списък",
+BulletedList		: "Добави/Изтрий ненумериран списък",
+ShowTableBorders	: "Покажи рамките на таблицата",
+ShowDetails			: "Покажи подробности",
+Style				: "Стил",
+FontFormat			: "Формат",
+Font				: "Шрифт",
+FontSize			: "Размер",
+TextColor			: "Цвят на текста",
+BGColor				: "Цвят на фона",
+Source				: "Код",
+Find				: "Търси",
+Replace				: "Замести",
+SpellCheck			: "Провери правописа",
+UniversalKeyboard	: "Универсална клавиатура",
+
+Form			: "Формуляр",
+Checkbox		: "Поле за отметка",
+RadioButton		: "Поле за опция",
+TextField		: "Текстово поле",
+Textarea		: "Текстова област",
+HiddenField		: "Скрито поле",
+Button			: "Бутон",
+SelectionField	: "Падащо меню с опции",
+ImageButton		: "Бутон-изображение",
+
+// Context Menu
+EditLink			: "Редактирай връзка",
+InsertRow			: "Добави ред",
+DeleteRows			: "Изтрий редовете",
+InsertColumn		: "Добави колона",
+DeleteColumns		: "Изтрий колоните",
+InsertCell			: "Добави клетка",
+DeleteCells			: "Изтрий клетките",
+MergeCells			: "Обедини клетките",
+SplitCell			: "Раздели клетката",
+CellProperties		: "Параметри на клетката",
+TableProperties		: "Параметри на таблицата",
+ImageProperties		: "Параметри на изображението",
+FlashProperties		: "Параметри на Flash обекта",
+
+AnchorProp			: "Параметри на котвата",
+ButtonProp			: "Параметри на бутона",
+CheckboxProp		: "Параметри на полето за отметка",
+HiddenFieldProp		: "Параметри на скритото поле",
+RadioButtonProp		: "Параметри на полето за опция",
+ImageButtonProp		: "Параметри на бутона-изображение",
+TextFieldProp		: "Параметри на текстовото-поле",
+SelectionFieldProp	: "Параметри на падащото меню с опции",
+TextareaProp		: "Параметри на текстовата област",
+FormProp			: "Параметри на формуляра",
+
+FontFormats			: "Нормален;Форматиран;Адрес;Заглавие 1;Заглавие 2;Заглавие 3;Заглавие 4;Заглавие 5;Заглавие 6;Параграф (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "Обработка на XHTML. Моля изчакайте...",
+Done				: "Готово",
+PasteWordConfirm	: "Текстът, който искате да вмъкнете е копиран от MS Word. Желаете ли да бъде изчистен преди вмъкването?",
+NotCompatiblePaste	: "Тази операция изисква MS Internet Explorer версия 5.5 или по-висока. Желаете ли да вмъкнете запаметеното без изчистване?",
+UnknownToolbarItem	: "Непознат инструмент \"%1\"",
+UnknownCommand		: "Непозната команда \"%1\"",
+NotImplemented		: "Командата не е имплементирана",
+UnknownToolbarSet	: "Панелът \"%1\" не съществува",
+NoActiveX			: "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "ОК",
+DlgBtnCancel		: "Отказ",
+DlgBtnClose			: "Затвори",
+DlgBtnBrowseServer	: "Разгледай сървъра",
+DlgAdvancedTag		: "Подробности...",
+DlgOpOther			: "&lt;Друго&gt;",
+DlgInfoTab			: "Информация",
+DlgAlertUrl			: "Моля, въведете пълния път (URL)",
+
+// General Dialogs Labels
+DlgGenNotSet		: "&lt;не е настроен&gt;",
+DlgGenId			: "Идентификатор",
+DlgGenLangDir		: "посока на речта",
+DlgGenLangDirLtr	: "От ляво на дясно",
+DlgGenLangDirRtl	: "От дясно на ляво",
+DlgGenLangCode		: "Код на езика",
+DlgGenAccessKey		: "Бърз клавиш",
+DlgGenName			: "Име",
+DlgGenTabIndex		: "Ред на достъп",
+DlgGenLongDescr		: "Описание на връзката",
+DlgGenClass			: "Клас от стиловите таблици",
+DlgGenTitle			: "Препоръчително заглавие",
+DlgGenContType		: "Препоръчителен тип на съдържанието",
+DlgGenLinkCharset	: "Тип на свързания ресурс",
+DlgGenStyle			: "Стил",
+
+// Image Dialog
+DlgImgTitle			: "Параметри на изображението",
+DlgImgInfoTab		: "Информация за изображението",
+DlgImgBtnUpload		: "Прати към сървъра",
+DlgImgURL			: "Пълен път (URL)",
+DlgImgUpload		: "Качи",
+DlgImgAlt			: "Алтернативен текст",
+DlgImgWidth			: "Ширина",
+DlgImgHeight		: "Височина",
+DlgImgLockRatio		: "Запази пропорцията",
+DlgBtnResetSize		: "Възстанови размера",
+DlgImgBorder		: "Рамка",
+DlgImgHSpace		: "Хоризонтален отстъп",
+DlgImgVSpace		: "Вертикален отстъп",
+DlgImgAlign			: "Подравняване",
+DlgImgAlignLeft		: "Ляво",
+DlgImgAlignAbsBottom: "Най-долу",
+DlgImgAlignAbsMiddle: "Точно по средата",
+DlgImgAlignBaseline	: "По базовата линия",
+DlgImgAlignBottom	: "Долу",
+DlgImgAlignMiddle	: "По средата",
+DlgImgAlignRight	: "Дясно",
+DlgImgAlignTextTop	: "Върху текста",
+DlgImgAlignTop		: "Отгоре",
+DlgImgPreview		: "Изглед",
+DlgImgAlertUrl		: "Моля, въведете пълния път до изображението",
+DlgImgLinkTab		: "Връзка",
+
+// Flash Dialog
+DlgFlashTitle		: "Параметри на Flash обекта",
+DlgFlashChkPlay		: "Автоматично стартиране",
+DlgFlashChkLoop		: "Ново стартиране след завършването",
+DlgFlashChkMenu		: "Разрешено Flash меню",
+DlgFlashScale		: "Оразмеряване",
+DlgFlashScaleAll	: "Покажи целия обект",
+DlgFlashScaleNoBorder	: "Без рамка",
+DlgFlashScaleFit	: "Според мястото",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Връзка",
+DlgLnkInfoTab		: "Информация за връзката",
+DlgLnkTargetTab		: "Цел",
+
+DlgLnkType			: "Вид на връзката",
+DlgLnkTypeURL		: "Пълен път (URL)",
+DlgLnkTypeAnchor	: "Котва в текущата страница",
+DlgLnkTypeEMail		: "Е-поща",
+DlgLnkProto			: "Протокол",
+DlgLnkProtoOther	: "&lt;друго&gt;",
+DlgLnkURL			: "Пълен път (URL)",
+DlgLnkAnchorSel		: "Изберете котва",
+DlgLnkAnchorByName	: "По име на котвата",
+DlgLnkAnchorById	: "По идентификатор на елемент",
+DlgLnkNoAnchors		: "&lt;Няма котви в текущия документ&gt;",
+DlgLnkEMail			: "Адрес за е-поща",
+DlgLnkEMailSubject	: "Тема на писмото",
+DlgLnkEMailBody		: "Текст на писмото",
+DlgLnkUpload		: "Качи",
+DlgLnkBtnUpload		: "Прати на сървъра",
+
+DlgLnkTarget		: "Цел",
+DlgLnkTargetFrame	: "&lt;рамка&gt;",
+DlgLnkTargetPopup	: "&lt;дъщерен прозорец&gt;",
+DlgLnkTargetBlank	: "Нов прозорец (_blank)",
+DlgLnkTargetParent	: "Родителски прозорец (_parent)",
+DlgLnkTargetSelf	: "Активния прозорец (_self)",
+DlgLnkTargetTop		: "Целия прозорец (_top)",
+DlgLnkTargetFrameName	: "Име на целевия прозорец",
+DlgLnkPopWinName	: "Име на дъщерния прозорец",
+DlgLnkPopWinFeat	: "Параметри на дъщерния прозорец",
+DlgLnkPopResize		: "С променливи размери",
+DlgLnkPopLocation	: "Поле за адрес",
+DlgLnkPopMenu		: "Меню",
+DlgLnkPopScroll		: "Плъзгач",
+DlgLnkPopStatus		: "Поле за статус",
+DlgLnkPopToolbar	: "Панел с бутони",
+DlgLnkPopFullScrn	: "Голям екран (MS IE)",
+DlgLnkPopDependent	: "Зависим (Netscape)",
+DlgLnkPopWidth		: "Ширина",
+DlgLnkPopHeight		: "Височина",
+DlgLnkPopLeft		: "Координати - X",
+DlgLnkPopTop		: "Координати - Y",
+
+DlnLnkMsgNoUrl		: "Моля, напишете пълния път (URL)",
+DlnLnkMsgNoEMail	: "Моля, напишете адреса за е-поща",
+DlnLnkMsgNoAnchor	: "Моля, изберете котва",
+
+// Color Dialog
+DlgColorTitle		: "Изберете цвят",
+DlgColorBtnClear	: "Изчисти",
+DlgColorHighlight	: "Текущ",
+DlgColorSelected	: "Избран",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Добави усмивка",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Изберете специален символ",
+
+// Table Dialog
+DlgTableTitle		: "Параметри на таблицата",
+DlgTableRows		: "Редове",
+DlgTableColumns		: "Колони",
+DlgTableBorder		: "Размер на рамката",
+DlgTableAlign		: "Подравняване",
+DlgTableAlignNotSet	: "<Не е избрано>",
+DlgTableAlignLeft	: "Ляво",
+DlgTableAlignCenter	: "Център",
+DlgTableAlignRight	: "Дясно",
+DlgTableWidth		: "Ширина",
+DlgTableWidthPx		: "пиксели",
+DlgTableWidthPc		: "проценти",
+DlgTableHeight		: "Височина",
+DlgTableCellSpace	: "Разстояние между клетките",
+DlgTableCellPad		: "Отстъп на съдържанието в клетките",
+DlgTableCaption		: "Заглавие",
+
+// Table Cell Dialog
+DlgCellTitle		: "Параметри на клетката",
+DlgCellWidth		: "Ширина",
+DlgCellWidthPx		: "пиксели",
+DlgCellWidthPc		: "проценти",
+DlgCellHeight		: "Височина",
+DlgCellWordWrap		: "пренасяне на нов ред",
+DlgCellWordWrapNotSet	: "&lt;Не е настроено&gt;",
+DlgCellWordWrapYes	: "Да",
+DlgCellWordWrapNo	: "не",
+DlgCellHorAlign		: "Хоризонтално подравняване",
+DlgCellHorAlignNotSet	: "&lt;Не е настроено&gt;",
+DlgCellHorAlignLeft	: "Ляво",
+DlgCellHorAlignCenter	: "Център",
+DlgCellHorAlignRight: "Дясно",
+DlgCellVerAlign		: "Вертикално подравняване",
+DlgCellVerAlignNotSet	: "&lt;Не е настроено&gt;",
+DlgCellVerAlignTop	: "Горе",
+DlgCellVerAlignMiddle	: "По средата",
+DlgCellVerAlignBottom	: "Долу",
+DlgCellVerAlignBaseline	: "По базовата линия",
+DlgCellRowSpan		: "повече от един ред",
+DlgCellCollSpan		: "повече от една колона",
+DlgCellBackColor	: "фонов цвят",
+DlgCellBorderColor	: "цвят на рамката",
+DlgCellBtnSelect	: "Изберете...",
+
+// Find Dialog
+DlgFindTitle		: "Търси",
+DlgFindFindBtn		: "Търси",
+DlgFindNotFoundMsg	: "Указания текст не беше намерен.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Замести",
+DlgReplaceFindLbl		: "Търси:",
+DlgReplaceReplaceLbl	: "Замести с:",
+DlgReplaceCaseChk		: "Със същия регистър",
+DlgReplaceReplaceBtn	: "Замести",
+DlgReplaceReplAllBtn	: "Замести всички",
+DlgReplaceWordChk		: "Търси същата дума",
+
+// Paste Operations / Dialog
+PasteErrorPaste	: "Настройките за сигурност на вашия бразуър не разрешават на редактора да изпълни вмъкването. За целта използвайте клавиатурата (Ctrl+V).",
+PasteErrorCut	: "Настройките за сигурност на вашия бразуър не разрешават на редактора да изпълни изрязването. За целта използвайте клавиатурата (Ctrl+X).",
+PasteErrorCopy	: "Настройките за сигурност на вашия бразуър не разрешават на редактора да изпълни запаметяването. За целта използвайте клавиатурата (Ctrl+C).",
+
+PasteAsText		: "Вмъкни като чист текст",
+PasteFromWord	: "Вмъкни от MS Word",
+
+DlgPasteMsg2	: "Вмъкнете тук съдъжанието с клавиатуарата (<STRONG>Ctrl+V</STRONG>) и натиснете <STRONG>OK</STRONG>.",
+DlgPasteIgnoreFont		: "Игнорирай шрифтовите дефиниции",
+DlgPasteRemoveStyles	: "Изтрий стиловите дефиниции",
+DlgPasteCleanBox		: "Изчисти",
+
+
+// Color Picker
+ColorAutomatic	: "По подразбиране",
+ColorMoreColors	: "Други цветове...",
+
+// Document Properties
+DocProps		: "Параметри на документа",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Параметри на котвата",
+DlgAnchorName		: "Име на котвата",
+DlgAnchorErrorName	: "Моля, въведете име на котвата",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Липсва в речника",
+DlgSpellChangeTo		: "Промени на",
+DlgSpellBtnIgnore		: "Игнорирай",
+DlgSpellBtnIgnoreAll	: "Игнорирай всички",
+DlgSpellBtnReplace		: "Замести",
+DlgSpellBtnReplaceAll	: "Замести всички",
+DlgSpellBtnUndo			: "Отмени",
+DlgSpellNoSuggestions	: "- Няма предложения -",
+DlgSpellProgress		: "Извършване на проверката за правопис...",
+DlgSpellNoMispell		: "Проверката за правопис завършена: не са открити правописни грешки",
+DlgSpellNoChanges		: "Проверката за правопис завършена: няма променени думи",
+DlgSpellOneChange		: "Проверката за правопис завършена: една дума е променена",
+DlgSpellManyChanges		: "Проверката за правопис завършена: %1 думи са променени",
+
+IeSpellDownload			: "Инструментът за проверка на правопис не е инсталиран. Желаете ли да го инсталирате ?",
+
+// Button Dialog
+DlgButtonText	: "Текст (Стойност)",
+DlgButtonType	: "Тип",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Име",
+DlgCheckboxValue	: "Стойност",
+DlgCheckboxSelected	: "Отметнато",
+
+// Form Dialog
+DlgFormName		: "Име",
+DlgFormAction	: "Действие",
+DlgFormMethod	: "Метод",
+
+// Select Field Dialog
+DlgSelectName		: "Име",
+DlgSelectValue		: "Стойност",
+DlgSelectSize		: "Размер",
+DlgSelectLines		: "линии",
+DlgSelectChkMulti	: "Разрешено множествено селектиране",
+DlgSelectOpAvail	: "Възможни опции",
+DlgSelectOpText		: "Текст",
+DlgSelectOpValue	: "Стойност",
+DlgSelectBtnAdd		: "Добави",
+DlgSelectBtnModify	: "Промени",
+DlgSelectBtnUp		: "Нагоре",
+DlgSelectBtnDown	: "Надолу",
+DlgSelectBtnSetValue : "Настрой като избрана стойност",
+DlgSelectBtnDelete	: "Изтрий",
+
+// Textarea Dialog
+DlgTextareaName	: "Име",
+DlgTextareaCols	: "Колони",
+DlgTextareaRows	: "Редове",
+
+// Text Field Dialog
+DlgTextName			: "Име",
+DlgTextValue		: "Стойност",
+DlgTextCharWidth	: "Ширина на символите",
+DlgTextMaxChars		: "Максимум символи",
+DlgTextType			: "Тип",
+DlgTextTypeText		: "Текст",
+DlgTextTypePass		: "Парола",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Име",
+DlgHiddenValue	: "Стойност",
+
+// Bulleted List Dialog
+BulletedListProp	: "Параметри на ненумерирания списък",
+NumberedListProp	: "Параметри на нумерирания списък",
+DlgLstType			: "Тип",
+DlgLstTypeCircle	: "Окръжност",
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "Квадрат",
+DlgLstTypeNumbers	: "Числа (1, 2, 3)",
+DlgLstTypeLCase		: "Малки букви (a, b, c)",
+DlgLstTypeUCase		: "Големи букви (A, B, C)",
+DlgLstTypeSRoman	: "Малки римски числа (i, ii, iii)",
+DlgLstTypeLRoman	: "Големи римски числа (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Общи",
+DlgDocBackTab		: "Фон",
+DlgDocColorsTab		: "Цветове и отстъпи",
+DlgDocMetaTab		: "Мета данни",
+
+DlgDocPageTitle		: "Заглавие на страницата",
+DlgDocLangDir		: "Посока на речта",
+DlgDocLangDirLTR	: "От ляво на дясно",
+DlgDocLangDirRTL	: "От дясно на ляво",
+DlgDocLangCode		: "Код на езика",
+DlgDocCharSet		: "Кодиране на символите",
+DlgDocCharSetOther	: "Друго кодиране на символите",
+
+DlgDocDocType		: "Тип на документа",
+DlgDocDocTypeOther	: "Друг тип на документа",
+DlgDocIncXHTML		: "Включи XHTML декларация",
+DlgDocBgColor		: "Цвят на фона",
+DlgDocBgImage		: "Пълен път до фоновото изображение",
+DlgDocBgNoScroll	: "Не-повтарящо се фоново изображение",
+DlgDocCText			: "Текст",
+DlgDocCLink			: "Връзка",
+DlgDocCVisited		: "Посетена връзка",
+DlgDocCActive		: "Активна връзка",
+DlgDocMargins		: "Отстъпи на страницата",
+DlgDocMaTop			: "Горе",
+DlgDocMaLeft		: "Ляво",
+DlgDocMaRight		: "Дясно",
+DlgDocMaBottom		: "Долу",
+DlgDocMeIndex		: "Ключови думи за документа (разделени със запетаи)",
+DlgDocMeDescr		: "Описание на документа",
+DlgDocMeAuthor		: "Автор",
+DlgDocMeCopy		: "Авторски права",
+DlgDocPreview		: "Изглед",
+
+// Templates Dialog
+Templates			: "Шаблони",
+DlgTemplatesTitle	: "Шаблони",
+DlgTemplatesSelMsg	: "Изберете шаблон <br>(текущото съдържание на редактора ще бъде загубено):",
+DlgTemplatesLoading	: "Зареждане на списъка с шаблоните. Моля изчакайте...",
+DlgTemplatesNoTpl	: "(Няма дефинирани шаблони)",
+
+// About Dialog
+DlgAboutAboutTab	: "За",
+DlgAboutBrowserInfoTab	: "Информация за браузъра",
+DlgAboutVersion		: "версия",
+DlgAboutLicense		: "Лиценз по условията на GNU Lesser General Public License",
+DlgAboutInfo		: "За повече информация посетете"
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/lang/bs.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/lang/bs.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/lang/bs.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,475 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: bs.js
+ * 	Bosnian language file.
+ * 
+ * File Authors:
+ * 		Muris Trax (www.elektronika.ba)
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Skupi trake sa alatima",
+ToolbarExpand		: "Otvori trake sa alatima",
+
+// Toolbar Items and Context Menu
+Save				: "Snimi",
+NewPage				: "Novi dokument",
+Preview				: "Prikaži",
+Cut					: "Izreži",
+Copy				: "Kopiraj",
+Paste				: "Zalijepi",
+PasteText			: "Zalijepi kao obièan tekst",
+PasteWord			: "Zalijepi iz Word-a",
+Print				: "Å tampaj",
+SelectAll			: "Selektuj sve",
+RemoveFormat		: "Poništi format",
+InsertLinkLbl		: "Link",
+InsertLink			: "Ubaci/Izmjeni link",
+RemoveLink			: "Izbriši link",
+Anchor				: "Insert/Edit Anchor",	//MISSING
+InsertImageLbl		: "Slika",
+InsertImage			: "Ubaci/Izmjeni sliku",
+InsertFlashLbl		: "Flash",	//MISSING
+InsertFlash			: "Insert/Edit Flash",	//MISSING
+InsertTableLbl		: "Tabela",
+InsertTable			: "Ubaci/Izmjeni tabelu",
+InsertLineLbl		: "Linija",
+InsertLine			: "Ubaci horizontalnu liniju",
+InsertSpecialCharLbl: "Specijalni karakter",
+InsertSpecialChar	: "Ubaci specijalni karater",
+InsertSmileyLbl		: "Smješko",
+InsertSmiley		: "Ubaci smješka",
+About				: "O FCKeditor-u",
+Bold				: "Boldiraj",
+Italic				: "Ukosi",
+Underline			: "Podvuci",
+StrikeThrough		: "Precrtaj",
+Subscript			: "Subscript",
+Superscript			: "Superscript",
+LeftJustify			: "Lijevo poravnanje",
+CenterJustify		: "Centralno poravnanje",
+RightJustify		: "Desno poravnanje",
+BlockJustify		: "Puno poravnanje",
+DecreaseIndent		: "Smanji uvod",
+IncreaseIndent		: "Poveæaj uvod",
+Undo				: "Vrati",
+Redo				: "Ponovi",
+NumberedListLbl		: "Numerisana lista",
+NumberedList		: "Ubaci/Izmjeni numerisanu listu",
+BulletedListLbl		: "Lista",
+BulletedList		: "Ubaci/Izmjeni listu",
+ShowTableBorders	: "Pokaži okvire tabela",
+ShowDetails			: "Pokaži detalje",
+Style				: "Stil",
+FontFormat			: "Format",
+Font				: "Font",
+FontSize			: "Velièina",
+TextColor			: "Boja teksta",
+BGColor				: "Boja pozadine",
+Source				: "HTML kôd",
+Find				: "Naði",
+Replace				: "Zamjeni",
+SpellCheck			: "Check Spell",	//MISSING
+UniversalKeyboard	: "Universal Keyboard",	//MISSING
+
+Form			: "Form",	//MISSING
+Checkbox		: "Checkbox",	//MISSING
+RadioButton		: "Radio Button",	//MISSING
+TextField		: "Text Field",	//MISSING
+Textarea		: "Textarea",	//MISSING
+HiddenField		: "Hidden Field",	//MISSING
+Button			: "Button",	//MISSING
+SelectionField	: "Selection Field",	//MISSING
+ImageButton		: "Image Button",	//MISSING
+
+// Context Menu
+EditLink			: "Izmjeni link",
+InsertRow			: "Ubaci red",
+DeleteRows			: "Briši redove",
+InsertColumn		: "Ubaci kolonu",
+DeleteColumns		: "Briši kolone",
+InsertCell			: "Ubaci æeliju",
+DeleteCells			: "Briši æelije",
+MergeCells			: "Spoji æelije",
+SplitCell			: "Razdvoji æeliju",
+CellProperties		: "Svojstva æelije",
+TableProperties		: "Svojstva tabele",
+ImageProperties		: "Svojstva slike",
+FlashProperties		: "Flash Properties",	//MISSING
+
+AnchorProp			: "Anchor Properties",	//MISSING
+ButtonProp			: "Button Properties",	//MISSING
+CheckboxProp		: "Checkbox Properties",	//MISSING
+HiddenFieldProp		: "Hidden Field Properties",	//MISSING
+RadioButtonProp		: "Radio Button Properties",	//MISSING
+ImageButtonProp		: "Image Button Properties",	//MISSING
+TextFieldProp		: "Text Field Properties",	//MISSING
+SelectionFieldProp	: "Selection Field Properties",	//MISSING
+TextareaProp		: "Textarea Properties",	//MISSING
+FormProp			: "Form Properties",	//MISSING
+
+FontFormats			: "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6",
+
+// Alerts and Messages
+ProcessingXHTML		: "Procesiram XHTML. Molim saèekajte...",
+Done				: "Gotovo",
+PasteWordConfirm	: "Tekst koji želite zalijepiti èini se da je kopiran iz Worda. Da li želite da se prvo oèisti?",
+NotCompatiblePaste	: "Ova komanda je podržana u Internet Explorer-u verzijama 5.5 ili novijim. Da li želite da izvršite lijepljenje teksta bez èišæenja?",
+UnknownToolbarItem	: "Nepoznata stavka sa trake sa alatima \"%1\"",
+UnknownCommand		: "Nepoznata komanda \"%1\"",
+NotImplemented		: "Komanda nije implementirana",
+UnknownToolbarSet	: "Traka sa alatima \"%1\" ne postoji",
+NoActiveX			: "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Odustani",
+DlgBtnClose			: "Zatvori",
+DlgBtnBrowseServer	: "Browse Server",	//MISSING
+DlgAdvancedTag		: "Naprednije",
+DlgOpOther			: "&lt;Other&gt;",	//MISSING
+DlgInfoTab			: "Info",	//MISSING
+DlgAlertUrl			: "Please insert the URL",	//MISSING
+
+// General Dialogs Labels
+DlgGenNotSet		: "&lt;nije podešeno&gt;",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Smjer pisanja",
+DlgGenLangDirLtr	: "S lijeva na desno (LTR)",
+DlgGenLangDirRtl	: "S desna na lijevo (RTL)",
+DlgGenLangCode		: "Jezièni kôd",
+DlgGenAccessKey		: "Pristupna tipka",
+DlgGenName			: "Naziv",
+DlgGenTabIndex		: "Tab indeks",
+DlgGenLongDescr		: "Dugaèki opis URL-a",
+DlgGenClass			: "Klase CSS stilova",
+DlgGenTitle			: "Advisory title",
+DlgGenContType		: "Advisory vrsta sadržaja",
+DlgGenLinkCharset	: "Linked Resource Charset",
+DlgGenStyle			: "Stil",
+
+// Image Dialog
+DlgImgTitle			: "Svojstva slike",
+DlgImgInfoTab		: "Info slike",
+DlgImgBtnUpload		: "Å alji na server",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Å alji",
+DlgImgAlt			: "Tekst na slici",
+DlgImgWidth			: "Å irina",
+DlgImgHeight		: "Visina",
+DlgImgLockRatio		: "Zakljuèaj odnos",
+DlgBtnResetSize		: "Resetuj dimenzije",
+DlgImgBorder		: "Okvir",
+DlgImgHSpace		: "HSpace",
+DlgImgVSpace		: "VSpace",
+DlgImgAlign			: "Poravnanje",
+DlgImgAlignLeft		: "Lijevo",
+DlgImgAlignAbsBottom: "Abs dole",
+DlgImgAlignAbsMiddle: "Abs sredina",
+DlgImgAlignBaseline	: "Bazno",
+DlgImgAlignBottom	: "Dno",
+DlgImgAlignMiddle	: "Sredina",
+DlgImgAlignRight	: "Desno",
+DlgImgAlignTextTop	: "Vrh teksta",
+DlgImgAlignTop		: "Vrh",
+DlgImgPreview		: "Prikaz",
+DlgImgAlertUrl		: "Molimo ukucajte URL od slike.",
+DlgImgLinkTab		: "Link",	//MISSING
+
+// Flash Dialog
+DlgFlashTitle		: "Flash Properties",	//MISSING
+DlgFlashChkPlay		: "Auto Play",	//MISSING
+DlgFlashChkLoop		: "Loop",	//MISSING
+DlgFlashChkMenu		: "Enable Flash Menu",	//MISSING
+DlgFlashScale		: "Scale",	//MISSING
+DlgFlashScaleAll	: "Show all",	//MISSING
+DlgFlashScaleNoBorder	: "No Border",	//MISSING
+DlgFlashScaleFit	: "Exact Fit",	//MISSING
+
+// Link Dialog
+DlgLnkWindowTitle	: "Link",
+DlgLnkInfoTab		: "Link info",
+DlgLnkTargetTab		: "Prozor",
+
+DlgLnkType			: "Tip linka",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Sidro na ovoj stranici",
+DlgLnkTypeEMail		: "E-Mail",
+DlgLnkProto			: "Protokol",
+DlgLnkProtoOther	: "&lt;drugi&gt;",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Izaberi sidro",
+DlgLnkAnchorByName	: "Po nazivu sidra",
+DlgLnkAnchorById	: "Po Id-u elementa",
+DlgLnkNoAnchors		: "&lt;Nema dostupnih sidra na stranici&gt;",
+DlgLnkEMail			: "E-Mail Adresa",
+DlgLnkEMailSubject	: "Subjekt poruke",
+DlgLnkEMailBody		: "Poruka",
+DlgLnkUpload		: "Å alji",
+DlgLnkBtnUpload		: "Å alji na server",
+
+DlgLnkTarget		: "Prozor",
+DlgLnkTargetFrame	: "&lt;frejm&gt;",
+DlgLnkTargetPopup	: "&lt;popup prozor&gt;",
+DlgLnkTargetBlank	: "Novi prozor (_blank)",
+DlgLnkTargetParent	: "Glavni prozor (_parent)",
+DlgLnkTargetSelf	: "Isti prozor (_self)",
+DlgLnkTargetTop		: "Najgornji prozor (_top)",
+DlgLnkTargetFrameName	: "Target Frame Name",	//MISSING
+DlgLnkPopWinName	: "Naziv popup prozora",
+DlgLnkPopWinFeat	: "Moguænosti popup prozora",
+DlgLnkPopResize		: "Promjenljive velièine",
+DlgLnkPopLocation	: "Traka za lokaciju",
+DlgLnkPopMenu		: "Izborna traka",
+DlgLnkPopScroll		: "Scroll traka",
+DlgLnkPopStatus		: "Statusna traka",
+DlgLnkPopToolbar	: "Traka sa alatima",
+DlgLnkPopFullScrn	: "Cijeli ekran (IE)",
+DlgLnkPopDependent	: "Ovisno (Netscape)",
+DlgLnkPopWidth		: "Å irina",
+DlgLnkPopHeight		: "Visina",
+DlgLnkPopLeft		: "Lijeva pozicija",
+DlgLnkPopTop		: "Gornja pozicija",
+
+DlnLnkMsgNoUrl		: "Molimo ukucajte URL link",
+DlnLnkMsgNoEMail	: "Molimo ukucajte e-mail adresu",
+DlnLnkMsgNoAnchor	: "Molimo izaberite sidro",
+
+// Color Dialog
+DlgColorTitle		: "Izaberi boju",
+DlgColorBtnClear	: "Oèisti",
+DlgColorHighlight	: "Igled",
+DlgColorSelected	: "Selektovana",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Ubaci smješka",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Izaberi specijalni karakter",
+
+// Table Dialog
+DlgTableTitle		: "Svojstva tabele",
+DlgTableRows		: "Redova",
+DlgTableColumns		: "Kolona",
+DlgTableBorder		: "Okvir",
+DlgTableAlign		: "Poravnanje",
+DlgTableAlignNotSet	: "<Nije podešeno>",
+DlgTableAlignLeft	: "Lijevo",
+DlgTableAlignCenter	: "Centar",
+DlgTableAlignRight	: "Desno",
+DlgTableWidth		: "Å irina",
+DlgTableWidthPx		: "piksela",
+DlgTableWidthPc		: "posto",
+DlgTableHeight		: "Visina",
+DlgTableCellSpace	: "Razmak æelija",
+DlgTableCellPad		: "Uvod æelija",
+DlgTableCaption		: "Naslov",
+
+// Table Cell Dialog
+DlgCellTitle		: "Svojstva æelije",
+DlgCellWidth		: "Å irina",
+DlgCellWidthPx		: "piksela",
+DlgCellWidthPc		: "posto",
+DlgCellHeight		: "Visina",
+DlgCellWordWrap		: "Vrapuj tekst",
+DlgCellWordWrapNotSet	: "<Nije podešeno>",
+DlgCellWordWrapYes	: "Da",
+DlgCellWordWrapNo	: "Ne",
+DlgCellHorAlign		: "Horizontalno poravnanje",
+DlgCellHorAlignNotSet	: "<Nije podešeno>",
+DlgCellHorAlignLeft	: "Lijevo",
+DlgCellHorAlignCenter	: "Centar",
+DlgCellHorAlignRight: "Desno",
+DlgCellVerAlign		: "Vertikalno poravnanje",
+DlgCellVerAlignNotSet	: "<Nije podešeno>",
+DlgCellVerAlignTop	: "Gore",
+DlgCellVerAlignMiddle	: "Sredina",
+DlgCellVerAlignBottom	: "Dno",
+DlgCellVerAlignBaseline	: "Bazno",
+DlgCellRowSpan		: "Spajanje æelija",
+DlgCellCollSpan		: "Spajanje kolona",
+DlgCellBackColor	: "Boja pozadine",
+DlgCellBorderColor	: "Boja okvira",
+DlgCellBtnSelect	: "Selektuj...",
+
+// Find Dialog
+DlgFindTitle		: "Naði",
+DlgFindFindBtn		: "Naði",
+DlgFindNotFoundMsg	: "Traženi tekst nije pronaðen.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Zamjeni",
+DlgReplaceFindLbl		: "Naði šta:",
+DlgReplaceReplaceLbl	: "Zamjeni sa:",
+DlgReplaceCaseChk		: "Uporeðuj velika/mala slova",
+DlgReplaceReplaceBtn	: "Zamjeni",
+DlgReplaceReplAllBtn	: "Zamjeni sve",
+DlgReplaceWordChk		: "Uporeðuj samo cijelu rijeè",
+
+// Paste Operations / Dialog
+PasteErrorPaste	: "Sigurnosne postavke vašeg pretraživaèa ne dozvoljavaju operacije automatskog lijepljenja. Molimo koristite kraticu na tastaturi (Ctrl+V).",
+PasteErrorCut	: "Sigurnosne postavke vašeg pretraživaèa ne dozvoljavaju operacije automatskog rezanja. Molimo koristite kraticu na tastaturi (Ctrl+X).",
+PasteErrorCopy	: "Sigurnosne postavke Vašeg pretraživaèa ne dozvoljavaju operacije automatskog kopiranja. Molimo koristite kraticu na tastaturi (Ctrl+C).",
+
+PasteAsText		: "Zalijepi kao obièan tekst",
+PasteFromWord	: "Zalijepi iz Word-a",
+
+DlgPasteMsg2	: "Please paste inside the following box using the keyboard (<STRONG>Ctrl+V</STRONG>) and hit <STRONG>OK</STRONG>.",	//MISSING
+DlgPasteIgnoreFont		: "Ignore Font Face definitions",	//MISSING
+DlgPasteRemoveStyles	: "Remove Styles definitions",	//MISSING
+DlgPasteCleanBox		: "Clean Up Box",	//MISSING
+
+
+// Color Picker
+ColorAutomatic	: "Automatska",
+ColorMoreColors	: "Više boja...",
+
+// Document Properties
+DocProps		: "Document Properties",	//MISSING
+
+// Anchor Dialog
+DlgAnchorTitle		: "Anchor Properties",	//MISSING
+DlgAnchorName		: "Anchor Name",	//MISSING
+DlgAnchorErrorName	: "Please type the anchor name",	//MISSING
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Not in dictionary",	//MISSING
+DlgSpellChangeTo		: "Change to",	//MISSING
+DlgSpellBtnIgnore		: "Ignore",	//MISSING
+DlgSpellBtnIgnoreAll	: "Ignore All",	//MISSING
+DlgSpellBtnReplace		: "Replace",	//MISSING
+DlgSpellBtnReplaceAll	: "Replace All",	//MISSING
+DlgSpellBtnUndo			: "Undo",	//MISSING
+DlgSpellNoSuggestions	: "- No suggestions -",	//MISSING
+DlgSpellProgress		: "Spell check in progress...",	//MISSING
+DlgSpellNoMispell		: "Spell check complete: No misspellings found",	//MISSING
+DlgSpellNoChanges		: "Spell check complete: No words changed",	//MISSING
+DlgSpellOneChange		: "Spell check complete: One word changed",	//MISSING
+DlgSpellManyChanges		: "Spell check complete: %1 words changed",	//MISSING
+
+IeSpellDownload			: "Spell checker not installed. Do you want to download it now?",	//MISSING
+
+// Button Dialog
+DlgButtonText	: "Text (Value)",	//MISSING
+DlgButtonType	: "Type",	//MISSING
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Name",	//MISSING
+DlgCheckboxValue	: "Value",	//MISSING
+DlgCheckboxSelected	: "Selected",	//MISSING
+
+// Form Dialog
+DlgFormName		: "Name",	//MISSING
+DlgFormAction	: "Action",	//MISSING
+DlgFormMethod	: "Method",	//MISSING
+
+// Select Field Dialog
+DlgSelectName		: "Name",	//MISSING
+DlgSelectValue		: "Value",	//MISSING
+DlgSelectSize		: "Size",	//MISSING
+DlgSelectLines		: "lines",	//MISSING
+DlgSelectChkMulti	: "Allow multiple selections",	//MISSING
+DlgSelectOpAvail	: "Available Options",	//MISSING
+DlgSelectOpText		: "Text",	//MISSING
+DlgSelectOpValue	: "Value",	//MISSING
+DlgSelectBtnAdd		: "Add",	//MISSING
+DlgSelectBtnModify	: "Modify",	//MISSING
+DlgSelectBtnUp		: "Up",	//MISSING
+DlgSelectBtnDown	: "Down",	//MISSING
+DlgSelectBtnSetValue : "Set as selected value",	//MISSING
+DlgSelectBtnDelete	: "Delete",	//MISSING
+
+// Textarea Dialog
+DlgTextareaName	: "Name",	//MISSING
+DlgTextareaCols	: "Columns",	//MISSING
+DlgTextareaRows	: "Rows",	//MISSING
+
+// Text Field Dialog
+DlgTextName			: "Name",	//MISSING
+DlgTextValue		: "Value",	//MISSING
+DlgTextCharWidth	: "Character Width",	//MISSING
+DlgTextMaxChars		: "Maximum Characters",	//MISSING
+DlgTextType			: "Type",	//MISSING
+DlgTextTypeText		: "Text",	//MISSING
+DlgTextTypePass		: "Password",	//MISSING
+
+// Hidden Field Dialog
+DlgHiddenName	: "Name",	//MISSING
+DlgHiddenValue	: "Value",	//MISSING
+
+// Bulleted List Dialog
+BulletedListProp	: "Bulleted List Properties",	//MISSING
+NumberedListProp	: "Numbered List Properties",	//MISSING
+DlgLstType			: "Type",	//MISSING
+DlgLstTypeCircle	: "Circle",	//MISSING
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "Square",	//MISSING
+DlgLstTypeNumbers	: "Numbers (1, 2, 3)",	//MISSING
+DlgLstTypeLCase		: "Lowercase Letters (a, b, c)",	//MISSING
+DlgLstTypeUCase		: "Uppercase Letters (A, B, C)",	//MISSING
+DlgLstTypeSRoman	: "Small Roman Numerals (i, ii, iii)",	//MISSING
+DlgLstTypeLRoman	: "Large Roman Numerals (I, II, III)",	//MISSING
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "General",	//MISSING
+DlgDocBackTab		: "Background",	//MISSING
+DlgDocColorsTab		: "Colors and Margins",	//MISSING
+DlgDocMetaTab		: "Meta Data",	//MISSING
+
+DlgDocPageTitle		: "Page Title",	//MISSING
+DlgDocLangDir		: "Language Direction",	//MISSING
+DlgDocLangDirLTR	: "Left to Right (LTR)",	//MISSING
+DlgDocLangDirRTL	: "Right to Left (RTL)",	//MISSING
+DlgDocLangCode		: "Language Code",	//MISSING
+DlgDocCharSet		: "Character Set Encoding",	//MISSING
+DlgDocCharSetOther	: "Other Character Set Encoding",	//MISSING
+
+DlgDocDocType		: "Document Type Heading",	//MISSING
+DlgDocDocTypeOther	: "Other Document Type Heading",	//MISSING
+DlgDocIncXHTML		: "Include XHTML Declarations",	//MISSING
+DlgDocBgColor		: "Background Color",	//MISSING
+DlgDocBgImage		: "Background Image URL",	//MISSING
+DlgDocBgNoScroll	: "Nonscrolling Background",	//MISSING
+DlgDocCText			: "Text",	//MISSING
+DlgDocCLink			: "Link",	//MISSING
+DlgDocCVisited		: "Visited Link",	//MISSING
+DlgDocCActive		: "Active Link",	//MISSING
+DlgDocMargins		: "Page Margins",	//MISSING
+DlgDocMaTop			: "Top",	//MISSING
+DlgDocMaLeft		: "Left",	//MISSING
+DlgDocMaRight		: "Right",	//MISSING
+DlgDocMaBottom		: "Bottom",	//MISSING
+DlgDocMeIndex		: "Document Indexing Keywords (comma separated)",	//MISSING
+DlgDocMeDescr		: "Document Description",	//MISSING
+DlgDocMeAuthor		: "Author",	//MISSING
+DlgDocMeCopy		: "Copyright",	//MISSING
+DlgDocPreview		: "Preview",	//MISSING
+
+// Templates Dialog
+Templates			: "Templates",	//MISSING
+DlgTemplatesTitle	: "Content Templates",	//MISSING
+DlgTemplatesSelMsg	: "Please select the template to open in the editor<br>(the actual contents will be lost):",	//MISSING
+DlgTemplatesLoading	: "Loading templates list. Please wait...",	//MISSING
+DlgTemplatesNoTpl	: "(No templates defined)",	//MISSING
+
+// About Dialog
+DlgAboutAboutTab	: "About",	//MISSING
+DlgAboutBrowserInfoTab	: "Browser Info",	//MISSING
+DlgAboutVersion		: "verzija",
+DlgAboutLicense		: "Licencirano pod uslovima GNU Lesser General Public License",
+DlgAboutInfo		: "Za više informacija posjetite"
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/lang/ca.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/lang/ca.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/lang/ca.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,475 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: ca.js
+ * 	Catalan language file.
+ * 
+ * File Authors:
+ * 		Jordi Cerdan (nan at myp.ad)
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Col·lapsar barra",
+ToolbarExpand		: "Expandir barra",
+
+// Toolbar Items and Context Menu
+Save				: "Guardar",
+NewPage				: "Nova Pàgina",
+Preview				: "Vista Prèvia",
+Cut					: "Tallar",
+Copy				: "Copiar",
+Paste				: "Enganxar",
+PasteText			: "Enganxar com text planer",
+PasteWord			: "Enganxar des de Word",
+Print				: "Imprimir",
+SelectAll			: "Seleccionar tot",
+RemoveFormat		: "Eliminar Format",
+InsertLinkLbl		: "Enllaç",
+InsertLink			: "Afegir/Editar Enllaç",
+RemoveLink			: "Eliminar Enllaç",
+Anchor				: "Afegir/Editar Àncora",
+InsertImageLbl		: "Imatge",
+InsertImage			: "Afegir/Editar Imatge",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Afegir/Editar Flash",
+InsertTableLbl		: "Taula",
+InsertTable			: "Afegir/Editar Taula",
+InsertLineLbl		: "Línia",
+InsertLine			: "Afegir Línia Horitzontal",
+InsertSpecialCharLbl: "Caràcter Especial",
+InsertSpecialChar	: "Afegir Caràcter Especial",
+InsertSmileyLbl		: "Icona",
+InsertSmiley		: "Afegir Icona",
+About				: "Sobre FCKeditor",
+Bold				: "Negreta",
+Italic				: "Itàlica",
+Underline			: "Subratllat",
+StrikeThrough		: "Tatxat",
+Subscript			: "Subscript",
+Superscript			: "Superscript",
+LeftJustify			: "Justificar Esquerra",
+CenterJustify		: "Justificar Centrat",
+RightJustify		: "Justificar Dreta",
+BlockJustify		: "Justificar Bloc",
+DecreaseIndent		: "Disminuir Indentació",
+IncreaseIndent		: "Augmentar Indentació",
+Undo				: "Desfer",
+Redo				: "Refer",
+NumberedListLbl		: "Llista Numerada",
+NumberedList		: "Afegir/Eliminar Llista Numerada",
+BulletedListLbl		: "Llista Marcada",
+BulletedList		: "Afegir/Eliminar Llista Marcada",
+ShowTableBorders	: "Mostrar Costats de Taules",
+ShowDetails			: "Mostrar Detalls",
+Style				: "Estil",
+FontFormat			: "Format",
+Font				: "Font",
+FontSize			: "Tamany",
+TextColor			: "Color de Text",
+BGColor				: "Color de Fons",
+Source				: "Font",
+Find				: "Cercar",
+Replace				: "Remplaçar",
+SpellCheck			: "Verificar sintaxi",
+UniversalKeyboard	: "Teclat universal",
+
+Form			: "Formulari",
+Checkbox		: "Casella de verificació",
+RadioButton		: "Botó ràdio",
+TextField		: "Camp de text",
+Textarea		: "Àrea de text",
+HiddenField		: "Camp ocult",
+Button			: "botó",
+SelectionField	: "Camp de selecció",
+ImageButton		: "Botó imatge",
+
+// Context Menu
+EditLink			: "Editar Enllaç",
+InsertRow			: "Afegir Fila",
+DeleteRows			: "Eliminar Files",
+InsertColumn		: "Afegir Columna",
+DeleteColumns		: "Eliminar Columnes",
+InsertCell			: "Afegir Cel·la",
+DeleteCells			: "Eliminar Cel·les",
+MergeCells			: "Fusionar Cel·les",
+SplitCell			: "Separar Cel·les",
+CellProperties		: "Proprietats de Cel·la",
+TableProperties		: "Proprietats de Taula",
+ImageProperties		: "Proprietats d'Image",
+FlashProperties		: "Proprietats Flash",
+
+AnchorProp			: "Proprietats d'àncora",
+ButtonProp			: "Proprietats de botó",
+CheckboxProp		: "Proprietats de casella de verificació",
+HiddenFieldProp		: "Proprietats de camp ocult",
+RadioButtonProp		: "Proprietats de botó ràdio",
+ImageButtonProp		: "Proprietats de botó imatge",
+TextFieldProp		: "Proprietats de camp de text",
+SelectionFieldProp	: "Proprietats de camp de selecció",
+TextareaProp		: "Proprietats de camp de text",
+FormProp			: "Proprietats de formulari",
+
+FontFormats			: "Normal;Formatejat;Adreça;Capçalera 1;Capçalera 2;Capçalera 3;Capçalera 4;Capçalera 5;Capçalera 6",
+
+// Alerts and Messages
+ProcessingXHTML		: "Processant XHTML. Si us plau esperi...",
+Done				: "Fet",
+PasteWordConfirm	: "El text que voleu enganxar sembla provenir de Word. Voleu netejar aquest text abans que sigui enganxat?",
+NotCompatiblePaste	: "Aquesta funció és disponible per a Internet Explorer versió 5.5 o superior. Voleu enganxar sense netejar?",
+UnknownToolbarItem	: "Element de la Barra d'eines desconegut \"%1\"",
+UnknownCommand		: "Nom de comanda desconegut \"%1\"",
+NotImplemented		: "Mètode no implementat",
+UnknownToolbarSet	: "Conjunt de barra d'eines \"%1\" inexistent",
+NoActiveX			: "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Cancelar",
+DlgBtnClose			: "Tancar",
+DlgBtnBrowseServer	: "Veure servidor",
+DlgAdvancedTag		: "Avançat",
+DlgOpOther			: "Altres",
+DlgInfoTab			: "Info",
+DlgAlertUrl			: "Si us plau, afegiu la URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "&lt;no definit&gt;",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Direcció Idioma",
+DlgGenLangDirLtr	: "Esquerra a Dreta (LTR)",
+DlgGenLangDirRtl	: "Dreta a Esquerra (RTL)",
+DlgGenLangCode		: "Codi de Llengua",
+DlgGenAccessKey		: "Clau d'accés",
+DlgGenName			: "Nom",
+DlgGenTabIndex		: "Index de Tab",
+DlgGenLongDescr		: "Descripció Llarga URL",
+DlgGenClass			: "Classes del Full d'Estils",
+DlgGenTitle			: "Títol Consultiu",
+DlgGenContType		: "Tipus de Contingut Consultiu",
+DlgGenLinkCharset	: "Conjunt de Caràcters Font Enllaçat",
+DlgGenStyle			: "Estil",
+
+// Image Dialog
+DlgImgTitle			: "Proprietats d'Imatge",
+DlgImgInfoTab		: "Informació d'Imatge",
+DlgImgBtnUpload		: "Enviar-la al servidor",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Pujar",
+DlgImgAlt			: "Text Alternatiu",
+DlgImgWidth			: "Amplada",
+DlgImgHeight		: "Alçada",
+DlgImgLockRatio		: "Bloquejar Proporcions",
+DlgBtnResetSize		: "Restaurar Tamany",
+DlgImgBorder		: "Costat",
+DlgImgHSpace		: "HSpace",
+DlgImgVSpace		: "VSpace",
+DlgImgAlign			: "Alineació",
+DlgImgAlignLeft		: "Left",
+DlgImgAlignAbsBottom: "Abs Bottom",
+DlgImgAlignAbsMiddle: "Abs Middle",
+DlgImgAlignBaseline	: "Baseline",
+DlgImgAlignBottom	: "Bottom",
+DlgImgAlignMiddle	: "Middle",
+DlgImgAlignRight	: "Right",
+DlgImgAlignTextTop	: "Text Top",
+DlgImgAlignTop		: "Top",
+DlgImgPreview		: "Vista Prèvia",
+DlgImgAlertUrl		: "Si us plau, escriviu la URL de la imatge",
+DlgImgLinkTab		: "Enllaç",
+
+// Flash Dialog
+DlgFlashTitle		: "Propietats Flash",
+DlgFlashChkPlay		: "Reprodució Automàtica",
+DlgFlashChkLoop		: "Bucle",
+DlgFlashChkMenu		: "Habilitar Menu Flash",
+DlgFlashScale		: "Escala",
+DlgFlashScaleAll	: "Mostrar tot",
+DlgFlashScaleNoBorder	: "Sense Costats",
+DlgFlashScaleFit	: "Mida exacta",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Enllaç",
+DlgLnkInfoTab		: "Informació d'Enllaç",
+DlgLnkTargetTab		: "Destí",
+
+DlgLnkType			: "Tipus de Link",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Àncora en aquesta pàgina",
+DlgLnkTypeEMail		: "E-Mail",
+DlgLnkProto			: "Protocol",
+DlgLnkProtoOther	: "&lt;altra&gt;",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Seleccionar una àncora",
+DlgLnkAnchorByName	: "Per nom d'àncora",
+DlgLnkAnchorById	: "Per Id d'element",
+DlgLnkNoAnchors		: "&lt;No hi ha àncores disponibles en aquest document&gt;",
+DlgLnkEMail			: "Adreça d'E-Mail",
+DlgLnkEMailSubject	: "Subjecte del Missatge",
+DlgLnkEMailBody		: "Cos del Missatge",
+DlgLnkUpload		: "Pujar",
+DlgLnkBtnUpload		: "Enviar al Servidor",
+
+DlgLnkTarget		: "Destí",
+DlgLnkTargetFrame	: "&lt;marc&gt;",
+DlgLnkTargetPopup	: "&lt;finestra popup&gt;",
+DlgLnkTargetBlank	: "Nova Finestra (_blank)",
+DlgLnkTargetParent	: "Finestra Pare (_parent)",
+DlgLnkTargetSelf	: "Mateixa Finestra (_self)",
+DlgLnkTargetTop		: "Finestra Major (_top)",
+DlgLnkTargetFrameName	: "Nom del marc de destí",
+DlgLnkPopWinName	: "Nom Finestra Popup",
+DlgLnkPopWinFeat	: "Característiques Finestra Popup",
+DlgLnkPopResize		: "Redimensionable",
+DlgLnkPopLocation	: "Barra d'Adreça",
+DlgLnkPopMenu		: "Barra de Menú",
+DlgLnkPopScroll		: "Barres d'Scroll",
+DlgLnkPopStatus		: "Barra d'Estat",
+DlgLnkPopToolbar	: "Barra d'Eines",
+DlgLnkPopFullScrn	: "Pantalla completa (IE)",
+DlgLnkPopDependent	: "Depenent (Netscape)",
+DlgLnkPopWidth		: "Amplada",
+DlgLnkPopHeight		: "Alçada",
+DlgLnkPopLeft		: "Posició Esquerra",
+DlgLnkPopTop		: "Posició Dalt",
+
+DlnLnkMsgNoUrl		: "Si us plau, escrigui l'enllaç URL",
+DlnLnkMsgNoEMail	: "Si us plau, escrigui l'adreça e-mail",
+DlnLnkMsgNoAnchor	: "Si us plau, escrigui l'àncora",
+
+// Color Dialog
+DlgColorTitle		: "Seleccioni Color",
+DlgColorBtnClear	: "Netejar",
+DlgColorHighlight	: "Realçar",
+DlgColorSelected	: "Seleccionat",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Afegir una Icona",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Seleccioneu Caràcter Especial",
+
+// Table Dialog
+DlgTableTitle		: "Proprietats de Taula",
+DlgTableRows		: "Files",
+DlgTableColumns		: "Columnes",
+DlgTableBorder		: "Tamany de Costat",
+DlgTableAlign		: "Alineació",
+DlgTableAlignNotSet	: "<No Definit>",
+DlgTableAlignLeft	: "Esquerra",
+DlgTableAlignCenter	: "Centre",
+DlgTableAlignRight	: "Dreta",
+DlgTableWidth		: "Amplada",
+DlgTableWidthPx		: "píxels",
+DlgTableWidthPc		: "percentatge",
+DlgTableHeight		: "Alçada",
+DlgTableCellSpace	: "Cell spacing",
+DlgTableCellPad		: "Cell padding",
+DlgTableCaption		: "Capçalera",
+
+// Table Cell Dialog
+DlgCellTitle		: "Proprietats de Cel·la",
+DlgCellWidth		: "Amplada",
+DlgCellWidthPx		: "píxels",
+DlgCellWidthPc		: "percentatge",
+DlgCellHeight		: "Alçada",
+DlgCellWordWrap		: "Word Wrap",
+DlgCellWordWrapNotSet	: "<No Definit>",
+DlgCellWordWrapYes	: "Si",
+DlgCellWordWrapNo	: "No",
+DlgCellHorAlign		: "Alineació Horitzontal",
+DlgCellHorAlignNotSet	: "<No Definit>",
+DlgCellHorAlignLeft	: "Esquerra",
+DlgCellHorAlignCenter	: "Centre",
+DlgCellHorAlignRight: "Dreta",
+DlgCellVerAlign		: "Alineació Vertical",
+DlgCellVerAlignNotSet	: "<No definit>",
+DlgCellVerAlignTop	: "Top",
+DlgCellVerAlignMiddle	: "Middle",
+DlgCellVerAlignBottom	: "Bottom",
+DlgCellVerAlignBaseline	: "Baseline",
+DlgCellRowSpan		: "Rows Span",
+DlgCellCollSpan		: "Columns Span",
+DlgCellBackColor	: "Color de Fons",
+DlgCellBorderColor	: "Colr de Costat",
+DlgCellBtnSelect	: "Seleccioni...",
+
+// Find Dialog
+DlgFindTitle		: "Cercar",
+DlgFindFindBtn		: "Cercar",
+DlgFindNotFoundMsg	: "El text especificat no ha estat trobat.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Remplaçar",
+DlgReplaceFindLbl		: "Cercar:",
+DlgReplaceReplaceLbl	: "Remplaçar per:",
+DlgReplaceCaseChk		: "Sensible a Majúscules",
+DlgReplaceReplaceBtn	: "Remplaçar",
+DlgReplaceReplAllBtn	: "Remplaçar Tot",
+DlgReplaceWordChk		: "Cercar Paraula Completa",
+
+// Paste Operations / Dialog
+PasteErrorPaste	: "La seguretat del vostre navigador no permet executar automàticament les operacions d'enganxat. Si us plau, utilitzeu el teclat (Ctrl+V).",
+PasteErrorCut	: "La seguretat del vostre navigador no permet executar automàticament les operacions de tallar. Si us plau, utilitzeu el teclat (Ctrl+X).",
+PasteErrorCopy	: "La seguretat del vostre navigador no permet executar automàticament les operacions de copiar. Si us plau, utilitzeu el teclat (Ctrl+C).",
+
+PasteAsText		: "Enganxar com Text Planer",
+PasteFromWord	: "Enganxar com Word",
+
+DlgPasteMsg2	: "Si us plau, enganxeu dins del següent camp utilitzant el teclat (<STRONG>Ctrl+V</STRONG>) i premeu <STRONG>OK</STRONG>.",
+DlgPasteIgnoreFont		: "Ignorar definicions de font",
+DlgPasteRemoveStyles	: "Eliminar definicions d'estil",
+DlgPasteCleanBox		: "Netejar camp",
+
+
+// Color Picker
+ColorAutomatic	: "Automàtic",
+ColorMoreColors	: "Més Colors...",
+
+// Document Properties
+DocProps		: "Proprietats de document",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Proprietats d'àncora",
+DlgAnchorName		: "Nom d'àncora",
+DlgAnchorErrorName	: "Si us plau, escrigui el nom de l'ancora",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "No és al diccionari",
+DlgSpellChangeTo		: "Canviar a",
+DlgSpellBtnIgnore		: "Ignorar",
+DlgSpellBtnIgnoreAll	: "Ignorar tot",
+DlgSpellBtnReplace		: "Remplaçar",
+DlgSpellBtnReplaceAll	: "Replaçar tot",
+DlgSpellBtnUndo			: "Desfer",
+DlgSpellNoSuggestions	: "Cap suggestió",
+DlgSpellProgress		: "Comprovació de sintaxi en progrés",
+DlgSpellNoMispell		: "Comprovació de sintaxi completada",
+DlgSpellNoChanges		: "Comprovació de sintaxi: cap paraulada canviada",
+DlgSpellOneChange		: "Comprovació de sintaxi: una paraula canviada",
+DlgSpellManyChanges		: "Comprovació de sintaxi %1 paraules canviades",
+
+IeSpellDownload			: "Comprovació de sintaxi no instal·lat. Voleu descarregar-ho ara?",
+
+// Button Dialog
+DlgButtonText	: "Text (Valor)",
+DlgButtonType	: "Tipus",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Nom",
+DlgCheckboxValue	: "Valor",
+DlgCheckboxSelected	: "Seleccionat",
+
+// Form Dialog
+DlgFormName		: "Nom",
+DlgFormAction	: "Acció",
+DlgFormMethod	: "Mètode",
+
+// Select Field Dialog
+DlgSelectName		: "Nom",
+DlgSelectValue		: "Valor",
+DlgSelectSize		: "Tamany",
+DlgSelectLines		: "Línies",
+DlgSelectChkMulti	: "Permetre múltiples seleccions",
+DlgSelectOpAvail	: "Opcions disponibles",
+DlgSelectOpText		: "Text",
+DlgSelectOpValue	: "Valor",
+DlgSelectBtnAdd		: "Afegir",
+DlgSelectBtnModify	: "Modificar",
+DlgSelectBtnUp		: "Amunt",
+DlgSelectBtnDown	: "Avall",
+DlgSelectBtnSetValue : "Seleccionar per defecte",
+DlgSelectBtnDelete	: "Esborrar",
+
+// Textarea Dialog
+DlgTextareaName	: "Nom",
+DlgTextareaCols	: "Columnes",
+DlgTextareaRows	: "Files",
+
+// Text Field Dialog
+DlgTextName			: "Nom",
+DlgTextValue		: "Valor",
+DlgTextCharWidth	: "Amplada de caràcter",
+DlgTextMaxChars		: "Màxim de caràcters",
+DlgTextType			: "Tipus",
+DlgTextTypeText		: "Text",
+DlgTextTypePass		: "Contrassenya",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Nom",
+DlgHiddenValue	: "Valor",
+
+// Bulleted List Dialog
+BulletedListProp	: "Proprietats de llista marcada",
+NumberedListProp	: "Proprietats de llista numerada",
+DlgLstType			: "Tipus",
+DlgLstTypeCircle	: "Cercle",
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "Quadrat",
+DlgLstTypeNumbers	: "Números (1, 2, 3)",
+DlgLstTypeLCase		: "Lletres minúscules (a, b, c)",
+DlgLstTypeUCase		: "Lletres majúscules (A, B, C)",
+DlgLstTypeSRoman	: "Números romans minúscules (i, ii, iii)",
+DlgLstTypeLRoman	: "Números romans majúscules (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "General",
+DlgDocBackTab		: "Fons",
+DlgDocColorsTab		: "Colors i marges",
+DlgDocMetaTab		: "Dades Meta",
+
+DlgDocPageTitle		: "Títol de la pàgina",
+DlgDocLangDir		: "Direcció llenguatge",
+DlgDocLangDirLTR	: "Esquerra a dreta (LTR)",
+DlgDocLangDirRTL	: "Dreta a esquerra (RTL)",
+DlgDocLangCode		: "Codi de llenguatge",
+DlgDocCharSet		: "Codificació de conjunt de caràcters",
+DlgDocCharSetOther	: "Altra codificació de conjunt de caràcters",
+
+DlgDocDocType		: "Capçalera de tipus de document",
+DlgDocDocTypeOther	: "Altra Capçalera de tipus de document",
+DlgDocIncXHTML		: "Incloure declaracions XHTML",
+DlgDocBgColor		: "Color de fons",
+DlgDocBgImage		: "URL de la imatge de fons",
+DlgDocBgNoScroll	: "Fons fixe",
+DlgDocCText			: "Text",
+DlgDocCLink			: "Enllaç",
+DlgDocCVisited		: "Enllaç visitat",
+DlgDocCActive		: "Enllaç actiu",
+DlgDocMargins		: "Marges de pàgina",
+DlgDocMaTop			: "Cap",
+DlgDocMaLeft		: "Esquerra",
+DlgDocMaRight		: "Dreta",
+DlgDocMaBottom		: "Peu",
+DlgDocMeIndex		: "Mots clau per a indexació (separats per coma)",
+DlgDocMeDescr		: "Descripció del document",
+DlgDocMeAuthor		: "Autor",
+DlgDocMeCopy		: "Copyright",
+DlgDocPreview		: "Vista prèvia",
+
+// Templates Dialog
+Templates			: "Plantilles",
+DlgTemplatesTitle	: "Contingut Plantilles",
+DlgTemplatesSelMsg	: "Si us plau, seleccioneu la plantilla per obrir en l'editor<br>(el contingut actual no serà enregistrat):",
+DlgTemplatesLoading	: "Carregant la llista de plantilles. Si us plau, esperi...",
+DlgTemplatesNoTpl	: "(No hi ha plantilles definides)",
+
+// About Dialog
+DlgAboutAboutTab	: "Sobre",
+DlgAboutBrowserInfoTab	: "Informació del navigador",
+DlgAboutVersion		: "versió",
+DlgAboutLicense		: "Sota els termes de la Llicència GNU Lesser General Public License",
+DlgAboutInfo		: "Per a més informació aneu a"
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/lang/cs.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/lang/cs.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/lang/cs.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,476 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: cs.js
+ * 	Czech language file.
+ * 
+ * File Authors:
+ * 		David Horák (david.horak at email.cz)
+ * 		Petr Plavjaník (plavjanik at gmail.com)
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Skrýt panel nástrojů",
+ToolbarExpand		: "Zobrazit panel nástrojů",
+
+// Toolbar Items and Context Menu
+Save				: "Uložit",
+NewPage				: "Nová stránka",
+Preview				: "Náhled",
+Cut					: "Vyjmout",
+Copy				: "Kopírovat",
+Paste				: "Vložit",
+PasteText			: "Vložit jako čistý text",
+PasteWord			: "Vložit z Wordu",
+Print				: "Tisk",
+SelectAll			: "Vybrat vše",
+RemoveFormat		: "Odstranit formátování",
+InsertLinkLbl		: "Odkaz",
+InsertLink			: "Vložit/změnit odkaz",
+RemoveLink			: "Odstranit odkaz",
+Anchor				: "Vložít/změnit záložku",
+InsertImageLbl		: "Obrázek",
+InsertImage			: "Vložit/změnit obrázek",
+InsertFlashLbl		: "Flash",	//MISSING
+InsertFlash			: "Insert/Edit Flash",	//MISSING
+InsertTableLbl		: "Tabulka",
+InsertTable			: "Vložit/změnit tabulku",
+InsertLineLbl		: "Linka",
+InsertLine			: "Vložit vodorovnou linku",
+InsertSpecialCharLbl: "Speciální znaky",
+InsertSpecialChar	: "Vložit speciální znaky",
+InsertSmileyLbl		: "Smajlíky",
+InsertSmiley		: "Vložit smajlík",
+About				: "O aplikaci FCKeditor",
+Bold				: "Tučné",
+Italic				: "Kurzíva",
+Underline			: "Podtržené",
+StrikeThrough		: "Přeškrtnuté",
+Subscript			: "Dolní index",
+Superscript			: "Horní index",
+LeftJustify			: "Zarovnat vlevo",
+CenterJustify		: "Zarovnat na střed",
+RightJustify		: "Zarovnat vpravo",
+BlockJustify		: "Zarovnat do bloku",
+DecreaseIndent		: "Zmenšit odsazení",
+IncreaseIndent		: "Zvětšit odsazení",
+Undo				: "Zpět",
+Redo				: "Znovu",
+NumberedListLbl		: "Číslování",
+NumberedList		: "Vložit/odstranit číslovaný seznam",
+BulletedListLbl		: "Odrážky",
+BulletedList		: "Vložit/odstranit odrážky",
+ShowTableBorders	: "Zobrzit okraje tabulek",
+ShowDetails			: "Zobrazit podrobnosti",
+Style				: "Styl",
+FontFormat			: "Formát",
+Font				: "Písmo",
+FontSize			: "Velikost",
+TextColor			: "Barva textu",
+BGColor				: "Barva pozadí",
+Source				: "Zdroj",
+Find				: "Hledat",
+Replace				: "Nahradit",
+SpellCheck			: "Zkontrolovat pravopis",
+UniversalKeyboard	: "Univerzální klávesnice",
+
+Form			: "Formulář",
+Checkbox		: "Zaškrtávací políčko",
+RadioButton		: "Přepínač",
+TextField		: "Textové pole",
+Textarea		: "Textová oblast",
+HiddenField		: "Skryté pole",
+Button			: "Tlačítko",
+SelectionField	: "Seznam",
+ImageButton		: "Obrázkové tlačítko",
+
+// Context Menu
+EditLink			: "Změnit odkaz",
+InsertRow			: "Vložit řádek",
+DeleteRows			: "Smazat řádek",
+InsertColumn		: "Vložit sloupec",
+DeleteColumns		: "Smazat sloupec",
+InsertCell			: "Vložit buňku",
+DeleteCells			: "Smazat buňky",
+MergeCells			: "Sloučit buňky",
+SplitCell			: "Rozdělit buňku",
+CellProperties		: "Vlastnosti buňky",
+TableProperties		: "Vlastnosti tabulky",
+ImageProperties		: "Vlastnosti obrázku",
+FlashProperties		: "Flash Properties",	//MISSING
+
+AnchorProp			: "Vlastnosti záložky",
+ButtonProp			: "Vlastnosti tlačítka",
+CheckboxProp		: "Vlastnosti zaškrtávacího políčka",
+HiddenFieldProp		: "Vlastnosti skrytého pole",
+RadioButtonProp		: "Vlastnosti přepínače",
+ImageButtonProp		: "Vlastností obrázkového tlačítka",
+TextFieldProp		: "Vlastnosti textového pole",
+SelectionFieldProp	: "Vlastnosti seznamu",
+TextareaProp		: "Vlastnosti textové oblasti",
+FormProp			: "Vlastnosti formuláře",
+
+FontFormats			: "Normální;Formátovaný;Adresa;Nadpis 1;Nadpis 2;Nadpis 3;Nadpis 4;Nadpis 5;Nadpis 6",
+
+// Alerts and Messages
+ProcessingXHTML		: "Probíhá zpracování XHTML. Prosím čekejte...",
+Done				: "Hotovo",
+PasteWordConfirm	: "Jak je vidět, vkládaný text je kopírován z Wordu. Chceet jej před vložením vyčistit?",
+NotCompatiblePaste	: "Tento příkaz je dostupný pouze v Internet Exploreru verze 5.5 nebo vyšší. Chcete vložit text bez vyčištění?",
+UnknownToolbarItem	: "Neznámá položka panelu nástrojů \"%1\"",
+UnknownCommand		: "Neznámý příkaz \"%1\"",
+NotImplemented		: "Příkaz není implementován",
+UnknownToolbarSet	: "Panel nástrojů \"%1\" neexistuje",
+NoActiveX			: "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Storno",
+DlgBtnClose			: "Zavřít",
+DlgBtnBrowseServer	: "Vybrat na serveru",
+DlgAdvancedTag		: "Rozšířené",
+DlgOpOther			: "&lt;Ostatní&gt;",
+DlgInfoTab			: "Info",	//MISSING
+DlgAlertUrl			: "Please insert the URL",	//MISSING
+
+// General Dialogs Labels
+DlgGenNotSet		: "&lt;nenastaveno&gt;",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Orientace jazyka",
+DlgGenLangDirLtr	: "Zleva do prava (LTR)",
+DlgGenLangDirRtl	: "Zprava do leva (RTL)",
+DlgGenLangCode		: "Kód jazyka",
+DlgGenAccessKey		: "Přístupový klíč",
+DlgGenName			: "Jméno",
+DlgGenTabIndex		: "Pořadí prvku",
+DlgGenLongDescr		: "Dlouhý popis URL",
+DlgGenClass			: "Třída stylu",
+DlgGenTitle			: "Pomocný titulek",
+DlgGenContType		: "Pomocný typ obsahu",
+DlgGenLinkCharset	: "Přiřazená znaková sada",
+DlgGenStyle			: "Styl",
+
+// Image Dialog
+DlgImgTitle			: "Vlastosti obrázku",
+DlgImgInfoTab		: "Informace o obrázku",
+DlgImgBtnUpload		: "Odeslat na server",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Odeslat",
+DlgImgAlt			: "Alternativní text",
+DlgImgWidth			: "Šířka",
+DlgImgHeight		: "Výška",
+DlgImgLockRatio		: "Zámek",
+DlgBtnResetSize		: "Původní velikost",
+DlgImgBorder		: "Okraje",
+DlgImgHSpace		: "H-mezera",
+DlgImgVSpace		: "V-mezera",
+DlgImgAlign			: "Zarovnání",
+DlgImgAlignLeft		: "Vlevo",
+DlgImgAlignAbsBottom: "Zcela dolů",
+DlgImgAlignAbsMiddle: "Doprostřed",
+DlgImgAlignBaseline	: "Na účaří",
+DlgImgAlignBottom	: "Dolů",
+DlgImgAlignMiddle	: "Na střed",
+DlgImgAlignRight	: "Vpravo",
+DlgImgAlignTextTop	: "Na horní okraj textu",
+DlgImgAlignTop		: "Nahoru",
+DlgImgPreview		: "Náhled",
+DlgImgAlertUrl		: "Zadejte prosím URL obrázku",
+DlgImgLinkTab		: "Link",	//MISSING
+
+// Flash Dialog
+DlgFlashTitle		: "Flash Properties",	//MISSING
+DlgFlashChkPlay		: "Auto Play",	//MISSING
+DlgFlashChkLoop		: "Loop",	//MISSING
+DlgFlashChkMenu		: "Enable Flash Menu",	//MISSING
+DlgFlashScale		: "Scale",	//MISSING
+DlgFlashScaleAll	: "Show all",	//MISSING
+DlgFlashScaleNoBorder	: "No Border",	//MISSING
+DlgFlashScaleFit	: "Exact Fit",	//MISSING
+
+// Link Dialog
+DlgLnkWindowTitle	: "Odkaz",
+DlgLnkInfoTab		: "Informace o odkazu",
+DlgLnkTargetTab		: "Cíl",
+
+DlgLnkType			: "Typ odkazu",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Kotva v této stránce",
+DlgLnkTypeEMail		: "E-Mail",
+DlgLnkProto			: "Protokol",
+DlgLnkProtoOther	: "&lt;jiný&gt;",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Vybrat kotvu",
+DlgLnkAnchorByName	: "Podle jména kotvy",
+DlgLnkAnchorById	: "Podle Id objektu",
+DlgLnkNoAnchors		: "&lt;Ve stránce žádná kotva není definována&gt;",
+DlgLnkEMail			: "E-Mailová adresa",
+DlgLnkEMailSubject	: "Předmět zprávy",
+DlgLnkEMailBody		: "Tělo zprávy",
+DlgLnkUpload		: "Odeslat",
+DlgLnkBtnUpload		: "Odeslat na Server",
+
+DlgLnkTarget		: "Cíl",
+DlgLnkTargetFrame	: "&lt;rámec&gt;",
+DlgLnkTargetPopup	: "&lt;vyskakovací okno&gt;",
+DlgLnkTargetBlank	: "Nové okno (_blank)",
+DlgLnkTargetParent	: "Rodičovské okno (_parent)",
+DlgLnkTargetSelf	: "Stejné okno (_self)",
+DlgLnkTargetTop		: "Hlavní okno (_top)",
+DlgLnkTargetFrameName	: "Název cílového rámu",
+DlgLnkPopWinName	: "Název vyskakovacího okna",
+DlgLnkPopWinFeat	: "Vlastnosti vyskakovacího okna",
+DlgLnkPopResize		: "Měnitelná velikost",
+DlgLnkPopLocation	: "Panel umístění",
+DlgLnkPopMenu		: "Panel nabídky",
+DlgLnkPopScroll		: "Posuvníky",
+DlgLnkPopStatus		: "Stavový řádek",
+DlgLnkPopToolbar	: "Panel nástrojů",
+DlgLnkPopFullScrn	: "Celá obrazovka (IE)",
+DlgLnkPopDependent	: "Závislost (Netscape)",
+DlgLnkPopWidth		: "Šířka",
+DlgLnkPopHeight		: "Výška",
+DlgLnkPopLeft		: "Levý okraj",
+DlgLnkPopTop		: "Horní okraj",
+
+DlnLnkMsgNoUrl		: "Zadejte prosím URL odkazu",
+DlnLnkMsgNoEMail	: "Zadejte prosím e-mailovou adresu",
+DlnLnkMsgNoAnchor	: "Vyberte prosím kotvu",
+
+// Color Dialog
+DlgColorTitle		: "Výběr barvy",
+DlgColorBtnClear	: "Vymazat",
+DlgColorHighlight	: "Zvýrazněná",
+DlgColorSelected	: "Vybraná",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Vkládání smajlíků",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Výběr speciálního znaku",
+
+// Table Dialog
+DlgTableTitle		: "Vlastnosti tabulky",
+DlgTableRows		: "Řádky",
+DlgTableColumns		: "Sloupce",
+DlgTableBorder		: "Ohraničení",
+DlgTableAlign		: "Zarovnání",
+DlgTableAlignNotSet	: "<nenastaveno>",
+DlgTableAlignLeft	: "Vlevo",
+DlgTableAlignCenter	: "Na střed",
+DlgTableAlignRight	: "Vpravo",
+DlgTableWidth		: "Šířka",
+DlgTableWidthPx		: "bodů",
+DlgTableWidthPc		: "procent",
+DlgTableHeight		: "Výška",
+DlgTableCellSpace	: "Vzdálenost buněk",
+DlgTableCellPad		: "Odsazení obsahu",
+DlgTableCaption		: "Popis",
+
+// Table Cell Dialog
+DlgCellTitle		: "Vlastnosti buňky",
+DlgCellWidth		: "Šířka",
+DlgCellWidthPx		: "bodů",
+DlgCellWidthPc		: "procent",
+DlgCellHeight		: "Výška",
+DlgCellWordWrap		: "Zalamování",
+DlgCellWordWrapNotSet	: "<nenanstaveno>",
+DlgCellWordWrapYes	: "Ano",
+DlgCellWordWrapNo	: "Ne",
+DlgCellHorAlign		: "Vodorovné zarovnání",
+DlgCellHorAlignNotSet	: "<nenastaveno>",
+DlgCellHorAlignLeft	: "Vlevo",
+DlgCellHorAlignCenter	: "Na střed",
+DlgCellHorAlignRight: "Vpravo",
+DlgCellVerAlign		: "Svislé zarovnání",
+DlgCellVerAlignNotSet	: "<nenastaveno>",
+DlgCellVerAlignTop	: "Nahoru",
+DlgCellVerAlignMiddle	: "Doprostřed",
+DlgCellVerAlignBottom	: "Dolů",
+DlgCellVerAlignBaseline	: "Na účaří",
+DlgCellRowSpan		: "Sloučené řádky",
+DlgCellCollSpan		: "Sloučené sloupce",
+DlgCellBackColor	: "Barva pozadí",
+DlgCellBorderColor	: "Rarva ohraničení",
+DlgCellBtnSelect	: "Výběr...",
+
+// Find Dialog
+DlgFindTitle		: "Hledat",
+DlgFindFindBtn		: "Hledat",
+DlgFindNotFoundMsg	: "Hledaný text nebyl nalezen.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Nahradit",
+DlgReplaceFindLbl		: "Co hledat:",
+DlgReplaceReplaceLbl	: "Čím nahradit:",
+DlgReplaceCaseChk		: "Rozlišovat velikost písma",
+DlgReplaceReplaceBtn	: "Nahradit",
+DlgReplaceReplAllBtn	: "Nahradit vše",
+DlgReplaceWordChk		: "Pouze celá slova",
+
+// Paste Operations / Dialog
+PasteErrorPaste	: "Bezpečnostní nastavení Vašeho prohlížeče nedovolují editoru spustit funkci pro vložení textu ze schránky. Prosím vložte text ze schránky pomocí klávesnice (Ctrl+V).",
+PasteErrorCut	: "Bezpečnostní nastavení Vašeho prohlížeče nedovolují editoru spustit funkci pro vyjmutí zvoleného textu do schránky. Prosím vyjměte zvolený text do schránky pomocí klávesnice (Ctrl+X).",
+PasteErrorCopy	: "Bezpečnostní nastavení Vašeho prohlížeče nedovolují editoru spustit funkci pro kopírování zvoleného textu do schránky. Prosím zkopírujte zvolený text do schránky pomocí klávesnice (Ctrl+C).",
+
+PasteAsText		: "Vložit jako čistý text",
+PasteFromWord	: "Vložit text z Wordu",
+
+DlgPasteMsg2	: "Please paste inside the following box using the keyboard (<STRONG>Ctrl+V</STRONG>) and hit <STRONG>OK</STRONG>.",	//MISSING
+DlgPasteIgnoreFont		: "Ignore Font Face definitions",	//MISSING
+DlgPasteRemoveStyles	: "Remove Styles definitions",	//MISSING
+DlgPasteCleanBox		: "Clean Up Box",	//MISSING
+
+
+// Color Picker
+ColorAutomatic	: "Automaticky",
+ColorMoreColors	: "Více barev...",
+
+// Document Properties
+DocProps		: "Vlastnosti dokumentu",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Vlastnosti záložky",
+DlgAnchorName		: "Název záložky",
+DlgAnchorErrorName	: "Zadejte prosím název záložky",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Není ve slovníku",
+DlgSpellChangeTo		: "Změnit na",
+DlgSpellBtnIgnore		: "Přeskočit",
+DlgSpellBtnIgnoreAll	: "Přeskakovat vše",
+DlgSpellBtnReplace		: "Zaměnit",
+DlgSpellBtnReplaceAll	: "Zaměňovat vše",
+DlgSpellBtnUndo			: "Zpět",
+DlgSpellNoSuggestions	: "- žádné návrhy -",
+DlgSpellProgress		: "Probíhá kontrola pravopisu...",
+DlgSpellNoMispell		: "Kontrola pravopisu dokončena: Žádné pravopisné chyby nenalezeny",
+DlgSpellNoChanges		: "Kontrola pravopisu dokončena: Beze změn",
+DlgSpellOneChange		: "Kontrola pravopisu dokončena: Jedno slovo změněno",
+DlgSpellManyChanges		: "Kontrola pravopisu dokončena: %1 slov změněno",
+
+IeSpellDownload			: "Kontrola pravopisu není nainstalována. Chcete ji nyní stáhnout?",
+
+// Button Dialog
+DlgButtonText	: "Popisek",
+DlgButtonType	: "Typ",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Název",
+DlgCheckboxValue	: "Hodnota",
+DlgCheckboxSelected	: "Zaškrtnuto",
+
+// Form Dialog
+DlgFormName		: "Název",
+DlgFormAction	: "Akce",
+DlgFormMethod	: "Metoda",
+
+// Select Field Dialog
+DlgSelectName		: "Název",
+DlgSelectValue		: "Hodnota",
+DlgSelectSize		: "Velikost",
+DlgSelectLines		: "řádků",
+DlgSelectChkMulti	: "Povolit mnohonásobné výběry",
+DlgSelectOpAvail	: "Dostupná nastavení",
+DlgSelectOpText		: "Text",
+DlgSelectOpValue	: "Hodnota",
+DlgSelectBtnAdd		: "Přidat",
+DlgSelectBtnModify	: "Změnit",
+DlgSelectBtnUp		: "Nahoru",
+DlgSelectBtnDown	: "Dolů",
+DlgSelectBtnSetValue : "Nastavit jako vybranou hodnotu",
+DlgSelectBtnDelete	: "Smazat",
+
+// Textarea Dialog
+DlgTextareaName	: "Název",
+DlgTextareaCols	: "Sloupců",
+DlgTextareaRows	: "Řádků",
+
+// Text Field Dialog
+DlgTextName			: "Název",
+DlgTextValue		: "Hodnota",
+DlgTextCharWidth	: "Šířka ve znacích",
+DlgTextMaxChars		: "Maximální počet znaků",
+DlgTextType			: "Typ",
+DlgTextTypeText		: "Text",
+DlgTextTypePass		: "Heslo",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Název",
+DlgHiddenValue	: "Hodnota",
+
+// Bulleted List Dialog
+BulletedListProp	: "Vlastnosti odrážek",
+NumberedListProp	: "Vlastnosti číslovaného seznamu",
+DlgLstType			: "Typ",
+DlgLstTypeCircle	: "Kružnice",
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "ÄŒtverec",
+DlgLstTypeNumbers	: "Čísla (1, 2, 3)",
+DlgLstTypeLCase		: "Malá písmena (a, b, c)",
+DlgLstTypeUCase		: "Velká písmena (A, B, C)",
+DlgLstTypeSRoman	: "Malé římská číslice (i, ii, iii)",
+DlgLstTypeLRoman	: "Velké římské číslice (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Obecné",
+DlgDocBackTab		: "Pozadí",
+DlgDocColorsTab		: "Barvy a okraje",
+DlgDocMetaTab		: "Metadata",
+
+DlgDocPageTitle		: "Titulek stránky",
+DlgDocLangDir		: "Směr jazyku",
+DlgDocLangDirLTR	: "Zleva do prava ",
+DlgDocLangDirRTL	: "Zprava doleva",
+DlgDocLangCode		: "Kód jazyku",
+DlgDocCharSet		: "Znaková sada",
+DlgDocCharSetOther	: "Další znaková sada",
+
+DlgDocDocType		: "Typ dokumentu",
+DlgDocDocTypeOther	: "Jiný typ dokumetu",
+DlgDocIncXHTML		: "Zahrnou deklarace XHTML",
+DlgDocBgColor		: "Barva pozadí",
+DlgDocBgImage		: "URL obrázku na pozadí",
+DlgDocBgNoScroll	: "Nerolovatelné pozadí",
+DlgDocCText			: "Text",
+DlgDocCLink			: "Odkaz",
+DlgDocCVisited		: "Navštívený odkaz",
+DlgDocCActive		: "Vybraný odkaz",
+DlgDocMargins		: "Okraje stránky",
+DlgDocMaTop			: "Horní",
+DlgDocMaLeft		: "Levý",
+DlgDocMaRight		: "Pravý",
+DlgDocMaBottom		: "Dolní",
+DlgDocMeIndex		: "Klíčová slova (oddělená čárkou)",
+DlgDocMeDescr		: "Popis dokumentu",
+DlgDocMeAuthor		: "Autor",
+DlgDocMeCopy		: "Autorská práva",
+DlgDocPreview		: "Náhled",
+
+// Templates Dialog
+Templates			: "Templates",	//MISSING
+DlgTemplatesTitle	: "Content Templates",	//MISSING
+DlgTemplatesSelMsg	: "Please select the template to open in the editor<br>(the actual contents will be lost):",	//MISSING
+DlgTemplatesLoading	: "Loading templates list. Please wait...",	//MISSING
+DlgTemplatesNoTpl	: "(No templates defined)",	//MISSING
+
+// About Dialog
+DlgAboutAboutTab	: "O aplikaci",
+DlgAboutBrowserInfoTab	: "Informace o prohlížeči",
+DlgAboutVersion		: "verze",
+DlgAboutLicense		: "Licencováno pomocí GNU Lesser General Public License",
+DlgAboutInfo		: "Více informací získáte na"
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/lang/da.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/lang/da.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/lang/da.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,476 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: da.js
+ * 	Danish language file.
+ * 
+ * File Authors:
+ * 		Jørgen Nordstrøm (jn at FirstWeb.dk)
+ * 		Jesper Michelsen (jm at i-deVision.dk)
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Sammenfold Værktøjskasse",
+ToolbarExpand		: "Udvid Værktøjskasse",
+
+// Toolbar Items and Context Menu
+Save				: "Gem",
+NewPage				: "Ny side",
+Preview				: "Vis eksempel",
+Cut					: "Klip",
+Copy				: "Kopier",
+Paste				: "Indsæt",
+PasteText			: "Indsæt som ren tekst",
+PasteWord			: "Indsæt fra Word",
+Print				: "Udskriv",
+SelectAll			: "Vælg alt",
+RemoveFormat		: "Slet formatering",
+InsertLinkLbl		: "Link",
+InsertLink			: "Indsæt/Rediger Link",
+RemoveLink			: "Slet Link",
+Anchor				: "Insert/Rediger Anker",
+InsertImageLbl		: "Indsæt Billed",
+InsertImage			: "Indsæt/Rediger Billed",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Indsæt/rediger Flash",
+InsertTableLbl		: "Table",
+InsertTable			: "Indsæt/Rediger Tabel",
+InsertLineLbl		: "Linie",
+InsertLine			: "Indsæt horisontal Linie",
+InsertSpecialCharLbl: "Special Karakter",
+InsertSpecialChar	: "Indsæt Special Karakter",
+InsertSmileyLbl		: "Smiley",
+InsertSmiley		: "Indsæt Smiley",
+About				: "Om FCKeditor",
+Bold				: "Fed",
+Italic				: "Kursiv",
+Underline			: "Understreget",
+StrikeThrough		: "Overstreget",
+Subscript			: "Sænket skrift",
+Superscript			: "Hævet skrift",
+LeftJustify			: "Venstrestillet",
+CenterJustify		: "Centreret",
+RightJustify		: "Højrestillet",
+BlockJustify		: "Lige margener",
+DecreaseIndent		: "Forøg indrykning",
+IncreaseIndent		: "Formindsk indrykning",
+Undo				: "Fortryd",
+Redo				: "Anuller fortryd",
+NumberedListLbl		: "Tal opstilling",
+NumberedList		: "Indsæt/Slet Tal opstilling",
+BulletedListLbl		: "Punkttegn opstilling",
+BulletedList		: "Indsæt/Slet Punkttegn opstilling",
+ShowTableBorders	: "Vis tabel kanter",
+ShowDetails			: "Vis detaljer",
+Style				: "Typografi",
+FontFormat			: "Formatering",
+Font				: "Skrifttype",
+FontSize			: "Skriftstørrelse",
+TextColor			: "Tekstfarve",
+BGColor				: "Baggrundsfarve",
+Source				: "Kilde",
+Find				: "Søg",
+Replace				: "Erstat",
+SpellCheck			: "Stavekontrol",
+UniversalKeyboard	: "Universalt Tastatur",
+
+Form			: "Indsæt Form",
+Checkbox		: "Indsæt Afkrydsningsboks",
+RadioButton		: "Indsæt Radioknap",
+TextField		: "Indsæt Tekstfelt",
+Textarea		: "Indsæt Tekstboks",
+HiddenField		: "Indsæt Skjultfelt",
+Button			: "Indsæt Knap",
+SelectionField	: "Indsæt Valgfelt",
+ImageButton		: "Indsæt Billedknap",
+
+// Context Menu
+EditLink			: "Rediger link",
+InsertRow			: "Indsæt række",
+DeleteRows			: "Slet rækker",
+InsertColumn		: "Indsæt kolonne",
+DeleteColumns		: "Slet kolonner",
+InsertCell			: "Indsæt celle",
+DeleteCells			: "Slet celle",
+MergeCells			: "Flet celler",
+SplitCell			: "Opdel celler",
+CellProperties		: "Celle egenskaber",
+TableProperties		: "Tabel egenskaber",
+ImageProperties		: "Billed egenskaber",
+FlashProperties		: "Flash egenskaber",
+
+AnchorProp			: "Anker egenskaber",
+ButtonProp			: "Knap egenskaber",
+CheckboxProp		: "Afkrydsningsboks egenskaber",
+HiddenFieldProp		: "Skjultfelt egenskaber",
+RadioButtonProp		: "Radioknap egenskaber",
+ImageButtonProp		: "Billedknap egenskaber",
+TextFieldProp		: "Tekstfelt egenskaber",
+SelectionFieldProp	: "Valgfelt egenskaber",
+TextareaProp		: "Tekstboks egenskaber",
+FormProp			: "Form egenskaber",
+
+FontFormats			: "Normal;Formateret;Adresse;Overskrift 1;Overskrift 2;Overskrift 3;Overskrift 4;Overskrift 5;Overskrift 6",
+
+// Alerts and Messages
+ProcessingXHTML		: "Behandler XHTML. Vent venligst...",
+Done				: "Færdig",
+PasteWordConfirm	: "Den tekst du forsøger at indsætte ser ud til at komme fra Word. Vil du rense teksten før den indsættes ?",
+NotCompatiblePaste	: "Denne kommando er tilgændelig i Internet Explorer 5.5 og senere. Vil du indsætte teksten uden at rense den ?",
+UnknownToolbarItem	: "Ukendt værktøjslinje objekt \"%1\"",
+UnknownCommand		: "Ukendt kommando navn \"%1\"",
+NotImplemented		: "Kommandoen er ikke implementeret",
+UnknownToolbarSet	: "Værktøjslinjen \"%1\" eksisterer ikke",
+NoActiveX			: "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Anuller",
+DlgBtnClose			: "Luk",
+DlgBtnBrowseServer	: "Gennemse Server",
+DlgAdvancedTag		: "Avanceret",
+DlgOpOther			: "&lt;Andet&gt;",
+DlgInfoTab			: "Info",
+DlgAlertUrl			: "Indtast URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "&lt;ikke sat&gt;",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Tekstretning",
+DlgGenLangDirLtr	: "Venstre mod højre (LTR)",
+DlgGenLangDirRtl	: "Højre mod venstre (RTL)",
+DlgGenLangCode		: "Sprog kode",
+DlgGenAccessKey		: "Adgangsnøgle",
+DlgGenName			: "Navn",
+DlgGenTabIndex		: "Tabulator Indeks",
+DlgGenLongDescr		: "Udvidet beskrivelse",
+DlgGenClass			: "Typografiark",
+DlgGenTitle			: "Titel",
+DlgGenContType		: "Indholdstype",
+DlgGenLinkCharset	: "Tegnsæt",
+DlgGenStyle			: "Typografi",
+
+// Image Dialog
+DlgImgTitle			: "Billed egenskaber",
+DlgImgInfoTab		: "Billed info",
+DlgImgBtnUpload		: "Send til serveren",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Upload",
+DlgImgAlt			: "Alternativ tekst",
+DlgImgWidth			: "Bredde",
+DlgImgHeight		: "Højde",
+DlgImgLockRatio		: "Lås størrelsesforhold",
+DlgBtnResetSize		: "Nulstil størrelse",
+DlgImgBorder		: "Ramme",
+DlgImgHSpace		: "HMargin",
+DlgImgVSpace		: "VMargin",
+DlgImgAlign			: "Justering",
+DlgImgAlignLeft		: "Venstre",
+DlgImgAlignAbsBottom: "Abs bund",
+DlgImgAlignAbsMiddle: "Abs Midte",
+DlgImgAlignBaseline	: "Bundlinje",
+DlgImgAlignBottom	: "Bund",
+DlgImgAlignMiddle	: "Midte",
+DlgImgAlignRight	: "Højre",
+DlgImgAlignTextTop	: "Tekst top",
+DlgImgAlignTop		: "Top",
+DlgImgPreview		: "Vis eksempel",
+DlgImgAlertUrl		: "Indtast stien til billedet",
+DlgImgLinkTab		: "Link",
+
+// Flash Dialog
+DlgFlashTitle		: "Flash egenskaber",
+DlgFlashChkPlay		: "Automatisk afspilning",
+DlgFlashChkLoop		: "Gentagelse",
+DlgFlashChkMenu		: "Vis Flash menu",
+DlgFlashScale		: "Skalér",
+DlgFlashScaleAll	: "Vis alt",
+DlgFlashScaleNoBorder	: "Ingen ramme",
+DlgFlashScaleFit	: "Tilpas størrelse",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Link",
+DlgLnkInfoTab		: "Link info",
+DlgLnkTargetTab		: "MÃ¥l",
+
+DlgLnkType			: "Link type",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Anker på denne side",
+DlgLnkTypeEMail		: "Email",
+DlgLnkProto			: "Protokol",
+DlgLnkProtoOther	: "&lt;anden&gt;",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Vælg et anker",
+DlgLnkAnchorByName	: "Efter anker navn",
+DlgLnkAnchorById	: "Efter element Id",
+DlgLnkNoAnchors		: "&lt;Der er ingen ankre tilgængelige i dette dokument&gt;",
+DlgLnkEMail			: "Email Adresse",
+DlgLnkEMailSubject	: "Emne",
+DlgLnkEMailBody		: "Besked",
+DlgLnkUpload		: "Upload",
+DlgLnkBtnUpload		: "Send til serveren",
+
+DlgLnkTarget		: "MÃ¥l",
+DlgLnkTargetFrame	: "&lt;ramme&gt;",
+DlgLnkTargetPopup	: "&lt;popup vindue&gt;",
+DlgLnkTargetBlank	: "Nyt vindue (_blank)",
+DlgLnkTargetParent	: "Overliggende vindue (_parent)",
+DlgLnkTargetSelf	: "Samme vindue (_self)",
+DlgLnkTargetTop		: "Øverste vindue (_top)",
+DlgLnkTargetFrameName	: "Visnings vinduets navn",
+DlgLnkPopWinName	: "Popup vinduets navn",
+DlgLnkPopWinFeat	: "Popup vinduets egenskaber",
+DlgLnkPopResize		: "Skalering",
+DlgLnkPopLocation	: "Lokationslinje",
+DlgLnkPopMenu		: "Menulinje",
+DlgLnkPopScroll		: "Scrollbars",
+DlgLnkPopStatus		: "Statuslinje",
+DlgLnkPopToolbar	: "Værktøjslinje",
+DlgLnkPopFullScrn	: "Fuld skærm (IE)",
+DlgLnkPopDependent	: "Afhængig (Netscape)",
+DlgLnkPopWidth		: "Bredde",
+DlgLnkPopHeight		: "Højde",
+DlgLnkPopLeft		: "Position fra venstre",
+DlgLnkPopTop		: "Position fra toppen",
+
+DlnLnkMsgNoUrl		: "Indtast link URL",
+DlnLnkMsgNoEMail	: "Indtast e-mail addressen",
+DlnLnkMsgNoAnchor	: "Vælg Anker",
+
+// Color Dialog
+DlgColorTitle		: "Vælg farve",
+DlgColorBtnClear	: "Slet alt",
+DlgColorHighlight	: "Marker",
+DlgColorSelected	: "valgt",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Insæt en smiley",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Vælg specialkarakter",
+
+// Table Dialog
+DlgTableTitle		: "Tabel egenskaber",
+DlgTableRows		: "Rækker",
+DlgTableColumns		: "Kolonner",
+DlgTableBorder		: "Ramme størrelse",
+DlgTableAlign		: "Justering",
+DlgTableAlignNotSet	: "<Ikke sat>",
+DlgTableAlignLeft	: "Venstrestillet",
+DlgTableAlignCenter	: "Centreret",
+DlgTableAlignRight	: "Højrestillet",
+DlgTableWidth		: "Bredde",
+DlgTableWidthPx		: "pixels",
+DlgTableWidthPc		: "procent",
+DlgTableHeight		: "Højde",
+DlgTableCellSpace	: "Afstand mellem celler",
+DlgTableCellPad		: "Celle margin",
+DlgTableCaption		: "Titel",
+
+// Table Cell Dialog
+DlgCellTitle		: "Celle egenskaber",
+DlgCellWidth		: "Bredde",
+DlgCellWidthPx		: "pixels",
+DlgCellWidthPc		: "procent",
+DlgCellHeight		: "Højde",
+DlgCellWordWrap		: "Orddeling",
+DlgCellWordWrapNotSet	: "<Ikke sat>",
+DlgCellWordWrapYes	: "Ja",
+DlgCellWordWrapNo	: "Nej",
+DlgCellHorAlign		: "Horisontal justering",
+DlgCellHorAlignNotSet	: "<Ikke sat>",
+DlgCellHorAlignLeft	: "Venstrestillet",
+DlgCellHorAlignCenter	: "Centreret",
+DlgCellHorAlignRight: "Højrestillet",
+DlgCellVerAlign		: "Vertikal Justering",
+DlgCellVerAlignNotSet	: "<Ikke sat>",
+DlgCellVerAlignTop	: "Top",
+DlgCellVerAlignMiddle	: "Midte",
+DlgCellVerAlignBottom	: "Bund",
+DlgCellVerAlignBaseline	: "Bundlinje",
+DlgCellRowSpan		: "Antal rækker cellen spænder over",
+DlgCellCollSpan		: "Antal kolonner cellen spænder over",
+DlgCellBackColor	: "Baggrundsfarve",
+DlgCellBorderColor	: "rammefarve",
+DlgCellBtnSelect	: "Vælg...",
+
+// Find Dialog
+DlgFindTitle		: "Find",
+DlgFindFindBtn		: "Find",
+DlgFindNotFoundMsg	: "Den angivne tekst blev ikke fundet",
+
+// Replace Dialog
+DlgReplaceTitle			: "Erstat",
+DlgReplaceFindLbl		: "Find:",
+DlgReplaceReplaceLbl	: "Erstat med:",
+DlgReplaceCaseChk		: "Forskel på store og små bogstaver",
+DlgReplaceReplaceBtn	: "Erstat",
+DlgReplaceReplAllBtn	: "Erstat alle",
+DlgReplaceWordChk		: "Kun hele ord",
+
+// Paste Operations / Dialog
+PasteErrorPaste	: "Din browsers sikkerhedsindstillinger tillader ikke editoren at indsætte tekst automatisk. Brug i stedet tastaturet til at indsætte teksten (Ctrl+V).",
+PasteErrorCut	: "Din browsers sikkerhedsindstillinger tillader ikke editoren at klippe tekst automatisk. Brug i stedet tastaturet til at klippe teksten (Ctrl+X).",
+PasteErrorCopy	: "Din browsers sikkerhedsindstillinger tillader ikke editoren at kopiere tekst automatisk. Brug i stedet tastaturet til at kopiere teksten (Ctrl+V).",
+
+PasteAsText		: "Indsæt som ren tekst",
+PasteFromWord	: "Indsæt fra Word",
+
+DlgPasteMsg2	: "Indsæt i boksen herunder (<STRONG>Ctrl+V</STRONG>) og klik <STRONG>OK</STRONG>.",
+DlgPasteIgnoreFont		: "Ignorer font definitioner",
+DlgPasteRemoveStyles	: "Fjern typografi definitioner",
+DlgPasteCleanBox		: "Slet indhold",
+
+
+// Color Picker
+ColorAutomatic	: "Automatisk",
+ColorMoreColors	: "Flere farver...",
+
+// Document Properties
+DocProps		: "Dokument egenskaber",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Anker egenskaber",
+DlgAnchorName		: "Anker navn",
+DlgAnchorErrorName	: "Indtast Anker navn",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Findes ikke i ordbogen",
+DlgSpellChangeTo		: "Ændre til",
+DlgSpellBtnIgnore		: "Ignorere",
+DlgSpellBtnIgnoreAll	: "Ignorere alle",
+DlgSpellBtnReplace		: "Udskift",
+DlgSpellBtnReplaceAll	: "Udskift alle",
+DlgSpellBtnUndo			: "Tilbage",
+DlgSpellNoSuggestions	: "- Intet forslag -",
+DlgSpellProgress		: "Stavekontrolen arbejder...",
+DlgSpellNoMispell		: "Stavekontrol færdig: Ingen fejl fundet",
+DlgSpellNoChanges		: "Stavekontrol færdig: Ingen ord ændret",
+DlgSpellOneChange		: "Stavekontrol færdig: Et ord ændret",
+DlgSpellManyChanges		: "Stavekontrol færdig: %1 ord ændret",
+
+IeSpellDownload			: "Stavekontrol ikke installeret. Vil du hente den nu?",
+
+// Button Dialog
+DlgButtonText	: "Tekst (Værdi)",
+DlgButtonType	: "Type",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Navn",
+DlgCheckboxValue	: "Værdi",
+DlgCheckboxSelected	: "Valgt",
+
+// Form Dialog
+DlgFormName		: "Navn",
+DlgFormAction	: "Handling",
+DlgFormMethod	: "Metod",
+
+// Select Field Dialog
+DlgSelectName		: "Navn",
+DlgSelectValue		: "Værdi",
+DlgSelectSize		: "Størrelse",
+DlgSelectLines		: "linier",
+DlgSelectChkMulti	: "Tillad flere valg",
+DlgSelectOpAvail	: "Valgmulighedder",
+DlgSelectOpText		: "Tekst",
+DlgSelectOpValue	: "Værdi",
+DlgSelectBtnAdd		: "Tilføj",
+DlgSelectBtnModify	: "Ændre",
+DlgSelectBtnUp		: "Op",
+DlgSelectBtnDown	: "Ned",
+DlgSelectBtnSetValue : "Sæt som udvalgt",
+DlgSelectBtnDelete	: "Slet",
+
+// Textarea Dialog
+DlgTextareaName	: "Navn",
+DlgTextareaCols	: "Kolonne",
+DlgTextareaRows	: "Række",
+
+// Text Field Dialog
+DlgTextName			: "Navn",
+DlgTextValue		: "Værdi",
+DlgTextCharWidth	: "Synligt antal bogstaver",
+DlgTextMaxChars		: "Maximum antal bogstaver",
+DlgTextType			: "Type",
+DlgTextTypeText		: "Tekst",
+DlgTextTypePass		: "Kodeord",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Navn",
+DlgHiddenValue	: "Værdi",
+
+// Bulleted List Dialog
+BulletedListProp	: "Punkttegnopstilling egenskaber",
+NumberedListProp	: "Talopstilling egenskaber",
+DlgLstType			: "Type",
+DlgLstTypeCircle	: "Cirkel",
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "Firkant",
+DlgLstTypeNumbers	: "Nummereret (1, 2, 3)",
+DlgLstTypeLCase		: "Små bogstaver (a, b, c)",
+DlgLstTypeUCase		: "Store bogstaver (A, B, C)",
+DlgLstTypeSRoman	: "Små Romertal (i, ii, iii)",
+DlgLstTypeLRoman	: "Store Romertal (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Generelt",
+DlgDocBackTab		: "Baggrund",
+DlgDocColorsTab		: "Farver og Margin",
+DlgDocMetaTab		: "Meta Information",
+
+DlgDocPageTitle		: "Side Titel",
+DlgDocLangDir		: "Sprog",
+DlgDocLangDirLTR	: "Venstre Til Højre (LTR)",
+DlgDocLangDirRTL	: "Højre Til Venstre (RTL)",
+DlgDocLangCode		: "Landekode",
+DlgDocCharSet		: "Karakter sæt kode",
+DlgDocCharSetOther	: "Anden karakter sæt kode",
+
+DlgDocDocType		: "Dokument type kategori",
+DlgDocDocTypeOther	: "Anden dokument type kategori",
+DlgDocIncXHTML		: "Inkludere XHTML deklartion",
+DlgDocBgColor		: "Baggrundsfarve",
+DlgDocBgImage		: "Baggrundsbilled URL",
+DlgDocBgNoScroll	: "Ikke scrollbar baggrund",
+DlgDocCText			: "Tekst",
+DlgDocCLink			: "Link",
+DlgDocCVisited		: "Besøgt link",
+DlgDocCActive		: "Aktivt link",
+DlgDocMargins		: "Side margin",
+DlgDocMaTop			: "Top",
+DlgDocMaLeft		: "Venstre",
+DlgDocMaRight		: "Højre",
+DlgDocMaBottom		: "Bund",
+DlgDocMeIndex		: "Dokument index nøgleord (komma sepereret)",
+DlgDocMeDescr		: "Dokument beskrivelse",
+DlgDocMeAuthor		: "Forfatter",
+DlgDocMeCopy		: "Copyright",
+DlgDocPreview		: "Vis",
+
+// Templates Dialog
+Templates			: "Skabeloner",
+DlgTemplatesTitle	: "Indholdsskabeloner",
+DlgTemplatesSelMsg	: "Vælg den skabelon, som skal åbnes i editoren<br>(Nuværende indhold vil blive overskrevet):",
+DlgTemplatesLoading	: "Henter liste over skabeloner. Vent venligst...",
+DlgTemplatesNoTpl	: "(Der er ikke defineret nogen skabelon)",
+
+// About Dialog
+DlgAboutAboutTab	: "About",
+DlgAboutBrowserInfoTab	: "Browser Info",
+DlgAboutVersion		: "version",
+DlgAboutLicense		: "Licens under vilkår for GNU Lesser General Public License",
+DlgAboutInfo		: "For yderlig information gå til"
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/lang/de.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/lang/de.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/lang/de.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,476 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: de.js
+ * 	German language file.
+ * 
+ * File Authors:
+ * 		Maik Unruh (m.unruh at mm-concept.de)
+ * 		Hendrik Kramer (HK at lwd.de)
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Toolbar einklappen",
+ToolbarExpand		: "Toolbar ausklappen",
+
+// Toolbar Items and Context Menu
+Save				: "Speichern",
+NewPage				: "Neue Seite",
+Preview				: "Vorschau",
+Cut					: "Ausschneiden",
+Copy				: "Kopieren",
+Paste				: "Einfügen",
+PasteText			: "aus Textdatei einfügen",
+PasteWord			: "aus Word einfügen",
+Print				: "Drucken",
+SelectAll			: "Alles auswählen",
+RemoveFormat		: "Formatierungen entfernen",
+InsertLinkLbl		: "Link",
+InsertLink			: "Link einfügen/editieren",
+RemoveLink			: "Link entfernen",
+Anchor				: "Anker einfügen/editieren",
+InsertImageLbl		: "Bild",
+InsertImage			: "Bild einfügen/editieren",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Flash einfügen/editieren",
+InsertTableLbl		: "Tabelle",
+InsertTable			: "Tabelle einfügen/editieren",
+InsertLineLbl		: "Linie",
+InsertLine			: "Horizontale Linie einfügen",
+InsertSpecialCharLbl: "Sonderzeichen",
+InsertSpecialChar	: "Sonderzeichen einfügen/editieren",
+InsertSmileyLbl		: "Smiley",
+InsertSmiley		: "Smiley einfügen",
+About				: "Ãœber FCKeditor",
+Bold				: "Fett",
+Italic				: "Kursiv",
+Underline			: "Unterstrichen",
+StrikeThrough		: "Durchgestrichen",
+Subscript			: "Tiefgestellt",
+Superscript			: "Hochgestellt",
+LeftJustify			: "Linksbündig",
+CenterJustify		: "Zentriert",
+RightJustify		: "Rechtsbündig",
+BlockJustify		: "Blocksatz",
+DecreaseIndent		: "Einzug verringern",
+IncreaseIndent		: "Einzug erhöhen",
+Undo				: "Rückgängig",
+Redo				: "Wiederherstellen",
+NumberedListLbl		: "Nummerierte Liste",
+NumberedList		: "Nummerierte Liste einfügen/entfernen",
+BulletedListLbl		: "Liste",
+BulletedList		: "Liste einfügen/entfernen",
+ShowTableBorders	: "Zeige Tabellenrahmen",
+ShowDetails			: "Zeige Details",
+Style				: "Style",
+FontFormat			: "Format",
+Font				: "Font",
+FontSize			: "Size",
+TextColor			: "Textfarbe",
+BGColor				: "Hintergrundfarbe",
+Source				: "Quellcode",
+Find				: "Finden",
+Replace				: "Ersetzen",
+SpellCheck			: "Rechtschreibprü:fung",
+UniversalKeyboard	: "Universal-Tastatur",
+
+Form			: "Formular",
+Checkbox		: "Checkbox",
+RadioButton		: "Radiobutton",
+TextField		: "Textfeld einzeilig",
+Textarea		: "Textfeld mehrzeilig",
+HiddenField		: "verstecktes Feld",
+Button			: "Klickbutton",
+SelectionField	: "Auswahlfeld",
+ImageButton		: "Bildbutton",
+
+// Context Menu
+EditLink			: "Link editieren",
+InsertRow			: "Zeile einfügen",
+DeleteRows			: "Zeile entfernen",
+InsertColumn		: "Spalte einfügen",
+DeleteColumns		: "Spalte löschen",
+InsertCell			: "Zelle einfügen",
+DeleteCells			: "Zelle löschen",
+MergeCells			: "Zellen vereinen",
+SplitCell			: "Zelle teilen",
+CellProperties		: "Zellen Eigenschaften",
+TableProperties		: "Tabellen Eigenschaften",
+ImageProperties		: "Bild Eigenschaften",
+FlashProperties		: "Flash Eigenschaften",
+
+AnchorProp			: "Anker Eigenschaften",
+ButtonProp			: "Button Eigenschaften",
+CheckboxProp		: "Checkbox Eigenschaften",
+HiddenFieldProp		: "Verstecktes Feld Eigenschaften",
+RadioButtonProp		: "Radiobutton Eigenschaften",
+ImageButtonProp		: "Bildbutton Eigenschaften",
+TextFieldProp		: "Textfeld einzeilig Eigenschaften",
+SelectionFieldProp	: "Auswahlfeld Eigenschaften",
+TextareaProp		: "Textfeld mehrzeilig Eigenschaften",
+FormProp			: "Formular Eigenschaften",
+
+FontFormats			: "Normal;Formatiert;Addresse;Ãœberschrift 1;Ãœberschrift 2;Ãœberschrift 3;Ãœberschrift 4;Ãœberschrift 5;Ãœberschrift 6",
+
+// Alerts and Messages
+ProcessingXHTML		: "Bearbeite XHTML. Bitte warten...",
+Done				: "Fertig",
+PasteWordConfirm	: "Der Text, den Sie einfügen Möchten, scheint aus Word kopiert zu sein. Möchten Sie ihn zuvor bereinigen lassen?",
+NotCompatiblePaste	: "Diese Funktion steht nur im Internet Explorer ab Version 5.5 zur Verfügung. Möchten Sie den Text unbereinigt einfügen?",
+UnknownToolbarItem	: "Unbekanntes Menüleisten-Objekt \"%1\"",
+UnknownCommand		: "Unbekannter Befehl \"%1\"",
+NotImplemented		: "Befehl nicht implementiert",
+UnknownToolbarSet	: "Menüleiste \"%1\" existiert nicht",
+NoActiveX			: "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Abbrechen",
+DlgBtnClose			: "Schließen",
+DlgBtnBrowseServer	: "Server durchsuchen",
+DlgAdvancedTag		: "Erweitert",
+DlgOpOther			: "&lt;andere&gt;",
+DlgInfoTab			: "Info",
+DlgAlertUrl			: "Bitte tragen Sie die URL ein",
+
+// General Dialogs Labels
+DlgGenNotSet		: "&lt; nichts &gt;",
+DlgGenId			: "ID",
+DlgGenLangDir		: "Schreibrichtung",
+DlgGenLangDirLtr	: "Links nach Rechts (LTR)",
+DlgGenLangDirRtl	: "Rechts nach Links (RTL)",
+DlgGenLangCode		: "Sprachenkürzel",
+DlgGenAccessKey		: "Schlüssel",
+DlgGenName			: "Name",
+DlgGenTabIndex		: "Tab Index",
+DlgGenLongDescr		: "Langform URL",
+DlgGenClass			: "Stylesheet Klasse",
+DlgGenTitle			: "Titel Beschreibung",
+DlgGenContType		: "Content Beschreibung",
+DlgGenLinkCharset	: "Ziel-Zeichensatz",
+DlgGenStyle			: "Style",
+
+// Image Dialog
+DlgImgTitle			: "Bild Eigenschaften",
+DlgImgInfoTab		: "Bild-Info",
+DlgImgBtnUpload		: "Zum Server senden",
+DlgImgURL			: "Bildauswahl",
+DlgImgUpload		: "Upload",
+DlgImgAlt			: "Alternativer Text",
+DlgImgWidth			: "Breite",
+DlgImgHeight		: "Höhe",
+DlgImgLockRatio		: "Größenverhaeltniss beibehalten",
+DlgBtnResetSize		: "Größe zuruecksetzen",
+DlgImgBorder		: "Rahmen",
+DlgImgHSpace		: "H-Freiraum",
+DlgImgVSpace		: "V-Freiraum",
+DlgImgAlign			: "Ausrichtung",
+DlgImgAlignLeft		: "Links",
+DlgImgAlignAbsBottom: "Abs Unten",
+DlgImgAlignAbsMiddle: "Abs Mitte",
+DlgImgAlignBaseline	: "Baseline",
+DlgImgAlignBottom	: "Unten",
+DlgImgAlignMiddle	: "Mitte",
+DlgImgAlignRight	: "Rechts",
+DlgImgAlignTextTop	: "Text Oben",
+DlgImgAlignTop		: "Oben",
+DlgImgPreview		: "Vorschau",
+DlgImgAlertUrl		: "Bitte geben Sie die Bild-URL an",
+DlgImgLinkTab		: "Link",
+
+// Flash Dialog
+DlgFlashTitle		: "Flash Eigenschaften",
+DlgFlashChkPlay		: "autom. Abspielen",
+DlgFlashChkLoop		: "Endlosschleife",
+DlgFlashChkMenu		: "Aktiviere Flash Menü",
+DlgFlashScale		: "Skalierung",
+DlgFlashScaleAll	: "Alles anzeigen",
+DlgFlashScaleNoBorder	: "ohne Rand",
+DlgFlashScaleFit	: "Passgenau",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Link",
+DlgLnkInfoTab		: "Link Info",
+DlgLnkTargetTab		: "Zielseite",
+
+DlgLnkType			: "Link-Typ",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Anker in dieser Seite",
+DlgLnkTypeEMail		: "E-Mail",
+DlgLnkProto			: "Protokoll",
+DlgLnkProtoOther	: "&lt;anderes&gt;",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Anker auswählen",
+DlgLnkAnchorByName	: "nach Anker Name",
+DlgLnkAnchorById	: "nach Element Id",
+DlgLnkNoAnchors		: "&lt;keine Anker im Dokument vorhanden&gt;",
+DlgLnkEMail			: "E-Mail Addresse",
+DlgLnkEMailSubject	: "Betreffzeile",
+DlgLnkEMailBody		: "Nachrichtentext",
+DlgLnkUpload		: "Upload",
+DlgLnkBtnUpload		: "Uum Server senden",
+
+DlgLnkTarget		: "Zielseite",
+DlgLnkTargetFrame	: "&lt;Frame&gt;",
+DlgLnkTargetPopup	: "&lt;Pop-up Fenster&gt;",
+DlgLnkTargetBlank	: "Neues Fenster (_blank)",
+DlgLnkTargetParent	: "Oberes Fenster (_parent)",
+DlgLnkTargetSelf	: "Gleiches Fenster (_self)",
+DlgLnkTargetTop		: "Oberstes Fenster (_top)",
+DlgLnkTargetFrameName	: "Ziel-Frame Name",
+DlgLnkPopWinName	: "Pop-up Fenster Name",
+DlgLnkPopWinFeat	: "Pop-up Fenster Eigenschaften",
+DlgLnkPopResize		: "Vergrößerbar",
+DlgLnkPopLocation	: "Adress-Leiste",
+DlgLnkPopMenu		: "Menü-Leiste",
+DlgLnkPopScroll		: "Scroll-Leisten",
+DlgLnkPopStatus		: "Status-Leiste",
+DlgLnkPopToolbar	: "Werkzeugleiste",
+DlgLnkPopFullScrn	: "Vollbild (IE)",
+DlgLnkPopDependent	: "Abhängig (Netscape)",
+DlgLnkPopWidth		: "Breite",
+DlgLnkPopHeight		: "Höhe",
+DlgLnkPopLeft		: "Linke Position",
+DlgLnkPopTop		: "Obere Position",
+
+DlnLnkMsgNoUrl		: "Bitte geben Sie die Link-URL an",
+DlnLnkMsgNoEMail	: "Bitte geben Sie e-Mail Adresse an",
+DlnLnkMsgNoAnchor	: "Bitte waehlen Sie einen Anker aus",
+
+// Color Dialog
+DlgColorTitle		: "Farbauswahl",
+DlgColorBtnClear	: "Keine Farbe",
+DlgColorHighlight	: "Vorschau",
+DlgColorSelected	: "Ausgewählt",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Smiley auswählen",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Sonderzeichen auswählen",
+
+// Table Dialog
+DlgTableTitle		: "Tabellen Eigenschaften",
+DlgTableRows		: "Zeile",
+DlgTableColumns		: "Spalte",
+DlgTableBorder		: "Rahmen",
+DlgTableAlign		: "Ausrichtung",
+DlgTableAlignNotSet	: "<nichts>",
+DlgTableAlignLeft	: "Links",
+DlgTableAlignCenter	: "Zentriert",
+DlgTableAlignRight	: "Rechts",
+DlgTableWidth		: "Breite",
+DlgTableWidthPx		: "Pixel",
+DlgTableWidthPc		: "%",
+DlgTableHeight		: "Höhe",
+DlgTableCellSpace	: "Zellenabstand außen",
+DlgTableCellPad		: "Zellenabstand innen",
+DlgTableCaption		: "Ãœeberschrift",
+
+// Table Cell Dialog
+DlgCellTitle		: "Zellen-Eigenschaften",
+DlgCellWidth		: "Breite",
+DlgCellWidthPx		: "Pixel",
+DlgCellWidthPc		: "%",
+DlgCellHeight		: "Höhe",
+DlgCellWordWrap		: "Umbruch",
+DlgCellWordWrapNotSet	: "&lt;nichts&gt;",
+DlgCellWordWrapYes	: "Ja",
+DlgCellWordWrapNo	: "Nein",
+DlgCellHorAlign		: "Horizontale Ausrichtung",
+DlgCellHorAlignNotSet	: "&lt;nichts&gt;",
+DlgCellHorAlignLeft	: "Links",
+DlgCellHorAlignCenter	: "Zentriert",
+DlgCellHorAlignRight: "Rechts",
+DlgCellVerAlign		: "Vertikale Ausrichtung",
+DlgCellVerAlignNotSet	: "&lt;nichts&gt;",
+DlgCellVerAlignTop	: "Oben",
+DlgCellVerAlignMiddle	: "Mitte",
+DlgCellVerAlignBottom	: "Unten",
+DlgCellVerAlignBaseline	: "Baseline",
+DlgCellRowSpan		: "Zeilen zusammenfassen",
+DlgCellCollSpan		: "Spalten zusammenfassen",
+DlgCellBackColor	: "Hintergrundfarbe",
+DlgCellBorderColor	: "Rahmenfarbe",
+DlgCellBtnSelect	: "Auswahl...",
+
+// Find Dialog
+DlgFindTitle		: "Finden",
+DlgFindFindBtn		: "Finden",
+DlgFindNotFoundMsg	: "Der Suchtext wurde nicht gefunden.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Ersetzen",
+DlgReplaceFindLbl		: "Suche nach:",
+DlgReplaceReplaceLbl	: "Ersetze mit:",
+DlgReplaceCaseChk		: "Groß-Kleinschreibung beachten",
+DlgReplaceReplaceBtn	: "Ersetzen",
+DlgReplaceReplAllBtn	: "Alle Ersetzen",
+DlgReplaceWordChk		: "Nur ganze Worte suchen",
+
+// Paste Operations / Dialog
+PasteErrorPaste	: "Die Sicherheitseinstellungen Ihres Browsers lassen es nicht zu, den Text automatisch einzufügen. Bitte benutzen Sie die System-Zwischenablage ueber STRG-C (kopieren) und STRG-V (einfügen).",
+PasteErrorCut	: "Die Sicherheitseinstellungen Ihres Browsers lassen es nicht zu, den Text automatisch auszuschneiden. Bitte benutzen Sie die System-Zwischenablage ueber STRG-X (ausschneiden) und STRG-V (einfügen).",
+PasteErrorCopy	: "Die Sicherheitseinstellungen Ihres Browsers lassen es nicht zu, den Text automatisch kopieren. Bitte benutzen Sie die System-Zwischenablage ueber STRG-C (kopieren).",
+
+PasteAsText		: "Als Text einfügen",
+PasteFromWord	: "Aus Word einfügen",
+
+DlgPasteMsg2	: "Bitte fügen Sie den Text in der folgenden Box über die Tastatur (mit <STRONG>Ctrl+V</STRONG>) ein und bestätigen Sie mit <STRONG>OK</STRONG>.",
+DlgPasteIgnoreFont		: "Ignoriere Schriftart-Definitionen",
+DlgPasteRemoveStyles	: "Entferne Style-Definitionen",
+DlgPasteCleanBox		: "Inhalt aufräumen",
+
+
+// Color Picker
+ColorAutomatic	: "Automatisch",
+ColorMoreColors	: "Weitere Farben...",
+
+// Document Properties
+DocProps		: "Dokument Eigenschaften",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Anker Eigenschaften",
+DlgAnchorName		: "Anker Name",
+DlgAnchorErrorName	: "Bitte geben Sie den Namen des Ankers ein",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Nicht im Wörterbuch",
+DlgSpellChangeTo		: "Äendern in",
+DlgSpellBtnIgnore		: "Ignorieren",
+DlgSpellBtnIgnoreAll	: "Alle Ignorieren",
+DlgSpellBtnReplace		: "Ersetzen",
+DlgSpellBtnReplaceAll	: "Alle Ersetzen",
+DlgSpellBtnUndo			: "Rückgängig",
+DlgSpellNoSuggestions	: " - keine Vorschläge - ",
+DlgSpellProgress		: "Rechtschreibprüfung läuft...",
+DlgSpellNoMispell		: "Rechtschreibprüfung abgeschlossen - keine Fehler gefunden",
+DlgSpellNoChanges		: "Rechtschreibprüfung abgeschlossen - keine Worte geändert",
+DlgSpellOneChange		: "Rechtschreibprüfung abgeschlossen - ein Wort geändert",
+DlgSpellManyChanges		: "Rechtschreibprüfung abgeschlossen - %1 Wörter geändert",
+
+IeSpellDownload			: "Rechtschreibprüfung nicht installiert. Möchten Sie sie jetzt herunterladen?",
+
+// Button Dialog
+DlgButtonText	: "Text (Wert)",
+DlgButtonType	: "Typ",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Name",
+DlgCheckboxValue	: "Wert",
+DlgCheckboxSelected	: "ausgewählt",
+
+// Form Dialog
+DlgFormName		: "Name",
+DlgFormAction	: "Action",
+DlgFormMethod	: "Method",
+
+// Select Field Dialog
+DlgSelectName		: "Name",
+DlgSelectValue		: "Wert",
+DlgSelectSize		: "Größe",
+DlgSelectLines		: "Linien",
+DlgSelectChkMulti	: "Erlaube Mehrfachauswahl",
+DlgSelectOpAvail	: "Mögliche Optionen",
+DlgSelectOpText		: "Text",
+DlgSelectOpValue	: "Wert",
+DlgSelectBtnAdd		: "Hinzufügen",
+DlgSelectBtnModify	: "Äendern",
+DlgSelectBtnUp		: "Hoch",
+DlgSelectBtnDown	: "Runter",
+DlgSelectBtnSetValue : "Setze als Standardwert",
+DlgSelectBtnDelete	: "Entfernen",
+
+// Textarea Dialog
+DlgTextareaName	: "Name",
+DlgTextareaCols	: "Spalten",
+DlgTextareaRows	: "Reihen",
+
+// Text Field Dialog
+DlgTextName			: "Name",
+DlgTextValue		: "Wert",
+DlgTextCharWidth	: "Zeichenbreite",
+DlgTextMaxChars		: "Max. Zeichen",
+DlgTextType			: "Typ",
+DlgTextTypeText		: "Text",
+DlgTextTypePass		: "Passwort",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Name",
+DlgHiddenValue	: "Wert",
+
+// Bulleted List Dialog
+BulletedListProp	: "Listen-Eigenschaften",
+NumberedListProp	: "Nummerierte Listen-Eigenschaften",
+DlgLstType			: "Typ",
+DlgLstTypeCircle	: "Kreis",
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "Quadrat",
+DlgLstTypeNumbers	: "Nummern (1, 2, 3)",
+DlgLstTypeLCase		: "Kleinbuchstaben (a, b, c)",
+DlgLstTypeUCase		: "Großbuchstaben (A, B, C)",
+DlgLstTypeSRoman	: "Kleine römische Zahlen (i, ii, iii)",
+DlgLstTypeLRoman	: "Große römische Zahlen (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Allgemein",
+DlgDocBackTab		: "Hintergrund",
+DlgDocColorsTab		: "Farben und Abstände",
+DlgDocMetaTab		: "Metadaten",
+
+DlgDocPageTitle		: "Seitentitel",
+DlgDocLangDir		: "Schriftrichtung",
+DlgDocLangDirLTR	: "Links nach Rechts",
+DlgDocLangDirRTL	: "rechts nach Links",
+DlgDocLangCode		: "Sprachkürzel",
+DlgDocCharSet		: "Zeichenkodierung",
+DlgDocCharSetOther	: "Andere Zeichenkodierung",
+
+DlgDocDocType		: "Dokumententyp",
+DlgDocDocTypeOther	: "Anderer Dokumententyp",
+DlgDocIncXHTML		: "Beziehe XHTML Deklarationen ein",
+DlgDocBgColor		: "Hintergrundfarbe",
+DlgDocBgImage		: "Hintergrundbild URL",
+DlgDocBgNoScroll	: "Nicht-Scrollender Hintergrund",
+DlgDocCText			: "Text",
+DlgDocCLink			: "Link",
+DlgDocCVisited		: "Besuchter Link",
+DlgDocCActive		: "Aktiver Link",
+DlgDocMargins		: "Seitenränder",
+DlgDocMaTop			: "Oben",
+DlgDocMaLeft		: "Links",
+DlgDocMaRight		: "Rechts",
+DlgDocMaBottom		: "Unten",
+DlgDocMeIndex		: "Schlüsselwörter (Komma-getrennt)",
+DlgDocMeDescr		: "Dokument-Beschreibung",
+DlgDocMeAuthor		: "Autor",
+DlgDocMeCopy		: "Copyright",
+DlgDocPreview		: "Vorschau",
+
+// Templates Dialog
+Templates			: "Vorlagen",
+DlgTemplatesTitle	: "Vorlagen",
+DlgTemplatesSelMsg	: "Klicken Sie auf eine Vorlage, um sie im Editor zu öffnen(der aktuelle Inhalt wird dabei gelöscht!):",
+DlgTemplatesLoading	: "Liste der Vorlagen wird geladen. Bitte warten...",
+DlgTemplatesNoTpl	: "(keine Vorlagen definiert)",
+
+// About Dialog
+DlgAboutAboutTab	: "Ãœber",
+DlgAboutBrowserInfoTab	: "Browser-Info",
+DlgAboutVersion		: "Version",
+DlgAboutLicense		: "Lizensiert unter den Richtlinien der GNU Lesser General Public License",
+DlgAboutInfo		: "Für weitere Informationen siehe"
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/lang/el.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/lang/el.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/lang/el.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,475 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: el.js
+ * 	Greek language file.
+ * 
+ * File Authors:
+ * 		Spyros Barbatos (sbarbatos{at}users.sourceforge.net)
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Απόκρυψη Μπάρας Εργαλείων",
+ToolbarExpand		: "Εμφάνιση Μπάρας Εργαλείων",
+
+// Toolbar Items and Context Menu
+Save				: "Αποθήκευση",
+NewPage				: "Νέα Σελίδα",
+Preview				: "Προεπισκόπιση",
+Cut					: "Αποκοπή",
+Copy				: "Αντιγραφή",
+Paste				: "Επικόλληση",
+PasteText			: "Επικόλληση (απλό κείμενο)",
+PasteWord			: "Επικόλληση από το Word",
+Print				: "Εκτύπωση",
+SelectAll			: "Επιλογή όλων",
+RemoveFormat		: "Αφαίρεση Μορφοποίησης",
+InsertLinkLbl		: "Σύνδεσμος (Link)",
+InsertLink			: "Εισαγωγή/Μεταβολή Συνδέσμου (Link)",
+RemoveLink			: "Αφαίρεση Συνδέσμου (Link)",
+Anchor				: "Insert/Edit Anchor",	//MISSING
+InsertImageLbl		: "Εικόνα",
+InsertImage			: "Εισαγωγή/Μεταβολή Εικόνας",
+InsertFlashLbl		: "Flash",	//MISSING
+InsertFlash			: "Insert/Edit Flash",	//MISSING
+InsertTableLbl		: "Πίνακας",
+InsertTable			: "Εισαγωγή/Μεταβολή Πίνακα",
+InsertLineLbl		: "Γραμμή",
+InsertLine			: "Εισαγωγή Οριζόντιας Γραμμής",
+InsertSpecialCharLbl: "Ειδικό Σύμβολο",
+InsertSpecialChar	: "Εισαγωγή Ειδικού Συμβόλου",
+InsertSmileyLbl		: "Smiley",
+InsertSmiley		: "Εισαγωγή Smiley",
+About				: "Περί του FCKeditor",
+Bold				: "Έντονα",
+Italic				: "Πλάγια",
+Underline			: "Υπογράμμιση",
+StrikeThrough		: "Διαγράμμιση",
+Subscript			: "Δείκτης",
+Superscript			: "Εκθέτης",
+LeftJustify			: "Στοίχιση Αριστερά",
+CenterJustify		: "Στοίχιση στο Κέντρο",
+RightJustify		: "Στοίχιση Δεξιά",
+BlockJustify		: "Πλήρης Στοίχιση (Block)",
+DecreaseIndent		: "Μείωση Εσοχής",
+IncreaseIndent		: "Αύξηση Εσοχής",
+Undo				: "Undo",
+Redo				: "Redo",
+NumberedListLbl		: "Λίστα με Αριθμούς",
+NumberedList		: "Εισαγωγή/Διαγραφή Λίστας με Αριθμούς",
+BulletedListLbl		: "Λίστα με Bullets",
+BulletedList		: "Εισαγωγή/Διαγραφή Λίστας με Bullets",
+ShowTableBorders	: "Προβολή Ορίων Πίνακα",
+ShowDetails			: "Προβολή Λεπτομερειών",
+Style				: "Style",
+FontFormat			: "Μορφή Γραμματοσειράς",
+Font				: "Γραμματοσειρά",
+FontSize			: "Μέγεθος",
+TextColor			: "Χρώμα Γραμμάτων",
+BGColor				: "Χρώμα Υποβάθρου",
+Source				: "HTML κώδικας",
+Find				: "Αναζήτηση",
+Replace				: "Αντικατάσταση",
+SpellCheck			: "Check Spell",	//MISSING
+UniversalKeyboard	: "Universal Keyboard",	//MISSING
+
+Form			: "Form",	//MISSING
+Checkbox		: "Checkbox",	//MISSING
+RadioButton		: "Radio Button",	//MISSING
+TextField		: "Text Field",	//MISSING
+Textarea		: "Textarea",	//MISSING
+HiddenField		: "Hidden Field",	//MISSING
+Button			: "Button",	//MISSING
+SelectionField	: "Selection Field",	//MISSING
+ImageButton		: "Image Button",	//MISSING
+
+// Context Menu
+EditLink			: "Μεταβολή Συνδέσμου (Link)",
+InsertRow			: "Εισαγωγή Γραμμής",
+DeleteRows			: "Διαγραφή Γραμμών",
+InsertColumn		: "Εισαγωγή Κολώνας",
+DeleteColumns		: "Διαγραφή Κολωνών",
+InsertCell			: "Εισαγωγή Κελιού",
+DeleteCells			: "Διαγραφή Κελιών",
+MergeCells			: "Ενοποίηση Κελιών",
+SplitCell			: "Διαχωρισμός Κελιού",
+CellProperties		: "Ιδιότητες Κελιού",
+TableProperties		: "Ιδιότητες Πίνακα",
+ImageProperties		: "Ιδιότητες Εικόνας",
+FlashProperties		: "Flash Properties",	//MISSING
+
+AnchorProp			: "Anchor Properties",	//MISSING
+ButtonProp			: "Button Properties",	//MISSING
+CheckboxProp		: "Checkbox Properties",	//MISSING
+HiddenFieldProp		: "Hidden Field Properties",	//MISSING
+RadioButtonProp		: "Radio Button Properties",	//MISSING
+ImageButtonProp		: "Image Button Properties",	//MISSING
+TextFieldProp		: "Text Field Properties",	//MISSING
+SelectionFieldProp	: "Selection Field Properties",	//MISSING
+TextareaProp		: "Textarea Properties",	//MISSING
+FormProp			: "Form Properties",	//MISSING
+
+FontFormats			: "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6",
+
+// Alerts and Messages
+ProcessingXHTML		: "Επεξεργασία XHTML. Παρακαλώ περιμένετε...",
+Done				: "Έτοιμο",
+PasteWordConfirm	: "Το κείμενο που θέλετε να επικολήσετε, φαίνεται πως προέρχεται από το Word. Θέλετε να καθαριστεί πριν επικοληθεί;",
+NotCompatiblePaste	: "Αυτή η επιλογή είναι διαθέσιμη στον Internet Explorer έκδοση 5.5+. Θέλετε να γίνει η επικόλληση χωρίς καθαρισμό;",
+UnknownToolbarItem	: "Άγνωστο αντικείμενο της μπάρας εργαλείων \"%1\"",
+UnknownCommand		: "Άγνωστή εντολή \"%1\"",
+NotImplemented		: "Η εντολή δεν έχει ενεργοποιηθεί",
+UnknownToolbarSet	: "Η μπάρα εργαλείων \"%1\" δεν υπάρχει",
+NoActiveX			: "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Ακύρωση",
+DlgBtnClose			: "Κλείσιμο",
+DlgBtnBrowseServer	: "Browse Server",	//MISSING
+DlgAdvancedTag		: "Για προχωρημένους",
+DlgOpOther			: "&lt;Other&gt;",	//MISSING
+DlgInfoTab			: "Info",	//MISSING
+DlgAlertUrl			: "Please insert the URL",	//MISSING
+
+// General Dialogs Labels
+DlgGenNotSet		: "&lt;χωρίς&gt;",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Κατεύθυνση κειμένου",
+DlgGenLangDirLtr	: "Αριστερά προς Δεξιά (LTR)",
+DlgGenLangDirRtl	: "Δεξιά προς Αριστερά (RTL)",
+DlgGenLangCode		: "Κωδικός Γλώσσας",
+DlgGenAccessKey		: "Συντόμευση (Access Key)",
+DlgGenName			: "Name",
+DlgGenTabIndex		: "Tab Index",
+DlgGenLongDescr		: "Long Description URL",
+DlgGenClass			: "Stylesheet Classes",
+DlgGenTitle			: "Advisory Title",
+DlgGenContType		: "Advisory Content Type",
+DlgGenLinkCharset	: "Linked Resource Charset",
+DlgGenStyle			: "Style",
+
+// Image Dialog
+DlgImgTitle			: "Ιδιότητες Εικόνας",
+DlgImgInfoTab		: "Πληροφορίες Εικόνας",
+DlgImgBtnUpload		: "Αποστολή στον Διακομιστή",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Αποστολή",
+DlgImgAlt			: "Εναλλακτικό Κείμενο (ALT)",
+DlgImgWidth			: "Πλάτος",
+DlgImgHeight		: "Ύψος",
+DlgImgLockRatio		: "Κλείδωμα Αναλογίας",
+DlgBtnResetSize		: "Επαναφορά Αρχικού Μεγέθους",
+DlgImgBorder		: "Περιθώριο",
+DlgImgHSpace		: "Οριζόντιος Χώρος (HSpace)",
+DlgImgVSpace		: "Κάθετος Χώρος (VSpace)",
+DlgImgAlign			: "Ευθυγράμμιση (Align)",
+DlgImgAlignLeft		: "Αριστερά",
+DlgImgAlignAbsBottom: "Απόλυτα Κάτω (Abs Bottom)",
+DlgImgAlignAbsMiddle: "Απόλυτα στη Μέση (Abs Middle)",
+DlgImgAlignBaseline	: "Γραμμή Βάσης (Baseline)",
+DlgImgAlignBottom	: "Κάτω (Bottom)",
+DlgImgAlignMiddle	: "Μέση (Middle)",
+DlgImgAlignRight	: "Δεξιά (Right)",
+DlgImgAlignTextTop	: "Κορυφή Κειμένου (Text Top)",
+DlgImgAlignTop		: "Πάνω (Top)",
+DlgImgPreview		: "Προεπισκόπιση",
+DlgImgAlertUrl		: "Εισάγετε την τοποθεσία (URL) της εικόνας",
+DlgImgLinkTab		: "Link",	//MISSING
+
+// Flash Dialog
+DlgFlashTitle		: "Flash Properties",	//MISSING
+DlgFlashChkPlay		: "Auto Play",	//MISSING
+DlgFlashChkLoop		: "Loop",	//MISSING
+DlgFlashChkMenu		: "Enable Flash Menu",	//MISSING
+DlgFlashScale		: "Scale",	//MISSING
+DlgFlashScaleAll	: "Show all",	//MISSING
+DlgFlashScaleNoBorder	: "No Border",	//MISSING
+DlgFlashScaleFit	: "Exact Fit",	//MISSING
+
+// Link Dialog
+DlgLnkWindowTitle	: "Υπερσύνδεσμος (Link)",
+DlgLnkInfoTab		: "Link",
+DlgLnkTargetTab		: "Παράθυρο Στόχος (Target)",
+
+DlgLnkType			: "Τύπος Υπερσυνδέσμου (Link)",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Anchor in this page",
+DlgLnkTypeEMail		: "E-Mail",
+DlgLnkProto			: "Protocol",
+DlgLnkProtoOther	: "&lt;άλλο&gt;",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Επιλέξτε ένα Anchor",
+DlgLnkAnchorByName	: "Βάσει του Ονόματος (Name)του Anchor",
+DlgLnkAnchorById	: "Βάσει του Element Id",
+DlgLnkNoAnchors		: "&lt;Δεν υπάρχουν Anchors στο κείμενο&gt;",
+DlgLnkEMail			: "Διεύθυνση Ηλεκτρονικού Ταχυδρομείου",
+DlgLnkEMailSubject	: "Θέμα Μηνύματος",
+DlgLnkEMailBody		: "Κείμενο Μηνύματος",
+DlgLnkUpload		: "Αποστολή",
+DlgLnkBtnUpload		: "Αποστολή στον Διακομιστή",
+
+DlgLnkTarget		: "Παράθυρο Στόχος (Target)",
+DlgLnkTargetFrame	: "&lt;frame&gt;",
+DlgLnkTargetPopup	: "&lt;popup window&gt;",
+DlgLnkTargetBlank	: "Νέο Παράθυρο (_blank)",
+DlgLnkTargetParent	: "Γονικό Παράθυρο (_parent)",
+DlgLnkTargetSelf	: "Ίδιο Παράθυρο (_self)",
+DlgLnkTargetTop		: "Ανώτατο Παράθυρο (_top)",
+DlgLnkTargetFrameName	: "Target Frame Name",	//MISSING
+DlgLnkPopWinName	: "Όνομα Popup Window",
+DlgLnkPopWinFeat	: "Επιλογές Popup Window",
+DlgLnkPopResize		: "Με αλλαγή Μεγέθους",
+DlgLnkPopLocation	: "Μπάρα Τοποθεσίας",
+DlgLnkPopMenu		: "Μπάρα Menu",
+DlgLnkPopScroll		: "Μπάρες Κύλισης",
+DlgLnkPopStatus		: "Μπάρα Status",
+DlgLnkPopToolbar	: "Μπάρα Εργαλείων",
+DlgLnkPopFullScrn	: "Ολόκληρη η Οθόνη (IE)",
+DlgLnkPopDependent	: "Dependent (Netscape)",
+DlgLnkPopWidth		: "Πλάτος",
+DlgLnkPopHeight		: "Ύψος",
+DlgLnkPopLeft		: "Τοποθεσία Αριστερής Άκρης",
+DlgLnkPopTop		: "Τοποθεσία Πάνω Άκρης",
+
+DlnLnkMsgNoUrl		: "Εισάγετε την τοποθεσία (URL) του υπερσυνδέσμου (Link)",
+DlnLnkMsgNoEMail	: "Εισάγετε την διεύθυνση ηλεκτρονικού ταχυδρομείου",
+DlnLnkMsgNoAnchor	: "Επιλέξτε ένα Anchor",
+
+// Color Dialog
+DlgColorTitle		: "Επιλογή χρώματος",
+DlgColorBtnClear	: "Καθαρισμός",
+DlgColorHighlight	: "Προεπισκόπιση",
+DlgColorSelected	: "Επιλεγμένο",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Επιλέξτε ένα Smiley",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Επιλέξτε ένα Ειδικό Σύμβολο",
+
+// Table Dialog
+DlgTableTitle		: "Ιδιότητες Πίνακα",
+DlgTableRows		: "Γραμμές",
+DlgTableColumns		: "Κολώνες",
+DlgTableBorder		: "Μέγεθος Περιθωρίου",
+DlgTableAlign		: "Στοίχιση",
+DlgTableAlignNotSet	: "<χωρίς>",
+DlgTableAlignLeft	: "Αριστερά",
+DlgTableAlignCenter	: "Κέντρο",
+DlgTableAlignRight	: "Δεξιά",
+DlgTableWidth		: "Πλάτος",
+DlgTableWidthPx		: "pixels",
+DlgTableWidthPc		: "\%",
+DlgTableHeight		: "Ύψος",
+DlgTableCellSpace	: "Cell spacing",
+DlgTableCellPad		: "Cell padding",
+DlgTableCaption		: "Υπέρτιτλος",
+
+// Table Cell Dialog
+DlgCellTitle		: "Ιδιότητες Κελιού",
+DlgCellWidth		: "Πλάτος",
+DlgCellWidthPx		: "pixels",
+DlgCellWidthPc		: "\%",
+DlgCellHeight		: "Ύψος",
+DlgCellWordWrap		: "Με αλλαγή γραμμής",
+DlgCellWordWrapNotSet	: "<χωρίς>",
+DlgCellWordWrapYes	: "Ναι",
+DlgCellWordWrapNo	: "Όχι",
+DlgCellHorAlign		: "Οριζόντια Στοίχιση",
+DlgCellHorAlignNotSet	: "<χωρίς>",
+DlgCellHorAlignLeft	: "Αριστερά",
+DlgCellHorAlignCenter	: "Κέντρο",
+DlgCellHorAlignRight: "Δεξιά",
+DlgCellVerAlign		: "Κάθετη Στοίχιση",
+DlgCellVerAlignNotSet	: "<χωρίς>",
+DlgCellVerAlignTop	: "Πάνω (Top)",
+DlgCellVerAlignMiddle	: "Μέση (Middle)",
+DlgCellVerAlignBottom	: "Κάτω (Bottom)",
+DlgCellVerAlignBaseline	: "Γραμμή Βάσης (Baseline)",
+DlgCellRowSpan		: "Αριθμός Γραμμών (Rows Span)",
+DlgCellCollSpan		: "Αριθμός Κολωνών (Columns Span)",
+DlgCellBackColor	: "Χρώμα Υποβάθρου",
+DlgCellBorderColor	: "Χρώμα Περιθωρίου",
+DlgCellBtnSelect	: "Επιλογή...",
+
+// Find Dialog
+DlgFindTitle		: "Αναζήτηση",
+DlgFindFindBtn		: "Αναζήτηση",
+DlgFindNotFoundMsg	: "Το κείμενο δεν βρέθηκε.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Αντικατάσταση",
+DlgReplaceFindLbl		: "Αναζήτηση:",
+DlgReplaceReplaceLbl	: "Αντικατάσταση με:",
+DlgReplaceCaseChk		: "Έλεγχος πεζών/κεφαλαίων",
+DlgReplaceReplaceBtn	: "Αντικατάσταση",
+DlgReplaceReplAllBtn	: "Αντικατάσταση Όλων",
+DlgReplaceWordChk		: "Εύρεση πλήρους λέξης",
+
+// Paste Operations / Dialog
+PasteErrorPaste	: "Οι ρυθμίσεις ασφαλείας του φυλλομετρητή σας δεν επιτρέπουν την επιλεγμένη εργασία επικόλλησης. Χρησιμοποιείστε το πληκτρολόγιο (Ctrl+V).",
+PasteErrorCut	: "Οι ρυθμίσεις ασφαλείας του φυλλομετρητή σας δεν επιτρέπουν την επιλεγμένη εργασία αποκοπής. Χρησιμοποιείστε το πληκτρολόγιο (Ctrl+X).",
+PasteErrorCopy	: "Οι ρυθμίσεις ασφαλείας του φυλλομετρητή σας δεν επιτρέπουν την επιλεγμένη εργασία αντιγραφής. Χρησιμοποιείστε το πληκτρολόγιο (Ctrl+C).",
+
+PasteAsText		: "Επικόλληση ως Απλό Κείμενο",
+PasteFromWord	: "Επικόλληση από το Word",
+
+DlgPasteMsg2	: "Please paste inside the following box using the keyboard (<STRONG>Ctrl+V</STRONG>) and hit <STRONG>OK</STRONG>.",	//MISSING
+DlgPasteIgnoreFont		: "Ignore Font Face definitions",	//MISSING
+DlgPasteRemoveStyles	: "Remove Styles definitions",	//MISSING
+DlgPasteCleanBox		: "Clean Up Box",	//MISSING
+
+
+// Color Picker
+ColorAutomatic	: "Αυτόματο",
+ColorMoreColors	: "Περισσότερα χρώματα...",
+
+// Document Properties
+DocProps		: "Document Properties",	//MISSING
+
+// Anchor Dialog
+DlgAnchorTitle		: "Anchor Properties",	//MISSING
+DlgAnchorName		: "Anchor Name",	//MISSING
+DlgAnchorErrorName	: "Please type the anchor name",	//MISSING
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Not in dictionary",	//MISSING
+DlgSpellChangeTo		: "Change to",	//MISSING
+DlgSpellBtnIgnore		: "Ignore",	//MISSING
+DlgSpellBtnIgnoreAll	: "Ignore All",	//MISSING
+DlgSpellBtnReplace		: "Replace",	//MISSING
+DlgSpellBtnReplaceAll	: "Replace All",	//MISSING
+DlgSpellBtnUndo			: "Undo",	//MISSING
+DlgSpellNoSuggestions	: "- No suggestions -",	//MISSING
+DlgSpellProgress		: "Spell check in progress...",	//MISSING
+DlgSpellNoMispell		: "Spell check complete: No misspellings found",	//MISSING
+DlgSpellNoChanges		: "Spell check complete: No words changed",	//MISSING
+DlgSpellOneChange		: "Spell check complete: One word changed",	//MISSING
+DlgSpellManyChanges		: "Spell check complete: %1 words changed",	//MISSING
+
+IeSpellDownload			: "Spell checker not installed. Do you want to download it now?",	//MISSING
+
+// Button Dialog
+DlgButtonText	: "Text (Value)",	//MISSING
+DlgButtonType	: "Type",	//MISSING
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Name",	//MISSING
+DlgCheckboxValue	: "Value",	//MISSING
+DlgCheckboxSelected	: "Selected",	//MISSING
+
+// Form Dialog
+DlgFormName		: "Name",	//MISSING
+DlgFormAction	: "Action",	//MISSING
+DlgFormMethod	: "Method",	//MISSING
+
+// Select Field Dialog
+DlgSelectName		: "Name",	//MISSING
+DlgSelectValue		: "Value",	//MISSING
+DlgSelectSize		: "Size",	//MISSING
+DlgSelectLines		: "lines",	//MISSING
+DlgSelectChkMulti	: "Allow multiple selections",	//MISSING
+DlgSelectOpAvail	: "Available Options",	//MISSING
+DlgSelectOpText		: "Text",	//MISSING
+DlgSelectOpValue	: "Value",	//MISSING
+DlgSelectBtnAdd		: "Add",	//MISSING
+DlgSelectBtnModify	: "Modify",	//MISSING
+DlgSelectBtnUp		: "Up",	//MISSING
+DlgSelectBtnDown	: "Down",	//MISSING
+DlgSelectBtnSetValue : "Set as selected value",	//MISSING
+DlgSelectBtnDelete	: "Delete",	//MISSING
+
+// Textarea Dialog
+DlgTextareaName	: "Name",	//MISSING
+DlgTextareaCols	: "Columns",	//MISSING
+DlgTextareaRows	: "Rows",	//MISSING
+
+// Text Field Dialog
+DlgTextName			: "Name",	//MISSING
+DlgTextValue		: "Value",	//MISSING
+DlgTextCharWidth	: "Character Width",	//MISSING
+DlgTextMaxChars		: "Maximum Characters",	//MISSING
+DlgTextType			: "Type",	//MISSING
+DlgTextTypeText		: "Text",	//MISSING
+DlgTextTypePass		: "Password",	//MISSING
+
+// Hidden Field Dialog
+DlgHiddenName	: "Name",	//MISSING
+DlgHiddenValue	: "Value",	//MISSING
+
+// Bulleted List Dialog
+BulletedListProp	: "Bulleted List Properties",	//MISSING
+NumberedListProp	: "Numbered List Properties",	//MISSING
+DlgLstType			: "Type",	//MISSING
+DlgLstTypeCircle	: "Circle",	//MISSING
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "Square",	//MISSING
+DlgLstTypeNumbers	: "Numbers (1, 2, 3)",	//MISSING
+DlgLstTypeLCase		: "Lowercase Letters (a, b, c)",	//MISSING
+DlgLstTypeUCase		: "Uppercase Letters (A, B, C)",	//MISSING
+DlgLstTypeSRoman	: "Small Roman Numerals (i, ii, iii)",	//MISSING
+DlgLstTypeLRoman	: "Large Roman Numerals (I, II, III)",	//MISSING
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "General",	//MISSING
+DlgDocBackTab		: "Background",	//MISSING
+DlgDocColorsTab		: "Colors and Margins",	//MISSING
+DlgDocMetaTab		: "Meta Data",	//MISSING
+
+DlgDocPageTitle		: "Page Title",	//MISSING
+DlgDocLangDir		: "Language Direction",	//MISSING
+DlgDocLangDirLTR	: "Left to Right (LTR)",	//MISSING
+DlgDocLangDirRTL	: "Right to Left (RTL)",	//MISSING
+DlgDocLangCode		: "Language Code",	//MISSING
+DlgDocCharSet		: "Character Set Encoding",	//MISSING
+DlgDocCharSetOther	: "Other Character Set Encoding",	//MISSING
+
+DlgDocDocType		: "Document Type Heading",	//MISSING
+DlgDocDocTypeOther	: "Other Document Type Heading",	//MISSING
+DlgDocIncXHTML		: "Include XHTML Declarations",	//MISSING
+DlgDocBgColor		: "Background Color",	//MISSING
+DlgDocBgImage		: "Background Image URL",	//MISSING
+DlgDocBgNoScroll	: "Nonscrolling Background",	//MISSING
+DlgDocCText			: "Text",	//MISSING
+DlgDocCLink			: "Link",	//MISSING
+DlgDocCVisited		: "Visited Link",	//MISSING
+DlgDocCActive		: "Active Link",	//MISSING
+DlgDocMargins		: "Page Margins",	//MISSING
+DlgDocMaTop			: "Top",	//MISSING
+DlgDocMaLeft		: "Left",	//MISSING
+DlgDocMaRight		: "Right",	//MISSING
+DlgDocMaBottom		: "Bottom",	//MISSING
+DlgDocMeIndex		: "Document Indexing Keywords (comma separated)",	//MISSING
+DlgDocMeDescr		: "Document Description",	//MISSING
+DlgDocMeAuthor		: "Author",	//MISSING
+DlgDocMeCopy		: "Copyright",	//MISSING
+DlgDocPreview		: "Preview",	//MISSING
+
+// Templates Dialog
+Templates			: "Templates",	//MISSING
+DlgTemplatesTitle	: "Content Templates",	//MISSING
+DlgTemplatesSelMsg	: "Please select the template to open in the editor<br>(the actual contents will be lost):",	//MISSING
+DlgTemplatesLoading	: "Loading templates list. Please wait...",	//MISSING
+DlgTemplatesNoTpl	: "(No templates defined)",	//MISSING
+
+// About Dialog
+DlgAboutAboutTab	: "About",	//MISSING
+DlgAboutBrowserInfoTab	: "Browser Info",	//MISSING
+DlgAboutVersion		: "έκδοση",
+DlgAboutLicense		: "Άδεια χρήσης υπό τους όρους της GNU Lesser General Public License",
+DlgAboutInfo		: "Για περισσότερες πληροφορίες"
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/lang/en-au.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/lang/en-au.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/lang/en-au.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,476 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: en-au.js
+ * 	English (Australia) language file.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ * 		Christopher Dawes (fckeditor at dawes.id.au)
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Collapse Toolbar",
+ToolbarExpand		: "Expand Toolbar",
+
+// Toolbar Items and Context Menu
+Save				: "Save",
+NewPage				: "New Page",
+Preview				: "Preview",
+Cut					: "Cut",
+Copy				: "Copy",
+Paste				: "Paste",
+PasteText			: "Paste as plain text",
+PasteWord			: "Paste from Word",
+Print				: "Print",
+SelectAll			: "Select All",
+RemoveFormat		: "Remove Format",
+InsertLinkLbl		: "Link",
+InsertLink			: "Insert/Edit Link",
+RemoveLink			: "Remove Link",
+Anchor				: "Insert/Edit Anchor",
+InsertImageLbl		: "Image",
+InsertImage			: "Insert/Edit Image",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Insert/Edit Flash",
+InsertTableLbl		: "Table",
+InsertTable			: "Insert/Edit Table",
+InsertLineLbl		: "Line",
+InsertLine			: "Insert Horizontal Line",
+InsertSpecialCharLbl: "Special Char",
+InsertSpecialChar	: "Insert Special Character",
+InsertSmileyLbl		: "Smiley",
+InsertSmiley		: "Insert Smiley",
+About				: "About FCKeditor",
+Bold				: "Bold",
+Italic				: "Italic",
+Underline			: "Underline",
+StrikeThrough		: "Strike Through",
+Subscript			: "Subscript",
+Superscript			: "Superscript",
+LeftJustify			: "Left Justify",
+CenterJustify		: "Center Justify",
+RightJustify		: "Right Justify",
+BlockJustify		: "Block Justify",
+DecreaseIndent		: "Decrease Indent",
+IncreaseIndent		: "Increase Indent",
+Undo				: "Undo",
+Redo				: "Redo",
+NumberedListLbl		: "Numbered List",
+NumberedList		: "Insert/Remove Numbered List",
+BulletedListLbl		: "Bulleted List",
+BulletedList		: "Insert/Remove Bulleted List",
+ShowTableBorders	: "Show Table Borders",
+ShowDetails			: "Show Details",
+Style				: "Style",
+FontFormat			: "Format",
+Font				: "Font",
+FontSize			: "Size",
+TextColor			: "Text Color",
+BGColor				: "Background Color",
+Source				: "Source",
+Find				: "Find",
+Replace				: "Replace",
+SpellCheck			: "Check Spell",
+UniversalKeyboard	: "Universal Keyboard",
+
+Form			: "Form",
+Checkbox		: "Checkbox",
+RadioButton		: "Radio Button",
+TextField		: "Text Field",
+Textarea		: "Textarea",
+HiddenField		: "Hidden Field",
+Button			: "Button",
+SelectionField	: "Selection Field",
+ImageButton		: "Image Button",
+
+// Context Menu
+EditLink			: "Edit Link",
+InsertRow			: "Insert Row",
+DeleteRows			: "Delete Rows",
+InsertColumn		: "Insert Column",
+DeleteColumns		: "Delete Columns",
+InsertCell			: "Insert Cell",
+DeleteCells			: "Delete Cells",
+MergeCells			: "Merge Cells",
+SplitCell			: "Split Cell",
+CellProperties		: "Cell Properties",
+TableProperties		: "Table Properties",
+ImageProperties		: "Image Properties",
+FlashProperties		: "Flash Properties",
+
+AnchorProp			: "Anchor Properties",
+ButtonProp			: "Button Properties",
+CheckboxProp		: "Checkbox Properties",
+HiddenFieldProp		: "Hidden Field Properties",
+RadioButtonProp		: "Radio Button Properties",
+ImageButtonProp		: "Image Button Properties",
+TextFieldProp		: "Text Field Properties",
+SelectionFieldProp	: "Selection Field Properties",
+TextareaProp		: "Textarea Properties",
+FormProp			: "Form Properties",
+
+FontFormats			: "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Paragraph (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "Processing XHTML. Please wait...",
+Done				: "Done",
+PasteWordConfirm	: "The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?",
+NotCompatiblePaste	: "This command is available for Internet Explorer version 5.5 or more. Do you want to paste without cleaning?",
+UnknownToolbarItem	: "Unknown toolbar item \"%1\"",
+UnknownCommand		: "Unknown command name \"%1\"",
+NotImplemented		: "Command not implemented",
+UnknownToolbarSet	: "Toolbar set \"%1\" doesn't exist",
+NoActiveX			: "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Cancel",
+DlgBtnClose			: "Close",
+DlgBtnBrowseServer	: "Browse Server",
+DlgAdvancedTag		: "Advanced",
+DlgOpOther			: "&lt;Other&gt;",
+DlgInfoTab			: "Info",
+DlgAlertUrl			: "Please insert the URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "&lt;not set&gt;",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Language Direction",
+DlgGenLangDirLtr	: "Left to Right (LTR)",
+DlgGenLangDirRtl	: "Right to Left (RTL)",
+DlgGenLangCode		: "Language Code",
+DlgGenAccessKey		: "Access Key",
+DlgGenName			: "Name",
+DlgGenTabIndex		: "Tab Index",
+DlgGenLongDescr		: "Long Description URL",
+DlgGenClass			: "Stylesheet Classes",
+DlgGenTitle			: "Advisory Title",
+DlgGenContType		: "Advisory Content Type",
+DlgGenLinkCharset	: "Linked Resource Charset",
+DlgGenStyle			: "Style",
+
+// Image Dialog
+DlgImgTitle			: "Image Properties",
+DlgImgInfoTab		: "Image Info",
+DlgImgBtnUpload		: "Send it to the Server",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Upload",
+DlgImgAlt			: "Alternative Text",
+DlgImgWidth			: "Width",
+DlgImgHeight		: "Height",
+DlgImgLockRatio		: "Lock Ratio",
+DlgBtnResetSize		: "Reset Size",
+DlgImgBorder		: "Border",
+DlgImgHSpace		: "HSpace",
+DlgImgVSpace		: "VSpace",
+DlgImgAlign			: "Align",
+DlgImgAlignLeft		: "Left",
+DlgImgAlignAbsBottom: "Abs Bottom",
+DlgImgAlignAbsMiddle: "Abs Middle",
+DlgImgAlignBaseline	: "Baseline",
+DlgImgAlignBottom	: "Bottom",
+DlgImgAlignMiddle	: "Middle",
+DlgImgAlignRight	: "Right",
+DlgImgAlignTextTop	: "Text Top",
+DlgImgAlignTop		: "Top",
+DlgImgPreview		: "Preview",
+DlgImgAlertUrl		: "Please type the image URL",
+DlgImgLinkTab		: "Link",
+
+// Flash Dialog
+DlgFlashTitle		: "Flash Properties",
+DlgFlashChkPlay		: "Auto Play",
+DlgFlashChkLoop		: "Loop",
+DlgFlashChkMenu		: "Enable Flash Menu",
+DlgFlashScale		: "Scale",
+DlgFlashScaleAll	: "Show all",
+DlgFlashScaleNoBorder	: "No Border",
+DlgFlashScaleFit	: "Exact Fit",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Link",
+DlgLnkInfoTab		: "Link Info",
+DlgLnkTargetTab		: "Target",
+
+DlgLnkType			: "Link Type",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Anchor in this page",
+DlgLnkTypeEMail		: "E-Mail",
+DlgLnkProto			: "Protocol",
+DlgLnkProtoOther	: "&lt;other&gt;",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Select an Anchor",
+DlgLnkAnchorByName	: "By Anchor Name",
+DlgLnkAnchorById	: "By Element Id",
+DlgLnkNoAnchors		: "&lt;No anchors available in the document&gt;",
+DlgLnkEMail			: "E-Mail Address",
+DlgLnkEMailSubject	: "Message Subject",
+DlgLnkEMailBody		: "Message Body",
+DlgLnkUpload		: "Upload",
+DlgLnkBtnUpload		: "Send it to the Server",
+
+DlgLnkTarget		: "Target",
+DlgLnkTargetFrame	: "&lt;frame&gt;",
+DlgLnkTargetPopup	: "&lt;popup window&gt;",
+DlgLnkTargetBlank	: "New Window (_blank)",
+DlgLnkTargetParent	: "Parent Window (_parent)",
+DlgLnkTargetSelf	: "Same Window (_self)",
+DlgLnkTargetTop		: "Topmost Window (_top)",
+DlgLnkTargetFrameName	: "Target Frame Name",
+DlgLnkPopWinName	: "Popup Window Name",
+DlgLnkPopWinFeat	: "Popup Window Features",
+DlgLnkPopResize		: "Resizable",
+DlgLnkPopLocation	: "Location Bar",
+DlgLnkPopMenu		: "Menu Bar",
+DlgLnkPopScroll		: "Scroll Bars",
+DlgLnkPopStatus		: "Status Bar",
+DlgLnkPopToolbar	: "Toolbar",
+DlgLnkPopFullScrn	: "Full Screen (IE)",
+DlgLnkPopDependent	: "Dependent (Netscape)",
+DlgLnkPopWidth		: "Width",
+DlgLnkPopHeight		: "Height",
+DlgLnkPopLeft		: "Left Position",
+DlgLnkPopTop		: "Top Position",
+
+DlnLnkMsgNoUrl		: "Please type the link URL",
+DlnLnkMsgNoEMail	: "Please type the e-mail address",
+DlnLnkMsgNoAnchor	: "Please select an anchor",
+
+// Color Dialog
+DlgColorTitle		: "Select Color",
+DlgColorBtnClear	: "Clear",
+DlgColorHighlight	: "Highlight",
+DlgColorSelected	: "Selected",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Insert a Smiley",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Select Special Character",
+
+// Table Dialog
+DlgTableTitle		: "Table Properties",
+DlgTableRows		: "Rows",
+DlgTableColumns		: "Columns",
+DlgTableBorder		: "Border size",
+DlgTableAlign		: "Alignment",
+DlgTableAlignNotSet	: "<Not set>",
+DlgTableAlignLeft	: "Left",
+DlgTableAlignCenter	: "Centre",
+DlgTableAlignRight	: "Right",
+DlgTableWidth		: "Width",
+DlgTableWidthPx		: "pixels",
+DlgTableWidthPc		: "percent",
+DlgTableHeight		: "Height",
+DlgTableCellSpace	: "Cell spacing",
+DlgTableCellPad		: "Cell padding",
+DlgTableCaption		: "Caption",
+
+// Table Cell Dialog
+DlgCellTitle		: "Cell Properties",
+DlgCellWidth		: "Width",
+DlgCellWidthPx		: "pixels",
+DlgCellWidthPc		: "percent",
+DlgCellHeight		: "Height",
+DlgCellWordWrap		: "Word Wrap",
+DlgCellWordWrapNotSet	: "&lt;Not set&gt;",
+DlgCellWordWrapYes	: "Yes",
+DlgCellWordWrapNo	: "No",
+DlgCellHorAlign		: "Horizontal Alignment",
+DlgCellHorAlignNotSet	: "&lt;Not set&gt;",
+DlgCellHorAlignLeft	: "Left",
+DlgCellHorAlignCenter	: "Centre",
+DlgCellHorAlignRight: "Right",
+DlgCellVerAlign		: "Vertical Alignment",
+DlgCellVerAlignNotSet	: "&lt;Not set&gt;",
+DlgCellVerAlignTop	: "Top",
+DlgCellVerAlignMiddle	: "Middle",
+DlgCellVerAlignBottom	: "Bottom",
+DlgCellVerAlignBaseline	: "Baseline",
+DlgCellRowSpan		: "Rows Span",
+DlgCellCollSpan		: "Columns Span",
+DlgCellBackColor	: "Background Color",
+DlgCellBorderColor	: "Border Color",
+DlgCellBtnSelect	: "Select...",
+
+// Find Dialog
+DlgFindTitle		: "Find",
+DlgFindFindBtn		: "Find",
+DlgFindNotFoundMsg	: "The specified text was not found.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Replace",
+DlgReplaceFindLbl		: "Find what:",
+DlgReplaceReplaceLbl	: "Replace with:",
+DlgReplaceCaseChk		: "Match case",
+DlgReplaceReplaceBtn	: "Replace",
+DlgReplaceReplAllBtn	: "Replace All",
+DlgReplaceWordChk		: "Match whole word",
+
+// Paste Operations / Dialog
+PasteErrorPaste	: "Your browser security settings don't permit the editor to automaticaly execute pasting operations. Please use the keyboard for that (Ctrl+V).",
+PasteErrorCut	: "Your browser security settings don't permit the editor to automaticaly execute cutting operations. Please use the keyboard for that (Ctrl+X).",
+PasteErrorCopy	: "Your browser security settings don't permit the editor to automaticaly execute copying operations. Please use the keyboard for that (Ctrl+C).",
+
+PasteAsText		: "Paste as Plain Text",
+PasteFromWord	: "Paste from Word",
+
+DlgPasteMsg2	: "Please paste inside the following box using the keyboard (<STRONG>Ctrl+V</STRONG>) and hit <STRONG>OK</STRONG>.",
+DlgPasteIgnoreFont		: "Ignore Font Face definitions",
+DlgPasteRemoveStyles	: "Remove Styles definitions",
+DlgPasteCleanBox		: "Clean Up Box",
+
+
+// Color Picker
+ColorAutomatic	: "Automatic",
+ColorMoreColors	: "More Colors...",
+
+// Document Properties
+DocProps		: "Document Properties",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Anchor Properties",
+DlgAnchorName		: "Anchor Name",
+DlgAnchorErrorName	: "Please type the anchor name",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Not in dictionary",
+DlgSpellChangeTo		: "Change to",
+DlgSpellBtnIgnore		: "Ignore",
+DlgSpellBtnIgnoreAll	: "Ignore All",
+DlgSpellBtnReplace		: "Replace",
+DlgSpellBtnReplaceAll	: "Replace All",
+DlgSpellBtnUndo			: "Undo",
+DlgSpellNoSuggestions	: "- No suggestions -",
+DlgSpellProgress		: "Spell check in progress...",
+DlgSpellNoMispell		: "Spell check complete: No misspellings found",
+DlgSpellNoChanges		: "Spell check complete: No words changed",
+DlgSpellOneChange		: "Spell check complete: One word changed",
+DlgSpellManyChanges		: "Spell check complete: %1 words changed",
+
+IeSpellDownload			: "Spell checker not installed. Do you want to download it now?",
+
+// Button Dialog
+DlgButtonText	: "Text (Value)",
+DlgButtonType	: "Type",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Name",
+DlgCheckboxValue	: "Value",
+DlgCheckboxSelected	: "Selected",
+
+// Form Dialog
+DlgFormName		: "Name",
+DlgFormAction	: "Action",
+DlgFormMethod	: "Method",
+
+// Select Field Dialog
+DlgSelectName		: "Name",
+DlgSelectValue		: "Value",
+DlgSelectSize		: "Size",
+DlgSelectLines		: "lines",
+DlgSelectChkMulti	: "Allow multiple selections",
+DlgSelectOpAvail	: "Available Options",
+DlgSelectOpText		: "Text",
+DlgSelectOpValue	: "Value",
+DlgSelectBtnAdd		: "Add",
+DlgSelectBtnModify	: "Modify",
+DlgSelectBtnUp		: "Up",
+DlgSelectBtnDown	: "Down",
+DlgSelectBtnSetValue : "Set as selected value",
+DlgSelectBtnDelete	: "Delete",
+
+// Textarea Dialog
+DlgTextareaName	: "Name",
+DlgTextareaCols	: "Columns",
+DlgTextareaRows	: "Rows",
+
+// Text Field Dialog
+DlgTextName			: "Name",
+DlgTextValue		: "Value",
+DlgTextCharWidth	: "Character Width",
+DlgTextMaxChars		: "Maximum Characters",
+DlgTextType			: "Type",
+DlgTextTypeText		: "Text",
+DlgTextTypePass		: "Password",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Name",
+DlgHiddenValue	: "Value",
+
+// Bulleted List Dialog
+BulletedListProp	: "Bulleted List Properties",
+NumberedListProp	: "Numbered List Properties",
+DlgLstType			: "Type",
+DlgLstTypeCircle	: "Circle",
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "Square",
+DlgLstTypeNumbers	: "Numbers (1, 2, 3)",
+DlgLstTypeLCase		: "Lowercase Letters (a, b, c)",
+DlgLstTypeUCase		: "Uppercase Letters (A, B, C)",
+DlgLstTypeSRoman	: "Small Roman Numerals (i, ii, iii)",
+DlgLstTypeLRoman	: "Large Roman Numerals (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "General",
+DlgDocBackTab		: "Background",
+DlgDocColorsTab		: "Colors and Margins",
+DlgDocMetaTab		: "Meta Data",
+
+DlgDocPageTitle		: "Page Title",
+DlgDocLangDir		: "Language Direction",
+DlgDocLangDirLTR	: "Left to Right (LTR)",
+DlgDocLangDirRTL	: "Right to Left (RTL)",
+DlgDocLangCode		: "Language Code",
+DlgDocCharSet		: "Character Set Encoding",
+DlgDocCharSetOther	: "Other Character Set Encoding",
+
+DlgDocDocType		: "Document Type Heading",
+DlgDocDocTypeOther	: "Other Document Type Heading",
+DlgDocIncXHTML		: "Include XHTML Declarations",
+DlgDocBgColor		: "Background Color",
+DlgDocBgImage		: "Background Image URL",
+DlgDocBgNoScroll	: "Nonscrolling Background",
+DlgDocCText			: "Text",
+DlgDocCLink			: "Link",
+DlgDocCVisited		: "Visited Link",
+DlgDocCActive		: "Active Link",
+DlgDocMargins		: "Page Margins",
+DlgDocMaTop			: "Top",
+DlgDocMaLeft		: "Left",
+DlgDocMaRight		: "Right",
+DlgDocMaBottom		: "Bottom",
+DlgDocMeIndex		: "Document Indexing Keywords (comma separated)",
+DlgDocMeDescr		: "Document Description",
+DlgDocMeAuthor		: "Author",
+DlgDocMeCopy		: "Copyright",
+DlgDocPreview		: "Preview",
+
+// Templates Dialog
+Templates			: "Templates",
+DlgTemplatesTitle	: "Content Templates",
+DlgTemplatesSelMsg	: "Please select the template to open in the editor<br>(the actual contents will be lost):",
+DlgTemplatesLoading	: "Loading templates list. Please wait...",
+DlgTemplatesNoTpl	: "(No templates defined)",
+
+// About Dialog
+DlgAboutAboutTab	: "About",
+DlgAboutBrowserInfoTab	: "Browser Info",
+DlgAboutVersion		: "version",
+DlgAboutLicense		: "Licensed under the terms of the GNU Lesser General Public License",
+DlgAboutInfo		: "For further information go to"
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/lang/en-uk.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/lang/en-uk.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/lang/en-uk.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,476 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: en-uk.js
+ * 	English (United Kingdom) language file.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ * 		Christopher Dawes (fckeditor at dawes.id.au)
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Collapse Toolbar",
+ToolbarExpand		: "Expand Toolbar",
+
+// Toolbar Items and Context Menu
+Save				: "Save",
+NewPage				: "New Page",
+Preview				: "Preview",
+Cut					: "Cut",
+Copy				: "Copy",
+Paste				: "Paste",
+PasteText			: "Paste as plain text",
+PasteWord			: "Paste from Word",
+Print				: "Print",
+SelectAll			: "Select All",
+RemoveFormat		: "Remove Format",
+InsertLinkLbl		: "Link",
+InsertLink			: "Insert/Edit Link",
+RemoveLink			: "Remove Link",
+Anchor				: "Insert/Edit Anchor",
+InsertImageLbl		: "Image",
+InsertImage			: "Insert/Edit Image",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Insert/Edit Flash",
+InsertTableLbl		: "Table",
+InsertTable			: "Insert/Edit Table",
+InsertLineLbl		: "Line",
+InsertLine			: "Insert Horizontal Line",
+InsertSpecialCharLbl: "Special Char",
+InsertSpecialChar	: "Insert Special Character",
+InsertSmileyLbl		: "Smiley",
+InsertSmiley		: "Insert Smiley",
+About				: "About FCKeditor",
+Bold				: "Bold",
+Italic				: "Italic",
+Underline			: "Underline",
+StrikeThrough		: "Strike Through",
+Subscript			: "Subscript",
+Superscript			: "Superscript",
+LeftJustify			: "Left Justify",
+CenterJustify		: "Center Justify",
+RightJustify		: "Right Justify",
+BlockJustify		: "Block Justify",
+DecreaseIndent		: "Decrease Indent",
+IncreaseIndent		: "Increase Indent",
+Undo				: "Undo",
+Redo				: "Redo",
+NumberedListLbl		: "Numbered List",
+NumberedList		: "Insert/Remove Numbered List",
+BulletedListLbl		: "Bulleted List",
+BulletedList		: "Insert/Remove Bulleted List",
+ShowTableBorders	: "Show Table Borders",
+ShowDetails			: "Show Details",
+Style				: "Style",
+FontFormat			: "Format",
+Font				: "Font",
+FontSize			: "Size",
+TextColor			: "Text Color",
+BGColor				: "Background Color",
+Source				: "Source",
+Find				: "Find",
+Replace				: "Replace",
+SpellCheck			: "Check Spell",
+UniversalKeyboard	: "Universal Keyboard",
+
+Form			: "Form",
+Checkbox		: "Checkbox",
+RadioButton		: "Radio Button",
+TextField		: "Text Field",
+Textarea		: "Textarea",
+HiddenField		: "Hidden Field",
+Button			: "Button",
+SelectionField	: "Selection Field",
+ImageButton		: "Image Button",
+
+// Context Menu
+EditLink			: "Edit Link",
+InsertRow			: "Insert Row",
+DeleteRows			: "Delete Rows",
+InsertColumn		: "Insert Column",
+DeleteColumns		: "Delete Columns",
+InsertCell			: "Insert Cell",
+DeleteCells			: "Delete Cells",
+MergeCells			: "Merge Cells",
+SplitCell			: "Split Cell",
+CellProperties		: "Cell Properties",
+TableProperties		: "Table Properties",
+ImageProperties		: "Image Properties",
+FlashProperties		: "Flash Properties",
+
+AnchorProp			: "Anchor Properties",
+ButtonProp			: "Button Properties",
+CheckboxProp		: "Checkbox Properties",
+HiddenFieldProp		: "Hidden Field Properties",
+RadioButtonProp		: "Radio Button Properties",
+ImageButtonProp		: "Image Button Properties",
+TextFieldProp		: "Text Field Properties",
+SelectionFieldProp	: "Selection Field Properties",
+TextareaProp		: "Textarea Properties",
+FormProp			: "Form Properties",
+
+FontFormats			: "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Paragraph (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "Processing XHTML. Please wait...",
+Done				: "Done",
+PasteWordConfirm	: "The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?",
+NotCompatiblePaste	: "This command is available for Internet Explorer version 5.5 or more. Do you want to paste without cleaning?",
+UnknownToolbarItem	: "Unknown toolbar item \"%1\"",
+UnknownCommand		: "Unknown command name \"%1\"",
+NotImplemented		: "Command not implemented",
+UnknownToolbarSet	: "Toolbar set \"%1\" doesn't exist",
+NoActiveX			: "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Cancel",
+DlgBtnClose			: "Close",
+DlgBtnBrowseServer	: "Browse Server",
+DlgAdvancedTag		: "Advanced",
+DlgOpOther			: "&lt;Other&gt;",
+DlgInfoTab			: "Info",
+DlgAlertUrl			: "Please insert the URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "&lt;not set&gt;",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Language Direction",
+DlgGenLangDirLtr	: "Left to Right (LTR)",
+DlgGenLangDirRtl	: "Right to Left (RTL)",
+DlgGenLangCode		: "Language Code",
+DlgGenAccessKey		: "Access Key",
+DlgGenName			: "Name",
+DlgGenTabIndex		: "Tab Index",
+DlgGenLongDescr		: "Long Description URL",
+DlgGenClass			: "Stylesheet Classes",
+DlgGenTitle			: "Advisory Title",
+DlgGenContType		: "Advisory Content Type",
+DlgGenLinkCharset	: "Linked Resource Charset",
+DlgGenStyle			: "Style",
+
+// Image Dialog
+DlgImgTitle			: "Image Properties",
+DlgImgInfoTab		: "Image Info",
+DlgImgBtnUpload		: "Send it to the Server",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Upload",
+DlgImgAlt			: "Alternative Text",
+DlgImgWidth			: "Width",
+DlgImgHeight		: "Height",
+DlgImgLockRatio		: "Lock Ratio",
+DlgBtnResetSize		: "Reset Size",
+DlgImgBorder		: "Border",
+DlgImgHSpace		: "HSpace",
+DlgImgVSpace		: "VSpace",
+DlgImgAlign			: "Align",
+DlgImgAlignLeft		: "Left",
+DlgImgAlignAbsBottom: "Abs Bottom",
+DlgImgAlignAbsMiddle: "Abs Middle",
+DlgImgAlignBaseline	: "Baseline",
+DlgImgAlignBottom	: "Bottom",
+DlgImgAlignMiddle	: "Middle",
+DlgImgAlignRight	: "Right",
+DlgImgAlignTextTop	: "Text Top",
+DlgImgAlignTop		: "Top",
+DlgImgPreview		: "Preview",
+DlgImgAlertUrl		: "Please type the image URL",
+DlgImgLinkTab		: "Link",
+
+// Flash Dialog
+DlgFlashTitle		: "Flash Properties",
+DlgFlashChkPlay		: "Auto Play",
+DlgFlashChkLoop		: "Loop",
+DlgFlashChkMenu		: "Enable Flash Menu",
+DlgFlashScale		: "Scale",
+DlgFlashScaleAll	: "Show all",
+DlgFlashScaleNoBorder	: "No Border",
+DlgFlashScaleFit	: "Exact Fit",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Link",
+DlgLnkInfoTab		: "Link Info",
+DlgLnkTargetTab		: "Target",
+
+DlgLnkType			: "Link Type",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Anchor in this page",
+DlgLnkTypeEMail		: "E-Mail",
+DlgLnkProto			: "Protocol",
+DlgLnkProtoOther	: "&lt;other&gt;",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Select an Anchor",
+DlgLnkAnchorByName	: "By Anchor Name",
+DlgLnkAnchorById	: "By Element Id",
+DlgLnkNoAnchors		: "&lt;No anchors available in the document&gt;",
+DlgLnkEMail			: "E-Mail Address",
+DlgLnkEMailSubject	: "Message Subject",
+DlgLnkEMailBody		: "Message Body",
+DlgLnkUpload		: "Upload",
+DlgLnkBtnUpload		: "Send it to the Server",
+
+DlgLnkTarget		: "Target",
+DlgLnkTargetFrame	: "&lt;frame&gt;",
+DlgLnkTargetPopup	: "&lt;popup window&gt;",
+DlgLnkTargetBlank	: "New Window (_blank)",
+DlgLnkTargetParent	: "Parent Window (_parent)",
+DlgLnkTargetSelf	: "Same Window (_self)",
+DlgLnkTargetTop		: "Topmost Window (_top)",
+DlgLnkTargetFrameName	: "Target Frame Name",
+DlgLnkPopWinName	: "Popup Window Name",
+DlgLnkPopWinFeat	: "Popup Window Features",
+DlgLnkPopResize		: "Resizable",
+DlgLnkPopLocation	: "Location Bar",
+DlgLnkPopMenu		: "Menu Bar",
+DlgLnkPopScroll		: "Scroll Bars",
+DlgLnkPopStatus		: "Status Bar",
+DlgLnkPopToolbar	: "Toolbar",
+DlgLnkPopFullScrn	: "Full Screen (IE)",
+DlgLnkPopDependent	: "Dependent (Netscape)",
+DlgLnkPopWidth		: "Width",
+DlgLnkPopHeight		: "Height",
+DlgLnkPopLeft		: "Left Position",
+DlgLnkPopTop		: "Top Position",
+
+DlnLnkMsgNoUrl		: "Please type the link URL",
+DlnLnkMsgNoEMail	: "Please type the e-mail address",
+DlnLnkMsgNoAnchor	: "Please select an anchor",
+
+// Color Dialog
+DlgColorTitle		: "Select Color",
+DlgColorBtnClear	: "Clear",
+DlgColorHighlight	: "Highlight",
+DlgColorSelected	: "Selected",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Insert a Smiley",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Select Special Character",
+
+// Table Dialog
+DlgTableTitle		: "Table Properties",
+DlgTableRows		: "Rows",
+DlgTableColumns		: "Columns",
+DlgTableBorder		: "Border size",
+DlgTableAlign		: "Alignment",
+DlgTableAlignNotSet	: "<Not set>",
+DlgTableAlignLeft	: "Left",
+DlgTableAlignCenter	: "Centre",
+DlgTableAlignRight	: "Right",
+DlgTableWidth		: "Width",
+DlgTableWidthPx		: "pixels",
+DlgTableWidthPc		: "percent",
+DlgTableHeight		: "Height",
+DlgTableCellSpace	: "Cell spacing",
+DlgTableCellPad		: "Cell padding",
+DlgTableCaption		: "Caption",
+
+// Table Cell Dialog
+DlgCellTitle		: "Cell Properties",
+DlgCellWidth		: "Width",
+DlgCellWidthPx		: "pixels",
+DlgCellWidthPc		: "percent",
+DlgCellHeight		: "Height",
+DlgCellWordWrap		: "Word Wrap",
+DlgCellWordWrapNotSet	: "&lt;Not set&gt;",
+DlgCellWordWrapYes	: "Yes",
+DlgCellWordWrapNo	: "No",
+DlgCellHorAlign		: "Horizontal Alignment",
+DlgCellHorAlignNotSet	: "&lt;Not set&gt;",
+DlgCellHorAlignLeft	: "Left",
+DlgCellHorAlignCenter	: "Centre",
+DlgCellHorAlignRight: "Right",
+DlgCellVerAlign		: "Vertical Alignment",
+DlgCellVerAlignNotSet	: "&lt;Not set&gt;",
+DlgCellVerAlignTop	: "Top",
+DlgCellVerAlignMiddle	: "Middle",
+DlgCellVerAlignBottom	: "Bottom",
+DlgCellVerAlignBaseline	: "Baseline",
+DlgCellRowSpan		: "Rows Span",
+DlgCellCollSpan		: "Columns Span",
+DlgCellBackColor	: "Background Color",
+DlgCellBorderColor	: "Border Color",
+DlgCellBtnSelect	: "Select...",
+
+// Find Dialog
+DlgFindTitle		: "Find",
+DlgFindFindBtn		: "Find",
+DlgFindNotFoundMsg	: "The specified text was not found.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Replace",
+DlgReplaceFindLbl		: "Find what:",
+DlgReplaceReplaceLbl	: "Replace with:",
+DlgReplaceCaseChk		: "Match case",
+DlgReplaceReplaceBtn	: "Replace",
+DlgReplaceReplAllBtn	: "Replace All",
+DlgReplaceWordChk		: "Match whole word",
+
+// Paste Operations / Dialog
+PasteErrorPaste	: "Your browser security settings don't permit the editor to automaticaly execute pasting operations. Please use the keyboard for that (Ctrl+V).",
+PasteErrorCut	: "Your browser security settings don't permit the editor to automaticaly execute cutting operations. Please use the keyboard for that (Ctrl+X).",
+PasteErrorCopy	: "Your browser security settings don't permit the editor to automaticaly execute copying operations. Please use the keyboard for that (Ctrl+C).",
+
+PasteAsText		: "Paste as Plain Text",
+PasteFromWord	: "Paste from Word",
+
+DlgPasteMsg2	: "Please paste inside the following box using the keyboard (<STRONG>Ctrl+V</STRONG>) and hit <STRONG>OK</STRONG>.",
+DlgPasteIgnoreFont		: "Ignore Font Face definitions",
+DlgPasteRemoveStyles	: "Remove Styles definitions",
+DlgPasteCleanBox		: "Clean Up Box",
+
+
+// Color Picker
+ColorAutomatic	: "Automatic",
+ColorMoreColors	: "More Colors...",
+
+// Document Properties
+DocProps		: "Document Properties",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Anchor Properties",
+DlgAnchorName		: "Anchor Name",
+DlgAnchorErrorName	: "Please type the anchor name",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Not in dictionary",
+DlgSpellChangeTo		: "Change to",
+DlgSpellBtnIgnore		: "Ignore",
+DlgSpellBtnIgnoreAll	: "Ignore All",
+DlgSpellBtnReplace		: "Replace",
+DlgSpellBtnReplaceAll	: "Replace All",
+DlgSpellBtnUndo			: "Undo",
+DlgSpellNoSuggestions	: "- No suggestions -",
+DlgSpellProgress		: "Spell check in progress...",
+DlgSpellNoMispell		: "Spell check complete: No misspellings found",
+DlgSpellNoChanges		: "Spell check complete: No words changed",
+DlgSpellOneChange		: "Spell check complete: One word changed",
+DlgSpellManyChanges		: "Spell check complete: %1 words changed",
+
+IeSpellDownload			: "Spell checker not installed. Do you want to download it now?",
+
+// Button Dialog
+DlgButtonText	: "Text (Value)",
+DlgButtonType	: "Type",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Name",
+DlgCheckboxValue	: "Value",
+DlgCheckboxSelected	: "Selected",
+
+// Form Dialog
+DlgFormName		: "Name",
+DlgFormAction	: "Action",
+DlgFormMethod	: "Method",
+
+// Select Field Dialog
+DlgSelectName		: "Name",
+DlgSelectValue		: "Value",
+DlgSelectSize		: "Size",
+DlgSelectLines		: "lines",
+DlgSelectChkMulti	: "Allow multiple selections",
+DlgSelectOpAvail	: "Available Options",
+DlgSelectOpText		: "Text",
+DlgSelectOpValue	: "Value",
+DlgSelectBtnAdd		: "Add",
+DlgSelectBtnModify	: "Modify",
+DlgSelectBtnUp		: "Up",
+DlgSelectBtnDown	: "Down",
+DlgSelectBtnSetValue : "Set as selected value",
+DlgSelectBtnDelete	: "Delete",
+
+// Textarea Dialog
+DlgTextareaName	: "Name",
+DlgTextareaCols	: "Columns",
+DlgTextareaRows	: "Rows",
+
+// Text Field Dialog
+DlgTextName			: "Name",
+DlgTextValue		: "Value",
+DlgTextCharWidth	: "Character Width",
+DlgTextMaxChars		: "Maximum Characters",
+DlgTextType			: "Type",
+DlgTextTypeText		: "Text",
+DlgTextTypePass		: "Password",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Name",
+DlgHiddenValue	: "Value",
+
+// Bulleted List Dialog
+BulletedListProp	: "Bulleted List Properties",
+NumberedListProp	: "Numbered List Properties",
+DlgLstType			: "Type",
+DlgLstTypeCircle	: "Circle",
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "Square",
+DlgLstTypeNumbers	: "Numbers (1, 2, 3)",
+DlgLstTypeLCase		: "Lowercase Letters (a, b, c)",
+DlgLstTypeUCase		: "Uppercase Letters (A, B, C)",
+DlgLstTypeSRoman	: "Small Roman Numerals (i, ii, iii)",
+DlgLstTypeLRoman	: "Large Roman Numerals (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "General",
+DlgDocBackTab		: "Background",
+DlgDocColorsTab		: "Colors and Margins",
+DlgDocMetaTab		: "Meta Data",
+
+DlgDocPageTitle		: "Page Title",
+DlgDocLangDir		: "Language Direction",
+DlgDocLangDirLTR	: "Left to Right (LTR)",
+DlgDocLangDirRTL	: "Right to Left (RTL)",
+DlgDocLangCode		: "Language Code",
+DlgDocCharSet		: "Character Set Encoding",
+DlgDocCharSetOther	: "Other Character Set Encoding",
+
+DlgDocDocType		: "Document Type Heading",
+DlgDocDocTypeOther	: "Other Document Type Heading",
+DlgDocIncXHTML		: "Include XHTML Declarations",
+DlgDocBgColor		: "Background Color",
+DlgDocBgImage		: "Background Image URL",
+DlgDocBgNoScroll	: "Nonscrolling Background",
+DlgDocCText			: "Text",
+DlgDocCLink			: "Link",
+DlgDocCVisited		: "Visited Link",
+DlgDocCActive		: "Active Link",
+DlgDocMargins		: "Page Margins",
+DlgDocMaTop			: "Top",
+DlgDocMaLeft		: "Left",
+DlgDocMaRight		: "Right",
+DlgDocMaBottom		: "Bottom",
+DlgDocMeIndex		: "Document Indexing Keywords (comma separated)",
+DlgDocMeDescr		: "Document Description",
+DlgDocMeAuthor		: "Author",
+DlgDocMeCopy		: "Copyright",
+DlgDocPreview		: "Preview",
+
+// Templates Dialog
+Templates			: "Templates",
+DlgTemplatesTitle	: "Content Templates",
+DlgTemplatesSelMsg	: "Please select the template to open in the editor<br>(the actual contents will be lost):",
+DlgTemplatesLoading	: "Loading templates list. Please wait...",
+DlgTemplatesNoTpl	: "(No templates defined)",
+
+// About Dialog
+DlgAboutAboutTab	: "About",
+DlgAboutBrowserInfoTab	: "Browser Info",
+DlgAboutVersion		: "version",
+DlgAboutLicense		: "Licensed under the terms of the GNU Lesser General Public License",
+DlgAboutInfo		: "For further information go to"
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/lang/en.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/lang/en.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/lang/en.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,477 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: en.js
+ * 	English language file.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Collapse Toolbar",
+ToolbarExpand		: "Expand Toolbar",
+
+// Toolbar Items and Context Menu
+Save				: "Save",
+NewPage				: "New Page",
+Preview				: "Preview",
+Cut					: "Cut",
+Copy				: "Copy",
+Paste				: "Paste",
+PasteText			: "Paste as plain text",
+PasteWord			: "Paste from Word",
+Print				: "Print",
+SelectAll			: "Select All",
+RemoveFormat		: "Remove Format",
+InsertLinkLbl		: "Link",
+InsertLink			: "Insert/Edit Link",
+RemoveLink			: "Remove Link",
+Anchor				: "Insert/Edit Anchor",
+InsertImageLbl		: "Image",
+InsertImage			: "Insert/Edit Image",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Insert/Edit Flash",
+InsertTableLbl		: "Table",
+InsertTable			: "Insert/Edit Table",
+InsertLineLbl		: "Line",
+InsertLine			: "Insert Horizontal Line",
+InsertSpecialCharLbl: "Special Char",
+InsertSpecialChar	: "Insert Special Character",
+InsertSmileyLbl		: "Smiley",
+InsertSmiley		: "Insert Smiley",
+About				: "About FCKeditor",
+Bold				: "Bold",
+Italic				: "Italic",
+Underline			: "Underline",
+StrikeThrough		: "Strike Through",
+Subscript			: "Subscript",
+Superscript			: "Superscript",
+LeftJustify			: "Left Justify",
+CenterJustify		: "Center Justify",
+RightJustify		: "Right Justify",
+BlockJustify		: "Block Justify",
+DecreaseIndent		: "Decrease Indent",
+IncreaseIndent		: "Increase Indent",
+Undo				: "Undo",
+Redo				: "Redo",
+NumberedListLbl		: "Numbered List",
+NumberedList		: "Insert/Remove Numbered List",
+BulletedListLbl		: "Bulleted List",
+BulletedList		: "Insert/Remove Bulleted List",
+ShowTableBorders	: "Show Table Borders",
+ShowDetails			: "Show Details",
+Style				: "Style",
+FontFormat			: "Format",
+Font				: "Font",
+FontSize			: "Size",
+TextColor			: "Text Color",
+BGColor				: "Background Color",
+Source				: "Source",
+Find				: "Find",
+Replace				: "Replace",
+SpellCheck			: "Check Spell",
+UniversalKeyboard	: "Universal Keyboard",
+PageBreakLbl		: "Page Break",
+PageBreak			: "Insert Page Break",
+
+Form			: "Form",
+Checkbox		: "Checkbox",
+RadioButton		: "Radio Button",
+TextField		: "Text Field",
+Textarea		: "Textarea",
+HiddenField		: "Hidden Field",
+Button			: "Button",
+SelectionField	: "Selection Field",
+ImageButton		: "Image Button",
+
+// Context Menu
+EditLink			: "Edit Link",
+InsertRow			: "Insert Row",
+DeleteRows			: "Delete Rows",
+InsertColumn		: "Insert Column",
+DeleteColumns		: "Delete Columns",
+InsertCell			: "Insert Cell",
+DeleteCells			: "Delete Cells",
+MergeCells			: "Merge Cells",
+SplitCell			: "Split Cell",
+CellProperties		: "Cell Properties",
+TableProperties		: "Table Properties",
+ImageProperties		: "Image Properties",
+FlashProperties		: "Flash Properties",
+
+AnchorProp			: "Anchor Properties",
+ButtonProp			: "Button Properties",
+CheckboxProp		: "Checkbox Properties",
+HiddenFieldProp		: "Hidden Field Properties",
+RadioButtonProp		: "Radio Button Properties",
+ImageButtonProp		: "Image Button Properties",
+TextFieldProp		: "Text Field Properties",
+SelectionFieldProp	: "Selection Field Properties",
+TextareaProp		: "Textarea Properties",
+FormProp			: "Form Properties",
+
+FontFormats			: "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Paragraph (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "Processing XHTML. Please wait...",
+Done				: "Done",
+PasteWordConfirm	: "The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?",
+NotCompatiblePaste	: "This command is available for Internet Explorer version 5.5 or more. Do you want to paste without cleaning?",
+UnknownToolbarItem	: "Unknown toolbar item \"%1\"",
+UnknownCommand		: "Unknown command name \"%1\"",
+NotImplemented		: "Command not implemented",
+UnknownToolbarSet	: "Toolbar set \"%1\" doesn't exist",
+NoActiveX			: "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.",
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Cancel",
+DlgBtnClose			: "Close",
+DlgBtnBrowseServer	: "Browse Server",
+DlgAdvancedTag		: "Advanced",
+DlgOpOther			: "&lt;Other&gt;",
+DlgInfoTab			: "Info",
+DlgAlertUrl			: "Please insert the URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "&lt;not set&gt;",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Language Direction",
+DlgGenLangDirLtr	: "Left to Right (LTR)",
+DlgGenLangDirRtl	: "Right to Left (RTL)",
+DlgGenLangCode		: "Language Code",
+DlgGenAccessKey		: "Access Key",
+DlgGenName			: "Name",
+DlgGenTabIndex		: "Tab Index",
+DlgGenLongDescr		: "Long Description URL",
+DlgGenClass			: "Stylesheet Classes",
+DlgGenTitle			: "Advisory Title",
+DlgGenContType		: "Advisory Content Type",
+DlgGenLinkCharset	: "Linked Resource Charset",
+DlgGenStyle			: "Style",
+
+// Image Dialog
+DlgImgTitle			: "Image Properties",
+DlgImgInfoTab		: "Image Info",
+DlgImgBtnUpload		: "Send it to the Server",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Upload",
+DlgImgAlt			: "Alternative Text",
+DlgImgWidth			: "Width",
+DlgImgHeight		: "Height",
+DlgImgLockRatio		: "Lock Ratio",
+DlgBtnResetSize		: "Reset Size",
+DlgImgBorder		: "Border",
+DlgImgHSpace		: "HSpace",
+DlgImgVSpace		: "VSpace",
+DlgImgAlign			: "Align",
+DlgImgAlignLeft		: "Left",
+DlgImgAlignAbsBottom: "Abs Bottom",
+DlgImgAlignAbsMiddle: "Abs Middle",
+DlgImgAlignBaseline	: "Baseline",
+DlgImgAlignBottom	: "Bottom",
+DlgImgAlignMiddle	: "Middle",
+DlgImgAlignRight	: "Right",
+DlgImgAlignTextTop	: "Text Top",
+DlgImgAlignTop		: "Top",
+DlgImgPreview		: "Preview",
+DlgImgAlertUrl		: "Please type the image URL",
+DlgImgLinkTab		: "Link",
+
+// Flash Dialog
+DlgFlashTitle		: "Flash Properties",
+DlgFlashChkPlay		: "Auto Play",
+DlgFlashChkLoop		: "Loop",
+DlgFlashChkMenu		: "Enable Flash Menu",
+DlgFlashScale		: "Scale",
+DlgFlashScaleAll	: "Show all",
+DlgFlashScaleNoBorder	: "No Border",
+DlgFlashScaleFit	: "Exact Fit",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Link",
+DlgLnkInfoTab		: "Link Info",
+DlgLnkTargetTab		: "Target",
+
+DlgLnkType			: "Link Type",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Anchor in this page",
+DlgLnkTypeEMail		: "E-Mail",
+DlgLnkProto			: "Protocol",
+DlgLnkProtoOther	: "&lt;other&gt;",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Select an Anchor",
+DlgLnkAnchorByName	: "By Anchor Name",
+DlgLnkAnchorById	: "By Element Id",
+DlgLnkNoAnchors		: "&lt;No anchors available in the document&gt;",
+DlgLnkEMail			: "E-Mail Address",
+DlgLnkEMailSubject	: "Message Subject",
+DlgLnkEMailBody		: "Message Body",
+DlgLnkUpload		: "Upload",
+DlgLnkBtnUpload		: "Send it to the Server",
+
+DlgLnkTarget		: "Target",
+DlgLnkTargetFrame	: "&lt;frame&gt;",
+DlgLnkTargetPopup	: "&lt;popup window&gt;",
+DlgLnkTargetBlank	: "New Window (_blank)",
+DlgLnkTargetParent	: "Parent Window (_parent)",
+DlgLnkTargetSelf	: "Same Window (_self)",
+DlgLnkTargetTop		: "Topmost Window (_top)",
+DlgLnkTargetFrameName	: "Target Frame Name",
+DlgLnkPopWinName	: "Popup Window Name",
+DlgLnkPopWinFeat	: "Popup Window Features",
+DlgLnkPopResize		: "Resizable",
+DlgLnkPopLocation	: "Location Bar",
+DlgLnkPopMenu		: "Menu Bar",
+DlgLnkPopScroll		: "Scroll Bars",
+DlgLnkPopStatus		: "Status Bar",
+DlgLnkPopToolbar	: "Toolbar",
+DlgLnkPopFullScrn	: "Full Screen (IE)",
+DlgLnkPopDependent	: "Dependent (Netscape)",
+DlgLnkPopWidth		: "Width",
+DlgLnkPopHeight		: "Height",
+DlgLnkPopLeft		: "Left Position",
+DlgLnkPopTop		: "Top Position",
+
+DlnLnkMsgNoUrl		: "Please type the link URL",
+DlnLnkMsgNoEMail	: "Please type the e-mail address",
+DlnLnkMsgNoAnchor	: "Please select an anchor",
+
+// Color Dialog
+DlgColorTitle		: "Select Color",
+DlgColorBtnClear	: "Clear",
+DlgColorHighlight	: "Highlight",
+DlgColorSelected	: "Selected",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Insert a Smiley",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Select Special Character",
+
+// Table Dialog
+DlgTableTitle		: "Table Properties",
+DlgTableRows		: "Rows",
+DlgTableColumns		: "Columns",
+DlgTableBorder		: "Border size",
+DlgTableAlign		: "Alignment",
+DlgTableAlignNotSet	: "<Not set>",
+DlgTableAlignLeft	: "Left",
+DlgTableAlignCenter	: "Center",
+DlgTableAlignRight	: "Right",
+DlgTableWidth		: "Width",
+DlgTableWidthPx		: "pixels",
+DlgTableWidthPc		: "percent",
+DlgTableHeight		: "Height",
+DlgTableCellSpace	: "Cell spacing",
+DlgTableCellPad		: "Cell padding",
+DlgTableCaption		: "Caption",
+
+// Table Cell Dialog
+DlgCellTitle		: "Cell Properties",
+DlgCellWidth		: "Width",
+DlgCellWidthPx		: "pixels",
+DlgCellWidthPc		: "percent",
+DlgCellHeight		: "Height",
+DlgCellWordWrap		: "Word Wrap",
+DlgCellWordWrapNotSet	: "&lt;Not set&gt;",
+DlgCellWordWrapYes	: "Yes",
+DlgCellWordWrapNo	: "No",
+DlgCellHorAlign		: "Horizontal Alignment",
+DlgCellHorAlignNotSet	: "&lt;Not set&gt;",
+DlgCellHorAlignLeft	: "Left",
+DlgCellHorAlignCenter	: "Center",
+DlgCellHorAlignRight: "Right",
+DlgCellVerAlign		: "Vertical Alignment",
+DlgCellVerAlignNotSet	: "&lt;Not set&gt;",
+DlgCellVerAlignTop	: "Top",
+DlgCellVerAlignMiddle	: "Middle",
+DlgCellVerAlignBottom	: "Bottom",
+DlgCellVerAlignBaseline	: "Baseline",
+DlgCellRowSpan		: "Rows Span",
+DlgCellCollSpan		: "Columns Span",
+DlgCellBackColor	: "Background Color",
+DlgCellBorderColor	: "Border Color",
+DlgCellBtnSelect	: "Select...",
+
+// Find Dialog
+DlgFindTitle		: "Find",
+DlgFindFindBtn		: "Find",
+DlgFindNotFoundMsg	: "The specified text was not found.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Replace",
+DlgReplaceFindLbl		: "Find what:",
+DlgReplaceReplaceLbl	: "Replace with:",
+DlgReplaceCaseChk		: "Match case",
+DlgReplaceReplaceBtn	: "Replace",
+DlgReplaceReplAllBtn	: "Replace All",
+DlgReplaceWordChk		: "Match whole word",
+
+// Paste Operations / Dialog
+PasteErrorPaste	: "Your browser security settings don't permit the editor to automatically execute pasting operations. Please use the keyboard for that (Ctrl+V).",
+PasteErrorCut	: "Your browser security settings don't permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl+X).",
+PasteErrorCopy	: "Your browser security settings don't permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl+C).",
+
+PasteAsText		: "Paste as Plain Text",
+PasteFromWord	: "Paste from Word",
+
+DlgPasteMsg2	: "Please paste inside the following box using the keyboard (<STRONG>Ctrl+V</STRONG>) and hit <STRONG>OK</STRONG>.",
+DlgPasteIgnoreFont		: "Ignore Font Face definitions",
+DlgPasteRemoveStyles	: "Remove Styles definitions",
+DlgPasteCleanBox		: "Clean Up Box",
+
+
+// Color Picker
+ColorAutomatic	: "Automatic",
+ColorMoreColors	: "More Colors...",
+
+// Document Properties
+DocProps		: "Document Properties",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Anchor Properties",
+DlgAnchorName		: "Anchor Name",
+DlgAnchorErrorName	: "Please type the anchor name",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Not in dictionary",
+DlgSpellChangeTo		: "Change to",
+DlgSpellBtnIgnore		: "Ignore",
+DlgSpellBtnIgnoreAll	: "Ignore All",
+DlgSpellBtnReplace		: "Replace",
+DlgSpellBtnReplaceAll	: "Replace All",
+DlgSpellBtnUndo			: "Undo",
+DlgSpellNoSuggestions	: "- No suggestions -",
+DlgSpellProgress		: "Spell check in progress...",
+DlgSpellNoMispell		: "Spell check complete: No misspellings found",
+DlgSpellNoChanges		: "Spell check complete: No words changed",
+DlgSpellOneChange		: "Spell check complete: One word changed",
+DlgSpellManyChanges		: "Spell check complete: %1 words changed",
+
+IeSpellDownload			: "Spell checker not installed. Do you want to download it now?",
+
+// Button Dialog
+DlgButtonText	: "Text (Value)",
+DlgButtonType	: "Type",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Name",
+DlgCheckboxValue	: "Value",
+DlgCheckboxSelected	: "Selected",
+
+// Form Dialog
+DlgFormName		: "Name",
+DlgFormAction	: "Action",
+DlgFormMethod	: "Method",
+
+// Select Field Dialog
+DlgSelectName		: "Name",
+DlgSelectValue		: "Value",
+DlgSelectSize		: "Size",
+DlgSelectLines		: "lines",
+DlgSelectChkMulti	: "Allow multiple selections",
+DlgSelectOpAvail	: "Available Options",
+DlgSelectOpText		: "Text",
+DlgSelectOpValue	: "Value",
+DlgSelectBtnAdd		: "Add",
+DlgSelectBtnModify	: "Modify",
+DlgSelectBtnUp		: "Up",
+DlgSelectBtnDown	: "Down",
+DlgSelectBtnSetValue : "Set as selected value",
+DlgSelectBtnDelete	: "Delete",
+
+// Textarea Dialog
+DlgTextareaName	: "Name",
+DlgTextareaCols	: "Columns",
+DlgTextareaRows	: "Rows",
+
+// Text Field Dialog
+DlgTextName			: "Name",
+DlgTextValue		: "Value",
+DlgTextCharWidth	: "Character Width",
+DlgTextMaxChars		: "Maximum Characters",
+DlgTextType			: "Type",
+DlgTextTypeText		: "Text",
+DlgTextTypePass		: "Password",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Name",
+DlgHiddenValue	: "Value",
+
+// Bulleted List Dialog
+BulletedListProp	: "Bulleted List Properties",
+NumberedListProp	: "Numbered List Properties",
+DlgLstType			: "Type",
+DlgLstTypeCircle	: "Circle",
+DlgLstTypeDisc		: "Disc",
+DlgLstTypeSquare	: "Square",
+DlgLstTypeNumbers	: "Numbers (1, 2, 3)",
+DlgLstTypeLCase		: "Lowercase Letters (a, b, c)",
+DlgLstTypeUCase		: "Uppercase Letters (A, B, C)",
+DlgLstTypeSRoman	: "Small Roman Numerals (i, ii, iii)",
+DlgLstTypeLRoman	: "Large Roman Numerals (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "General",
+DlgDocBackTab		: "Background",
+DlgDocColorsTab		: "Colors and Margins",
+DlgDocMetaTab		: "Meta Data",
+
+DlgDocPageTitle		: "Page Title",
+DlgDocLangDir		: "Language Direction",
+DlgDocLangDirLTR	: "Left to Right (LTR)",
+DlgDocLangDirRTL	: "Right to Left (RTL)",
+DlgDocLangCode		: "Language Code",
+DlgDocCharSet		: "Character Set Encoding",
+DlgDocCharSetOther	: "Other Character Set Encoding",
+
+DlgDocDocType		: "Document Type Heading",
+DlgDocDocTypeOther	: "Other Document Type Heading",
+DlgDocIncXHTML		: "Include XHTML Declarations",
+DlgDocBgColor		: "Background Color",
+DlgDocBgImage		: "Background Image URL",
+DlgDocBgNoScroll	: "Nonscrolling Background",
+DlgDocCText			: "Text",
+DlgDocCLink			: "Link",
+DlgDocCVisited		: "Visited Link",
+DlgDocCActive		: "Active Link",
+DlgDocMargins		: "Page Margins",
+DlgDocMaTop			: "Top",
+DlgDocMaLeft		: "Left",
+DlgDocMaRight		: "Right",
+DlgDocMaBottom		: "Bottom",
+DlgDocMeIndex		: "Document Indexing Keywords (comma separated)",
+DlgDocMeDescr		: "Document Description",
+DlgDocMeAuthor		: "Author",
+DlgDocMeCopy		: "Copyright",
+DlgDocPreview		: "Preview",
+
+// Templates Dialog
+Templates			: "Templates",
+DlgTemplatesTitle	: "Content Templates",
+DlgTemplatesSelMsg	: "Please select the template to open in the editor<br>(the actual contents will be lost):",
+DlgTemplatesLoading	: "Loading templates list. Please wait...",
+DlgTemplatesNoTpl	: "(No templates defined)",
+
+// About Dialog
+DlgAboutAboutTab	: "About",
+DlgAboutBrowserInfoTab	: "Browser Info",
+DlgAboutVersion		: "version",
+DlgAboutLicense		: "Licensed under the terms of the GNU Lesser General Public License",
+DlgAboutInfo		: "For further information go to"
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/lang/eo.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/lang/eo.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/lang/eo.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,475 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: eo.js
+ * 	Esperanto language file.
+ * 
+ * File Authors:
+ * 		Tim Morley (timsk at openoffice.org)
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Kaŝi Ilobreton",
+ToolbarExpand		: "Vidigi Ilojn",
+
+// Toolbar Items and Context Menu
+Save				: "Sekurigi",
+NewPage				: "Nova Paĝo",
+Preview				: "Vidigi Aspekton",
+Cut					: "Eltondi",
+Copy				: "Kopii",
+Paste				: "Interglui",
+PasteText			: "Interglui kiel Tekston",
+PasteWord			: "Interglui el Word",
+Print				: "Presi",
+SelectAll			: "Elekti ĉion",
+RemoveFormat		: "Forigi Formaton",
+InsertLinkLbl		: "Ligilo",
+InsertLink			: "Enmeti/Ŝanĝi Ligilon",
+RemoveLink			: "Forigi Ligilon",
+Anchor				: "Enmeti/Ŝanĝi Ankron",
+InsertImageLbl		: "Bildo",
+InsertImage			: "Enmeti/Ŝanĝi Bildon",
+InsertFlashLbl		: "Flash",	//MISSING
+InsertFlash			: "Insert/Edit Flash",	//MISSING
+InsertTableLbl		: "Tabelo",
+InsertTable			: "Enmeti/Ŝanĝi Tabelon",
+InsertLineLbl		: "Horizonta Linio",
+InsertLine			: "Enmeti Horizonta Linio",
+InsertSpecialCharLbl: "Speciala Signo",
+InsertSpecialChar	: "Enmeti Specialan Signon",
+InsertSmileyLbl		: "Mienvinjeto",
+InsertSmiley		: "Enmeti Mienvinjeton",
+About				: "Pri FCKeditor",
+Bold				: "Grasa",
+Italic				: "Kursiva",
+Underline			: "Substreko",
+StrikeThrough		: "Trastreko",
+Subscript			: "Subskribo",
+Superscript			: "Superskribo",
+LeftJustify			: "Maldekstrigi",
+CenterJustify		: "Centrigi",
+RightJustify		: "Dekstrigi",
+BlockJustify		: "Äœisrandigi AmbaÅ­flanke",
+DecreaseIndent		: "Malpligrandigi Krommarĝenon",
+IncreaseIndent		: "Pligrandigi Krommarĝenon",
+Undo				: "Malfari",
+Redo				: "Refari",
+NumberedListLbl		: "Numera Listo",
+NumberedList		: "Enmeti/Forigi Numeran Liston",
+BulletedListLbl		: "Bula Listo",
+BulletedList		: "Enmeti/Forigi Bulan Liston",
+ShowTableBorders	: "Vidigi Borderojn de Tabelo",
+ShowDetails			: "Vidigi Detalojn",
+Style				: "Stilo",
+FontFormat			: "Formato",
+Font				: "Tiparo",
+FontSize			: "Grando",
+TextColor			: "Teksta Koloro",
+BGColor				: "Fona Koloro",
+Source				: "Fonto",
+Find				: "Serĉi",
+Replace				: "AnstataÅ­igi",
+SpellCheck			: "Literumada Kontrolilo",
+UniversalKeyboard	: "Universala Klavaro",
+
+Form			: "Formularo",
+Checkbox		: "Markobutono",
+RadioButton		: "Radiobutono",
+TextField		: "Teksta kampo",
+Textarea		: "Teksta Areo",
+HiddenField		: "Kaŝita Kampo",
+Button			: "Butono",
+SelectionField	: "Elekta Kampo",
+ImageButton		: "Bildbutono",
+
+// Context Menu
+EditLink			: "Modifier Ligilon",
+InsertRow			: "Enmeti Linion",
+DeleteRows			: "Forigi Liniojn",
+InsertColumn		: "Enmeti Kolumnon",
+DeleteColumns		: "Forigi Kolumnojn",
+InsertCell			: "Enmeti Ĉelon",
+DeleteCells			: "Forigi Ĉelojn",
+MergeCells			: "Kunfandi Ĉelojn",
+SplitCell			: "Dividi Ĉelojn",
+CellProperties		: "Atributoj de Ĉelo",
+TableProperties		: "Atributoj de Tabelo",
+ImageProperties		: "Atributoj de Bildo",
+FlashProperties		: "Flash Properties",	//MISSING
+
+AnchorProp			: "Ankraj Atributoj",
+ButtonProp			: "Butonaj Atributoj",
+CheckboxProp		: "Markobutonaj Atributoj",
+HiddenFieldProp		: "Atributoj de Kaŝita Kampo",
+RadioButtonProp		: "Radiobutonaj Atributoj",
+ImageButtonProp		: "Bildbutonaj Atributoj",
+TextFieldProp		: "Atributoj de Teksta Kampo",
+SelectionFieldProp	: "Atributoj de Elekta Kampo",
+TextareaProp		: "Atributoj de Teksta Areo",
+FormProp			: "Formularaj Atributoj",
+
+FontFormats			: "Normala;Formatita;Adreso;Titolo 1;Titolo 2;Titolo 3;Titolo 4;Titolo 5;Titolo 6;Paragrafo (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "Traktado de XHTML. Bonvolu pacienci...",
+Done				: "Finita",
+PasteWordConfirm	: "La algluota teksto ŝajnas esti Word-devena. Ĉu vi volas purigi ĝin antaŭ ol interglui?",
+NotCompatiblePaste	: "Tiu ĉi komando bezonas almenaŭ Internet Explorer 5.5. Ĉu vi volas daŭrigi sen purigado?",
+UnknownToolbarItem	: "Ilobretero nekonata \"%1\"",
+UnknownCommand		: "Komandonomo nekonata \"%1\"",
+NotImplemented		: "Komando ne ankoraÅ­ realigita",
+UnknownToolbarSet	: "La ilobreto \"%1\" ne ekzistas",
+NoActiveX			: "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "Akcepti",
+DlgBtnCancel		: "Rezigni",
+DlgBtnClose			: "Fermi",
+DlgBtnBrowseServer	: "Foliumi en la Servilo",
+DlgAdvancedTag		: "Speciala",
+DlgOpOther			: "&lt;Alia&gt;",
+DlgInfoTab			: "Info",	//MISSING
+DlgAlertUrl			: "Please insert the URL",	//MISSING
+
+// General Dialogs Labels
+DlgGenNotSet		: "&lt;DefaÅ­lta&gt;",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Skribdirekto",
+DlgGenLangDirLtr	: "De maldekstro dekstren (LTR)",
+DlgGenLangDirRtl	: "De dekstro maldekstren (RTL)",
+DlgGenLangCode		: "Lingva Kodo",
+DlgGenAccessKey		: "Fulmoklavo",
+DlgGenName			: "Nomo",
+DlgGenTabIndex		: "Taba Ordo",
+DlgGenLongDescr		: "URL de Longa Priskribo",
+DlgGenClass			: "Klasoj de Stilfolioj",
+DlgGenTitle			: "Indika Titolo",
+DlgGenContType		: "Indika Enhavotipo",
+DlgGenLinkCharset	: "Signaro de la Ligita Rimedo",
+DlgGenStyle			: "Stilo",
+
+// Image Dialog
+DlgImgTitle			: "Atributoj de Bildo",
+DlgImgInfoTab		: "Informoj pri Bildo",
+DlgImgBtnUpload		: "Sendu al Servilo",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Alŝuti",
+DlgImgAlt			: "AnstataÅ­iga Teksto",
+DlgImgWidth			: "Larĝo",
+DlgImgHeight		: "Alto",
+DlgImgLockRatio		: "Konservi Proporcion",
+DlgBtnResetSize		: "Origina Grando",
+DlgImgBorder		: "Bordero",
+DlgImgHSpace		: "HSpaco",
+DlgImgVSpace		: "VSpaco",
+DlgImgAlign			: "Äœisrandigo",
+DlgImgAlignLeft		: "Maldekstre",
+DlgImgAlignAbsBottom: "Abs Malsupre",
+DlgImgAlignAbsMiddle: "Abs Centre",
+DlgImgAlignBaseline	: "Je Malsupro de Teksto",
+DlgImgAlignBottom	: "Malsupre",
+DlgImgAlignMiddle	: "Centre",
+DlgImgAlignRight	: "Dekstre",
+DlgImgAlignTextTop	: "Je Supro de Teksto",
+DlgImgAlignTop		: "Supre",
+DlgImgPreview		: "Vidigi Aspekton",
+DlgImgAlertUrl		: "Bonvolu tajpi la URL de la bildo",
+DlgImgLinkTab		: "Link",	//MISSING
+
+// Flash Dialog
+DlgFlashTitle		: "Flash Properties",	//MISSING
+DlgFlashChkPlay		: "Auto Play",	//MISSING
+DlgFlashChkLoop		: "Loop",	//MISSING
+DlgFlashChkMenu		: "Enable Flash Menu",	//MISSING
+DlgFlashScale		: "Scale",	//MISSING
+DlgFlashScaleAll	: "Show all",	//MISSING
+DlgFlashScaleNoBorder	: "No Border",	//MISSING
+DlgFlashScaleFit	: "Exact Fit",	//MISSING
+
+// Link Dialog
+DlgLnkWindowTitle	: "Ligilo",
+DlgLnkInfoTab		: "Informoj pri la Ligilo",
+DlgLnkTargetTab		: "Celo",
+
+DlgLnkType			: "Tipo de Ligilo",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Ankri en tiu ĉi paĝo",
+DlgLnkTypeEMail		: "Retpoŝto",
+DlgLnkProto			: "Protokolo",
+DlgLnkProtoOther	: "&lt;alia&gt;",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Elekti Ankron",
+DlgLnkAnchorByName	: "Per Ankronomo",
+DlgLnkAnchorById	: "Per Elementidentigilo",
+DlgLnkNoAnchors		: "&lt;Ne disponeblas ankroj en la dokumento&gt;",
+DlgLnkEMail			: "Retadreso",
+DlgLnkEMailSubject	: "Temlinio",
+DlgLnkEMailBody		: "Mesaĝa korpo",
+DlgLnkUpload		: "Alŝuti",
+DlgLnkBtnUpload		: "Sendi al Servilo",
+
+DlgLnkTarget		: "Celo",
+DlgLnkTargetFrame	: "&lt;kadro&gt;",
+DlgLnkTargetPopup	: "&lt;ŝprucfenestro&gt;",
+DlgLnkTargetBlank	: "Nova Fenestro (_blank)",
+DlgLnkTargetParent	: "Gepatra Fenestro (_parent)",
+DlgLnkTargetSelf	: "Sama Fenestro (_self)",
+DlgLnkTargetTop		: "Plej Supra Fenestro (_top)",
+DlgLnkTargetFrameName	: "Nomo de Kadro",
+DlgLnkPopWinName	: "Nomo de Åœprucfenestro",
+DlgLnkPopWinFeat	: "Atributoj de la Åœprucfenestro",
+DlgLnkPopResize		: "Grando Ŝanĝebla",
+DlgLnkPopLocation	: "Adresobreto",
+DlgLnkPopMenu		: "Menubreto",
+DlgLnkPopScroll		: "Rulumlisteloj",
+DlgLnkPopStatus		: "Statobreto",
+DlgLnkPopToolbar	: "Ilobreto",
+DlgLnkPopFullScrn	: "Tutekrane (IE)",
+DlgLnkPopDependent	: "Dependa (Netscape)",
+DlgLnkPopWidth		: "Larĝo",
+DlgLnkPopHeight		: "Alto",
+DlgLnkPopLeft		: "Pozicio de Maldekstro",
+DlgLnkPopTop		: "Pozicio de Supro",
+
+DlnLnkMsgNoUrl		: "Bonvolu entajpi la URL-on",
+DlnLnkMsgNoEMail	: "Bonvolu entajpi la retadreson",
+DlnLnkMsgNoAnchor	: "Bonvolu elekti ankron",
+
+// Color Dialog
+DlgColorTitle		: "Elekti",
+DlgColorBtnClear	: "Forigi",
+DlgColorHighlight	: "Emfazi",
+DlgColorSelected	: "Elektita",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Enmeti Mienvinjeton",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Enmeti Specialan Signon",
+
+// Table Dialog
+DlgTableTitle		: "Atributoj de Tabelo",
+DlgTableRows		: "Linioj",
+DlgTableColumns		: "Kolumnoj",
+DlgTableBorder		: "Bordero",
+DlgTableAlign		: "Äœisrandigo",
+DlgTableAlignNotSet	: "<DefaÅ­lte>",
+DlgTableAlignLeft	: "Maldekstre",
+DlgTableAlignCenter	: "Centre",
+DlgTableAlignRight	: "Dekstre",
+DlgTableWidth		: "Larĝo",
+DlgTableWidthPx		: "Bitbilderoj",
+DlgTableWidthPc		: "elcentoj",
+DlgTableHeight		: "Alto",
+DlgTableCellSpace	: "Interspacigo de Ĉeloj",
+DlgTableCellPad		: "Ĉirkaŭenhava Plenigado",
+DlgTableCaption		: "Titolo",
+
+// Table Cell Dialog
+DlgCellTitle		: "Atributoj de Celo",
+DlgCellWidth		: "Larĝo",
+DlgCellWidthPx		: "bitbilderoj",
+DlgCellWidthPc		: "elcentoj",
+DlgCellHeight		: "Alto",
+DlgCellWordWrap		: "Linifaldo",
+DlgCellWordWrapNotSet	: "<DefaÅ­lte>",
+DlgCellWordWrapYes	: "Jes",
+DlgCellWordWrapNo	: "Ne",
+DlgCellHorAlign		: "Horizonta Äœisrandigo",
+DlgCellHorAlignNotSet	: "<DefaÅ­lte>",
+DlgCellHorAlignLeft	: "Maldekstre",
+DlgCellHorAlignCenter	: "Centre",
+DlgCellHorAlignRight: "Dekstre",
+DlgCellVerAlign		: "Vertikala Äœisrandigo",
+DlgCellVerAlignNotSet	: "<DefaÅ­lte>",
+DlgCellVerAlignTop	: "Supre",
+DlgCellVerAlignMiddle	: "Centre",
+DlgCellVerAlignBottom	: "Malsupre",
+DlgCellVerAlignBaseline	: "Je Malsupro de Teksto",
+DlgCellRowSpan		: "Linioj Kunfanditaj",
+DlgCellCollSpan		: "Kolumnoj Kunfanditaj",
+DlgCellBackColor	: "Fono",
+DlgCellBorderColor	: "Bordero",
+DlgCellBtnSelect	: "Elekti...",
+
+// Find Dialog
+DlgFindTitle		: "Serĉi",
+DlgFindFindBtn		: "Serĉi",
+DlgFindNotFoundMsg	: "La celteksto ne estas trovita.",
+
+// Replace Dialog
+DlgReplaceTitle			: "AnstataÅ­igi",
+DlgReplaceFindLbl		: "Serĉi:",
+DlgReplaceReplaceLbl	: "AnstataÅ­igi per:",
+DlgReplaceCaseChk		: "Kongruigi Usklecon",
+DlgReplaceReplaceBtn	: "AnstataÅ­igi",
+DlgReplaceReplAllBtn	: "Anstataŭigi Ĉiun",
+DlgReplaceWordChk		: "Tuta Vorto",
+
+// Paste Operations / Dialog
+PasteErrorPaste	: "La sekurecagordo de via TTT-legilo ne permesas, ke la redaktilo faras intergluajn operaciojn. Bonvolu uzi la klavaron por tio (ctrl-V).",
+PasteErrorCut	: "La sekurecagordo de via TTT-legilo ne permesas, ke la redaktilo faras eltondajn operaciojn. Bonvolu uzi la klavaron por tio (ctrl-X).",
+PasteErrorCopy	: "La sekurecagordo de via TTT-legilo ne permesas, ke la redaktilo faras kopiajn operaciojn. Bonvolu uzi la klavaron por tio (ctrl-C).",
+
+PasteAsText		: "Interglui kiel Tekston",
+PasteFromWord	: "Interglui el Word",
+
+DlgPasteMsg2	: "Please paste inside the following box using the keyboard (<STRONG>Ctrl+V</STRONG>) and hit <STRONG>OK</STRONG>.",	//MISSING
+DlgPasteIgnoreFont		: "Ignore Font Face definitions",	//MISSING
+DlgPasteRemoveStyles	: "Remove Styles definitions",	//MISSING
+DlgPasteCleanBox		: "Clean Up Box",	//MISSING
+
+
+// Color Picker
+ColorAutomatic	: "AÅ­tomata",
+ColorMoreColors	: "Pli da Koloroj...",
+
+// Document Properties
+DocProps		: "Dokumentaj Atributoj",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Ankraj Atributoj",
+DlgAnchorName		: "Ankra Nomo",
+DlgAnchorErrorName	: "Bv tajpi la ankran nomon",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Ne trovita en la vortaro",
+DlgSpellChangeTo		: "Ŝanĝi al",
+DlgSpellBtnIgnore		: "Malatenti",
+DlgSpellBtnIgnoreAll	: "Malatenti Ĉiun",
+DlgSpellBtnReplace		: "AnstataÅ­igi",
+DlgSpellBtnReplaceAll	: "Anstataŭigi Ĉiun",
+DlgSpellBtnUndo			: "Malfari",
+DlgSpellNoSuggestions	: "- Neniu propono -",
+DlgSpellProgress		: "Literumkontrolado daÅ­ras...",
+DlgSpellNoMispell		: "Literumkontrolado finita: neniu fuŝo trovita",
+DlgSpellNoChanges		: "Literumkontrolado finita: neniu vorto ŝanĝita",
+DlgSpellOneChange		: "Literumkontrolado finita: unu vorto ŝanĝita",
+DlgSpellManyChanges		: "Literumkontrolado finita: %1 vortoj ŝanĝitaj",
+
+IeSpellDownload			: "Literumada Kontrolilo ne instalita. Ĉu vi volas elŝuti ĝin nun?",
+
+// Button Dialog
+DlgButtonText	: "Teksto (Valoro)",
+DlgButtonType	: "Tipo",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Nomo",
+DlgCheckboxValue	: "Valoro",
+DlgCheckboxSelected	: "Elektita",
+
+// Form Dialog
+DlgFormName		: "Nomo",
+DlgFormAction	: "Ago",
+DlgFormMethod	: "Metodo",
+
+// Select Field Dialog
+DlgSelectName		: "Nomo",
+DlgSelectValue		: "Valoro",
+DlgSelectSize		: "Grando",
+DlgSelectLines		: "Linioj",
+DlgSelectChkMulti	: "Permesi Plurajn Elektojn",
+DlgSelectOpAvail	: "Elektoj Disponeblaj",
+DlgSelectOpText		: "Teksto",
+DlgSelectOpValue	: "Valoro",
+DlgSelectBtnAdd		: "Aldoni",
+DlgSelectBtnModify	: "Modifi",
+DlgSelectBtnUp		: "Supren",
+DlgSelectBtnDown	: "Malsupren",
+DlgSelectBtnSetValue : "Agordi kiel Elektitan Valoron",
+DlgSelectBtnDelete	: "Forigi",
+
+// Textarea Dialog
+DlgTextareaName	: "Nomo",
+DlgTextareaCols	: "Kolumnoj",
+DlgTextareaRows	: "Vicoj",
+
+// Text Field Dialog
+DlgTextName			: "Nomo",
+DlgTextValue		: "Valoro",
+DlgTextCharWidth	: "Signolarĝo",
+DlgTextMaxChars		: "Maksimuma Nombro da Signoj",
+DlgTextType			: "Tipo",
+DlgTextTypeText		: "Teksto",
+DlgTextTypePass		: "Pasvorto",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Nomo",
+DlgHiddenValue	: "Valoro",
+
+// Bulleted List Dialog
+BulletedListProp	: "Atributoj de Bula Listo",
+NumberedListProp	: "Atributoj de Numera Listo",
+DlgLstType			: "Tipo",
+DlgLstTypeCircle	: "Cirklo",
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "Kvadrato",
+DlgLstTypeNumbers	: "Ciferoj (1, 2, 3)",
+DlgLstTypeLCase		: "Minusklaj Literoj (a, b, c)",
+DlgLstTypeUCase		: "Majusklaj Literoj (A, B, C)",
+DlgLstTypeSRoman	: "Malgrandaj Romanaj Ciferoj (i, ii, iii)",
+DlgLstTypeLRoman	: "Grandaj Romanaj Ciferoj (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Ĝeneralaĵoj",
+DlgDocBackTab		: "Fono",
+DlgDocColorsTab		: "Koloroj kaj Marĝenoj",
+DlgDocMetaTab		: "Metadatumoj",
+
+DlgDocPageTitle		: "Paĝotitolo",
+DlgDocLangDir		: "Skribdirekto de la Lingvo",
+DlgDocLangDirLTR	: "De maldekstro dekstren (LTR)",
+DlgDocLangDirRTL	: "De dekstro maldekstren (LTR)",
+DlgDocLangCode		: "Lingvokodo",
+DlgDocCharSet		: "Signara Kodo",
+DlgDocCharSetOther	: "Alia Signara Kodo",
+
+DlgDocDocType		: "Dokumenta Tipo",
+DlgDocDocTypeOther	: "Alia Dokumenta Tipo",
+DlgDocIncXHTML		: "Inkluzivi XHTML Deklaroj",
+DlgDocBgColor		: "Fona Koloro",
+DlgDocBgImage		: "URL de Fona Bildo",
+DlgDocBgNoScroll	: "Neruluma Fono",
+DlgDocCText			: "Teksto",
+DlgDocCLink			: "Ligilo",
+DlgDocCVisited		: "Vizitita Ligilo",
+DlgDocCActive		: "Aktiva Ligilo",
+DlgDocMargins		: "Paĝaj Marĝenoj",
+DlgDocMaTop			: "Supra",
+DlgDocMaLeft		: "Maldekstra",
+DlgDocMaRight		: "Dekstra",
+DlgDocMaBottom		: "Malsupra",
+DlgDocMeIndex		: "Åœlosilvortoj de la Dokumento (apartigita de komoj)",
+DlgDocMeDescr		: "Dokumenta Priskribo",
+DlgDocMeAuthor		: "Verkinto",
+DlgDocMeCopy		: "Kopirajto",
+DlgDocPreview		: "Aspekto",
+
+// Templates Dialog
+Templates			: "Templates",	//MISSING
+DlgTemplatesTitle	: "Content Templates",	//MISSING
+DlgTemplatesSelMsg	: "Please select the template to open in the editor<br>(the actual contents will be lost):",	//MISSING
+DlgTemplatesLoading	: "Loading templates list. Please wait...",	//MISSING
+DlgTemplatesNoTpl	: "(No templates defined)",	//MISSING
+
+// About Dialog
+DlgAboutAboutTab	: "Pri",
+DlgAboutBrowserInfoTab	: "Informoj pri TTT-legilo",
+DlgAboutVersion		: "versio",
+DlgAboutLicense		: "Disdonata laÅ­ la GNU Lesser General Public License",
+DlgAboutInfo		: "Por pli da informoj, vizitu"
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/lang/es.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/lang/es.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/lang/es.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,475 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: es.js
+ * 	Spanish language file.
+ * 
+ * File Authors:
+ * 		Gabriel Schillaci (internetbug at users.sourceforge.net)
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Contraer Barra",
+ToolbarExpand		: "Expandir Barra",
+
+// Toolbar Items and Context Menu
+Save				: "Guardar",
+NewPage				: "Nueva Página",
+Preview				: "Vista Previa",
+Cut					: "Cortar",
+Copy				: "Copiar",
+Paste				: "Pegar",
+PasteText			: "Pegar como texto plano",
+PasteWord			: "Pegar desde Word",
+Print				: "Imprimir",
+SelectAll			: "Seleccionar Todo",
+RemoveFormat		: "Eliminar Formato",
+InsertLinkLbl		: "Vínculo",
+InsertLink			: "Insertar/Editar Vínculo",
+RemoveLink			: "Eliminar Vínculo",
+Anchor				: "Referencia",
+InsertImageLbl		: "Imagen",
+InsertImage			: "Insertar/Editar Imagen",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Insertar/Editar Flash",
+InsertTableLbl		: "Tabla",
+InsertTable			: "Insertar/Editar Tabla",
+InsertLineLbl		: "Línea",
+InsertLine			: "Insertar Línea Horizontal",
+InsertSpecialCharLbl: "Caracter Especial",
+InsertSpecialChar	: "Insertar Caracter Especial",
+InsertSmileyLbl		: "Emoticons",
+InsertSmiley		: "Insertar Emoticons",
+About				: "Acerca de FCKeditor",
+Bold				: "Negrita",
+Italic				: "Cursiva",
+Underline			: "Subrayado",
+StrikeThrough		: "Tachado",
+Subscript			: "Subíndice",
+Superscript			: "Superíndice",
+LeftJustify			: "Alinear a Izquierda",
+CenterJustify		: "Centrar",
+RightJustify		: "Alinear a Derecha",
+BlockJustify		: "Justificado",
+DecreaseIndent		: "Disminuir Sangría",
+IncreaseIndent		: "Aumentar Sangría",
+Undo				: "Deshacer",
+Redo				: "Rehacer",
+NumberedListLbl		: "Numeración",
+NumberedList		: "Insertar/Eliminar Numeración",
+BulletedListLbl		: "Viñetas",
+BulletedList		: "Insertar/Eliminar Viñetas",
+ShowTableBorders	: "Mostrar Bordes de Tablas",
+ShowDetails			: "Mostrar saltos de Párrafo",
+Style				: "Estilo",
+FontFormat			: "Formato",
+Font				: "Fuente",
+FontSize			: "Tamaño",
+TextColor			: "Color de Texto",
+BGColor				: "Color de Fondo",
+Source				: "Fuente HTML",
+Find				: "Buscar",
+Replace				: "Reemplazar",
+SpellCheck			: "Ortografía",
+UniversalKeyboard	: "Teclado Universal",
+
+Form			: "Formulario",
+Checkbox		: "Casilla de Verificación",
+RadioButton		: "Botones de Radio",
+TextField		: "Campo de Texto",
+Textarea		: "Area de Texto",
+HiddenField		: "Campo Oculto",
+Button			: "Botón",
+SelectionField	: "Campo de Selección",
+ImageButton		: "Botón Imagen",
+
+// Context Menu
+EditLink			: "Editar Vínculo",
+InsertRow			: "Insertar Fila",
+DeleteRows			: "Eliminar Filas",
+InsertColumn		: "Insertar Columna",
+DeleteColumns		: "Eliminar Columnas",
+InsertCell			: "Insertar Celda",
+DeleteCells			: "Eliminar Celdas",
+MergeCells			: "Combinar Celdas",
+SplitCell			: "Dividir Celda",
+CellProperties		: "Propiedades de Celda",
+TableProperties		: "Propiedades de Tabla",
+ImageProperties		: "Propiedades de Imagen",
+FlashProperties		: "Propiedades de Flash",
+
+AnchorProp			: "Propiedades de Referencia",
+ButtonProp			: "Propiedades de Botón",
+CheckboxProp		: "Propiedades de Casilla",
+HiddenFieldProp		: "Propiedades de Campo Oculto",
+RadioButtonProp		: "Propiedades de Botón de Radio",
+ImageButtonProp		: "Propiedades de Botón de Imagen",
+TextFieldProp		: "Propiedades de Campo de Texto",
+SelectionFieldProp	: "Propiedades de Campo de Selección",
+TextareaProp		: "Propiedades de Area de Texto",
+FormProp			: "Propiedades de Formulario",
+
+FontFormats			: "Normal;Formateado;Direccion;Encabezado 1;Encabezado 2;Encabezado 3;Encabezado 4;Encabezado 5;Encabezado 6",
+
+// Alerts and Messages
+ProcessingXHTML		: "Procesando XHTML. Por favor, espere...",
+Done				: "Hecho",
+PasteWordConfirm	: "El texto que desea parece provenir de Word. Desea depurarlo antes de pegarlo?",
+NotCompatiblePaste	: "Este comando está disponible sólo para Internet Explorer version 5.5 or superior. Desea pegar sin depurar?",
+UnknownToolbarItem	: "Item de barra desconocido \"%1\"",
+UnknownCommand		: "Nombre de comando desconocido \"%1\"",
+NotImplemented		: "Comando no implementado",
+UnknownToolbarSet	: "Nombre de barra \"%1\" no definido",
+NoActiveX			: "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Cancelar",
+DlgBtnClose			: "Cerrar",
+DlgBtnBrowseServer	: "Ver Servidor",
+DlgAdvancedTag		: "Avanzado",
+DlgOpOther			: "&lt;Otro&gt;",
+DlgInfoTab			: "Información",
+DlgAlertUrl			: "Inserte el URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "&lt;No definido&gt;",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Orientación de idioma",
+DlgGenLangDirLtr	: "Izquierda a Derecha (LTR)",
+DlgGenLangDirRtl	: "Derecha a Izquierda (RTL)",
+DlgGenLangCode		: "Código de idioma",
+DlgGenAccessKey		: "Clave de Acceso",
+DlgGenName			: "Nombre",
+DlgGenTabIndex		: "Indice de tabulación",
+DlgGenLongDescr		: "Descripción larga URL",
+DlgGenClass			: "Clases de hojas de estilo",
+DlgGenTitle			: "Título",
+DlgGenContType		: "Tipo de Contenido",
+DlgGenLinkCharset	: "Fuente de caracteres vinculado",
+DlgGenStyle			: "Estilo",
+
+// Image Dialog
+DlgImgTitle			: "Propiedades de Imagen",
+DlgImgInfoTab		: "Información de Imagen",
+DlgImgBtnUpload		: "Enviar al Servidor",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Cargar",
+DlgImgAlt			: "Texto Alternativo",
+DlgImgWidth			: "Anchura",
+DlgImgHeight		: "Altura",
+DlgImgLockRatio		: "Proporcional",
+DlgBtnResetSize		: "Tamaño Original",
+DlgImgBorder		: "Borde",
+DlgImgHSpace		: "Esp.Horiz",
+DlgImgVSpace		: "Esp.Vert",
+DlgImgAlign			: "Alineación",
+DlgImgAlignLeft		: "Izquierda",
+DlgImgAlignAbsBottom: "Abs inferior",
+DlgImgAlignAbsMiddle: "Abs centro",
+DlgImgAlignBaseline	: "Línea de base",
+DlgImgAlignBottom	: "Pie",
+DlgImgAlignMiddle	: "Centro",
+DlgImgAlignRight	: "Derecha",
+DlgImgAlignTextTop	: "Tope del texto",
+DlgImgAlignTop		: "Tope",
+DlgImgPreview		: "Vista Previa",
+DlgImgAlertUrl		: "Por favor tipee el URL de la imagen",
+DlgImgLinkTab		: "Vínculo",
+
+// Flash Dialog
+DlgFlashTitle		: "Propiedades de Flash",
+DlgFlashChkPlay		: "Autoejecución",
+DlgFlashChkLoop		: "Repetir",
+DlgFlashChkMenu		: "Activar Menú Flash",
+DlgFlashScale		: "Escala",
+DlgFlashScaleAll	: "Mostrar todo",
+DlgFlashScaleNoBorder	: "Sin Borde",
+DlgFlashScaleFit	: "Ajustado",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Vínculo",
+DlgLnkInfoTab		: "Información de Vínculo",
+DlgLnkTargetTab		: "Destino",
+
+DlgLnkType			: "Tipo de vínculo",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Referencia en esta página",
+DlgLnkTypeEMail		: "E-Mail",
+DlgLnkProto			: "Protocolo",
+DlgLnkProtoOther	: "&lt;otro&gt;",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Seleccionar una referencia",
+DlgLnkAnchorByName	: "Por Nombre de Referencia",
+DlgLnkAnchorById	: "Por ID de elemento",
+DlgLnkNoAnchors		: "&lt;No hay referencias disponibles en el documento&gt;",
+DlgLnkEMail			: "Dirección de E-Mail",
+DlgLnkEMailSubject	: "Título del Mensaje",
+DlgLnkEMailBody		: "Cuerpo del Mensaje",
+DlgLnkUpload		: "Cargar",
+DlgLnkBtnUpload		: "Enviar al Servidor",
+
+DlgLnkTarget		: "Destino",
+DlgLnkTargetFrame	: "&lt;marco&gt;",
+DlgLnkTargetPopup	: "&lt;ventana emergente&gt;",
+DlgLnkTargetBlank	: "Nueva Ventana(_blank)",
+DlgLnkTargetParent	: "Ventana Padre (_parent)",
+DlgLnkTargetSelf	: "Misma Ventana (_self)",
+DlgLnkTargetTop		: "Ventana primaria (_top)",
+DlgLnkTargetFrameName	: "Nombre del Marco Destino",
+DlgLnkPopWinName	: "Nombre de Ventana Emergente",
+DlgLnkPopWinFeat	: "Características de Ventana Emergente",
+DlgLnkPopResize		: "Ajustable",
+DlgLnkPopLocation	: "Barra de ubicación",
+DlgLnkPopMenu		: "Barra de Menú",
+DlgLnkPopScroll		: "Barras de desplazamiento",
+DlgLnkPopStatus		: "Barra de Estado",
+DlgLnkPopToolbar	: "Barra de Herramientas",
+DlgLnkPopFullScrn	: "Pantalla Completa (IE)",
+DlgLnkPopDependent	: "Dependiente (Netscape)",
+DlgLnkPopWidth		: "Anchura",
+DlgLnkPopHeight		: "Altura",
+DlgLnkPopLeft		: "Posición Izquierda",
+DlgLnkPopTop		: "Posición Derecha",
+
+DlnLnkMsgNoUrl		: "Por favor tipee el vínculo URL",
+DlnLnkMsgNoEMail	: "Por favor tipee la dirección de e-mail",
+DlnLnkMsgNoAnchor	: "Por favor seleccione una referencia",
+
+// Color Dialog
+DlgColorTitle		: "Seleccionar Color",
+DlgColorBtnClear	: "Ninguno",
+DlgColorHighlight	: "Resaltado",
+DlgColorSelected	: "Seleccionado",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Insertar un Emoticon",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Seleccione un caracter especial",
+
+// Table Dialog
+DlgTableTitle		: "Propiedades de Tabla",
+DlgTableRows		: "Filas",
+DlgTableColumns		: "Columnas",
+DlgTableBorder		: "Tamaño de Borde",
+DlgTableAlign		: "Alineación",
+DlgTableAlignNotSet	: "<No establecido>",
+DlgTableAlignLeft	: "Izquierda",
+DlgTableAlignCenter	: "Centrado",
+DlgTableAlignRight	: "Derecha",
+DlgTableWidth		: "Anchura",
+DlgTableWidthPx		: "pixeles",
+DlgTableWidthPc		: "porcentaje",
+DlgTableHeight		: "Altura",
+DlgTableCellSpace	: "Esp. e/celdas",
+DlgTableCellPad		: "Esp. interior",
+DlgTableCaption		: "Título",
+
+// Table Cell Dialog
+DlgCellTitle		: "Propiedades de Celda",
+DlgCellWidth		: "Anchura",
+DlgCellWidthPx		: "pixeles",
+DlgCellWidthPc		: "porcentaje",
+DlgCellHeight		: "Altura",
+DlgCellWordWrap		: "Cortar Línea",
+DlgCellWordWrapNotSet	: "<No establecido>",
+DlgCellWordWrapYes	: "Si",
+DlgCellWordWrapNo	: "No",
+DlgCellHorAlign		: "Alineación Horizontal",
+DlgCellHorAlignNotSet	: "<No establecido>",
+DlgCellHorAlignLeft	: "Izquierda",
+DlgCellHorAlignCenter	: "Centrado",
+DlgCellHorAlignRight: "Derecha",
+DlgCellVerAlign		: "Alineación Vertical",
+DlgCellVerAlignNotSet	: "<Not establecido>",
+DlgCellVerAlignTop	: "Tope",
+DlgCellVerAlignMiddle	: "Medio",
+DlgCellVerAlignBottom	: "ie",
+DlgCellVerAlignBaseline	: "Línea de Base",
+DlgCellRowSpan		: "Abarcar Filas",
+DlgCellCollSpan		: "Abarcar Columnas",
+DlgCellBackColor	: "Color de Fondo",
+DlgCellBorderColor	: "Color de Borde",
+DlgCellBtnSelect	: "Seleccione...",
+
+// Find Dialog
+DlgFindTitle		: "Buscar",
+DlgFindFindBtn		: "Buscar",
+DlgFindNotFoundMsg	: "El texto especificado no ha sido encontrado.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Reemplazar",
+DlgReplaceFindLbl		: "Texto a buscar:",
+DlgReplaceReplaceLbl	: "Reemplazar con:",
+DlgReplaceCaseChk		: "Coincidir may/min",
+DlgReplaceReplaceBtn	: "Reemplazar",
+DlgReplaceReplAllBtn	: "Reemplazar Todo",
+DlgReplaceWordChk		: "Coincidir toda la palabra",
+
+// Paste Operations / Dialog
+PasteErrorPaste	: "La configuración de seguridad de este navegador no permite la ejecución automática de operaciones de pegado. Por favor use el teclado (Ctrl+V).",
+PasteErrorCut	: "La configuración de seguridad de este navegador no permite la ejecución automática de operaciones de cortado. Por favor use el teclado (Ctrl+X).",
+PasteErrorCopy	: "La configuración de seguridad de este navegador no permite la ejecución automática de operaciones de copiado. Por favor use el teclado (Ctrl+C).",
+
+PasteAsText		: "Pegar como Texto Plano",
+PasteFromWord	: "Pegar desde Word",
+
+DlgPasteMsg2	: "Por favor pegue dentro del cuadro utilizando el teclado (<STRONG>Ctrl+V</STRONG>); luego presione <STRONG>OK</STRONG>.",
+DlgPasteIgnoreFont		: "Ignorar definiciones de fuentes",
+DlgPasteRemoveStyles	: "Remover definiciones de estilo",
+DlgPasteCleanBox		: "Clean Up Box",
+
+
+// Color Picker
+ColorAutomatic	: "Automático",
+ColorMoreColors	: "Más Colores...",
+
+// Document Properties
+DocProps		: "Propiedades del Documento",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Propiedades de la Referencia",
+DlgAnchorName		: "Nombre de la Referencia",
+DlgAnchorErrorName	: "Por favor, complete el nombre de la Referencia",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "No se encuentra en el Diccionario",
+DlgSpellChangeTo		: "Cambiar a",
+DlgSpellBtnIgnore		: "Ignorar",
+DlgSpellBtnIgnoreAll	: "Ignorar Todo",
+DlgSpellBtnReplace		: "Reemplazar",
+DlgSpellBtnReplaceAll	: "Reemplazar Todo",
+DlgSpellBtnUndo			: "Deshacer",
+DlgSpellNoSuggestions	: "- No hay sugerencias -",
+DlgSpellProgress		: "Control de Ortografía en progreso...",
+DlgSpellNoMispell		: "Control finalizado: no se encontraron errores",
+DlgSpellNoChanges		: "Control finalizado: no se ha cambiado ninguna palabra",
+DlgSpellOneChange		: "Control finalizado: se ha cambiado una palabra",
+DlgSpellManyChanges		: "Control finalizado: se ha cambiado %1 palabras",
+
+IeSpellDownload			: "Módulo de Control de Ortografía no instalado. ¿Desea descargarlo ahora?",
+
+// Button Dialog
+DlgButtonText	: "Texto (Valor)",
+DlgButtonType	: "Tipo",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Nombre",
+DlgCheckboxValue	: "Valor",
+DlgCheckboxSelected	: "Seleccionado",
+
+// Form Dialog
+DlgFormName		: "Nombre",
+DlgFormAction	: "Acción",
+DlgFormMethod	: "Método",
+
+// Select Field Dialog
+DlgSelectName		: "Nombre",
+DlgSelectValue		: "Valor",
+DlgSelectSize		: "Tamaño",
+DlgSelectLines		: "Lineas",
+DlgSelectChkMulti	: "Permitir múltiple selección",
+DlgSelectOpAvail	: "Opciones disponibles",
+DlgSelectOpText		: "Texto",
+DlgSelectOpValue	: "Valor",
+DlgSelectBtnAdd		: "Agregar",
+DlgSelectBtnModify	: "Modificar",
+DlgSelectBtnUp		: "Subir",
+DlgSelectBtnDown	: "Bajar",
+DlgSelectBtnSetValue : "Establecer como predeterminado",
+DlgSelectBtnDelete	: "Eliminar",
+
+// Textarea Dialog
+DlgTextareaName	: "Nombre",
+DlgTextareaCols	: "Columnas",
+DlgTextareaRows	: "Filas",
+
+// Text Field Dialog
+DlgTextName			: "Nombre",
+DlgTextValue		: "Valor",
+DlgTextCharWidth	: "Caracteres de ancho",
+DlgTextMaxChars		: "Máximo caracteres",
+DlgTextType			: "Tipo",
+DlgTextTypeText		: "Texto",
+DlgTextTypePass		: "Contraseña",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Nombre",
+DlgHiddenValue	: "Valor",
+
+// Bulleted List Dialog
+BulletedListProp	: "Propiedades de Viñetas",
+NumberedListProp	: "Propiedades de Numeraciones",
+DlgLstType			: "Tipo",
+DlgLstTypeCircle	: "Círculo",
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "Cuadrado",
+DlgLstTypeNumbers	: "Números (1, 2, 3)",
+DlgLstTypeLCase		: "letras en minúsculas (a, b, c)",
+DlgLstTypeUCase		: "letras en mayúsculas (A, B, C)",
+DlgLstTypeSRoman	: "Números Romanos (i, ii, iii)",
+DlgLstTypeLRoman	: "Números Romanos (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "General",
+DlgDocBackTab		: "Fondo",
+DlgDocColorsTab		: "Colores y Márgenes",
+DlgDocMetaTab		: "Meta Información",
+
+DlgDocPageTitle		: "Título de Página",
+DlgDocLangDir		: "Orientación de idioma",
+DlgDocLangDirLTR	: "Izq. a Derecha (LTR)",
+DlgDocLangDirRTL	: "Der. a Izquierda (RTL)",
+DlgDocLangCode		: "Código de Idioma",
+DlgDocCharSet		: "Codif. de Conjunto de Caracteres",
+DlgDocCharSetOther	: "Otra Codificación",
+
+DlgDocDocType		: "Encabezado de Tipo de Documento",
+DlgDocDocTypeOther	: "Otro Encabezado",
+DlgDocIncXHTML		: "Incluir Declaraciones XHTML",
+DlgDocBgColor		: "Color de Fondo",
+DlgDocBgImage		: "URL de Imagen de Fondo",
+DlgDocBgNoScroll	: "Fondo sin rolido",
+DlgDocCText			: "Texto",
+DlgDocCLink			: "Vínculo",
+DlgDocCVisited		: "Vínculo Visitado",
+DlgDocCActive		: "Vínculo Activo",
+DlgDocMargins		: "Márgenes de Página",
+DlgDocMaTop			: "Tope",
+DlgDocMaLeft		: "Izquierda",
+DlgDocMaRight		: "Derecha",
+DlgDocMaBottom		: "Pie",
+DlgDocMeIndex		: "Claves de indexación del Documento (separados por comas)",
+DlgDocMeDescr		: "Descripción del Documento",
+DlgDocMeAuthor		: "Autor",
+DlgDocMeCopy		: "Copyright",
+DlgDocPreview		: "Vista Previa",
+
+// Templates Dialog
+Templates			: "Plantillas",
+DlgTemplatesTitle	: "Contenido de Plantillas",
+DlgTemplatesSelMsg	: "Por favor selecciona la plantilla a abrir en el editor<br>(el contenido actual se perderá):",
+DlgTemplatesLoading	: "Cargando lista de Plantillas. Por favor, aguarde...",
+DlgTemplatesNoTpl	: "(No hay plantillas definidas)",
+
+// About Dialog
+DlgAboutAboutTab	: "Acerca de",
+DlgAboutBrowserInfoTab	: "Información de Navegador",
+DlgAboutVersion		: "versión",
+DlgAboutLicense		: "Licenciado bajo los términos de GNU Lesser General Public License",
+DlgAboutInfo		: "Para mayor información por favor dirigirse a"
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/lang/et.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/lang/et.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/lang/et.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,475 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: et.js
+ * 	Estonian language file.
+ * 
+ * File Authors:
+ * 		Kristjan Kivikangur (kristjan at ttrk.ee)
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Voldi tööriistariba",
+ToolbarExpand		: "Laienda tööriistariba",
+
+// Toolbar Items and Context Menu
+Save				: "Salvesta",
+NewPage				: "Uus leht",
+Preview				: "Eelvaade",
+Cut					: "Lõika",
+Copy				: "Kopeeri",
+Paste				: "Kleebi",
+PasteText			: "Kleebi tavalise tekstina",
+PasteWord			: "Kleebi Wordist",
+Print				: "Prindi",
+SelectAll			: "Vali kõik",
+RemoveFormat		: "Eemalda vorming",
+InsertLinkLbl		: "Link",
+InsertLink			: "Sisesta/Muuda link",
+RemoveLink			: "Eemalda link",
+Anchor				: "Insert/Edit Anchor",	//MISSING
+InsertImageLbl		: "Pilt",
+InsertImage			: "Sisesta/Muuda pilt",
+InsertFlashLbl		: "Flash",	//MISSING
+InsertFlash			: "Insert/Edit Flash",	//MISSING
+InsertTableLbl		: "Tabel",
+InsertTable			: "Sisesta/Muuda tabel",
+InsertLineLbl		: "Joon",
+InsertLine			: "Sisesta horisontaaljoon",
+InsertSpecialCharLbl: "Erimärgid",
+InsertSpecialChar	: "Sisesta erimärk",
+InsertSmileyLbl		: "Smiley",
+InsertSmiley		: "Sisesta Smiley",
+About				: "FCKeditor kohta",
+Bold				: "Paks",
+Italic				: "Kursiiv",
+Underline			: "Allajoonitud",
+StrikeThrough		: "Läbijoonitud",
+Subscript			: "Allindeks",
+Superscript			: "Ãœlaindeks",
+LeftJustify			: "Vasakjoondus",
+CenterJustify		: "Keskjoondus",
+RightJustify		: "Paremjoondus",
+BlockJustify		: "Rööpjoondus",
+DecreaseIndent		: "Vähenda taanet",
+IncreaseIndent		: "Suurenda taanet",
+Undo				: "Võta tagasi",
+Redo				: "Tee uuesti",
+NumberedListLbl		: "Nummerdatud loetelu",
+NumberedList		: "Sisesta/Eemalda nummerdatud loetelu",
+BulletedListLbl		: "Täpitud loetelu",
+BulletedList		: "Sisesta/Eemalda täpitud loetelu",
+ShowTableBorders	: "Nöita tabeli jooni",
+ShowDetails			: "Näita üksikasju",
+Style				: "Laad",
+FontFormat			: "Vorming",
+Font				: "Font",
+FontSize			: "Suurus",
+TextColor			: "Teksti värv",
+BGColor				: "Tausta värv",
+Source				: "Lähtekood",
+Find				: "Otsi",
+Replace				: "Asenda",
+SpellCheck			: "Check Spell",	//MISSING
+UniversalKeyboard	: "Universal Keyboard",	//MISSING
+
+Form			: "Form",	//MISSING
+Checkbox		: "Checkbox",	//MISSING
+RadioButton		: "Radio Button",	//MISSING
+TextField		: "Text Field",	//MISSING
+Textarea		: "Textarea",	//MISSING
+HiddenField		: "Hidden Field",	//MISSING
+Button			: "Button",	//MISSING
+SelectionField	: "Selection Field",	//MISSING
+ImageButton		: "Image Button",	//MISSING
+
+// Context Menu
+EditLink			: "Muuda linki",
+InsertRow			: "Lisa rida",
+DeleteRows			: "Eemalda ridu",
+InsertColumn		: "Lisa veerg",
+DeleteColumns		: "Eemalda veerud",
+InsertCell			: "Lisa lahter",
+DeleteCells			: "Eemalda lahtrid",
+MergeCells			: "Ãœhenda lahtrid",
+SplitCell			: "Lahuta lahtrid",
+CellProperties		: "Lahtri atribuudid",
+TableProperties		: "Tabeli atribuudid",
+ImageProperties		: "Pildi  atribuudid",
+FlashProperties		: "Flash Properties",	//MISSING
+
+AnchorProp			: "Anchor Properties",	//MISSING
+ButtonProp			: "Button Properties",	//MISSING
+CheckboxProp		: "Checkbox Properties",	//MISSING
+HiddenFieldProp		: "Hidden Field Properties",	//MISSING
+RadioButtonProp		: "Radio Button Properties",	//MISSING
+ImageButtonProp		: "Image Button Properties",	//MISSING
+TextFieldProp		: "Text Field Properties",	//MISSING
+SelectionFieldProp	: "Selection Field Properties",	//MISSING
+TextareaProp		: "Textarea Properties",	//MISSING
+FormProp			: "Form Properties",	//MISSING
+
+FontFormats			: "Tavaline;Vormindatud;Aadress;Pealkiri 1;Pealkiri 2;Pealkiri 3;Pealkiri 4;Pealkiri 5;Pealkiri 6",
+
+// Alerts and Messages
+ProcessingXHTML		: "Töötlen XHTML. Palun oota...",
+Done				: "Tehtud",
+PasteWordConfirm	: "Tekst, mida soovid lisada paistab pärinevat Wordist. Kas soovid seda enne kleepimist puhastada?",
+NotCompatiblePaste	: "See käsk on saadaval ainult Internet Explorer versioon 5.5 või rohkem puhul. Kas soovid kleepida ilma puhastamata?",
+UnknownToolbarItem	: "Tundmatu tööriistariba üksus \"%1\"",
+UnknownCommand		: "Tundmatu käsunimi \"%1\"",
+NotImplemented		: "Käsku ei täidetud",
+UnknownToolbarSet	: "Tööriistariba \"%1\" ei eksisteeri",
+NoActiveX			: "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Loobu",
+DlgBtnClose			: "Sule",
+DlgBtnBrowseServer	: "Browse Server",	//MISSING
+DlgAdvancedTag		: "Täpsemalt",
+DlgOpOther			: "&lt;Other&gt;",	//MISSING
+DlgInfoTab			: "Info",	//MISSING
+DlgAlertUrl			: "Please insert the URL",	//MISSING
+
+// General Dialogs Labels
+DlgGenNotSet		: "&lt;määramata&gt;",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Keele suund",
+DlgGenLangDirLtr	: "Vasakult paremale (LTR)",
+DlgGenLangDirRtl	: "Paremalt vasakule (RTL)",
+DlgGenLangCode		: "Keele kood",
+DlgGenAccessKey		: "Juurdepääsu võti",
+DlgGenName			: "Nimi",
+DlgGenTabIndex		: "Tab Index",
+DlgGenLongDescr		: "Pikk kirjeldus URL",
+DlgGenClass			: "Stiilistiku klassid",
+DlgGenTitle			: "Advisory Title",
+DlgGenContType		: "Advisory Content Type",
+DlgGenLinkCharset	: "Linked Resource Charset",
+DlgGenStyle			: "Laad",
+
+// Image Dialog
+DlgImgTitle			: "Pildi atribuudid",
+DlgImgInfoTab		: "Pildi info",
+DlgImgBtnUpload		: "Saada serverile",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Lae üles",
+DlgImgAlt			: "Alternatiivne tekst",
+DlgImgWidth			: "Laius",
+DlgImgHeight		: "Kõrgus",
+DlgImgLockRatio		: "Lukusta kuvasuhe",
+DlgBtnResetSize		: "Lähtesta suurus",
+DlgImgBorder		: "Joon",
+DlgImgHSpace		: "HSpace",
+DlgImgVSpace		: "VSpace",
+DlgImgAlign			: "Joondus",
+DlgImgAlignLeft		: "Vasak",
+DlgImgAlignAbsBottom: "Abs alla",
+DlgImgAlignAbsMiddle: "Abs keskele",
+DlgImgAlignBaseline	: "Baasjoonele",
+DlgImgAlignBottom	: "Alla",
+DlgImgAlignMiddle	: "Keskele",
+DlgImgAlignRight	: "Paremale",
+DlgImgAlignTextTop	: "Teksti üles",
+DlgImgAlignTop		: "Ãœles",
+DlgImgPreview		: "Eelvaade",
+DlgImgAlertUrl		: "Palun kirjuta pildi URL",
+DlgImgLinkTab		: "Link",	//MISSING
+
+// Flash Dialog
+DlgFlashTitle		: "Flash Properties",	//MISSING
+DlgFlashChkPlay		: "Auto Play",	//MISSING
+DlgFlashChkLoop		: "Loop",	//MISSING
+DlgFlashChkMenu		: "Enable Flash Menu",	//MISSING
+DlgFlashScale		: "Scale",	//MISSING
+DlgFlashScaleAll	: "Show all",	//MISSING
+DlgFlashScaleNoBorder	: "No Border",	//MISSING
+DlgFlashScaleFit	: "Exact Fit",	//MISSING
+
+// Link Dialog
+DlgLnkWindowTitle	: "Link",
+DlgLnkInfoTab		: "Lingi info",
+DlgLnkTargetTab		: "Sihtkoht",
+
+DlgLnkType			: "Lingi tüüp",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Ankur sellel lehel",
+DlgLnkTypeEMail		: "E-Post",
+DlgLnkProto			: "Protokoll",
+DlgLnkProtoOther	: "&lt;muu&gt;",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Vali ankur",
+DlgLnkAnchorByName	: "Ankru nime järgi",
+DlgLnkAnchorById	: "Elemendi Id järgi",
+DlgLnkNoAnchors		: "&lt;Selles dokumendis ei ole ankruid&gt;",
+DlgLnkEMail			: "E-Posti aadress",
+DlgLnkEMailSubject	: "Sõnumi teema",
+DlgLnkEMailBody		: "Sõnumi tekst",
+DlgLnkUpload		: "Lae üles",
+DlgLnkBtnUpload		: "Saada serverile",
+
+DlgLnkTarget		: "Sihtkoht",
+DlgLnkTargetFrame	: "&lt;raam&gt;",
+DlgLnkTargetPopup	: "&lt;hüpikaken&gt;",
+DlgLnkTargetBlank	: "Uus aken (_blank)",
+DlgLnkTargetParent	: "Vanem aken (_parent)",
+DlgLnkTargetSelf	: "Sama aken (_self)",
+DlgLnkTargetTop		: "Pealmine aken (_top)",
+DlgLnkTargetFrameName	: "Target Frame Name",	//MISSING
+DlgLnkPopWinName	: "Hüpikakna nimi",
+DlgLnkPopWinFeat	: "Hüpikakna omadused",
+DlgLnkPopResize		: "Suurendatav",
+DlgLnkPopLocation	: "Aadressiriba",
+DlgLnkPopMenu		: "Menüüriba",
+DlgLnkPopScroll		: "Kerimisribad",
+DlgLnkPopStatus		: "Olekuriba",
+DlgLnkPopToolbar	: "Tööriistariba",
+DlgLnkPopFullScrn	: "Täisekraan (IE)",
+DlgLnkPopDependent	: "Sõltuv (Netscape)",
+DlgLnkPopWidth		: "Laius",
+DlgLnkPopHeight		: "Kõrgus",
+DlgLnkPopLeft		: "Vasak asukoht",
+DlgLnkPopTop		: "Ãœlemine asukoht",
+
+DlnLnkMsgNoUrl		: "Palun kirjuta lingi URL",
+DlnLnkMsgNoEMail	: "Palun kirjuta E-Posti aadress",
+DlnLnkMsgNoAnchor	: "Palun vali ankur",
+
+// Color Dialog
+DlgColorTitle		: "Vali värv",
+DlgColorBtnClear	: "Tühjenda",
+DlgColorHighlight	: "Märgi",
+DlgColorSelected	: "Valitud",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Sisesta Smiley",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Vali erimärk",
+
+// Table Dialog
+DlgTableTitle		: "Tabeli atribuudid",
+DlgTableRows		: "Read",
+DlgTableColumns		: "Veerud",
+DlgTableBorder		: "Joone suurus",
+DlgTableAlign		: "Joondus",
+DlgTableAlignNotSet	: "<Määramata>",
+DlgTableAlignLeft	: "Vasak",
+DlgTableAlignCenter	: "Kesk",
+DlgTableAlignRight	: "Parem",
+DlgTableWidth		: "Laius",
+DlgTableWidthPx		: "pikslit",
+DlgTableWidthPc		: "protsenti",
+DlgTableHeight		: "Kõrgus",
+DlgTableCellSpace	: "Lahtri vahe",
+DlgTableCellPad		: "Lahtri täidis",
+DlgTableCaption		: "Seletiitel",
+
+// Table Cell Dialog
+DlgCellTitle		: "Lahtri atribuudid",
+DlgCellWidth		: "Laius",
+DlgCellWidthPx		: "pikslit",
+DlgCellWidthPc		: "protsenti",
+DlgCellHeight		: "Kõrgus",
+DlgCellWordWrap		: "Murra ridu",
+DlgCellWordWrapNotSet	: "<Määramata>",
+DlgCellWordWrapYes	: "Jah",
+DlgCellWordWrapNo	: "Ei",
+DlgCellHorAlign		: "Horisontaaljoondus",
+DlgCellHorAlignNotSet	: "<Määramata>",
+DlgCellHorAlignLeft	: "Vasak",
+DlgCellHorAlignCenter	: "Kesk",
+DlgCellHorAlignRight: "Parem",
+DlgCellVerAlign		: "Vertikaaljoondus",
+DlgCellVerAlignNotSet	: "<Määramata>",
+DlgCellVerAlignTop	: "Ãœles",
+DlgCellVerAlignMiddle	: "Keskele",
+DlgCellVerAlignBottom	: "Alla",
+DlgCellVerAlignBaseline	: "Baasjoonele",
+DlgCellRowSpan		: "Reaulatus",
+DlgCellCollSpan		: "Veeruulatus",
+DlgCellBackColor	: "Tausta värv",
+DlgCellBorderColor	: "Joone värv",
+DlgCellBtnSelect	: "Vali...",
+
+// Find Dialog
+DlgFindTitle		: "Otsi",
+DlgFindFindBtn		: "Otsi",
+DlgFindNotFoundMsg	: "Valitud teksti ei leitud.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Asenda",
+DlgReplaceFindLbl		: "Leia mida:",
+DlgReplaceReplaceLbl	: "Asenda millega:",
+DlgReplaceCaseChk		: "Erista suurtähti",
+DlgReplaceReplaceBtn	: "Asenda",
+DlgReplaceReplAllBtn	: "Asenda kõik",
+DlgReplaceWordChk		: "Otsi terveid sõnu",
+
+// Paste Operations / Dialog
+PasteErrorPaste	: "Sinu brauseri turvaseaded ei luba redaktoril automaatselt kleepida. Palun kasutage selleks klaviatuuri (Ctrl+V).",
+PasteErrorCut	: "Sinu brauseri turvaseaded ei luba redaktoril automaatselt lõigata. Palun kasutage selleks klaviatuuri (Ctrl+X).",
+PasteErrorCopy	: "Sinu brauseri turvaseaded ei luba redaktoril automaatselt kopeerida. Palun kasutage selleks klaviatuuri (Ctrl+C).",
+
+PasteAsText		: "Kleebi tavalise tekstina",
+PasteFromWord	: "Kleebi Wordist",
+
+DlgPasteMsg2	: "Please paste inside the following box using the keyboard (<STRONG>Ctrl+V</STRONG>) and hit <STRONG>OK</STRONG>.",	//MISSING
+DlgPasteIgnoreFont		: "Ignore Font Face definitions",	//MISSING
+DlgPasteRemoveStyles	: "Remove Styles definitions",	//MISSING
+DlgPasteCleanBox		: "Clean Up Box",	//MISSING
+
+
+// Color Picker
+ColorAutomatic	: "Automaatne",
+ColorMoreColors	: "Rohkem värve...",
+
+// Document Properties
+DocProps		: "Document Properties",	//MISSING
+
+// Anchor Dialog
+DlgAnchorTitle		: "Anchor Properties",	//MISSING
+DlgAnchorName		: "Anchor Name",	//MISSING
+DlgAnchorErrorName	: "Please type the anchor name",	//MISSING
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Not in dictionary",	//MISSING
+DlgSpellChangeTo		: "Change to",	//MISSING
+DlgSpellBtnIgnore		: "Ignore",	//MISSING
+DlgSpellBtnIgnoreAll	: "Ignore All",	//MISSING
+DlgSpellBtnReplace		: "Replace",	//MISSING
+DlgSpellBtnReplaceAll	: "Replace All",	//MISSING
+DlgSpellBtnUndo			: "Undo",	//MISSING
+DlgSpellNoSuggestions	: "- No suggestions -",	//MISSING
+DlgSpellProgress		: "Spell check in progress...",	//MISSING
+DlgSpellNoMispell		: "Spell check complete: No misspellings found",	//MISSING
+DlgSpellNoChanges		: "Spell check complete: No words changed",	//MISSING
+DlgSpellOneChange		: "Spell check complete: One word changed",	//MISSING
+DlgSpellManyChanges		: "Spell check complete: %1 words changed",	//MISSING
+
+IeSpellDownload			: "Spell checker not installed. Do you want to download it now?",	//MISSING
+
+// Button Dialog
+DlgButtonText	: "Text (Value)",	//MISSING
+DlgButtonType	: "Type",	//MISSING
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Name",	//MISSING
+DlgCheckboxValue	: "Value",	//MISSING
+DlgCheckboxSelected	: "Selected",	//MISSING
+
+// Form Dialog
+DlgFormName		: "Name",	//MISSING
+DlgFormAction	: "Action",	//MISSING
+DlgFormMethod	: "Method",	//MISSING
+
+// Select Field Dialog
+DlgSelectName		: "Name",	//MISSING
+DlgSelectValue		: "Value",	//MISSING
+DlgSelectSize		: "Size",	//MISSING
+DlgSelectLines		: "lines",	//MISSING
+DlgSelectChkMulti	: "Allow multiple selections",	//MISSING
+DlgSelectOpAvail	: "Available Options",	//MISSING
+DlgSelectOpText		: "Text",	//MISSING
+DlgSelectOpValue	: "Value",	//MISSING
+DlgSelectBtnAdd		: "Add",	//MISSING
+DlgSelectBtnModify	: "Modify",	//MISSING
+DlgSelectBtnUp		: "Up",	//MISSING
+DlgSelectBtnDown	: "Down",	//MISSING
+DlgSelectBtnSetValue : "Set as selected value",	//MISSING
+DlgSelectBtnDelete	: "Delete",	//MISSING
+
+// Textarea Dialog
+DlgTextareaName	: "Name",	//MISSING
+DlgTextareaCols	: "Columns",	//MISSING
+DlgTextareaRows	: "Rows",	//MISSING
+
+// Text Field Dialog
+DlgTextName			: "Name",	//MISSING
+DlgTextValue		: "Value",	//MISSING
+DlgTextCharWidth	: "Character Width",	//MISSING
+DlgTextMaxChars		: "Maximum Characters",	//MISSING
+DlgTextType			: "Type",	//MISSING
+DlgTextTypeText		: "Text",	//MISSING
+DlgTextTypePass		: "Password",	//MISSING
+
+// Hidden Field Dialog
+DlgHiddenName	: "Name",	//MISSING
+DlgHiddenValue	: "Value",	//MISSING
+
+// Bulleted List Dialog
+BulletedListProp	: "Bulleted List Properties",	//MISSING
+NumberedListProp	: "Numbered List Properties",	//MISSING
+DlgLstType			: "Type",	//MISSING
+DlgLstTypeCircle	: "Circle",	//MISSING
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "Square",	//MISSING
+DlgLstTypeNumbers	: "Numbers (1, 2, 3)",	//MISSING
+DlgLstTypeLCase		: "Lowercase Letters (a, b, c)",	//MISSING
+DlgLstTypeUCase		: "Uppercase Letters (A, B, C)",	//MISSING
+DlgLstTypeSRoman	: "Small Roman Numerals (i, ii, iii)",	//MISSING
+DlgLstTypeLRoman	: "Large Roman Numerals (I, II, III)",	//MISSING
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "General",	//MISSING
+DlgDocBackTab		: "Background",	//MISSING
+DlgDocColorsTab		: "Colors and Margins",	//MISSING
+DlgDocMetaTab		: "Meta Data",	//MISSING
+
+DlgDocPageTitle		: "Page Title",	//MISSING
+DlgDocLangDir		: "Language Direction",	//MISSING
+DlgDocLangDirLTR	: "Left to Right (LTR)",	//MISSING
+DlgDocLangDirRTL	: "Right to Left (RTL)",	//MISSING
+DlgDocLangCode		: "Language Code",	//MISSING
+DlgDocCharSet		: "Character Set Encoding",	//MISSING
+DlgDocCharSetOther	: "Other Character Set Encoding",	//MISSING
+
+DlgDocDocType		: "Document Type Heading",	//MISSING
+DlgDocDocTypeOther	: "Other Document Type Heading",	//MISSING
+DlgDocIncXHTML		: "Include XHTML Declarations",	//MISSING
+DlgDocBgColor		: "Background Color",	//MISSING
+DlgDocBgImage		: "Background Image URL",	//MISSING
+DlgDocBgNoScroll	: "Nonscrolling Background",	//MISSING
+DlgDocCText			: "Text",	//MISSING
+DlgDocCLink			: "Link",	//MISSING
+DlgDocCVisited		: "Visited Link",	//MISSING
+DlgDocCActive		: "Active Link",	//MISSING
+DlgDocMargins		: "Page Margins",	//MISSING
+DlgDocMaTop			: "Top",	//MISSING
+DlgDocMaLeft		: "Left",	//MISSING
+DlgDocMaRight		: "Right",	//MISSING
+DlgDocMaBottom		: "Bottom",	//MISSING
+DlgDocMeIndex		: "Document Indexing Keywords (comma separated)",	//MISSING
+DlgDocMeDescr		: "Document Description",	//MISSING
+DlgDocMeAuthor		: "Author",	//MISSING
+DlgDocMeCopy		: "Copyright",	//MISSING
+DlgDocPreview		: "Preview",	//MISSING
+
+// Templates Dialog
+Templates			: "Templates",	//MISSING
+DlgTemplatesTitle	: "Content Templates",	//MISSING
+DlgTemplatesSelMsg	: "Please select the template to open in the editor<br>(the actual contents will be lost):",	//MISSING
+DlgTemplatesLoading	: "Loading templates list. Please wait...",	//MISSING
+DlgTemplatesNoTpl	: "(No templates defined)",	//MISSING
+
+// About Dialog
+DlgAboutAboutTab	: "About",	//MISSING
+DlgAboutBrowserInfoTab	: "Browser Info",	//MISSING
+DlgAboutVersion		: "versioon",
+DlgAboutLicense		: "Litsenseeritud GNU Lesser General Public License litsentsiga",
+DlgAboutInfo		: "Täpsema info saamiseks mine"
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/lang/eu.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/lang/eu.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/lang/eu.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,476 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: eu.js
+ * 	Basque language file.
+ * 	Euskara hizkuntza fitxategia.
+ * 
+ * File Authors:
+ * 		Ibon Igartua (Librezale.org)
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Estutu Tresna Barra",
+ToolbarExpand		: "Hedatu Tresna Barra",
+
+// Toolbar Items and Context Menu
+Save				: "Gorde",
+NewPage				: "Orrialde Berria",
+Preview				: "Aurrebista",
+Cut					: "Ebaki",
+Copy				: "Kopiatu",
+Paste				: "Itsatsi",
+PasteText			: "Itsatsi testu bezala",
+PasteWord			: "Itsatsi Word-etik",
+Print				: "Inprimatu",
+SelectAll			: "Hautatu dena",
+RemoveFormat		: "Kendu Formatoa",
+InsertLinkLbl		: "Esteka",
+InsertLink			: "Txertatu/Editatu Esteka",
+RemoveLink			: "Kendu Esteka",
+Anchor				: "Aingura",
+InsertImageLbl		: "Irudia",
+InsertImage			: "Txertatu/Editatu Irudia",
+InsertFlashLbl		: "Flasha",
+InsertFlash			: "Txertatu/Editatu Flasha",
+InsertTableLbl		: "Taula",
+InsertTable			: "Txertatu/Editatu Taula",
+InsertLineLbl		: "Lerroa",
+InsertLine			: "Txertatu Marra Horizontala",
+InsertSpecialCharLbl: "Karaktere Berezia",
+InsertSpecialChar	: "Txertatu Karaktere Berezia",
+InsertSmileyLbl		: "Aurpegierak",
+InsertSmiley		: "Txertatu Aurpegierak",
+About				: "FCKeditor-ri buruz",
+Bold				: "Lodia",
+Italic				: "Etzana",
+Underline			: "Azpimarratu",
+StrikeThrough		: "Marratua",
+Subscript			: "Azpi-indize",
+Superscript			: "Goi-indize",
+LeftJustify			: "Lerrokatu Ezkerrean",
+CenterJustify		: "Lerrokatu Erdian",
+RightJustify		: "Lerrokatu Eskuman",
+BlockJustify		: "Justifikatu",
+DecreaseIndent		: "Txikitu Koska",
+IncreaseIndent		: "Handitu Koska",
+Undo				: "Desegin",
+Redo				: "Berregin",
+NumberedListLbl		: "Zenbakidun Zerrenda",
+NumberedList		: "Txertatu/Kendu Zenbakidun zerrenda",
+BulletedListLbl		: "Buletdun Zerrenda",
+BulletedList		: "Txertatu/Kendu Buletdun zerrenda",
+ShowTableBorders	: "Erakutsi Taularen Ertzak",
+ShowDetails			: "Erakutsi Xehetasunak",
+Style				: "Estiloa",
+FontFormat			: "Formatoa",
+Font				: "Letra-tipoa",
+FontSize			: "Tamaina",
+TextColor			: "Testu Kolorea",
+BGColor				: "Atzeko kolorea",
+Source				: "HTML Iturburua",
+Find				: "Bilatu",
+Replace				: "Ordezkatu",
+SpellCheck			: "Ortografia",
+UniversalKeyboard	: "Teklatu Unibertsala",
+
+Form			: "Formularioa",
+Checkbox		: "Kontrol-laukia",
+RadioButton		: "Aukera-botoia",
+TextField		: "Testu Eremua",
+Textarea		: "Testu-area",
+HiddenField		: "Ezkutuko Eremua",
+Button			: "Botoia",
+SelectionField	: "Hautespen Eremua",
+ImageButton		: "Irudi Botoia",
+
+// Context Menu
+EditLink			: "Aldatu Esteka",
+InsertRow			: "Txertatu Errenkada",
+DeleteRows			: "Ezabatu Errenkadak",
+InsertColumn		: "Txertatu Zutabea",
+DeleteColumns		: "Ezabatu Zutabeak",
+InsertCell			: "Txertatu Gelaxka",
+DeleteCells			: "Kendu Gelaxkak",
+MergeCells			: "Batu Gelaxkak",
+SplitCell			: "Zatitu Gelaxka",
+CellProperties		: "Gelaxkaren Ezaugarriak",
+TableProperties		: "Taularen Ezaugarriak",
+ImageProperties		: "Irudiaren Ezaugarriak",
+FlashProperties		: "Flasharen Ezaugarriak",
+
+AnchorProp			: "Ainguraren Ezaugarriak",
+ButtonProp			: "Botoiaren Ezaugarriak",
+CheckboxProp		: "Kontrol-laukiko Ezaugarriak",
+HiddenFieldProp		: "Ezkutuko Eremuaren Ezaugarriak",
+RadioButtonProp		: "Aukera-botoiaren Ezaugarriak",
+ImageButtonProp		: "Irudi Botoiaren Ezaugarriak",
+TextFieldProp		: "Testu Eremuaren Ezaugarriak",
+SelectionFieldProp	: "Hautespen Eremuaren Ezaugarriak",
+TextareaProp		: "Testu-arearen Ezaugarriak",
+FormProp			: "Formularioaren Ezaugarriak",
+
+FontFormats			: "Arrunta;Formateatua;Helbidea;Izenburua 1;Izenburua 2;Izenburua 3;Izenburua 4;Izenburua 5;Izenburua 6;Paragrafoa (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "XHTML Prozesatzen. Itxaron mesedez...",
+Done				: "Eginda",
+PasteWordConfirm	: "Itsatsi nahi duzun textua Wordetik hartua dela dirudi. Itsatsi baino lehen garbitu nahi duzu?",
+NotCompatiblePaste	: "Komando hau Internet Explorer 5.5 bertsiorako edo ondorengoentzako erabilgarria dago. Garbitu gabe itsatsi nahi duzu?",
+UnknownToolbarItem	: "Ataza barrako elementu ezezaguna \"%1\"",
+UnknownCommand		: "Komando izen ezezaguna \"%1\"",
+NotImplemented		: "Komando ez inplementatua",
+UnknownToolbarSet	: "Ataza barra \"%1\" taldea ez da existitzen",
+NoActiveX			: "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "Ados",
+DlgBtnCancel		: "Utzi",
+DlgBtnClose			: "Itxi",
+DlgBtnBrowseServer	: "Zerbitzaria arakatu",
+DlgAdvancedTag		: "Aurreratua",
+DlgOpOther			: "&lt;Bestelakoak&gt;",
+DlgInfoTab			: "Informazioa",
+DlgAlertUrl			: "Mesedez URLa idatzi ezazu",
+
+// General Dialogs Labels
+DlgGenNotSet		: "&lt;Ezarri gabe&gt;",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Hizkuntzaren Norabidea",
+DlgGenLangDirLtr	: "Ezkerretik Eskumara(LTR)",
+DlgGenLangDirRtl	: "Eskumatik Ezkerrera (RTL)",
+DlgGenLangCode		: "Hizkuntza Kodea",
+DlgGenAccessKey		: "Sarbide-gakoa",
+DlgGenName			: "Izena",
+DlgGenTabIndex		: "Tabulazio Indizea",
+DlgGenLongDescr		: "URL Deskribapen Luzea",
+DlgGenClass			: "Estilo-orriko Klaseak",
+DlgGenTitle			: "Izenburua",
+DlgGenContType		: "Eduki Mota (Content Type)",
+DlgGenLinkCharset	: "Estekatutako Karaktere Multzoa",
+DlgGenStyle			: "Estiloa",
+
+// Image Dialog
+DlgImgTitle			: "Irudi Ezaugarriak",
+DlgImgInfoTab		: "Irudi informazioa",
+DlgImgBtnUpload		: "Zerbitzarira bidalia",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Gora Kargatu",
+DlgImgAlt			: "Textu Alternatiboa",
+DlgImgWidth			: "Zabalera",
+DlgImgHeight		: "Altuera",
+DlgImgLockRatio		: "Erlazioa Blokeatu",
+DlgBtnResetSize		: "Tamaina Berrezarri",
+DlgImgBorder		: "Ertza",
+DlgImgHSpace		: "HSpace",
+DlgImgVSpace		: "VSpace",
+DlgImgAlign			: "Lerrokatu",
+DlgImgAlignLeft		: "Ezkerrera",
+DlgImgAlignAbsBottom: "Abs Behean",
+DlgImgAlignAbsMiddle: "Abs Erdian",
+DlgImgAlignBaseline	: "Oinan",
+DlgImgAlignBottom	: "Behean",
+DlgImgAlignMiddle	: "Erdian",
+DlgImgAlignRight	: "Eskuman",
+DlgImgAlignTextTop	: "Testua Goian",
+DlgImgAlignTop		: "Goian",
+DlgImgPreview		: "Aurrebista",
+DlgImgAlertUrl		: "Mesedez Irudiaren URLa idatzi",
+DlgImgLinkTab		: "Esteka",
+
+// Flash Dialog
+DlgFlashTitle		: "Flasharen Ezaugarriak",
+DlgFlashChkPlay		: "Automatikoki Erreproduzitu",
+DlgFlashChkLoop		: "Begizta",
+DlgFlashChkMenu		: "Flasharen Menua Gaitu",
+DlgFlashScale		: "Eskalatu",
+DlgFlashScaleAll	: "Dena erakutsi",
+DlgFlashScaleNoBorder	: "Ertzarik gabe",
+DlgFlashScaleFit	: "Doitu",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Esteka",
+DlgLnkInfoTab		: "Estekaren Informazioa",
+DlgLnkTargetTab		: "Helburua",
+
+DlgLnkType			: "Esteka Mota",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Aingura horrialde honentan",
+DlgLnkTypeEMail		: "ePosta",
+DlgLnkProto			: "Protokoloa",
+DlgLnkProtoOther	: "&lt;Beste batzuk&gt;",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Aingura bat hautatu",
+DlgLnkAnchorByName	: "Aingura izenagatik",
+DlgLnkAnchorById	: "Elementuaren ID-gatik",
+DlgLnkNoAnchors		: "&lt;Ez daude aingurak eskuragarri dokumentuan&gt;",
+DlgLnkEMail			: "ePosta Helbidea",
+DlgLnkEMailSubject	: "Mezuaren Gaia",
+DlgLnkEMailBody		: "Mezuaren Gorputza",
+DlgLnkUpload		: "Gora kargatu",
+DlgLnkBtnUpload		: "Zerbitzarira bidali",
+
+DlgLnkTarget		: "Target (Helburua)",
+DlgLnkTargetFrame	: "&lt;marko&gt;",
+DlgLnkTargetPopup	: "&lt;popup lehioa&gt;",
+DlgLnkTargetBlank	: "Lehio Berria (_blank)",
+DlgLnkTargetParent	: "Lehio Gurasoa (_parent)",
+DlgLnkTargetSelf	: "Lehio Berdina (_self)",
+DlgLnkTargetTop		: "Goiko Lehioa (_top)",
+DlgLnkTargetFrameName	: "Marko Helburuaren Izena",
+DlgLnkPopWinName	: "Popup Lehioaren Izena",
+DlgLnkPopWinFeat	: "Popup Lehioaren Ezaugarriak",
+DlgLnkPopResize		: "Tamaina Aldakorra",
+DlgLnkPopLocation	: "Kokaleku Barra",
+DlgLnkPopMenu		: "Menu Barra",
+DlgLnkPopScroll		: "Korritze Barrak",
+DlgLnkPopStatus		: "Egoera Barra",
+DlgLnkPopToolbar	: "Tresna Barra",
+DlgLnkPopFullScrn	: "Pantaila Osoa (IE)",
+DlgLnkPopDependent	: "Menpekoa (Netscape)",
+DlgLnkPopWidth		: "Zabalera",
+DlgLnkPopHeight		: "Altuera",
+DlgLnkPopLeft		: "Ezkerreko  Posizioa",
+DlgLnkPopTop		: "Goiko Posizioa",
+
+DlnLnkMsgNoUrl		: "Mesedez URL esteka idatzi",
+DlnLnkMsgNoEMail	: "Mesedez ePosta helbidea idatzi",
+DlnLnkMsgNoAnchor	: "Mesedez aingura bat aukeratu",
+
+// Color Dialog
+DlgColorTitle		: "Kolore Aukeraketa",
+DlgColorBtnClear	: "Garbitu",
+DlgColorHighlight	: "Nabarmendu",
+DlgColorSelected	: "Aukeratuta",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Aurpegiera Sartu",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Karaktere Berezia Aukeratu",
+
+// Table Dialog
+DlgTableTitle		: "Taularen Ezaugarriak",
+DlgTableRows		: "Lerroak",
+DlgTableColumns		: "Zutabeak",
+DlgTableBorder		: "Ertzaren Zabalera",
+DlgTableAlign		: "Lerrokatu",
+DlgTableAlignNotSet	: "<Ezarri gabe>",
+DlgTableAlignLeft	: "Ezkerrean",
+DlgTableAlignCenter	: "Erdian",
+DlgTableAlignRight	: "Eskuman",
+DlgTableWidth		: "Zabalera",
+DlgTableWidthPx		: "pixel",
+DlgTableWidthPc		: "ehuneko",
+DlgTableHeight		: "Altuera",
+DlgTableCellSpace	: "Gelaxka arteko tartea",
+DlgTableCellPad		: "Gelaxken betegarria",
+DlgTableCaption		: "Epigrafea",
+
+// Table Cell Dialog
+DlgCellTitle		: "Gelaxken Ezaugarriak",
+DlgCellWidth		: "Zabalera",
+DlgCellWidthPx		: "pixel",
+DlgCellWidthPc		: "ehuneko",
+DlgCellHeight		: "Altuera",
+DlgCellWordWrap		: "Itzulbira",
+DlgCellWordWrapNotSet	: "&lt;Ezarri gabe&gt;",
+DlgCellWordWrapYes	: "Bai",
+DlgCellWordWrapNo	: "Ez",
+DlgCellHorAlign		: "Horizontal Alignment",
+DlgCellHorAlignNotSet	: "&lt;Ezarri gabe&gt;",
+DlgCellHorAlignLeft	: "Ezkerrean",
+DlgCellHorAlignCenter	: "Erdian",
+DlgCellHorAlignRight: "Eskuman",
+DlgCellVerAlign		: "Lerrokatu Bertikalki",
+DlgCellVerAlignNotSet	: "&lt;Ezarri gabe&gt;",
+DlgCellVerAlignTop	: "Goian",
+DlgCellVerAlignMiddle	: "Erdian",
+DlgCellVerAlignBottom	: "Behean",
+DlgCellVerAlignBaseline	: "Oinan",
+DlgCellRowSpan		: "Lerroak Hedatu",
+DlgCellCollSpan		: "Zutabeak Hedatu",
+DlgCellBackColor	: "Atzeko Kolorea",
+DlgCellBorderColor	: "Ertzako Kolorea",
+DlgCellBtnSelect	: "Aukertau...",
+
+// Find Dialog
+DlgFindTitle		: "Bilaketa",
+DlgFindFindBtn		: "Bilatu",
+DlgFindNotFoundMsg	: "Idatzitako testua ez da topatu.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Ordeztu",
+DlgReplaceFindLbl		: "Zer bilatu:",
+DlgReplaceReplaceLbl	: "Zerekin ordeztu:",
+DlgReplaceCaseChk		: "Maiuskula/minuskula",
+DlgReplaceReplaceBtn	: "Ordeztu",
+DlgReplaceReplAllBtn	: "Ordeztu Guztiak",
+DlgReplaceWordChk		: "Esaldi osoa bilatu",
+
+// Paste Operations / Dialog
+PasteErrorPaste	: "Zure web nabigatzailearen segurtasun ezarpenak testuak automatikoki itsastea ez dute baimentzen. Mesedez teklatua erabili ezazu (Ctrl+V).",
+PasteErrorCut	: "Zure web nabigatzailearen segurtasun ezarpenak testuak automatikoki moztea ez dute baimentzen. Mesedez teklatua erabili ezazu (Ctrl+X).",
+PasteErrorCopy	: "Zure web nabigatzailearen segurtasun ezarpenak testuak automatikoki kopiatzea ez dute baimentzen. Mesedez teklatua erabili ezazu (Ctrl+C).",
+
+PasteAsText		: "Testu Arrunta bezala Itsatsi",
+PasteFromWord	: "Word-etik itsatsi",
+
+DlgPasteMsg2	: "Mesedez teklatua erabilita (<STRONG>Ctrl+V</STRONG>) ondorego eremuan testua itsatsi eta <STRONG>OK</STRONG> sakatu.",
+DlgPasteIgnoreFont		: "Letra Motaren definizioa ezikusi",
+DlgPasteRemoveStyles	: "Estilo definizioak kendu",
+DlgPasteCleanBox		: "Testu-eremua Garbitu",
+
+
+// Color Picker
+ColorAutomatic	: "Automatikoa",
+ColorMoreColors	: "Kolore gehiago...",
+
+// Document Properties
+DocProps		: "Dokumentuaren Ezarpenak",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Ainguraren Ezaugarriak",
+DlgAnchorName		: "Ainguraren Izena",
+DlgAnchorErrorName	: "Idatzi ainguraren izena",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Ez dago hiztegian",
+DlgSpellChangeTo		: "Honekin ordezkatu",
+DlgSpellBtnIgnore		: "Ezikusi",
+DlgSpellBtnIgnoreAll	: "Denak Ezikusi",
+DlgSpellBtnReplace		: "Ordezkatu",
+DlgSpellBtnReplaceAll	: "Denak Ordezkatu",
+DlgSpellBtnUndo			: "Desegin",
+DlgSpellNoSuggestions	: "- Iradokizunik ez -",
+DlgSpellProgress		: "Zuzenketa ortografikoa martxan...",
+DlgSpellNoMispell		: "Zuzenketa ortografikoa bukatuta: Akatsik ez",
+DlgSpellNoChanges		: "Zuzenketa ortografikoa bukatuta: Ez da ezer aldatu",
+DlgSpellOneChange		: "Zuzenketa ortografikoa bukatuta: Hitz bat aldatu da",
+DlgSpellManyChanges		: "Zuzenketa ortografikoa bukatuta: %1 hitz aldatu dira",
+
+IeSpellDownload			: "Zuzentzaile ortografikoa ez dago instalatuta. Deskargatu nahi duzu?",
+
+// Button Dialog
+DlgButtonText	: "Testua (Balorea)",
+DlgButtonType	: "Mota",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Izena",
+DlgCheckboxValue	: "Balorea",
+DlgCheckboxSelected	: "Hautatuta",
+
+// Form Dialog
+DlgFormName		: "Izena",
+DlgFormAction	: "Ekintza",
+DlgFormMethod	: "Method",
+
+// Select Field Dialog
+DlgSelectName		: "Izena",
+DlgSelectValue		: "Balorea",
+DlgSelectSize		: "Tamaina",
+DlgSelectLines		: "lerro kopurura",
+DlgSelectChkMulti	: "Hautaketa anitzak baimendu",
+DlgSelectOpAvail	: "Aukera Eskuragarriak",
+DlgSelectOpText		: "Testua",
+DlgSelectOpValue	: "Balorea",
+DlgSelectBtnAdd		: "Gehitu",
+DlgSelectBtnModify	: "Aldatu",
+DlgSelectBtnUp		: "Gora",
+DlgSelectBtnDown	: "Behera",
+DlgSelectBtnSetValue : "Aukeratutako balorea ezarri",
+DlgSelectBtnDelete	: "Ezabatu",
+
+// Textarea Dialog
+DlgTextareaName	: "Izena",
+DlgTextareaCols	: "Zutabeak",
+DlgTextareaRows	: "Lerroak",
+
+// Text Field Dialog
+DlgTextName			: "Izena",
+DlgTextValue		: "Balorea",
+DlgTextCharWidth	: "Zabalera",
+DlgTextMaxChars		: "Zenbat karaktere gehienez",
+DlgTextType			: "Mota",
+DlgTextTypeText		: "Testua",
+DlgTextTypePass		: "Pasahitza",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Izena",
+DlgHiddenValue	: "Balorea",
+
+// Bulleted List Dialog
+BulletedListProp	: "Buletdun Zerrendaren Ezarpenak",
+NumberedListProp	: "Zenbakidun Zerrendaren Ezarpenak",
+DlgLstType			: "Mota",
+DlgLstTypeCircle	: "Zirkulua",
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "Karratua",
+DlgLstTypeNumbers	: "Zenbakiak (1, 2, 3)",
+DlgLstTypeLCase		: "Letra xeheak (a, b, c)",
+DlgLstTypeUCase		: "Letra larriak (A, B, C)",
+DlgLstTypeSRoman	: "Erromatar zenbaki zeheak (i, ii, iii)",
+DlgLstTypeLRoman	: "Erromatar zenbaki larriak (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Orokorra",
+DlgDocBackTab		: "Atzekaldea",
+DlgDocColorsTab		: "Koloreak eta Marjinak",
+DlgDocMetaTab		: "Meta Informazioa",
+
+DlgDocPageTitle		: "Orriaren Izenburua",
+DlgDocLangDir		: "Hizkuntzaren Norabidea",
+DlgDocLangDirLTR	: "Ezkerretik eskumara (LTR)",
+DlgDocLangDirRTL	: "Eskumatik ezkerrera (RTL)",
+DlgDocLangCode		: "Hizkuntzaren Kodea",
+DlgDocCharSet		: "Karaktere Multzoaren Kodeketa",
+DlgDocCharSetOther	: "Beste Karaktere Multzoaren Kodeketa",
+
+DlgDocDocType		: "Document Type Goiburua",
+DlgDocDocTypeOther	: "Beste Document Type Goiburua",
+DlgDocIncXHTML		: "XHTML Ezarpenak",
+DlgDocBgColor		: "Atzeko Kolorea",
+DlgDocBgImage		: "Atzeko Irudiaren URL-a",
+DlgDocBgNoScroll	: "Korritze gabeko Atzekaldea",
+DlgDocCText			: "Testua",
+DlgDocCLink			: "Estekak",
+DlgDocCVisited		: "Bisitatutako Estekak",
+DlgDocCActive		: "Esteka Aktiboa",
+DlgDocMargins		: "Orrialdearen marjinak",
+DlgDocMaTop			: "Goian",
+DlgDocMaLeft		: "Ezkerrean",
+DlgDocMaRight		: "Eskuman",
+DlgDocMaBottom		: "Behean",
+DlgDocMeIndex		: "Dokumentuaren Gako-hitzak (komarekin bananduta)",
+DlgDocMeDescr		: "Dokumentuaren Deskribapena",
+DlgDocMeAuthor		: "Egilea",
+DlgDocMeCopy		: "Copyright",
+DlgDocPreview		: "Aurrebista",
+
+// Templates Dialog
+Templates			: "Txantiloiak",
+DlgTemplatesTitle	: "Eduki Txantiloiak",
+DlgTemplatesSelMsg	: "Mesedez txantiloia aukeratu editorean kargatzeko<br>(orain dauden edukiak galduko dira):",
+DlgTemplatesLoading	: "Txantiloiak kargatzen. Itxaron mesedez...",
+DlgTemplatesNoTpl	: "(Ez dago definitutako txantiloirik)",
+
+// About Dialog
+DlgAboutAboutTab	: "Honi buruz",
+DlgAboutBrowserInfoTab	: "Nabigatzailearen Informazioa",
+DlgAboutVersion		: "bertsioa",
+DlgAboutLicense		: "GNU Lesser General Public License Lizentziapean",
+DlgAboutInfo		: "Informazio gehiago eskuratzeko hona joan"
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/lang/fa.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/lang/fa.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/lang/fa.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,475 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fa.js
+ * 	Persian language file.
+ * 
+ * File Authors:
+ * 		Hamed Taj-Abadi (hamed at ranginkaman.com)
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "rtl",
+
+ToolbarCollapse		: "بستن منوابزار",
+ToolbarExpand		: "بازکردن منوابزار",
+
+// Toolbar Items and Context Menu
+Save				: "ذخيره",
+NewPage				: "جديد",
+Preview				: "پيش نمايش",
+Cut					: "برش",
+Copy				: "کپی",
+Paste				: "چسباندن",
+PasteText			: "چسباندن به عنوان متن ساده",
+PasteWord			: "چسباندن از WORD",
+Print				: "چاپ",
+SelectAll			: "انتخاب همه",
+RemoveFormat		: "برداشتن فرمت",
+InsertLinkLbl		: "لينک",
+InsertLink			: "درج/ويرايش لينک",
+RemoveLink			: "برداشتن لينک",
+Anchor				: "درج/ويرايش لنگر",
+InsertImageLbl		: "تصوير",
+InsertImage			: "درج/ويرايش تصوير",
+InsertFlashLbl		: "Flash",	//MISSING
+InsertFlash			: "Insert/Edit Flash",	//MISSING
+InsertTableLbl		: "جدول",
+InsertTable			: "درج/ويرايش جدول",
+InsertLineLbl		: "خط",
+InsertLine			: "درج خط افقی",
+InsertSpecialCharLbl: "شناسه ويژه",
+InsertSpecialChar	: "درج شناسه ويژه",
+InsertSmileyLbl		: "خندانک",
+InsertSmiley		: "درج خندانک",
+About				: "درباره FCKeditor",
+Bold				: "پررنگ",
+Italic				: "ايتاليک",
+Underline			: "زيرخط",
+StrikeThrough		: "ميان خط",
+Subscript			: "انديس پائين",
+Superscript			: "انديس بالا",
+LeftJustify			: "چپ چين",
+CenterJustify		: "وسط چين",
+RightJustify		: "راست چين",
+BlockJustify		: "بلوک چين",
+DecreaseIndent		: "کاهش تورفتگی",
+IncreaseIndent		: "افزايش تورفتگی",
+Undo				: "واچيدن",
+Redo				: "بازچيدن",
+NumberedListLbl		: "فهرست عددی",
+NumberedList		: "درج/برداشتن فهرست عددی",
+BulletedListLbl		: "فهرست نقطه ای",
+BulletedList		: "درج/برداشتن فهرست نقطه ای",
+ShowTableBorders	: "نمايش لبه جدول",
+ShowDetails			: "نمايش جزئيات",
+Style				: "سبک",
+FontFormat			: "فرمت",
+Font				: "قلم",
+FontSize			: "اندازه",
+TextColor			: "رنگ متن",
+BGColor				: "رنگ پس زمينه",
+Source				: "منبع",
+Find				: "جستجو",
+Replace				: "جايگزينی",
+SpellCheck			: "کنترل املا",
+UniversalKeyboard	: "صفحه کليد جهانی",
+
+Form			: "فرم",
+Checkbox		: "دکمه گزينه ای",
+RadioButton		: "دکمه راديويی",
+TextField		: "فيلد متنی",
+Textarea		: "ناحيه متنی",
+HiddenField		: "فيلد پنهان",
+Button			: "دکمه",
+SelectionField	: "فيلد انتخابی",
+ImageButton		: "دکمه تصويری",
+
+// Context Menu
+EditLink			: "ويرايش لينک",
+InsertRow			: "درج سطر",
+DeleteRows			: "حذف سطرها",
+InsertColumn		: "درج ستون",
+DeleteColumns		: "حذف ستونها",
+InsertCell			: "درج سلول",
+DeleteCells			: "حذف سلولها",
+MergeCells			: "ادغام سلولها",
+SplitCell			: "تفکيک سلول",
+CellProperties		: "ويژگيهای سلول",
+TableProperties		: "ويژگيهای جدول",
+ImageProperties		: "ويژگيهای تصوير",
+FlashProperties		: "Flash Properties",	//MISSING
+
+AnchorProp			: "ويژگيهای لنگر",
+ButtonProp			: "ويژگيهای دکمه",
+CheckboxProp		: "ويژگيهای دکمه گزينه ای",
+HiddenFieldProp		: "ويژگيهای فيلد پنهان",
+RadioButtonProp		: "ويژگيهای دکمه راديويی",
+ImageButtonProp		: "ويژگيهای دکمه تصويری",
+TextFieldProp		: "ويژگيهای فيلد متنی",
+SelectionFieldProp	: "ويژگيهای فيلد انتخابی",
+TextareaProp		: "ويژگيهای ناحيه متنی",
+FormProp			: "ويژگيهای فرم",
+
+FontFormats			: "نرمال;فرمت شده;آدرس;سرنويس 1;سرنويس 2;سرنويس 3;سرنويس 4;سرنويس 5;سرنويس 6;بند;(DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "پردازش XHTML. لطفا صبر کنيد...",
+Done				: "انجام شد",
+PasteWordConfirm	: "متنی که می خواهيد بچسبانيد به نظر از WORD کپی شده است. آيا مايليد قبل از چسباندن آنرا تميز کنيد؟ ",
+NotCompatiblePaste	: "اين فرمان برای مرورگر Internet Explorer از نگارش 5.5 يا بالاتر در دسترس است. آيا مايليد بدون تميز کردن متن را بچسبانيد؟",
+UnknownToolbarItem	: "فقره منوابزار ناشناخته \"%1\"",
+UnknownCommand		: "نام دستور ناشناخته \"%1\"",
+NotImplemented		: "دستور اجرا نشد",
+UnknownToolbarSet	: "مجموعه منوابزار \"%1\" وجود ندارد",
+NoActiveX			: "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "تائيد",
+DlgBtnCancel		: "انصراف",
+DlgBtnClose			: "بستن",
+DlgBtnBrowseServer	: "فهرست نمايی سرور",
+DlgAdvancedTag		: "پيشرفته",
+DlgOpOther			: "&lt;غيره&gt;",
+DlgInfoTab			: "Info",	//MISSING
+DlgAlertUrl			: "Please insert the URL",	//MISSING
+
+// General Dialogs Labels
+DlgGenNotSet		: "&lt;تعين نشده&gt;",
+DlgGenId			: "کد",
+DlgGenLangDir		: "جهت نمای زبان",
+DlgGenLangDirLtr	: "چپ به راست (LTR)",
+DlgGenLangDirRtl	: "راست به چپ (RTL)",
+DlgGenLangCode		: "کد زبان",
+DlgGenAccessKey		: "کليد دستيابی",
+DlgGenName			: "نام",
+DlgGenTabIndex		: "انديس برگه",
+DlgGenLongDescr		: "URL توضيح طولانی",
+DlgGenClass			: "کلاسهای استايل شيت",
+DlgGenTitle			: "عنوان کمکی",
+DlgGenContType		: "نوع محتوی کمکی",
+DlgGenLinkCharset	: "مجموعه نويسه منبع لينک شده",
+DlgGenStyle			: "سبک",
+
+// Image Dialog
+DlgImgTitle			: "ويژگيهای تصوير",
+DlgImgInfoTab		: "اطلاعات تصوير",
+DlgImgBtnUpload		: "به سرور ارسال کن",
+DlgImgURL			: "URL",
+DlgImgUpload		: "انتقال به سرور",
+DlgImgAlt			: "متن جايگزين",
+DlgImgWidth			: "پهنا",
+DlgImgHeight		: "درازا",
+DlgImgLockRatio		: "قفل کردن نسبت",
+DlgBtnResetSize		: "بازنشانی اندازه",
+DlgImgBorder		: "لبه",
+DlgImgHSpace		: "فاصله افقی",
+DlgImgVSpace		: "فاصله عمودی",
+DlgImgAlign			: "چينش",
+DlgImgAlignLeft		: "Ú†Ù¾",
+DlgImgAlignAbsBottom: "پائين مطلق",
+DlgImgAlignAbsMiddle: "وسط مطلق",
+DlgImgAlignBaseline	: "خط پايه",
+DlgImgAlignBottom	: "پائين",
+DlgImgAlignMiddle	: "وسط",
+DlgImgAlignRight	: "راست",
+DlgImgAlignTextTop	: "متن بالا",
+DlgImgAlignTop		: "بالا",
+DlgImgPreview		: "پيش نمايش",
+DlgImgAlertUrl		: "لطفا URL تصوير را انتخاب کنيد",
+DlgImgLinkTab		: "لينک",
+
+// Flash Dialog
+DlgFlashTitle		: "Flash Properties",	//MISSING
+DlgFlashChkPlay		: "Auto Play",	//MISSING
+DlgFlashChkLoop		: "Loop",	//MISSING
+DlgFlashChkMenu		: "Enable Flash Menu",	//MISSING
+DlgFlashScale		: "Scale",	//MISSING
+DlgFlashScaleAll	: "Show all",	//MISSING
+DlgFlashScaleNoBorder	: "No Border",	//MISSING
+DlgFlashScaleFit	: "Exact Fit",	//MISSING
+
+// Link Dialog
+DlgLnkWindowTitle	: "لينک",
+DlgLnkInfoTab		: "اطلاعات لينک",
+DlgLnkTargetTab		: "مقصد",
+
+DlgLnkType			: "نوع لينک",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "پيوند در صفحه جاری",
+DlgLnkTypeEMail		: "پست الکترونيکی",
+DlgLnkProto			: "پروتکل",
+DlgLnkProtoOther	: "&lt;غيره&gt;",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "يک پيوند انتخاب کنيد",
+DlgLnkAnchorByName	: "با نام پيوند",
+DlgLnkAnchorById	: "با کد المان",
+DlgLnkNoAnchors		: "&lt;در اين سند پيوندی موجود نيست&gt;",
+DlgLnkEMail			: "آدرس پست الکترونيکی",
+DlgLnkEMailSubject	: "موضوع پيام",
+DlgLnkEMailBody		: "متن پيام",
+DlgLnkUpload		: "انتقال به سرور",
+DlgLnkBtnUpload		: "به سرور ارسال کن",
+
+DlgLnkTarget		: "مقصد",
+DlgLnkTargetFrame	: "&lt;فريم&gt;",
+DlgLnkTargetPopup	: "&lt;پنجره پاپاپ&gt;",
+DlgLnkTargetBlank	: "پنجره جديد (_blank)",
+DlgLnkTargetParent	: "پنجره والد (_parent)",
+DlgLnkTargetSelf	: "همان پنجره (_self)",
+DlgLnkTargetTop		: "بالاترين پنجره (_top)",
+DlgLnkTargetFrameName	: "نام فريم مقصد",
+DlgLnkPopWinName	: "نام پنجره پاپاپ",
+DlgLnkPopWinFeat	: "خصوصيات پنجره پاپاپ",
+DlgLnkPopResize		: "قابل تغيراندازه",
+DlgLnkPopLocation	: "نوار موقعيت",
+DlgLnkPopMenu		: "نوار منو",
+DlgLnkPopScroll		: "نوارهای طومار",
+DlgLnkPopStatus		: "نوار وضعيت",
+DlgLnkPopToolbar	: "نوارابزار",
+DlgLnkPopFullScrn	: "تمام صفحه (IE)",
+DlgLnkPopDependent	: "وابسته (Netscape)",
+DlgLnkPopWidth		: "پهنا",
+DlgLnkPopHeight		: "درازا",
+DlgLnkPopLeft		: "موقعيت چپ",
+DlgLnkPopTop		: "موقعيت بالا",
+
+DlnLnkMsgNoUrl		: "لطفا URL لينک را وارد کنيد",
+DlnLnkMsgNoEMail	: "لطفا آدرس ايميل را وارد کنيد",
+DlnLnkMsgNoAnchor	: "لطفا پيوندی انتخاب کنيد",
+
+// Color Dialog
+DlgColorTitle		: "انتخاب رنگ",
+DlgColorBtnClear	: "پاک کردن",
+DlgColorHighlight	: "هايلايت",
+DlgColorSelected	: "انتخاب شده",
+
+// Smiley Dialog
+DlgSmileyTitle		: "درج  خندانک",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "انتخاب شناسه های ويژه",
+
+// Table Dialog
+DlgTableTitle		: "ويژگيهای جدول",
+DlgTableRows		: "سطرها",
+DlgTableColumns		: "ستونها",
+DlgTableBorder		: "اندازه لبه",
+DlgTableAlign		: "چينش",
+DlgTableAlignNotSet	: "<تعين نشده>",
+DlgTableAlignLeft	: "Ú†Ù¾",
+DlgTableAlignCenter	: "وسط",
+DlgTableAlignRight	: "راست",
+DlgTableWidth		: "پهنا",
+DlgTableWidthPx		: "پيکسل",
+DlgTableWidthPc		: "درصد",
+DlgTableHeight		: "درازا",
+DlgTableCellSpace	: "فاصله ميان سلولها",
+DlgTableCellPad		: "فاصله پرشده در سلول",
+DlgTableCaption		: "عنوان",
+
+// Table Cell Dialog
+DlgCellTitle		: "ويژگيهای سلول",
+DlgCellWidth		: "پهنا",
+DlgCellWidthPx		: "پيکسل",
+DlgCellWidthPc		: "درصد",
+DlgCellHeight		: "درازا",
+DlgCellWordWrap		: "شکستن کلمات",
+DlgCellWordWrapNotSet	: "&lt;تعين نشده&gt;",
+DlgCellWordWrapYes	: "بله",
+DlgCellWordWrapNo	: "خير",
+DlgCellHorAlign		: "چينش افقی",
+DlgCellHorAlignNotSet	: "&lt;تعين نشده&gt;",
+DlgCellHorAlignLeft	: "Ú†Ù¾",
+DlgCellHorAlignCenter	: "وسط",
+DlgCellHorAlignRight: "راست",
+DlgCellVerAlign		: "چينش عمودی",
+DlgCellVerAlignNotSet	: "&lt;تعين نشده&gt;",
+DlgCellVerAlignTop	: "بالا",
+DlgCellVerAlignMiddle	: "ميان",
+DlgCellVerAlignBottom	: "پائين",
+DlgCellVerAlignBaseline	: "خط پايه",
+DlgCellRowSpan		: "گستردگی سطرها",
+DlgCellCollSpan		: "گستردگی ستونها",
+DlgCellBackColor	: "رنگ پس زمينه",
+DlgCellBorderColor	: "رنگ لبه",
+DlgCellBtnSelect	: "انتخاب کنيد...",
+
+// Find Dialog
+DlgFindTitle		: "يافتن",
+DlgFindFindBtn		: "يافتن",
+DlgFindNotFoundMsg	: "متن مورد نظر يافت نشد.",
+
+// Replace Dialog
+DlgReplaceTitle			: "جايگزينی",
+DlgReplaceFindLbl		: "چه چيز را می يابيد:",
+DlgReplaceReplaceLbl	: "جايگزينی با:",
+DlgReplaceCaseChk		: "انطباق قالب",
+DlgReplaceReplaceBtn	: "جايگزينی",
+DlgReplaceReplAllBtn	: "جايگزينی همه موارد",
+DlgReplaceWordChk		: "انطباق کلمه کامل",
+
+// Paste Operations / Dialog
+PasteErrorPaste	: "تنظيمات امنيتی مرورگر شما اجازه نمی دهد که ويرايشگر به طور خودکار عملکردهای چسباندن کلمات را انجام دهد. لطفا از کلمه کليدی مرتبط با اينکار را استفاده کنيد (Ctrl+V).",
+PasteErrorCut	: "تنظيمات امنيتی مرورگر شما اجازه نمی دهد که ويرايشگر به طور خودکار عملکردهای برش کلمات را انجام دهد. لطفا از کلمه کليدی مرتبط با اينکار را استفاده کنيد (Ctrl+X).",
+PasteErrorCopy	: "تنظيمات امنيتی مرورگر شما اجازه نمی دهد که ويرايشگر به طور خودکار عملکردهای کپی کردن کلمات را انجام دهد. لطفا از کلمه کليدی مرتبط با اينکار را استفاده کنيد (Ctrl+C).",
+
+PasteAsText		: "چسباندن به عنوان متن ساده",
+PasteFromWord	: "چسباندن از Word",
+
+DlgPasteMsg2	: "Please paste inside the following box using the keyboard (<STRONG>Ctrl+V</STRONG>) and hit <STRONG>OK</STRONG>.",	//MISSING
+DlgPasteIgnoreFont		: "Ignore Font Face definitions",	//MISSING
+DlgPasteRemoveStyles	: "Remove Styles definitions",	//MISSING
+DlgPasteCleanBox		: "Clean Up Box",	//MISSING
+
+
+// Color Picker
+ColorAutomatic	: "خودکار",
+ColorMoreColors	: "رنگهای بيشتر...",
+
+// Document Properties
+DocProps		: "ويژگيهای سند",
+
+// Anchor Dialog
+DlgAnchorTitle		: "ويژگيهای لنگر",
+DlgAnchorName		: "نام لنگر",
+DlgAnchorErrorName	: "لطفا نام لنگر را وارد کنيد",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "در واژه نامه موجود نيست",
+DlgSpellChangeTo		: "تغير به",
+DlgSpellBtnIgnore		: "چشم پوشی",
+DlgSpellBtnIgnoreAll	: "چشم پوشی همه",
+DlgSpellBtnReplace		: "جايگزينی",
+DlgSpellBtnReplaceAll	: "جايگزينی همه",
+DlgSpellBtnUndo			: "واچينش",
+DlgSpellNoSuggestions	: "- پيشنهادی نيست -",
+DlgSpellProgress		: "کنترل املا در حال انجام...",
+DlgSpellNoMispell		: "کنترل املا انجام شد. هيچ غلط املائی يافت نشد",
+DlgSpellNoChanges		: "کنترل املا انجام شد. هيچ کلمه ای تغير نيافت",
+DlgSpellOneChange		: "کنترل املا انجام شد. يک کلمه تغير يافت",
+DlgSpellManyChanges		: "کنترل املا انجام شد. %1 کلمه تغير يافت",
+
+IeSpellDownload			: "کنترل کننده املا نصب نشده است. آيا مايليد آنرا هم اکنون دريافت کنيد؟",
+
+// Button Dialog
+DlgButtonText	: "متن (مقدار)",
+DlgButtonType	: "نوع",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "نام",
+DlgCheckboxValue	: "مقدار",
+DlgCheckboxSelected	: "برگزيده",
+
+// Form Dialog
+DlgFormName		: "نام",
+DlgFormAction	: "اقدام",
+DlgFormMethod	: "متد",
+
+// Select Field Dialog
+DlgSelectName		: "نام",
+DlgSelectValue		: "مقدار",
+DlgSelectSize		: "اندازه",
+DlgSelectLines		: "خطوط",
+DlgSelectChkMulti	: "انتخاب چند گزينه ای مجاز",
+DlgSelectOpAvail	: "گزينه های موجود",
+DlgSelectOpText		: "متن",
+DlgSelectOpValue	: "مقدار",
+DlgSelectBtnAdd		: "اضافه",
+DlgSelectBtnModify	: "ويرايش",
+DlgSelectBtnUp		: "بالا",
+DlgSelectBtnDown	: "پائين",
+DlgSelectBtnSetValue : "تنظيم به عنوان مقدار برگزيده",
+DlgSelectBtnDelete	: "حذف",
+
+// Textarea Dialog
+DlgTextareaName	: "نام",
+DlgTextareaCols	: "ستونها",
+DlgTextareaRows	: "سطرها",
+
+// Text Field Dialog
+DlgTextName			: "نام",
+DlgTextValue		: "مقدار",
+DlgTextCharWidth	: "پهنای شناسه",
+DlgTextMaxChars		: "بيشينه شناسه",
+DlgTextType			: "نوع",
+DlgTextTypeText		: "متن",
+DlgTextTypePass		: "کلمه عبور",
+
+// Hidden Field Dialog
+DlgHiddenName	: "نام",
+DlgHiddenValue	: "مقدار",
+
+// Bulleted List Dialog
+BulletedListProp	: "ويژگيهای فهرست دکمه ای",
+NumberedListProp	: "ويژگيهای فهرست عددی",
+DlgLstType			: "نوع",
+DlgLstTypeCircle	: "دايره",
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "مربع",
+DlgLstTypeNumbers	: "شماره ها (1، 2، 3)",
+DlgLstTypeLCase		: "حروف کوچک (a، b، c)",
+DlgLstTypeUCase		: "حروف بزرگ (A، B، C)",
+DlgLstTypeSRoman	: "ارقام يونانی کوچک (i، ii، iii)",
+DlgLstTypeLRoman	: "ارقام يونانی بزرگ (I، II، III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "عمومی",
+DlgDocBackTab		: "پس زمينه",
+DlgDocColorsTab		: "رنگها و حاشيه ها",
+DlgDocMetaTab		: "فراداده",
+
+DlgDocPageTitle		: "عنوان صفحه",
+DlgDocLangDir		: "جهت زبان",
+DlgDocLangDirLTR	: "چپ به راست (LTF(",
+DlgDocLangDirRTL	: "راست به چپ (RTL(",
+DlgDocLangCode		: "کد زبان",
+DlgDocCharSet		: "رمزگذاری نويسه",
+DlgDocCharSetOther	: "رمزگذاری نويسه های ديگر",
+
+DlgDocDocType		: "عنوان نوع سند",
+DlgDocDocTypeOther	: "عنوان نوع سند های ديگر",
+DlgDocIncXHTML		: "شامل تعاريف XHTML",
+DlgDocBgColor		: "رنگ پس زمينه",
+DlgDocBgImage		: "URL تصوير پس زمينه",
+DlgDocBgNoScroll	: "پس زمينه غير طوماری",
+DlgDocCText			: "متن",
+DlgDocCLink			: "لينک",
+DlgDocCVisited		: "لينک مشاهده شده",
+DlgDocCActive		: "لينک فعال",
+DlgDocMargins		: "حاشيه صفحه",
+DlgDocMaTop			: "رو",
+DlgDocMaLeft		: "Ú†Ù¾",
+DlgDocMaRight		: "راست",
+DlgDocMaBottom		: "زير",
+DlgDocMeIndex		: "کلمات کليدی انديس کردن سند (با کاما جدا شوند)",
+DlgDocMeDescr		: "سند",
+DlgDocMeAuthor		: "نويسنده",
+DlgDocMeCopy		: "کپی رايت",
+DlgDocPreview		: "پيش نمايش",
+
+// Templates Dialog
+Templates			: "الگوها",
+DlgTemplatesTitle	: "الگوهای محتويات",
+DlgTemplatesSelMsg	: "لطفا الگوی مورد نظر را برای باز کردن در ويرايشگر انتخاب نمائيد<br>(محتويات اصلی از دست خواهند رفت):",
+DlgTemplatesLoading	: "بارگذاری فهرست الگوها. لطفا صبر کنيد...",
+DlgTemplatesNoTpl	: "(الگوئی تعريف نشده است)",
+
+// About Dialog
+DlgAboutAboutTab	: "درباره",
+DlgAboutBrowserInfoTab	: "اطلاعات مرورگر",
+DlgAboutVersion		: "نگارش",
+DlgAboutLicense		: "ليسانس تحت توافقنامه GNU Lesser General Public License",
+DlgAboutInfo		: "برای اطلاعات بيشتر به آدرس زير برويد"
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/lang/fcklanguagemanager.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/lang/fcklanguagemanager.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/lang/fcklanguagemanager.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,71 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fcklanguagemanager.js
+ * 	This file list all available languages in the editor.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+var FCKLanguageManager = new Object() ;
+
+FCKLanguageManager.AvailableLanguages = 
+{
+	'ar'		: 'Arabic',
+	'bg'		: 'Bulgarian',
+	'bs'		: 'Bosnian',
+	'ca'		: 'Catalan',
+	'cs'		: 'Czech',
+	'da'		: 'Danish',
+	'de'		: 'German',
+	'el'		: 'Greek',
+	'en'		: 'English',
+	'en-au'		: 'English (Australia)',
+	'en-uk'		: 'English (United Kingdom)',
+	'eo'		: 'Esperanto',
+	'es'		: 'Spanish',
+	'et'		: 'Estonian',
+	'eu'		: 'Basque',
+	'fa'		: 'Persian',
+	'fi'		: 'Finnish',
+	'fo'		: 'Faroese',
+	'fr'		: 'French',
+	'gl'		: 'Galician',
+	'he'		: 'Hebrew',
+	'hr'		: 'Croatian',
+	'hu'		: 'Hungarian',
+	'it'		: 'Italian',
+	'ja'		: 'Japanese',
+	'ko'		: 'Korean',
+	'lt'		: 'Lithuanian',
+	'mn'		: 'Mongolian',
+	'ms'		: 'Malay',
+	'nl'		: 'Dutch',
+	'no'		: 'Norwegian',
+	'pl'		: 'Polish',
+	'pt'		: 'Portuguese (Portugal)',
+	'pt-br'		: 'Portuguese (Brazil)',
+	'ro'		: 'Romanian',
+	'ru'		: 'Russian',
+	'sk'		: 'Slovak',
+	'sl'		: 'Slovenian',
+	'sr'		: 'Serbian (Cyrillic)',
+	'sr-latn'	: 'Serbian (Latin)',
+	'sv'		: 'Swedish',
+	'th'		: 'Thai',
+	'tr'		: 'Turkish',
+	'uk'		: 'Ukrainian',
+	'vi'		: 'Vietnamese',
+	'zh'		: 'Chinese Traditional',
+	'zh-cn'		: 'Chinese Simplified'
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/lang/fi.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/lang/fi.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/lang/fi.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,475 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fi.js
+ * 	Finnish language file.
+ * 
+ * File Authors:
+ * 		Marko Korhonen (marko.korhonen at datafisher.com)
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Piilota työkalurivi",
+ToolbarExpand		: "Näytä työkalurivi",
+
+// Toolbar Items and Context Menu
+Save				: "Tallenna",
+NewPage				: "Tyhjennä",
+Preview				: "Esikatsele",
+Cut					: "Leikkaa",
+Copy				: "Kopioi",
+Paste				: "Liitä",
+PasteText			: "Liitä tekstinä",
+PasteWord			: "Liitä Wordista",
+Print				: "Tulosta",
+SelectAll			: "Valitse kaikki",
+RemoveFormat		: "Poista muotoilu",
+InsertLinkLbl		: "Linkki",
+InsertLink			: "Lisää linkki/muokkaa linkkiä",
+RemoveLink			: "Poista linkki",
+Anchor				: "Lisää ankkuri/muokkaa ankkuria",
+InsertImageLbl		: "Kuva",
+InsertImage			: "Lisää kuva/muokkaa kuvaa",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Lisää/muokkaa Flashia",
+InsertTableLbl		: "Taulu",
+InsertTable			: "Lisää taulu/muokkaa taulua",
+InsertLineLbl		: "Murtoviiva",
+InsertLine			: "Lisää murtoviiva",
+InsertSpecialCharLbl: "Erikoismerkki",
+InsertSpecialChar	: "Lisää erikoismerkki",
+InsertSmileyLbl		: "Hymiö",
+InsertSmiley		: "Lisää hymiö",
+About				: "FCKeditorista",
+Bold				: "Lihavoitu",
+Italic				: "Kursivoitu",
+Underline			: "Alleviivattu",
+StrikeThrough		: "Yliviivattu",
+Subscript			: "Alaindeksi",
+Superscript			: "Yläindeksi",
+LeftJustify			: "Tasaa vasemmat reunat",
+CenterJustify		: "Keskitä",
+RightJustify		: "Tasaa oikeat reunat",
+BlockJustify		: "Tasaa molemmat reunat",
+DecreaseIndent		: "Pienennä sisennystä",
+IncreaseIndent		: "Suurenna sisennystä",
+Undo				: "Kumoa",
+Redo				: "Toista",
+NumberedListLbl		: "Numerointi",
+NumberedList		: "Lisää/poista numerointi",
+BulletedListLbl		: "Luottelomerkit",
+BulletedList		: "Lisää/poista luottelomerkit",
+ShowTableBorders	: "Näytä taulun rajat",
+ShowDetails			: "Näytä muotoilu",
+Style				: "Tyyli",
+FontFormat			: "Muotoilu",
+Font				: "Fontti",
+FontSize			: "Koko",
+TextColor			: "Tekstiväri",
+BGColor				: "Taustaväri",
+Source				: "Koodi",
+Find				: "Etsi",
+Replace				: "Korvaa",
+SpellCheck			: "Tarkista oikeinkirjoitus",
+UniversalKeyboard	: "Universaali näppäimistö",
+
+Form			: "Lomake",
+Checkbox		: "Valintaruutu",
+RadioButton		: "Radiopainike",
+TextField		: "Tekstikenttä",
+Textarea		: "Tekstilaatikko",
+HiddenField		: "Piilokenttä",
+Button			: "Painike",
+SelectionField	: "Valintakenttä",
+ImageButton		: "Kuvapainike",
+
+// Context Menu
+EditLink			: "Muokkaa linkkiä",
+InsertRow			: "Lisää rivi",
+DeleteRows			: "Poista rivit",
+InsertColumn		: "Lisää sarake",
+DeleteColumns		: "Poista sarakkeet",
+InsertCell			: "Lisää solu",
+DeleteCells			: "Poista solut",
+MergeCells			: "Yhdistä solut",
+SplitCell			: "Jaa solu",
+CellProperties		: "Solun ominaisuudet",
+TableProperties		: "Taulun ominaisuudet",
+ImageProperties		: "Kuvan ominaisuudet",
+FlashProperties		: "Flash ominaisuudet",
+
+AnchorProp			: "Ankkurin ominaisuudet",
+ButtonProp			: "Painikkeen ominaisuudet",
+CheckboxProp		: "Valintaruudun ominaisuudet",
+HiddenFieldProp		: "Piilokentän ominaisuudet",
+RadioButtonProp		: "Radiopainikkeen ominaisuudet",
+ImageButtonProp		: "Kuvapainikkeen ominaisuudet",
+TextFieldProp		: "Tekstikentän ominaisuudet",
+SelectionFieldProp	: "Valintakentän ominaisuudet",
+TextareaProp		: "Tekstilaatikon ominaisuudet",
+FormProp			: "Lomakkeen ominaisuudet",
+
+FontFormats			: "Normaali;Muotoiltu;Osoite;Otsikko 1;Otsikko 2;Otsikko 3;Otsikko 4;Otsikko 5;Otsikko 6",
+
+// Alerts and Messages
+ProcessingXHTML		: "Prosessoidaan XHTML:ää. Odota hetki...",
+Done				: "Valmis",
+PasteWordConfirm	: "Teksti, jonka haluat liittää, näyttää olevan kopioitu Wordista. Haluatko puhdistaa sen ennen liittämistä?",
+NotCompatiblePaste	: "Tämä komento toimii vain Internet Explorer 5.5:ssa tai uudemmassa. Haluatko liittää ilman puhdistusta?",
+UnknownToolbarItem	: "Tuntemanton työkalu \"%1\"",
+UnknownCommand		: "Tuntematon komento \"%1\"",
+NotImplemented		: "Komentoa ei ole liitetty sovellukseen",
+UnknownToolbarSet	: "Työkalukokonaisuus \"%1\" ei ole olemassa",
+NoActiveX			: "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Peruuta",
+DlgBtnClose			: "Sulje",
+DlgBtnBrowseServer	: "Selaa palvelinta",
+DlgAdvancedTag		: "Lisäominaisuudet",
+DlgOpOther			: "Muut",
+DlgInfoTab			: "Info",
+DlgAlertUrl			: "Lisää URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "&lt;ei asetettu&gt;",
+DlgGenId			: "Tunniste",
+DlgGenLangDir		: "Kielen suunta",
+DlgGenLangDirLtr	: "Vasemmalta oikealle (LTR)",
+DlgGenLangDirRtl	: "Oikealta vasemmalle (RTL)",
+DlgGenLangCode		: "Kielikoodi",
+DlgGenAccessKey		: "Pikanäppäin",
+DlgGenName			: "Nimi",
+DlgGenTabIndex		: "Tabulaattori indeksi",
+DlgGenLongDescr		: "Pitkän kuvauksen URL",
+DlgGenClass			: "Tyyliluokat",
+DlgGenTitle			: "Avustava otsikko",
+DlgGenContType		: "Avustava sisällön tyyppi",
+DlgGenLinkCharset	: "Linkitetty kirjaimisto",
+DlgGenStyle			: "Tyyli",
+
+// Image Dialog
+DlgImgTitle			: "Kuvan ominaisuudet",
+DlgImgInfoTab		: "Kuvan tiedot",
+DlgImgBtnUpload		: "Lähetä palvelimelle",
+DlgImgURL			: "Osoite",
+DlgImgUpload		: "Lisää kuva",
+DlgImgAlt			: "Vaihtoehtoinen teksti",
+DlgImgWidth			: "Leveys",
+DlgImgHeight		: "Korkeus",
+DlgImgLockRatio		: "Lukitse suhteet",
+DlgBtnResetSize		: "Alkuperäinen koko",
+DlgImgBorder		: "Raja",
+DlgImgHSpace		: "Vaakatila",
+DlgImgVSpace		: "Pystytila",
+DlgImgAlign			: "Kohdistus",
+DlgImgAlignLeft		: "Vasemmalle",
+DlgImgAlignAbsBottom: "Aivan alas",
+DlgImgAlignAbsMiddle: "Aivan keskelle",
+DlgImgAlignBaseline	: "Alas (teksti)",
+DlgImgAlignBottom	: "Alas",
+DlgImgAlignMiddle	: "Keskelle",
+DlgImgAlignRight	: "Oikealle",
+DlgImgAlignTextTop	: "Ylös (teksti)",
+DlgImgAlignTop		: "Ylös",
+DlgImgPreview		: "Esikatselu",
+DlgImgAlertUrl		: "Kirjoita kuvan osoite (URL)",
+DlgImgLinkTab		: "Linkki",
+
+// Flash Dialog
+DlgFlashTitle		: "Flash ominaisuudet",
+DlgFlashChkPlay		: "Automaattinen käynnistys",
+DlgFlashChkLoop		: "Toisto",
+DlgFlashChkMenu		: "Näytä Flash-valikko",
+DlgFlashScale		: "Levitä",
+DlgFlashScaleAll	: "Näytä kaikki",
+DlgFlashScaleNoBorder	: "Ei rajaa",
+DlgFlashScaleFit	: "Tarkka koko",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Linkki",
+DlgLnkInfoTab		: "Linkin tiedot",
+DlgLnkTargetTab		: "Kohde",
+
+DlgLnkType			: "Linkkityyppi",
+DlgLnkTypeURL		: "Osoite",
+DlgLnkTypeAnchor	: "Ankkuri tässä sivussa",
+DlgLnkTypeEMail		: "Sähköposti",
+DlgLnkProto			: "Protokolla",
+DlgLnkProtoOther	: "&lt;muu&gt;",
+DlgLnkURL			: "Osoite",
+DlgLnkAnchorSel		: "Valitse ankkuri",
+DlgLnkAnchorByName	: "Ankkurin nimen mukaan",
+DlgLnkAnchorById	: "Ankkurin ID:n mukaan",
+DlgLnkNoAnchors		: "&lt;Ei ankkureita tässä dokumentissa&gt;",
+DlgLnkEMail			: "Sähköpostiosoite",
+DlgLnkEMailSubject	: "Aihe",
+DlgLnkEMailBody		: "Viesti",
+DlgLnkUpload		: "Lisää tiedosto",
+DlgLnkBtnUpload		: "Lähetä palvelimelle",
+
+DlgLnkTarget		: "Kohde",
+DlgLnkTargetFrame	: "&lt;kehys&gt;",
+DlgLnkTargetPopup	: "&lt;popup ikkuna&gt;",
+DlgLnkTargetBlank	: "Uusi ikkuna (_blank)",
+DlgLnkTargetParent	: "Emoikkuna (_parent)",
+DlgLnkTargetSelf	: "Sama ikkuna (_self)",
+DlgLnkTargetTop		: "Päällimmäisin ikkuna (_top)",
+DlgLnkTargetFrameName	: "Kohdekehyksen nimi",
+DlgLnkPopWinName	: "Popup ikkunan nimi",
+DlgLnkPopWinFeat	: "Popup ikkunan ominaisuudet",
+DlgLnkPopResize		: "Venytettävä",
+DlgLnkPopLocation	: "Osoiterivi",
+DlgLnkPopMenu		: "Valikkorivi",
+DlgLnkPopScroll		: "Vierityspalkit",
+DlgLnkPopStatus		: "Tilarivi",
+DlgLnkPopToolbar	: "Vakiopainikkeet",
+DlgLnkPopFullScrn	: "Täysi ikkuna (IE)",
+DlgLnkPopDependent	: "Riippuva (Netscape)",
+DlgLnkPopWidth		: "Leveys",
+DlgLnkPopHeight		: "Korkeus",
+DlgLnkPopLeft		: "Vasemmalta (px)",
+DlgLnkPopTop		: "Ylhäältä (px)",
+
+DlnLnkMsgNoUrl		: "Linkille on kirjoitettava URL",
+DlnLnkMsgNoEMail	: "Kirjoita sähköpostiosoite",
+DlnLnkMsgNoAnchor	: "Valitse ankkuri",
+
+// Color Dialog
+DlgColorTitle		: "Valitse väri",
+DlgColorBtnClear	: "Tyhjennä",
+DlgColorHighlight	: "Kohdalla",
+DlgColorSelected	: "Valittu",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Lisää hymiö",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Valitse erikoismerkki",
+
+// Table Dialog
+DlgTableTitle		: "Taulun ominaisuudet",
+DlgTableRows		: "Rivit",
+DlgTableColumns		: "Sarakkeet",
+DlgTableBorder		: "Rajan paksuus",
+DlgTableAlign		: "Kohdistus",
+DlgTableAlignNotSet	: "<ei asetettu>",
+DlgTableAlignLeft	: "Vasemmalle",
+DlgTableAlignCenter	: "Keskelle",
+DlgTableAlignRight	: "Oikealle",
+DlgTableWidth		: "Leveys",
+DlgTableWidthPx		: "pikseliä",
+DlgTableWidthPc		: "prosenttia",
+DlgTableHeight		: "Korkeus",
+DlgTableCellSpace	: "Solujen väli",
+DlgTableCellPad		: "Solujen sisennys",
+DlgTableCaption		: "Otsikko",
+
+// Table Cell Dialog
+DlgCellTitle		: "Solun ominaisuudet",
+DlgCellWidth		: "Leveys",
+DlgCellWidthPx		: "pikseliä",
+DlgCellWidthPc		: "prosenttia",
+DlgCellHeight		: "Korkeus",
+DlgCellWordWrap		: "Tekstikierrätys",
+DlgCellWordWrapNotSet	: "<Ei asetettu>",
+DlgCellWordWrapYes	: "Kyllä",
+DlgCellWordWrapNo	: "Ei",
+DlgCellHorAlign		: "Vaakakohdistus",
+DlgCellHorAlignNotSet	: "<Ei asetettu>",
+DlgCellHorAlignLeft	: "Vasemmalle",
+DlgCellHorAlignCenter	: "Keskelle",
+DlgCellHorAlignRight: "Oikealle",
+DlgCellVerAlign		: "Pystykohdistus",
+DlgCellVerAlignNotSet	: "<Ei asetettu>",
+DlgCellVerAlignTop	: "Ylös",
+DlgCellVerAlignMiddle	: "Keskelle",
+DlgCellVerAlignBottom	: "Alas",
+DlgCellVerAlignBaseline	: "Tekstin alas",
+DlgCellRowSpan		: "Rivin jatkuvuus",
+DlgCellCollSpan		: "Sarakkeen jatkuvuus",
+DlgCellBackColor	: "Taustaväri",
+DlgCellBorderColor	: "Rajan väri",
+DlgCellBtnSelect	: "Valitse...",
+
+// Find Dialog
+DlgFindTitle		: "Etsi",
+DlgFindFindBtn		: "Etsi",
+DlgFindNotFoundMsg	: "Etsittyä tekstiä ei löytynyt.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Korvaa",
+DlgReplaceFindLbl		: "Etsi mitä:",
+DlgReplaceReplaceLbl	: "Korvaa tällä:",
+DlgReplaceCaseChk		: "Sama kirjainkoko",
+DlgReplaceReplaceBtn	: "Korvaa",
+DlgReplaceReplAllBtn	: "Korvaa kaikki",
+DlgReplaceWordChk		: "Koko sana",
+
+// Paste Operations / Dialog
+PasteErrorPaste	: "Selaimesi turva-asetukset eivät salli editorin toteuttaa liittämistä. Käytä näppäimistöä liittämiseen (Ctrl+V).",
+PasteErrorCut	: "Selaimesi turva-asetukset eivät salli editorin toteuttaa leikkaamista. Käytä näppäimistöä leikkaamiseen (Ctrl+X).",
+PasteErrorCopy	: "Selaimesi turva-asetukset eivät salli editorin toteuttaa kopioimista. Käytä näppäimistöä kopioimiseen (Ctrl+C).",
+
+PasteAsText		: "Liitä tekstinä",
+PasteFromWord	: "Liitä Wordista",
+
+DlgPasteMsg2	: "Liitä painamalla (<STRONG>Ctrl+V</STRONG>) ja painamalla <STRONG>OK</STRONG>.",
+DlgPasteIgnoreFont		: "Jätä huomioimatta fonttimääritykset",
+DlgPasteRemoveStyles	: "Poista tyylimääritykset",
+DlgPasteCleanBox		: "Tyhjennä",
+
+
+// Color Picker
+ColorAutomatic	: "Automaattinen",
+ColorMoreColors	: "Lisää värejä...",
+
+// Document Properties
+DocProps		: "Dokumentin ominaisuudet",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Ankkurin ominaisuudet",
+DlgAnchorName		: "Nimi",
+DlgAnchorErrorName	: "Ankkurille on kirjoitettava nimi",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Ei sanakirjassa",
+DlgSpellChangeTo		: "Vaihda",
+DlgSpellBtnIgnore		: "Jätä huomioimatta",
+DlgSpellBtnIgnoreAll	: "Jätä kaikki huomioimatta",
+DlgSpellBtnReplace		: "Korvaa",
+DlgSpellBtnReplaceAll	: "Korvaa kaikki",
+DlgSpellBtnUndo			: "Kumoa",
+DlgSpellNoSuggestions	: "Ei ehdotuksia",
+DlgSpellProgress		: "Tarkistus käynnissä...",
+DlgSpellNoMispell		: "Tarkistus valmis: Ei virheitä",
+DlgSpellNoChanges		: "Tarkistus valmis: Yhtään sanaa ei muutettu",
+DlgSpellOneChange		: "Tarkistus valmis: Yksi sana muutettiin",
+DlgSpellManyChanges		: "Tarkistus valmis: %1 sanaa muutettiin",
+
+IeSpellDownload			: "Oikeinkirjoituksen tarkistusta ei ole asennettu. Haluatko ladata sen nyt?",
+
+// Button Dialog
+DlgButtonText	: "Teksti (arvo)",
+DlgButtonType	: "Tyyppi",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Nimi",
+DlgCheckboxValue	: "Arvo",
+DlgCheckboxSelected	: "Valittu",
+
+// Form Dialog
+DlgFormName		: "Nimi",
+DlgFormAction	: "Toiminto",
+DlgFormMethod	: "Tapa",
+
+// Select Field Dialog
+DlgSelectName		: "Nimi",
+DlgSelectValue		: "Arvo",
+DlgSelectSize		: "Koko",
+DlgSelectLines		: "Rivit",
+DlgSelectChkMulti	: "Salli usea valinta",
+DlgSelectOpAvail	: "Ominaisuudet",
+DlgSelectOpText		: "Teksti",
+DlgSelectOpValue	: "Arvo",
+DlgSelectBtnAdd		: "Lisää",
+DlgSelectBtnModify	: "Muuta",
+DlgSelectBtnUp		: "Ylös",
+DlgSelectBtnDown	: "Alas",
+DlgSelectBtnSetValue : "Aseta valituksi",
+DlgSelectBtnDelete	: "Poista",
+
+// Textarea Dialog
+DlgTextareaName	: "Nimi",
+DlgTextareaCols	: "Sarakkeita",
+DlgTextareaRows	: "Rivejä",
+
+// Text Field Dialog
+DlgTextName			: "Nimi",
+DlgTextValue		: "Arvo",
+DlgTextCharWidth	: "Leveys",
+DlgTextMaxChars		: "Maksimi merkkimäärä",
+DlgTextType			: "Tyyppi",
+DlgTextTypeText		: "Teksti",
+DlgTextTypePass		: "Salasana",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Nimi",
+DlgHiddenValue	: "Arvo",
+
+// Bulleted List Dialog
+BulletedListProp	: "Luettelon ominaisuudet",
+NumberedListProp	: "Numeroinnin ominaisuudet",
+DlgLstType			: "Tyyppi",
+DlgLstTypeCircle	: "Kehä",
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "Neliö",
+DlgLstTypeNumbers	: "Numerot (1, 2, 3)",
+DlgLstTypeLCase		: "Pienet kirjaimet (a, b, c)",
+DlgLstTypeUCase		: "Isot kirjaimet (A, B, C)",
+DlgLstTypeSRoman	: "Pienet roomalaiset numerot (i, ii, iii)",
+DlgLstTypeLRoman	: "Isot roomalaiset numerot (Ii, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Yleiset",
+DlgDocBackTab		: "Tausta",
+DlgDocColorsTab		: "Värit ja marginaalit",
+DlgDocMetaTab		: "Meta-tieto",
+
+DlgDocPageTitle		: "Sivun nimi",
+DlgDocLangDir		: "Kielen suunta",
+DlgDocLangDirLTR	: "Vasemmalta oikealle (LTR)",
+DlgDocLangDirRTL	: "Oikealta vasemmalle (RTL)",
+DlgDocLangCode		: "Kielikoodi",
+DlgDocCharSet		: "Merkistäkoodaus",
+DlgDocCharSetOther	: "Muu merkistäkoodaus",
+
+DlgDocDocType		: "Dokumentin tyyppi",
+DlgDocDocTypeOther	: "Muu dokumentin tyyppi",
+DlgDocIncXHTML		: "Lisää XHTML julistukset",
+DlgDocBgColor		: "Taustaväri",
+DlgDocBgImage		: "Taustakuva",
+DlgDocBgNoScroll	: "Paikallaanpysyvä tausta",
+DlgDocCText			: "Teksti",
+DlgDocCLink			: "Linkki",
+DlgDocCVisited		: "Vierailtu linkki",
+DlgDocCActive		: "Aktiivinen linkki",
+DlgDocMargins		: "Sivun marginaalit",
+DlgDocMaTop			: "Ylä",
+DlgDocMaLeft		: "Vasen",
+DlgDocMaRight		: "Oikea",
+DlgDocMaBottom		: "Ala",
+DlgDocMeIndex		: "Hakusanat (pilkulla erotettuna)",
+DlgDocMeDescr		: "Kuvaus",
+DlgDocMeAuthor		: "Tekijä",
+DlgDocMeCopy		: "Tekijänoikeudet",
+DlgDocPreview		: "Esikatselu",
+
+// Templates Dialog
+Templates			: "Pohjat",
+DlgTemplatesTitle	: "Sisältöpohjat",
+DlgTemplatesSelMsg	: "Valitse pohja editoriin<br>(aiempi sisältö menetetään):",
+DlgTemplatesLoading	: "Ladataan listaa pohjista. Hetkinen...",
+DlgTemplatesNoTpl	: "(Ei määriteltyjä pohjia)",
+
+// About Dialog
+DlgAboutAboutTab	: "Editorista",
+DlgAboutBrowserInfoTab	: "Selaimen tiedot",
+DlgAboutVersion		: "versio",
+DlgAboutLicense		: "Lisenssi: GNU Lesser General Public License",
+DlgAboutInfo		: "Lisää tietoa osoitteesta"
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/lang/fo.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/lang/fo.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/lang/fo.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,476 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fo.js
+ * 	Faroese language file.
+ * 
+ * File Authors:
+ * 		Símin Lassaberg
+ * 		Helgi Arnthorsson
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Goym amboðalistan",
+ToolbarExpand		: "Vís amboðalistan",
+
+// Toolbar Items and Context Menu
+Save				: "Geim",
+NewPage				: "Nýggj síða",
+Preview				: "Vís dømi",
+Cut					: "Klipp",
+Copy				: "Avrita",
+Paste				: "Set inn",
+PasteText			: "Set inn sum reinan tekst",
+PasteWord			: "Set inn frá Word",
+Print				: "Prenta",
+SelectAll			: "Markera alt",
+RemoveFormat		: "Sletta sniðgeving",
+InsertLinkLbl		: "Leinkja",
+InsertLink			: "Seta inn/Broyta Leinkju",
+RemoveLink			: "Sletta Leinkju",
+Anchor				: "Seta inn/Broyta staðsetingarmerki",
+InsertImageLbl		: "Seta inn mynd",
+InsertImage			: "Seta inn/Broyta mynd",
+InsertFlashLbl		: "Flash",	//MISSING
+InsertFlash			: "Insert/Edit Flash",	//MISSING
+InsertTableLbl		: "Talva",
+InsertTable			: "Seta inn/Broyta talvu",
+InsertLineLbl		: "Linja",
+InsertLine			: "Seta inn vatnrætta linju",
+InsertSpecialCharLbl: "Serlig tekn",
+InsertSpecialChar	: "Seta inn serligt tekn",
+InsertSmileyLbl		: "Smiley",
+InsertSmiley		: "Seta inn Smiley",
+About				: "Um FCKeditor",
+Bold				: "Feit",
+Italic				: "Skástillað",
+Underline			: "Undirstrikað",
+StrikeThrough		: "Strikað yvir",
+Subscript			: "Lækkað skrift",
+Superscript			: "Hækkað skrift",
+LeftJustify			: "Vinstristillað",
+CenterJustify		: "Miðstillað",
+RightJustify		: "Hægristillað",
+BlockJustify		: "Beinir tekstkantar",
+DecreaseIndent		: "Økja innrykk",
+IncreaseIndent		: "Minka innrykk",
+Undo				: "Angra",
+Redo				: "Broyt aftur í upprunamynd",
+NumberedListLbl		: "Talsettur listi",
+NumberedList		: "Seta inn/Sletta talsettan lista",
+BulletedListLbl		: "Punktsettur listi",
+BulletedList		: "Seta inn/Sletta punktsettan lista",
+ShowTableBorders	: "Vísa talvukantar ",
+ShowDetails			: "Vísa detaljur",
+Style				: "Tekstsnið",
+FontFormat			: "Sniðgeving",
+Font				: "Skrift",
+FontSize			: "Skriftstødd",
+TextColor			: "Tekstlitur",
+BGColor				: "Litur aftanfyri",
+Source				: "Kelda",
+Find				: "Leita",
+Replace				: "Set í staðin",
+SpellCheck			: "Stavseting",
+UniversalKeyboard	: "Universalt Tastatur",
+
+Form			: "Seta inn Form",
+Checkbox		: "Seta inn Avmerkingarboks",
+RadioButton		: "Seta inn Radioknap",
+TextField		: "Seta inn Tekstteig",
+Textarea		: "Seta inn Tekstøki",
+HiddenField		: "Seta inn GoymdanTeig",
+Button			: "Seta inn knapp",
+SelectionField	: "Seta inn Valteig",
+ImageButton		: "Seta inn Myndaknapp",
+
+// Context Menu
+EditLink			: "Broyt leinkju",
+InsertRow			: "Seta inn rekkju",
+DeleteRows			: "Sletta rekkjur",
+InsertColumn		: "Seta inn søjlur",
+DeleteColumns		: "Sletta søjlur",
+InsertCell			: "Seta inn sellu",
+DeleteCells			: "Sletta sellu",
+MergeCells			: "Flætta sellur",
+SplitCell			: "Deila sellur",
+CellProperties		: "Eginleikar fyri sellu",
+TableProperties		: "Eginleikar fyri talvu",
+ImageProperties		: "Eginleikar fyri mynd",
+FlashProperties		: "Flash Properties",	//MISSING
+
+AnchorProp			: "Eginleikar fyri staðsetingarpunkt",
+ButtonProp			: "Eginleikar fyri knapp",
+CheckboxProp		: "Eginleikar fyri avmerkingarboks",
+HiddenFieldProp		: "Eginleikar fyri goymdan teig",
+RadioButtonProp		: "Eginleikar fyri radioknapp",
+ImageButtonProp		: "Eginleikar fyri myndaknapp",
+TextFieldProp		: "Eginleikar fyri Tekstateig",
+SelectionFieldProp	: "Eginleikar fyri Valteig",
+TextareaProp		: "Eginleikar fyri Tekstaøki",
+FormProp			: "Eginleikar fyri form",
+
+FontFormats			: "Normalt;Sniðgevið;Adressa;Yvirskrift 1;Yvirskrift 2;Yvirskrift 3;Yvirskrift 4;Yvirskrift 5;Yvirskrift 6",
+
+// Alerts and Messages
+ProcessingXHTML		: "Viðgerir XHTML. Bíða...",
+Done				: "Liðugt",
+PasteWordConfirm	: "Teksturin, tú roynir at seta inn, sýnist at vera frá Word. Vilt tú reinsa tekstin, áðrenn hann verður settur inn?",
+NotCompatiblePaste	: "Hesin ordri er tøkur í Internet Explorer 5.5 og nýggjari. Vilt tú seta tekstin inn, uttan at reinsa hann?",
+UnknownToolbarItem	: "Ókendur lutur í amboðalinju \"%1\"",
+UnknownCommand		: "Kenni ikki ordra \"%1\"",
+NotImplemented		: "Ordrin er ikki gjørdur virkin",
+UnknownToolbarSet	: "Amboðalinjan \"%1\" finst ikki",
+NoActiveX			: "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Angra",
+DlgBtnClose			: "Lukka",
+DlgBtnBrowseServer	: "Hyggja á servara",
+DlgAdvancedTag		: "Útvíðka",
+DlgOpOther			: "&lt;Annað&gt;",
+DlgInfoTab			: "Info",	//MISSING
+DlgAlertUrl			: "Please insert the URL",	//MISSING
+
+// General Dialogs Labels
+DlgGenNotSet		: "&lt;ikki sett&gt;",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Tekstakós",
+DlgGenLangDirLtr	: "Vinstri móti høgri (LTR)",
+DlgGenLangDirRtl	: "Høgri móti vinstri (RTL)",
+DlgGenLangCode		: "Málkoda",
+DlgGenAccessKey		: "Atgongdslykil",
+DlgGenName			: "Navn",
+DlgGenTabIndex		: "Tabulator Indeks",
+DlgGenLongDescr		: "víðka frágreiðing",
+DlgGenClass			: "Typografiark",
+DlgGenTitle			: "Heiti",
+DlgGenContType		: "Innihaldsslag",
+DlgGenLinkCharset	: "Teknset",
+DlgGenStyle			: "Prentlist",
+
+// Image Dialog
+DlgImgTitle			: "Mynd eginleikar",
+DlgImgInfoTab		: "Mynd info",
+DlgImgBtnUpload		: "Send til serveren",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Upload",
+DlgImgAlt			: "Annar tekstur",
+DlgImgWidth			: "Breidd",
+DlgImgHeight		: "Hædd",
+DlgImgLockRatio		: "Læs støddarlutfall",
+DlgBtnResetSize		: "Nulstilla stødd",
+DlgImgBorder		: "Ramma",
+DlgImgHSpace		: "HMargin",
+DlgImgVSpace		: "VMargin",
+DlgImgAlign			: "Justering",
+DlgImgAlignLeft		: "Vinstra",
+DlgImgAlignAbsBottom: "Abs botnur",
+DlgImgAlignAbsMiddle: "Abs Miðja",
+DlgImgAlignBaseline	: "Botnlinja",
+DlgImgAlignBottom	: "Botnur",
+DlgImgAlignMiddle	: "Miðja",
+DlgImgAlignRight	: "Høgra",
+DlgImgAlignTextTop	: "Tekstur ovast",
+DlgImgAlignTop		: "Ovast",
+DlgImgPreview		: "Vís dømi",
+DlgImgAlertUrl		: "Slá inn slóðina til myndina",
+DlgImgLinkTab		: "Leinkja",
+
+// Flash Dialog
+DlgFlashTitle		: "Flash Properties",	//MISSING
+DlgFlashChkPlay		: "Auto Play",	//MISSING
+DlgFlashChkLoop		: "Loop",	//MISSING
+DlgFlashChkMenu		: "Enable Flash Menu",	//MISSING
+DlgFlashScale		: "Scale",	//MISSING
+DlgFlashScaleAll	: "Show all",	//MISSING
+DlgFlashScaleNoBorder	: "No Border",	//MISSING
+DlgFlashScaleFit	: "Exact Fit",	//MISSING
+
+// Link Dialog
+DlgLnkWindowTitle	: "Leinkja",
+DlgLnkInfoTab		: "Leinkju info",
+DlgLnkTargetTab		: "Mál",
+
+DlgLnkType			: "Leinkju slag",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Akker á hesari síðuni",
+DlgLnkTypeEMail		: "Teldupostur",
+DlgLnkProto			: "Protokoll",
+DlgLnkProtoOther	: "&lt;onnur&gt;",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "VEl eitt akker",
+DlgLnkAnchorByName	: "Eftir akker navni",
+DlgLnkAnchorById	: "Eftir element Id",
+DlgLnkNoAnchors		: "&lt;Tað eru ongi akker tøk í hesum dokumentinum;",
+DlgLnkEMail			: "Teldupost Adresse",
+DlgLnkEMailSubject	: "Evni",
+DlgLnkEMailBody		: "Boð",
+DlgLnkUpload		: "Upload",
+DlgLnkBtnUpload		: "Send til servaran",
+
+DlgLnkTarget		: "Mál",
+DlgLnkTargetFrame	: "&lt;ramma&gt;",
+DlgLnkTargetPopup	: "&lt;popup vindeyga&gt;",
+DlgLnkTargetBlank	: "Nytt vindeyga (_blank)",
+DlgLnkTargetParent	: "Omaná liggjandi vindeyga (_parent)",
+DlgLnkTargetSelf	: "Sama vindeyga (_self)",
+DlgLnkTargetTop		: "ovasta vindeyga (_top)",
+DlgLnkTargetFrameName	: "vísa vindeygas navn",
+DlgLnkPopWinName	: "Popup vindeygas navn",
+DlgLnkPopWinFeat	: "Popup vindeygas eginleikar",
+DlgLnkPopResize		: "Skalering",
+DlgLnkPopLocation	: "Lokationslinja",
+DlgLnkPopMenu		: "Menulinja",
+DlgLnkPopScroll		: "Scrollbars",
+DlgLnkPopStatus		: "Statuslinja",
+DlgLnkPopToolbar	: "Værktøjslinja",
+DlgLnkPopFullScrn	: "Fullur skermur (IE)",
+DlgLnkPopDependent	: "Bundin (Netscape)",
+DlgLnkPopWidth		: "Breidd",
+DlgLnkPopHeight		: "Hædd",
+DlgLnkPopLeft		: "Positión frá vinstru",
+DlgLnkPopTop		: "Positión frá toppinum",
+
+DlnLnkMsgNoUrl		: "Inntasta leinkju URL",
+DlnLnkMsgNoEMail	: "Inntasta teldupost addressuna",
+DlnLnkMsgNoAnchor	: "Vel akker",
+
+// Color Dialog
+DlgColorTitle		: "vel farvu",
+DlgColorBtnClear	: "sletta alt",
+DlgColorHighlight	: "Markera",
+DlgColorSelected	: "valt",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Innset ein smiley",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "vel specialkarakter",
+
+// Table Dialog
+DlgTableTitle		: "Tabel eginleikar",
+DlgTableRows		: "Rekkjur",
+DlgTableColumns		: "Kolonnur",
+DlgTableBorder		: "Rammu stødd",
+DlgTableAlign		: "Justering",
+DlgTableAlignNotSet	: "<Ikki sett>",
+DlgTableAlignLeft	: "Vinstrastilla",
+DlgTableAlignCenter	: "Miðseta",
+DlgTableAlignRight	: "Høgrastilla",
+DlgTableWidth		: "Breidd",
+DlgTableWidthPx		: "pixels",
+DlgTableWidthPc		: "prosent",
+DlgTableHeight		: "Hædd",
+DlgTableCellSpace	: "Fjarstøða millum sellur",
+DlgTableCellPad		: "Sellu breddi",
+DlgTableCaption		: "Heiti",
+
+// Table Cell Dialog
+DlgCellTitle		: "Sellu eginleikar",
+DlgCellWidth		: "Breidd",
+DlgCellWidthPx		: "pixels",
+DlgCellWidthPc		: "prosent",
+DlgCellHeight		: "Hædd",
+DlgCellWordWrap		: "Orðbýti",
+DlgCellWordWrapNotSet	: "<Ikki sett>",
+DlgCellWordWrapYes	: "Ja",
+DlgCellWordWrapNo	: "Nej",
+DlgCellHorAlign		: "Horisontal justering",
+DlgCellHorAlignNotSet	: "<Ikke sat>",
+DlgCellHorAlignLeft	: "Vinstrastilla",
+DlgCellHorAlignCenter	: "Miðsett",
+DlgCellHorAlignRight: "Høgrastilla",
+DlgCellVerAlign		: "Lodrøtt Justering",
+DlgCellVerAlignNotSet	: "<Ikki sett>",
+DlgCellVerAlignTop	: "Ovast",
+DlgCellVerAlignMiddle	: "Miðja",
+DlgCellVerAlignBottom	: "Niðast",
+DlgCellVerAlignBaseline	: "Botnlinja",
+DlgCellRowSpan		: "Tal av rekkjum sellan spennur yvir",
+DlgCellCollSpan		: "Tal av talrøðum sellan spennur yvir",
+DlgCellBackColor	: "Bakgrundsfarva",
+DlgCellBorderColor	: "rammufarva",
+DlgCellBtnSelect	: "Vel...",
+
+// Find Dialog
+DlgFindTitle		: "Finn",
+DlgFindFindBtn		: "Finn",
+DlgFindNotFoundMsg	: "Teksturin bleiv ikki funnin",
+
+// Replace Dialog
+DlgReplaceTitle			: "Set í staðin",
+DlgReplaceFindLbl		: "Finn:",
+DlgReplaceReplaceLbl	: "Set í staðin við:",
+DlgReplaceCaseChk		: "Munur á stórum og smáðum stavum",
+DlgReplaceReplaceBtn	: "Set í staðin",
+DlgReplaceReplAllBtn	: "Skift alt út",
+DlgReplaceWordChk		: "Bert heil orð",
+
+// Paste Operations / Dialog
+PasteErrorPaste	: "Leitarans trygdarinstillingar loyva ikki editorinum at innseta tekstin automatiskt. Brúka knappaborðið til at innseta tekstin (Ctrl+V).",
+PasteErrorCut	: "Leitarans trygdarinstillingar loyva ikki editorinum at klippa tekstin automatiskt. Brúka í staðin knappaborðið til at klippa tekstin (Ctrl+X).",
+PasteErrorCopy	: "Leitarans trygdarinstillingar loyva ikki editorinum at avrita tekstin automatiskt. Brúka í staðin knappaborðið til at avrita tekstin (Ctrl+V).",
+
+PasteAsText		: "Seta inn som reinur tekstur",
+PasteFromWord	: "Seta inn fra Word",
+
+DlgPasteMsg2	: "Please paste inside the following box using the keyboard (<STRONG>Ctrl+V</STRONG>) and hit <STRONG>OK</STRONG>.",	//MISSING
+DlgPasteIgnoreFont		: "Ignore Font Face definitions",	//MISSING
+DlgPasteRemoveStyles	: "Remove Styles definitions",	//MISSING
+DlgPasteCleanBox		: "Clean Up Box",	//MISSING
+
+
+// Color Picker
+ColorAutomatic	: "Automatisk",
+ColorMoreColors	: "Fleiri farvur...",
+
+// Document Properties
+DocProps		: "Dokument eginleikar",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Akker eginleikar",
+DlgAnchorName		: "Akker navn",
+DlgAnchorErrorName	: "Slá innn akker navn",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Finnst ikki í orðabókini",
+DlgSpellChangeTo		: "broyta til",
+DlgSpellBtnIgnore		: "Ignorera",
+DlgSpellBtnIgnoreAll	: "Ignorera alt",
+DlgSpellBtnReplace		: "Skift út",
+DlgSpellBtnReplaceAll	: "Skift út alt",
+DlgSpellBtnUndo			: "Aftur",
+DlgSpellNoSuggestions	: "- Einki uppskot -",
+DlgSpellProgress		: "Stavarin arbeiðir...",
+DlgSpellNoMispell		: "Stavarain liðugur: Eingin feilur funnin",
+DlgSpellNoChanges		: "Stavarain liðugur: Einki orð broytt",
+DlgSpellOneChange		: "Stavarain liðugur: Eitt orð broytt",
+DlgSpellManyChanges		: "Stavarain liðugur: %1 orð broytt",
+
+IeSpellDownload			: "Stavarin ikki lagdur inn. vilt tú heinta hann nú?",
+
+// Button Dialog
+DlgButtonText	: "Tekstur (Virði)",
+DlgButtonType	: "Slag",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Navn",
+DlgCheckboxValue	: "Virði",
+DlgCheckboxSelected	: "Valgt",
+
+// Form Dialog
+DlgFormName		: "Navn",
+DlgFormAction	: "Gerð",
+DlgFormMethod	: "Háttur",
+
+// Select Field Dialog
+DlgSelectName		: "Navn",
+DlgSelectValue		: "Virði",
+DlgSelectSize		: "Stødd",
+DlgSelectLines		: "linjir",
+DlgSelectChkMulti	: "Loyv fleiri valmøguleikar",
+DlgSelectOpAvail	: "valmøguleikar",
+DlgSelectOpText		: "Tekstur",
+DlgSelectOpValue	: "Virði",
+DlgSelectBtnAdd		: "Legg afturat",
+DlgSelectBtnModify	: "Broyt",
+DlgSelectBtnUp		: "Upp",
+DlgSelectBtnDown	: "Niður",
+DlgSelectBtnSetValue : "Set sum útvald",
+DlgSelectBtnDelete	: "Sletta",
+
+// Textarea Dialog
+DlgTextareaName	: "Navn",
+DlgTextareaCols	: "talrøð",
+DlgTextareaRows	: "Rekkja",
+
+// Text Field Dialog
+DlgTextName			: "Navn",
+DlgTextValue		: "Virði",
+DlgTextCharWidth	: "Sjónligt tal av bókstavum",
+DlgTextMaxChars		: "Hægst loyvda tal av bókstavum",
+DlgTextType			: "Slag",
+DlgTextTypeText		: "Tekstur",
+DlgTextTypePass		: "Koduorð",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Navn",
+DlgHiddenValue	: "Virði",
+
+// Bulleted List Dialog
+BulletedListProp	: "Punktteknsuppsetingar eginleikar",
+NumberedListProp	: "Taluppsetingar eginleikar",
+DlgLstType			: "Slag",
+DlgLstTypeCircle	: "Sirkul",
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "Fýrakantur",
+DlgLstTypeNumbers	: "Talmerkt (1, 2, 3)",
+DlgLstTypeLCase		: "Smáir bókstavir (a, b, c)",
+DlgLstTypeUCase		: "Stórir bókstavir (A, B, C)",
+DlgLstTypeSRoman	: "Smá rómaratøl (i, ii, iii)",
+DlgLstTypeLRoman	: "Stór rómaratøl (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Generelt",
+DlgDocBackTab		: "Bakgrund",
+DlgDocColorsTab		: "Farva og Breddin",
+DlgDocMetaTab		: "Meta Information",
+
+DlgDocPageTitle		: "Síðu heiti",
+DlgDocLangDir		: "Mál",
+DlgDocLangDirLTR	: "Frá vinstru móti høgru (LTR)",
+DlgDocLangDirRTL	: "Frá høgru móti vinstru (RTL)",
+DlgDocLangCode		: "Landakoda",
+DlgDocCharSet		: "Karakter set kodu",
+DlgDocCharSetOther	: "Annar karakter set kodu",
+
+DlgDocDocType		: "Dokument slag kategori",
+DlgDocDocTypeOther	: "Annað dokument slag kategori",
+DlgDocIncXHTML		: "Inkludere XHTML deklartion",
+DlgDocBgColor		: "Bakgrundsfarva",
+DlgDocBgImage		: "Bakgrundsmynd URL",
+DlgDocBgNoScroll	: "Ikki scrollbar bakgrund",
+DlgDocCText			: "Tekstur",
+DlgDocCLink			: "Leinkja",
+DlgDocCVisited		: "Vitja leinkja",
+DlgDocCActive		: "Aktiv leinkja",
+DlgDocMargins		: "Síðu breddi",
+DlgDocMaTop			: "Ovast",
+DlgDocMaLeft		: "Vinstra",
+DlgDocMaRight		: "Høgra",
+DlgDocMaBottom		: "Niðast",
+DlgDocMeIndex		: "Dokument index lyklaorð (komma sundurskilt)",
+DlgDocMeDescr		: "Dokument lýsing",
+DlgDocMeAuthor		: "Høvundur",
+DlgDocMeCopy		: "Copyright",
+DlgDocPreview		: "Vís",
+
+// Templates Dialog
+Templates			: "Frymlar",
+DlgTemplatesTitle	: "Innihaldsfrymlar",
+DlgTemplatesSelMsg	: "Vel tann frymilin, sum skal opnast í editorinum<br>(Tað verður skriva útyvir núverandi innihald):",
+DlgTemplatesLoading	: "Heintar lista yvir frymlar. Vinarliga bíða...",
+DlgTemplatesNoTpl	: "(Ongin frymil er valdur)",
+
+// About Dialog
+DlgAboutAboutTab	: "Um",
+DlgAboutBrowserInfoTab	: "Browsara upplýsingar",
+DlgAboutVersion		: "versión",
+DlgAboutLicense		: "Loyvi undir treytum fyri GNU Lesser General Public License",
+DlgAboutInfo		: "Fleiri upplýsingar, far til"
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/lang/fr.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/lang/fr.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/lang/fr.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,475 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fr.js
+ * 	French language file.
+ * 
+ * File Authors:
+ * 		Hubert Garrido (liane at users.sourceforge.net)
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Masquer Outils",
+ToolbarExpand		: "Afficher Outils",
+
+// Toolbar Items and Context Menu
+Save				: "Enregistrer",
+NewPage				: "Nouvelle Page",
+Preview				: "Prévisualisation",
+Cut					: "Couper",
+Copy				: "Copier",
+Paste				: "Coller",
+PasteText			: "Coller comme texte",
+PasteWord			: "Coller de Word",
+Print				: "Imprimer",
+SelectAll			: "Tout sélectionner",
+RemoveFormat		: "Supprimer Format",
+InsertLinkLbl		: "Lien",
+InsertLink			: "Insérer/Modifier Lien",
+RemoveLink			: "Supprimer Lien",
+Anchor				: "Insérer/Modifier Ancre",
+InsertImageLbl		: "Image",
+InsertImage			: "Insérer/Modifier Image",
+InsertFlashLbl		: "Animation Flash",
+InsertFlash			: "Insérer/Modifier Animation Flash",
+InsertTableLbl		: "Tableau",
+InsertTable			: "Insérer/Modifier Tableau",
+InsertLineLbl		: "Séparateur",
+InsertLine			: "Insérer Séparateur",
+InsertSpecialCharLbl: "Caractère Spécial",
+InsertSpecialChar	: "Insérer Caractère Spécial",
+InsertSmileyLbl		: "Smiley",
+InsertSmiley		: "Insérer Smiley",
+About				: "A propos de FCKeditor",
+Bold				: "Gras",
+Italic				: "Italique",
+Underline			: "Souligné",
+StrikeThrough		: "Barré",
+Subscript			: "Indice",
+Superscript			: "Exposant",
+LeftJustify			: "Aligné à Gauche",
+CenterJustify		: "Centré",
+RightJustify		: "Aligné à Droite",
+BlockJustify		: "Texte Justifié",
+DecreaseIndent		: "Diminuer le Retrait",
+IncreaseIndent		: "Augmenter le Retrait",
+Undo				: "Annuler",
+Redo				: "Refaire",
+NumberedListLbl		: "Liste Numérotée",
+NumberedList		: "Insérer/Supprimer Liste Numérotée",
+BulletedListLbl		: "Liste à puces",
+BulletedList		: "Insérer/Supprimer Liste à puces",
+ShowTableBorders	: "Afficher Bordures de Tableau",
+ShowDetails			: "Afficher Caractères Invisibles",
+Style				: "Style",
+FontFormat			: "Format",
+Font				: "Police",
+FontSize			: "Taille",
+TextColor			: "Couleur de Caractère",
+BGColor				: "Couleur de Fond",
+Source				: "Source",
+Find				: "Chercher",
+Replace				: "Remplacer",
+SpellCheck			: "Orthographe",
+UniversalKeyboard	: "Clavier Universel",
+
+Form			: "Formulaire",
+Checkbox		: "Case à cocher",
+RadioButton		: "Bouton Radio",
+TextField		: "Champ Texte",
+Textarea		: "Zone Texte",
+HiddenField		: "Champ caché",
+Button			: "Bouton",
+SelectionField	: "Liste/Menu",
+ImageButton		: "Bouton Image",
+
+// Context Menu
+EditLink			: "Modifier Lien",
+InsertRow			: "Insérer une Ligne",
+DeleteRows			: "Supprimer des Lignes",
+InsertColumn		: "Insérer une Colonne",
+DeleteColumns		: "Supprimer des Colonnes",
+InsertCell			: "Insérer une Cellule",
+DeleteCells			: "Supprimer des Cellules",
+MergeCells			: "Fusionner les Cellules",
+SplitCell			: "Scinder les Cellules",
+CellProperties		: "Propriétés de Cellule",
+TableProperties		: "Propriétés de Tableau",
+ImageProperties		: "Propriétés d'Image",
+FlashProperties		: "Propriétés d'Animation Flash",
+
+AnchorProp			: "Propriétés d'Ancre",
+ButtonProp			: "Propriétés de Bouton",
+CheckboxProp		: "Propriétés de Case à Cocher",
+HiddenFieldProp		: "Propriétés de Champ Caché",
+RadioButtonProp		: "Propriétés de Bouton Radio",
+ImageButtonProp		: "Propriétés de Bouton Image",
+TextFieldProp		: "Propriétés de Champ Texte",
+SelectionFieldProp	: "Propriétés de Liste/Menu",
+TextareaProp		: "Propriétés de Zone Texte",
+FormProp			: "Propriétés de Formulaire",
+
+FontFormats			: "Normal;Formatted;Address;Titre 1;Titre 2;Titre 3;Titre 4;Titre 5;Titre 6",
+
+// Alerts and Messages
+ProcessingXHTML		: "Calcul XHTML. Veuillez patienter...",
+Done				: "Terminé",
+PasteWordConfirm	: "Le texte à coller semble provenir de Word. Désirez-vous le nettoyer avant de coller?",
+NotCompatiblePaste	: "Cette commande nécessite Internet Explorer version 5.5 minimum. Souhaitez-vous coller sans nettoyage?",
+UnknownToolbarItem	: "Elément de barre d'outil inconnu \"%1\"",
+UnknownCommand		: "Nom de commande inconnu \"%1\"",
+NotImplemented		: "Commande non encore écrite",
+UnknownToolbarSet	: "La barre d'outils \"%1\" n'existe pas",
+NoActiveX			: "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Annuler",
+DlgBtnClose			: "Fermer",
+DlgBtnBrowseServer	: "Parcourir le Serveur",
+DlgAdvancedTag		: "Avancé",
+DlgOpOther			: "&lt;Autre&gt;",
+DlgInfoTab			: "Info",
+DlgAlertUrl			: "Veuillez saisir l'URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "&lt;Par Défaut&gt;",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Sens d'Ecriture",
+DlgGenLangDirLtr	: "Gauche vers Droite (LTR)",
+DlgGenLangDirRtl	: "Droite vers Gauche (RTL)",
+DlgGenLangCode		: "Code Langue",
+DlgGenAccessKey		: "Equivalent Clavier",
+DlgGenName			: "Nom",
+DlgGenTabIndex		: "Ordre de Tabulation",
+DlgGenLongDescr		: "URL de Description Longue",
+DlgGenClass			: "Classes de Feuilles de Style",
+DlgGenTitle			: "Titre Indicatif",
+DlgGenContType		: "Type de Contenu Indicatif",
+DlgGenLinkCharset	: "Encodage de Caractère de la cible",
+DlgGenStyle			: "Style",
+
+// Image Dialog
+DlgImgTitle			: "Propriétés d'Image",
+DlgImgInfoTab		: "Informations sur l'Image",
+DlgImgBtnUpload		: "Envoyer au Serveur",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Upload",
+DlgImgAlt			: "Texte de Remplacement",
+DlgImgWidth			: "Largeur",
+DlgImgHeight		: "Hauteur",
+DlgImgLockRatio		: "Garder proportions",
+DlgBtnResetSize		: "Taille Originale",
+DlgImgBorder		: "Bordure",
+DlgImgHSpace		: "HSpace",
+DlgImgVSpace		: "VSpace",
+DlgImgAlign			: "Alignement",
+DlgImgAlignLeft		: "Gauche",
+DlgImgAlignAbsBottom: "Abs Bas",
+DlgImgAlignAbsMiddle: "Abs Milieu",
+DlgImgAlignBaseline	: "Bas du texte",
+DlgImgAlignBottom	: "Bas",
+DlgImgAlignMiddle	: "Milieu",
+DlgImgAlignRight	: "Droite",
+DlgImgAlignTextTop	: "Haut du texte",
+DlgImgAlignTop		: "Haut",
+DlgImgPreview		: "Prévisualisation",
+DlgImgAlertUrl		: "Veuillez saisir l'URL de l'image",
+DlgImgLinkTab		: "Lien",
+
+// Flash Dialog
+DlgFlashTitle		: "Propriétés d'animation Flash",
+DlgFlashChkPlay		: "Lecture automatique",
+DlgFlashChkLoop		: "Boucle",
+DlgFlashChkMenu		: "Activer menu Flash",
+DlgFlashScale		: "Affichage",
+DlgFlashScaleAll	: "Par défault (tout montrer)",
+DlgFlashScaleNoBorder	: "Sans Bordure",
+DlgFlashScaleFit	: "Ajuster aux Dimensions",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Propriétés de Lien",
+DlgLnkInfoTab		: "Informations sur le Lien",
+DlgLnkTargetTab		: "Destination",
+
+DlgLnkType			: "Type de Lien",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Ancre dans cette page",
+DlgLnkTypeEMail		: "E-Mail",
+DlgLnkProto			: "Protocole",
+DlgLnkProtoOther	: "&lt;autre&gt;",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Sélectionner une Ancre",
+DlgLnkAnchorByName	: "Par Nom d'Ancre",
+DlgLnkAnchorById	: "Par Id d'Elément",
+DlgLnkNoAnchors		: "&lt;Pas d'ancre disponible dans le document&gt;",
+DlgLnkEMail			: "Adresse E-Mail",
+DlgLnkEMailSubject	: "Sujet du Message",
+DlgLnkEMailBody		: "Corps du Message",
+DlgLnkUpload		: "Upload",
+DlgLnkBtnUpload		: "Envoyer au Serveur",
+
+DlgLnkTarget		: "Destination",
+DlgLnkTargetFrame	: "&lt;cadre&gt;",
+DlgLnkTargetPopup	: "&lt;fenêtre popup&gt;",
+DlgLnkTargetBlank	: "Nouvelle Fenêtre (_blank)",
+DlgLnkTargetParent	: "Fenêtre Mère (_parent)",
+DlgLnkTargetSelf	: "Même Fenêtre (_self)",
+DlgLnkTargetTop		: "Fenêtre Supérieure (_top)",
+DlgLnkTargetFrameName	: "Nom du Cadre de Destination",
+DlgLnkPopWinName	: "Nom de la Fenêtre Popup",
+DlgLnkPopWinFeat	: "Caractéristiques de la Fenêtre Popup",
+DlgLnkPopResize		: "Taille Modifiable",
+DlgLnkPopLocation	: "Barre d'Adresses",
+DlgLnkPopMenu		: "Barre de Menu",
+DlgLnkPopScroll		: "Barres de Défilement",
+DlgLnkPopStatus		: "Barre d'Etat",
+DlgLnkPopToolbar	: "Barre d'Outils",
+DlgLnkPopFullScrn	: "Plein Ecran (IE)",
+DlgLnkPopDependent	: "Dépendante (Netscape)",
+DlgLnkPopWidth		: "Largeur",
+DlgLnkPopHeight		: "Hauteur",
+DlgLnkPopLeft		: "Position Gauche",
+DlgLnkPopTop		: "Position Haut",
+
+DlnLnkMsgNoUrl		: "Veuillez saisir l'URL",
+DlnLnkMsgNoEMail	: "Veuillez saisir l'adresse e-mail",
+DlnLnkMsgNoAnchor	: "Veuillez sélectionner une ancre",
+
+// Color Dialog
+DlgColorTitle		: "Sélectionner",
+DlgColorBtnClear	: "Effacer",
+DlgColorHighlight	: "Highlight",
+DlgColorSelected	: "Sélectionné",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Insérer Smiley",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Insérer Caractère Spécial",
+
+// Table Dialog
+DlgTableTitle		: "Propriétés de Tableau",
+DlgTableRows		: "Lignes",
+DlgTableColumns		: "Colonnes",
+DlgTableBorder		: "Bordure",
+DlgTableAlign		: "Alignement",
+DlgTableAlignNotSet	: "<Par Défaut>",
+DlgTableAlignLeft	: "Gauche",
+DlgTableAlignCenter	: "Centré",
+DlgTableAlignRight	: "Droite",
+DlgTableWidth		: "Largeur",
+DlgTableWidthPx		: "pixels",
+DlgTableWidthPc		: "pourcentage",
+DlgTableHeight		: "Hauteur",
+DlgTableCellSpace	: "Espacement",
+DlgTableCellPad		: "Contour",
+DlgTableCaption		: "Titre",
+
+// Table Cell Dialog
+DlgCellTitle		: "Propriétés de cellule",
+DlgCellWidth		: "Largeur",
+DlgCellWidthPx		: "pixels",
+DlgCellWidthPc		: "pourcentage",
+DlgCellHeight		: "Hauteur",
+DlgCellWordWrap		: "Retour à la ligne",
+DlgCellWordWrapNotSet	: "<Par Défaut>",
+DlgCellWordWrapYes	: "Oui",
+DlgCellWordWrapNo	: "Non",
+DlgCellHorAlign		: "Alignement Horizontal",
+DlgCellHorAlignNotSet	: "<Par Défaut>",
+DlgCellHorAlignLeft	: "Gauche",
+DlgCellHorAlignCenter	: "Centré",
+DlgCellHorAlignRight: "Droite",
+DlgCellVerAlign		: "Alignement Vertical",
+DlgCellVerAlignNotSet	: "<Par Défaut>",
+DlgCellVerAlignTop	: "Haut",
+DlgCellVerAlignMiddle	: "Milieu",
+DlgCellVerAlignBottom	: "Bas",
+DlgCellVerAlignBaseline	: "Bas du texte",
+DlgCellRowSpan		: "Lignes Fusionnées",
+DlgCellCollSpan		: "Colonnes Fusionnées",
+DlgCellBackColor	: "Fond",
+DlgCellBorderColor	: "Bordure",
+DlgCellBtnSelect	: "Choisir...",
+
+// Find Dialog
+DlgFindTitle		: "Chercher",
+DlgFindFindBtn		: "Chercher",
+DlgFindNotFoundMsg	: "Le texte indiqué est introuvable.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Remplacer",
+DlgReplaceFindLbl		: "Rechercher:",
+DlgReplaceReplaceLbl	: "Remplacer par:",
+DlgReplaceCaseChk		: "Respecter la casse",
+DlgReplaceReplaceBtn	: "Remplacer",
+DlgReplaceReplAllBtn	: "Tout remplacer",
+DlgReplaceWordChk		: "Mot entier",
+
+// Paste Operations / Dialog
+PasteErrorPaste	: "Les paramètres de sécurité de votre navigateur empêchent l'éditeur de coller automatiquement vos données. Veuillez utiliser les équivalents claviers (Ctrl+V).",
+PasteErrorCut	: "Les paramètres de sécurité de votre navigateur empêchent l'éditeur de couper automatiquement vos données. Veuillez utiliser les équivalents claviers (Ctrl+X).",
+PasteErrorCopy	: "Les paramètres de sécurité de votre navigateur empêchent l'éditeur de copier automatiquement vos données. Veuillez utiliser les équivalents claviers (Ctrl+C).",
+
+PasteAsText		: "Coller comme texte",
+PasteFromWord	: "Coller à partir de Word",
+
+DlgPasteMsg2	: "Veuillez coller dans la zone ci-dessous en utilisant le clavier (<STRONG>Ctrl+V</STRONG>) et cliquez sur <STRONG>OK</STRONG>.",
+DlgPasteIgnoreFont		: "Ignorer les Polices de Caractères",
+DlgPasteRemoveStyles	: "Supprimer les Styles",
+DlgPasteCleanBox		: "Effacer le contenu",
+
+
+// Color Picker
+ColorAutomatic	: "Automatique",
+ColorMoreColors	: "Plus de Couleurs...",
+
+// Document Properties
+DocProps		: "Propriétés du Document",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Propriétés de l'Ancre",
+DlgAnchorName		: "Nom de l'Ancre",
+DlgAnchorErrorName	: "Veuillez saisir le nom de l'ancre",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Pas dans le dictionnaire",
+DlgSpellChangeTo		: "Changer en",
+DlgSpellBtnIgnore		: "Ignorer",
+DlgSpellBtnIgnoreAll	: "Ignorer Tout",
+DlgSpellBtnReplace		: "Remplacer",
+DlgSpellBtnReplaceAll	: "Remplacer Tout",
+DlgSpellBtnUndo			: "Annuler",
+DlgSpellNoSuggestions	: "- Aucune suggestion -",
+DlgSpellProgress		: "Vérification d'orthographe en cours...",
+DlgSpellNoMispell		: "Vérification d'orthographe terminée: Aucune erreur trouvée",
+DlgSpellNoChanges		: "Vérification d'orthographe terminée: Pas de modifications",
+DlgSpellOneChange		: "Vérification d'orthographe terminée: Un mot modifié",
+DlgSpellManyChanges		: "Vérification d'orthographe terminée: %1 mots modifiés",
+
+IeSpellDownload			: "Le Correcteur n'est pas installé. Souhaitez-vous le télécharger maintenant?",
+
+// Button Dialog
+DlgButtonText	: "Texte (Valeur)",
+DlgButtonType	: "Type",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Nom",
+DlgCheckboxValue	: "Valeur",
+DlgCheckboxSelected	: "Sélectionné",
+
+// Form Dialog
+DlgFormName		: "Nom",
+DlgFormAction	: "Action",
+DlgFormMethod	: "Méthode",
+
+// Select Field Dialog
+DlgSelectName		: "Nom",
+DlgSelectValue		: "Valeur",
+DlgSelectSize		: "Taille",
+DlgSelectLines		: "lignes",
+DlgSelectChkMulti	: "Sélection multiple",
+DlgSelectOpAvail	: "Options Disponibles",
+DlgSelectOpText		: "Texte",
+DlgSelectOpValue	: "Valeur",
+DlgSelectBtnAdd		: "Ajouter",
+DlgSelectBtnModify	: "Modifier",
+DlgSelectBtnUp		: "Monter",
+DlgSelectBtnDown	: "Descendre",
+DlgSelectBtnSetValue : "Valeur sélectionnée",
+DlgSelectBtnDelete	: "Supprimer",
+
+// Textarea Dialog
+DlgTextareaName	: "Nom",
+DlgTextareaCols	: "Colonnes",
+DlgTextareaRows	: "Lignes",
+
+// Text Field Dialog
+DlgTextName			: "Nom",
+DlgTextValue		: "Valeur",
+DlgTextCharWidth	: "Largeur en Caractères",
+DlgTextMaxChars		: "Nombre Maximum de Caractères",
+DlgTextType			: "Type",
+DlgTextTypeText		: "Texte",
+DlgTextTypePass		: "Mot de Passe",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Nom",
+DlgHiddenValue	: "Valeur",
+
+// Bulleted List Dialog
+BulletedListProp	: "Propriétés de Liste à puces",
+NumberedListProp	: "Propriétés de Numérotée",
+DlgLstType			: "Type",
+DlgLstTypeCircle	: "Cercle",
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "Carré",
+DlgLstTypeNumbers	: "Nombres (1, 2, 3)",
+DlgLstTypeLCase		: "Lettres Minuscules (a, b, c)",
+DlgLstTypeUCase		: "Lettres Majuscules (A, B, C)",
+DlgLstTypeSRoman	: "Chiffres Romains Minuscules (i, ii, iii)",
+DlgLstTypeLRoman	: "Chiffres Romains Majuscules (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Général",
+DlgDocBackTab		: "Fond",
+DlgDocColorsTab		: "Couleurs et Marges",
+DlgDocMetaTab		: "Métadonnées",
+
+DlgDocPageTitle		: "Titre de la Page",
+DlgDocLangDir		: "Sens d'Ecriture",
+DlgDocLangDirLTR	: "Gauche vers Droite (LTR)",
+DlgDocLangDirRTL	: "Droite vers Gauche (RTL)",
+DlgDocLangCode		: "Code Langue",
+DlgDocCharSet		: "Encodage de Caractère",
+DlgDocCharSetOther	: "Autre Encodage de Caractère",
+
+DlgDocDocType		: "Type de Document",
+DlgDocDocTypeOther	: "Autre Type de Document",
+DlgDocIncXHTML		: "Inclure les déclarations XHTML",
+DlgDocBgColor		: "Couleur de Fond",
+DlgDocBgImage		: "Image de Fond",
+DlgDocBgNoScroll	: "Image fixe sans défilement",
+DlgDocCText			: "Texte",
+DlgDocCLink			: "Lien",
+DlgDocCVisited		: "Lien Visité",
+DlgDocCActive		: "Lien Activé",
+DlgDocMargins		: "Marges",
+DlgDocMaTop			: "Haut",
+DlgDocMaLeft		: "Gauche",
+DlgDocMaRight		: "Droite",
+DlgDocMaBottom		: "Bas",
+DlgDocMeIndex		: "Mots Clés (séparés par des virgules)",
+DlgDocMeDescr		: "Description",
+DlgDocMeAuthor		: "Auteur",
+DlgDocMeCopy		: "Copyright",
+DlgDocPreview		: "Prévisualisation",
+
+// Templates Dialog
+Templates			: "Modèles",
+DlgTemplatesTitle	: "Modèles de Contenu",
+DlgTemplatesSelMsg	: "Veuillez sélectionner le modèle à ouvrir dans l'éditeur<br>(le contenu actuel sera remplacé):",
+DlgTemplatesLoading	: "Chargement de la liste des modèles. Veuillez patienter...",
+DlgTemplatesNoTpl	: "(Aucun modèle disponible)",
+
+// About Dialog
+DlgAboutAboutTab	: "A propos de",
+DlgAboutBrowserInfoTab	: "Navigateur",
+DlgAboutVersion		: "version",
+DlgAboutLicense		: "License selon les termes de GNU Lesser General Public License",
+DlgAboutInfo		: "Pour plus d'informations, aller à"
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/lang/gl.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/lang/gl.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/lang/gl.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,475 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: gl.js
+ * 	Galician language file.
+ * 
+ * File Authors:
+ * 		Fernando Riveiro Lopez
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Ocultar Ferramentas",
+ToolbarExpand		: "Mostrar Ferramentas",
+
+// Toolbar Items and Context Menu
+Save				: "Gardar",
+NewPage				: "Nova Páxina",
+Preview				: "Vista Previa",
+Cut					: "Cortar",
+Copy				: "Copiar",
+Paste				: "Pegar",
+PasteText			: "Pegar como texto plano",
+PasteWord			: "Pegar dende Word",
+Print				: "Imprimir",
+SelectAll			: "Seleccionar todo",
+RemoveFormat		: "Eliminar Formato",
+InsertLinkLbl		: "Ligazón",
+InsertLink			: "Inserir/Editar Ligazón",
+RemoveLink			: "Eliminar Ligazón",
+Anchor				: "Inserir/Editar Referencia",
+InsertImageLbl		: "Imaxe",
+InsertImage			: "Inserir/Editar Imaxe",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Inserir/Editar Flash",
+InsertTableLbl		: "Tabla",
+InsertTable			: "Inserir/Editar Tabla",
+InsertLineLbl		: "Liña",
+InsertLine			: "Inserir Liña Horizontal",
+InsertSpecialCharLbl: "Carácter Special",
+InsertSpecialChar	: "Inserir Carácter Especial",
+InsertSmileyLbl		: "Smiley",
+InsertSmiley		: "Inserir Smiley",
+About				: "Acerca de FCKeditor",
+Bold				: "Negrita",
+Italic				: "Cursiva",
+Underline			: "Sub-raiado",
+StrikeThrough		: "Tachado",
+Subscript			: "Subíndice",
+Superscript			: "Superíndice",
+LeftJustify			: "Aliñar á Esquerda",
+CenterJustify		: "Centrado",
+RightJustify		: "Aliñar á Dereita",
+BlockJustify		: "Xustificado",
+DecreaseIndent		: "Disminuir Sangría",
+IncreaseIndent		: "Aumentar Sangría",
+Undo				: "Desfacer",
+Redo				: "Refacer",
+NumberedListLbl		: "Lista Numerada",
+NumberedList		: "Inserir/Eliminar Lista Numerada",
+BulletedListLbl		: "Marcas",
+BulletedList		: "Inserir/Eliminar Marcas",
+ShowTableBorders	: "Mostrar Bordes das Taboas",
+ShowDetails			: "Mostrar Marcas Parágrafo",
+Style				: "Estilo",
+FontFormat			: "Formato",
+Font				: "Tipo",
+FontSize			: "Tamaño",
+TextColor			: "Cor do Texto",
+BGColor				: "Cor do Fondo",
+Source				: "Código Fonte",
+Find				: "Procurar",
+Replace				: "Substituir",
+SpellCheck			: "Corrección Ortográfica",
+UniversalKeyboard	: "Teclado Universal",
+
+Form			: "Formulario",
+Checkbox		: "Cadro de Verificación",
+RadioButton		: "Botón de Radio",
+TextField		: "Campo de Texto",
+Textarea		: "Área de Texto",
+HiddenField		: "Campo Oculto",
+Button			: "Botón",
+SelectionField	: "Campo de Selección",
+ImageButton		: "Botón de Imaxe",
+
+// Context Menu
+EditLink			: "Editar Ligazón",
+InsertRow			: "Inserir Fila",
+DeleteRows			: "Borrar Filas",
+InsertColumn		: "Inserir Columna",
+DeleteColumns		: "Borrar Columnas",
+InsertCell			: "Inserir Cela",
+DeleteCells			: "Borrar Cela",
+MergeCells			: "Unir Celas",
+SplitCell			: "Partir Celas",
+CellProperties		: "Propriedades da Cela",
+TableProperties		: "Propriedades da Taboa",
+ImageProperties		: "Propriedades Imaxe",
+FlashProperties		: "Propriedades Flash",
+
+AnchorProp			: "Propriedades da Referencia",
+ButtonProp			: "Propriedades do Botón",
+CheckboxProp		: "Propriedades do Cadro de Verificación",
+HiddenFieldProp		: "Propriedades do Campo Oculto",
+RadioButtonProp		: "Propriedades do Botón de Radio",
+ImageButtonProp		: "Propriedades do Botón de Imaxe",
+TextFieldProp		: "Propriedades do Campo de Texto",
+SelectionFieldProp	: "Propriedades do Campo de Selección",
+TextareaProp		: "Propriedades da Área de Texto",
+FormProp			: "Propriedades do Formulario",
+
+FontFormats			: "Normal;Formateado;Enderezo;Enacabezado 1;Encabezado 2;Encabezado 3;Encabezado 4;Encabezado 5;Encabezado 6;Paragraph (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "Procesando XHTML. Por facor, agarde...",
+Done				: "Feiro",
+PasteWordConfirm	: "Parece que o texto que quere pegar está copiado do Word.¿Quere limpar o formato antes de pegalo?",
+NotCompatiblePaste	: "Este comando está disponible para Internet Explorer versión 5.5 ou superior. ¿Quere pegalo sen limpar o formato?",
+UnknownToolbarItem	: "Ítem de ferramentas descoñecido \"%1\"",
+UnknownCommand		: "Nome de comando descoñecido \"%1\"",
+NotImplemented		: "Comando non implementado",
+UnknownToolbarSet	: "O conxunto de ferramentas \"%1\" non existe",
+NoActiveX			: "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Cancelar",
+DlgBtnClose			: "Pechar",
+DlgBtnBrowseServer	: "Navegar no Servidor",
+DlgAdvancedTag		: "Advanzado",
+DlgOpOther			: "&lt;Outro&gt;",
+DlgInfoTab			: "Info",
+DlgAlertUrl			: "Por favor, insira a URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "&lt;non definido&gt;",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Orientación do Idioma",
+DlgGenLangDirLtr	: "Esquerda a Dereita (LTR)",
+DlgGenLangDirRtl	: "Dereita a Esquerda (RTL)",
+DlgGenLangCode		: "Código do Idioma",
+DlgGenAccessKey		: "Chave de Acceso",
+DlgGenName			: "Nome",
+DlgGenTabIndex		: "Índice de Tabulación",
+DlgGenLongDescr		: "Descrición Completa da URL",
+DlgGenClass			: "Clases da Folla de Estilos",
+DlgGenTitle			: "Título",
+DlgGenContType		: "Tipo de Contido",
+DlgGenLinkCharset	: "Fonte de Caracteres Vinculado",
+DlgGenStyle			: "Estilo",
+
+// Image Dialog
+DlgImgTitle			: "Propriedades da Imaxe",
+DlgImgInfoTab		: "Información da Imaxe",
+DlgImgBtnUpload		: "Enviar ó Servidor",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Carregar",
+DlgImgAlt			: "Texto Alternativo",
+DlgImgWidth			: "Largura",
+DlgImgHeight		: "Altura",
+DlgImgLockRatio		: "Proporcional",
+DlgBtnResetSize		: "Tamaño Orixinal",
+DlgImgBorder		: "Límite",
+DlgImgHSpace		: "Esp. Horiz.",
+DlgImgVSpace		: "Esp. Vert.",
+DlgImgAlign			: "Aliñamento",
+DlgImgAlignLeft		: "Esquerda",
+DlgImgAlignAbsBottom: "Abs Inferior",
+DlgImgAlignAbsMiddle: "Abs Centro",
+DlgImgAlignBaseline	: "Liña Base",
+DlgImgAlignBottom	: "Pé",
+DlgImgAlignMiddle	: "Centro",
+DlgImgAlignRight	: "Dereita",
+DlgImgAlignTextTop	: "Tope do Texto",
+DlgImgAlignTop		: "Tope",
+DlgImgPreview		: "Vista Previa",
+DlgImgAlertUrl		: "Por favor, escriba a URL da imaxe",
+DlgImgLinkTab		: "Ligazón",
+
+// Flash Dialog
+DlgFlashTitle		: "Propriedades Flash",
+DlgFlashChkPlay		: "Auto Execución",
+DlgFlashChkLoop		: "Bucle",
+DlgFlashChkMenu		: "Activar Menú Flash",
+DlgFlashScale		: "Escalar",
+DlgFlashScaleAll	: "Amosar Todo",
+DlgFlashScaleNoBorder	: "Sen Borde",
+DlgFlashScaleFit	: "Encaixar axustando",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Ligazón",
+DlgLnkInfoTab		: "Información da Ligazón",
+DlgLnkTargetTab		: "Referencia a esta páxina",
+
+DlgLnkType			: "Tipo de Ligazón",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Referencia nesta páxina",
+DlgLnkTypeEMail		: "E-Mail",
+DlgLnkProto			: "Protocolo",
+DlgLnkProtoOther	: "&lt;outro&gt;",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Seleccionar unha Referencia",
+DlgLnkAnchorByName	: "Por Nome de Referencia",
+DlgLnkAnchorById	: "Por Element Id",
+DlgLnkNoAnchors		: "&lt;Non hai referencias disponibles no documento&gt;",
+DlgLnkEMail			: "Enderezo de E-Mail",
+DlgLnkEMailSubject	: "Asunto do Mensaxe",
+DlgLnkEMailBody		: "Corpo do Mensaxe",
+DlgLnkUpload		: "Carregar",
+DlgLnkBtnUpload		: "Enviar ó servidor",
+
+DlgLnkTarget		: "Destino",
+DlgLnkTargetFrame	: "&lt;frame&gt;",
+DlgLnkTargetPopup	: "&lt;Xanela Emerxente&gt;",
+DlgLnkTargetBlank	: "Nova Xanela (_blank)",
+DlgLnkTargetParent	: "Xanela Pai (_parent)",
+DlgLnkTargetSelf	: "Mesma Xanela (_self)",
+DlgLnkTargetTop		: "Xanela Primaria (_top)",
+DlgLnkTargetFrameName	: "Nome do Marco Destino",
+DlgLnkPopWinName	: "Nome da Xanela Emerxente",
+DlgLnkPopWinFeat	: "Características da Xanela Emerxente",
+DlgLnkPopResize		: "Axustable",
+DlgLnkPopLocation	: "Barra de Localización",
+DlgLnkPopMenu		: "Barra de Menú",
+DlgLnkPopScroll		: "Barras de Desplazamento",
+DlgLnkPopStatus		: "Barra de Estado",
+DlgLnkPopToolbar	: "Barra de Ferramentas",
+DlgLnkPopFullScrn	: "A Toda Pantalla (IE)",
+DlgLnkPopDependent	: "Dependente (Netscape)",
+DlgLnkPopWidth		: "Largura",
+DlgLnkPopHeight		: "Altura",
+DlgLnkPopLeft		: "Posición Esquerda",
+DlgLnkPopTop		: "Posición dende Arriba",
+
+DlnLnkMsgNoUrl		: "Por favor, escriba a ligazón URL",
+DlnLnkMsgNoEMail	: "Por favor, escriba o enderezo de e-mail",
+DlnLnkMsgNoAnchor	: "Por favor, seleccione un destino",
+
+// Color Dialog
+DlgColorTitle		: "Seleccionar Color",
+DlgColorBtnClear	: "Nengunha",
+DlgColorHighlight	: "Destacado",
+DlgColorSelected	: "Seleccionado",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Inserte un Smiley",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Seleccione Caracter Especial",
+
+// Table Dialog
+DlgTableTitle		: "Propiedades da Taboa",
+DlgTableRows		: "Filas",
+DlgTableColumns		: "Columnas",
+DlgTableBorder		: "Tamaño do Borde",
+DlgTableAlign		: "Aliñamento",
+DlgTableAlignNotSet	: "<Non Definido>",
+DlgTableAlignLeft	: "Esquerda",
+DlgTableAlignCenter	: "Centro",
+DlgTableAlignRight	: "Ereita",
+DlgTableWidth		: "Largura",
+DlgTableWidthPx		: "pixels",
+DlgTableWidthPc		: "percent",
+DlgTableHeight		: "Altura",
+DlgTableCellSpace	: "Marxe entre Celas",
+DlgTableCellPad		: "Marxe interior",
+DlgTableCaption		: "Título",
+
+// Table Cell Dialog
+DlgCellTitle		: "Propriedades da Cela",
+DlgCellWidth		: "Largura",
+DlgCellWidthPx		: "pixels",
+DlgCellWidthPc		: "percent",
+DlgCellHeight		: "Altura",
+DlgCellWordWrap		: "Axustar Liñas",
+DlgCellWordWrapNotSet	: "&lt;Non Definido&gt;",
+DlgCellWordWrapYes	: "Si",
+DlgCellWordWrapNo	: "Non",
+DlgCellHorAlign		: "Aliñamento Horizontal",
+DlgCellHorAlignNotSet	: "&lt;Non definido&gt;",
+DlgCellHorAlignLeft	: "Esquerda",
+DlgCellHorAlignCenter	: "Centro",
+DlgCellHorAlignRight: "Dereita",
+DlgCellVerAlign		: "Aliñamento Vertical",
+DlgCellVerAlignNotSet	: "&lt;Non definido&gt;",
+DlgCellVerAlignTop	: "Arriba",
+DlgCellVerAlignMiddle	: "Medio",
+DlgCellVerAlignBottom	: "Abaixo",
+DlgCellVerAlignBaseline	: "Liña de Base",
+DlgCellRowSpan		: "Ocupar Filas",
+DlgCellCollSpan		: "Ocupar Columnas",
+DlgCellBackColor	: "Color de Fondo",
+DlgCellBorderColor	: "Color de Borde",
+DlgCellBtnSelect	: "Seleccionar...",
+
+// Find Dialog
+DlgFindTitle		: "Procurar",
+DlgFindFindBtn		: "Procurar",
+DlgFindNotFoundMsg	: "Non te atopou o texto indicado.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Substituir",
+DlgReplaceFindLbl		: "Texto a procurar:",
+DlgReplaceReplaceLbl	: "Substituir con:",
+DlgReplaceCaseChk		: "Coincidir Mai./min.",
+DlgReplaceReplaceBtn	: "Substituir",
+DlgReplaceReplAllBtn	: "Substitiur Todo",
+DlgReplaceWordChk		: "Coincidir con toda a palabra",
+
+// Paste Operations / Dialog
+PasteErrorPaste	: "Os axustes de seguridade do seu navegador non permiten que o editor realice automáticamente as tarefas de pegado. Por favor, use o teclado para iso (Ctrl+V).",
+PasteErrorCut	: "Os axustes de seguridade do seu navegador non permiten que o editor realice automáticamente as tarefas de corte. Por favor, use o teclado para iso (Ctrl+X).",
+PasteErrorCopy	: "Os axustes de seguridade do seu navegador non permiten que o editor realice automáticamente as tarefas de copia. Por favor, use o teclado para iso (Ctrl+C).",
+
+PasteAsText		: "Pegar como texto plano",
+PasteFromWord	: "Pegar dende Word",
+
+DlgPasteMsg2	: "Por favor, pegue dentro do seguinte cadro usando o teclado (<STRONG>Ctrl+V</STRONG>) e pulse <STRONG>OK</STRONG>.",
+DlgPasteIgnoreFont		: "Ignorar as definicións de Tipografía",
+DlgPasteRemoveStyles	: "Eliminar as definicións de Estilos",
+DlgPasteCleanBox		: "Limpar o Cadro",
+
+
+// Color Picker
+ColorAutomatic	: "Automático",
+ColorMoreColors	: "Máis Cores...",
+
+// Document Properties
+DocProps		: "Propriedades do Documento",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Propriedades da Referencia",
+DlgAnchorName		: "Nome da Referencia",
+DlgAnchorErrorName	: "Por favor, escriba o nome da referencia",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Non está no diccionario",
+DlgSpellChangeTo		: "Cambiar a",
+DlgSpellBtnIgnore		: "Ignorar",
+DlgSpellBtnIgnoreAll	: "Ignorar Todas",
+DlgSpellBtnReplace		: "Substituir",
+DlgSpellBtnReplaceAll	: "Substituir Todas",
+DlgSpellBtnUndo			: "Desfacer",
+DlgSpellNoSuggestions	: "- Sen candidatos -",
+DlgSpellProgress		: "Corrección ortográfica en progreso...",
+DlgSpellNoMispell		: "Corrección ortográfica rematada: Non se atoparon erros",
+DlgSpellNoChanges		: "Corrección ortográfica rematada: Non se substituiu nengunha verba",
+DlgSpellOneChange		: "Corrección ortográfica rematada: Unha verba substituida",
+DlgSpellManyChanges		: "Corrección ortográfica rematada: %1 verbas substituidas",
+
+IeSpellDownload			: "O corrector ortográfico non está instalado. ¿Quere descargalo agora?",
+
+// Button Dialog
+DlgButtonText	: "Texto (Valor)",
+DlgButtonType	: "Tipo",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Nome",
+DlgCheckboxValue	: "Valor",
+DlgCheckboxSelected	: "Seleccionado",
+
+// Form Dialog
+DlgFormName		: "Nome",
+DlgFormAction	: "Acción",
+DlgFormMethod	: "Método",
+
+// Select Field Dialog
+DlgSelectName		: "Nome",
+DlgSelectValue		: "Valor",
+DlgSelectSize		: "Tamaño",
+DlgSelectLines		: "liñas",
+DlgSelectChkMulti	: "Permitir múltiples seleccións",
+DlgSelectOpAvail	: "Opcións Disponibles",
+DlgSelectOpText		: "Texto",
+DlgSelectOpValue	: "Valor",
+DlgSelectBtnAdd		: "Engadir",
+DlgSelectBtnModify	: "Modificar",
+DlgSelectBtnUp		: "Subir",
+DlgSelectBtnDown	: "Baixar",
+DlgSelectBtnSetValue : "Definir como valor por defecto",
+DlgSelectBtnDelete	: "Borrar",
+
+// Textarea Dialog
+DlgTextareaName	: "Nome",
+DlgTextareaCols	: "Columnas",
+DlgTextareaRows	: "Filas",
+
+// Text Field Dialog
+DlgTextName			: "Nome",
+DlgTextValue		: "Valor",
+DlgTextCharWidth	: "Tamaño do Caracter",
+DlgTextMaxChars		: "Máximo de Caracteres",
+DlgTextType			: "Tipo",
+DlgTextTypeText		: "Texto",
+DlgTextTypePass		: "Chave",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Nome",
+DlgHiddenValue	: "Valor",
+
+// Bulleted List Dialog
+BulletedListProp	: "Propriedades das Marcas",
+NumberedListProp	: "Propriedades da Lista de Numeración",
+DlgLstType			: "Tipo",
+DlgLstTypeCircle	: "Círculo",
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "Cuadrado",
+DlgLstTypeNumbers	: "Números (1, 2, 3)",
+DlgLstTypeLCase		: "Letras Minúsculas (a, b, c)",
+DlgLstTypeUCase		: "Letras Maiúsculas (A, B, C)",
+DlgLstTypeSRoman	: "Números Romanos en minúscula (i, ii, iii)",
+DlgLstTypeLRoman	: "Números Romanos en Maiúscula (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Xeral",
+DlgDocBackTab		: "Fondo",
+DlgDocColorsTab		: "Cores e Marxes",
+DlgDocMetaTab		: "Meta Data",
+
+DlgDocPageTitle		: "Título da Páxina",
+DlgDocLangDir		: "Orientación do Idioma",
+DlgDocLangDirLTR	: "Esquerda a Dereita (LTR)",
+DlgDocLangDirRTL	: "Dereita a Esquerda (RTL)",
+DlgDocLangCode		: "Código de Idioma",
+DlgDocCharSet		: "Codificación do Xogo de Caracteres",
+DlgDocCharSetOther	: "Outra Codificación do Xogo de Caracteres",
+
+DlgDocDocType		: "Encabezado do Tipo de Documento",
+DlgDocDocTypeOther	: "Outro Encabezado do Tipo de Documento",
+DlgDocIncXHTML		: "Incluir Declaracións XHTML",
+DlgDocBgColor		: "Cor de Fondo",
+DlgDocBgImage		: "URL da Imaxe de Fondo",
+DlgDocBgNoScroll	: "Fondo Fixo",
+DlgDocCText			: "Texto",
+DlgDocCLink			: "Ligazóns",
+DlgDocCVisited		: "Ligazón Visitada",
+DlgDocCActive		: "Ligazón Activa",
+DlgDocMargins		: "Marxes da Páxina",
+DlgDocMaTop			: "Arriba",
+DlgDocMaLeft		: "Esquerda",
+DlgDocMaRight		: "Dereita",
+DlgDocMaBottom		: "Abaixo",
+DlgDocMeIndex		: "Palabras Chave de Indexación do Documento (separadas por comas)",
+DlgDocMeDescr		: "Descripción do Documento",
+DlgDocMeAuthor		: "Autor",
+DlgDocMeCopy		: "Copyright",
+DlgDocPreview		: "Vista Previa",
+
+// Templates Dialog
+Templates			: "Plantillas",
+DlgTemplatesTitle	: "Plantillas de Contido",
+DlgTemplatesSelMsg	: "Por favor, seleccione a plantilla a abrir no editor<br>(o contido actual perderase):",
+DlgTemplatesLoading	: "Cargando listado de plantillas. Por favor, espere...",
+DlgTemplatesNoTpl	: "(Non hai plantillas definidas)",
+
+// About Dialog
+DlgAboutAboutTab	: "Acerca de",
+DlgAboutBrowserInfoTab	: "Información do Navegador",
+DlgAboutVersion		: "versión",
+DlgAboutLicense		: "Licencia concedida baixo os termos da GNU Lesser General Public License",
+DlgAboutInfo		: "Para máis información visitar:"
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/lang/he.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/lang/he.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/lang/he.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,476 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: he.js
+ * 	Hebrew language file.
+ * 
+ * File Authors:
+ * 		Tamir Mordo (tamir at tetitu.co.il)
+ * 		Ophir Radnitz (ophir at liqweed.net)
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "rtl",
+
+ToolbarCollapse		: "כיווץ סרגל הכלים",
+ToolbarExpand		: "פתיחת סרגל הכלים",
+
+// Toolbar Items and Context Menu
+Save				: "שמירה",
+NewPage				: "דף חדש",
+Preview				: "תצוגה מקדימה",
+Cut					: "גזירה",
+Copy				: "העתקה",
+Paste				: "הדבקה",
+PasteText			: "הדבקה כטקסט פשוט",
+PasteWord			: "הדבקה מ-Word",
+Print				: "הדפסה",
+SelectAll			: "בחירת הכל",
+RemoveFormat		: "הסרת העיצוב",
+InsertLinkLbl		: "קישור",
+InsertLink			: "הוספת/עריכת קישור",
+RemoveLink			: "הסרת הקישור",
+Anchor				: "הוספת/עריכת נקודת עיגון",
+InsertImageLbl		: "תמונה",
+InsertImage			: "הוספת/עריכת תמונה",
+InsertFlashLbl		: "פלאש",
+InsertFlash			: "הוסף/ערוך פלאש",
+InsertTableLbl		: "טבלה",
+InsertTable			: "הוספת/עריכת טבלה",
+InsertLineLbl		: "קו",
+InsertLine			: "הוספת קו אופקי",
+InsertSpecialCharLbl: "תו מיוחד",
+InsertSpecialChar	: "הוספת תו מיוחד",
+InsertSmileyLbl		: "סמיילי",
+InsertSmiley		: "הוספת סמיילי",
+About				: "אודות FCKeditor",
+Bold				: "מודגש",
+Italic				: "נטוי",
+Underline			: "קו תחתון",
+StrikeThrough		: "כתיב מחוק",
+Subscript			: "כתיב תחתון",
+Superscript			: "כתיב עליון",
+LeftJustify			: "יישור לשמאל",
+CenterJustify		: "מרכוז",
+RightJustify		: "יישור לימין",
+BlockJustify		: "יישור לשוליים",
+DecreaseIndent		: "הקטנת אינדנטציה",
+IncreaseIndent		: "הגדלת אינדנטציה",
+Undo				: "ביטול צעד אחרון",
+Redo				: "חזרה על צעד אחרון",
+NumberedListLbl		: "רשימה ממוספרת",
+NumberedList		: "הוספת/הסרת רשימה ממוספרת",
+BulletedListLbl		: "רשימת נקודות",
+BulletedList		: "הוספת/הסרת רשימת נקודות",
+ShowTableBorders	: "הצגת מסגרת הטבלה",
+ShowDetails			: "הצגת פרטים",
+Style				: "סגנון",
+FontFormat			: "עיצוב",
+Font				: "גופן",
+FontSize			: "גודל",
+TextColor			: "צבע טקסט",
+BGColor				: "צבע רקע",
+Source				: "מקור",
+Find				: "חיפוש",
+Replace				: "החלפה",
+SpellCheck			: "בדיקת איות",
+UniversalKeyboard	: "מקלדת אוניברסלית",
+
+Form			: "טופס",
+Checkbox		: "תיבת סימון",
+RadioButton		: "לחצן אפשרויות",
+TextField		: "שדה טקסט",
+Textarea		: "איזור טקסט",
+HiddenField		: "שדה חבוי",
+Button			: "כפתור",
+SelectionField	: "שדה בחירה",
+ImageButton		: "כפתור תמונה",
+
+// Context Menu
+EditLink			: "עריכת קישור",
+InsertRow			: "הוספת שורה",
+DeleteRows			: "מחיקת שורות",
+InsertColumn		: "הוספת עמודה",
+DeleteColumns		: "מחיקת עמודות",
+InsertCell			: "הוספת תא",
+DeleteCells			: "מחיקת תאים",
+MergeCells			: "מיזוג תאים",
+SplitCell			: "פיצול תאים",
+CellProperties		: "תכונות התא",
+TableProperties		: "תכונות הטבלה",
+ImageProperties		: "תכונות התמונה",
+FlashProperties		: "מאפייני פלאש",
+
+AnchorProp			: "מאפייני נקודת עיגון",
+ButtonProp			: "מאפייני כפתור",
+CheckboxProp		: "מאפייני תיבת סימון",
+HiddenFieldProp		: "מאפיני שדה חבוי",
+RadioButtonProp		: "מאפייני לחצן אפשרויות",
+ImageButtonProp		: "מאפיני כפתור תמונה",
+TextFieldProp		: "מאפייני שדה טקסט",
+SelectionFieldProp	: "מאפייני שדה בחירה",
+TextareaProp		: "מאפיני איזור טקסט",
+FormProp			: "מאפיני טופס",
+
+FontFormats			: "נורמלי;קוד;כתובת;כותרת;כותרת 2;כותרת 3;כותרת 4;כותרת 5;כותרת 6",
+
+// Alerts and Messages
+ProcessingXHTML		: "מעבד XHTML, נא להמתין...",
+Done				: "המשימה הושלמה",
+PasteWordConfirm	: "נראה הטקסט שבכוונתך להדביק מקורו בקובץ Word. האם ברצונך לנקות אותו טרם ההדבקה?",
+NotCompatiblePaste	: "פעולה זו זמינה לדפדפן Internet Explorer מגירסא 5.5 ומעלה. האם להמשיך בהדבקה ללא הניקוי?",
+UnknownToolbarItem	: "פריט לא ידוע בסרגל הכלים \"%1\"",
+UnknownCommand		: "שם פעולה לא ידוע \"%1\"",
+NotImplemented		: "הפקודה לא מיושמת",
+UnknownToolbarSet	: "ערכת סרגל הכלים \"%1\" לא קיימת",
+NoActiveX			: "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "אישור",
+DlgBtnCancel		: "ביטול",
+DlgBtnClose			: "סגירה",
+DlgBtnBrowseServer	: "סייר השרת",
+DlgAdvancedTag		: "אפשרויות מתקדמות",
+DlgOpOther			: "&lt;אחר&gt;",
+DlgInfoTab			: "מידע",
+DlgAlertUrl			: "אנה הזן URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "&lt;לא נקבע&gt;",
+DlgGenId			: "זיהוי (Id)",
+DlgGenLangDir		: "כיוון שפה",
+DlgGenLangDirLtr	: "שמאל לימין (LTR)",
+DlgGenLangDirRtl	: "ימין לשמאל (RTL)",
+DlgGenLangCode		: "קוד שפה",
+DlgGenAccessKey		: "מקש גישה",
+DlgGenName			: "שם",
+DlgGenTabIndex		: "מספר טאב",
+DlgGenLongDescr		: "קישור לתיאור מפורט",
+DlgGenClass			: "גיליונות עיצוב קבוצות",
+DlgGenTitle			: "כותרת מוצעת",
+DlgGenContType		: "Content Type מוצע",
+DlgGenLinkCharset	: "קידוד המשאב המקושר",
+DlgGenStyle			: "סגנון",
+
+// Image Dialog
+DlgImgTitle			: "תכונות התמונה",
+DlgImgInfoTab		: "מידע על התמונה",
+DlgImgBtnUpload		: "שליחה לשרת",
+DlgImgURL			: "כתובת (URL)",
+DlgImgUpload		: "העלאה",
+DlgImgAlt			: "טקסט חלופי",
+DlgImgWidth			: "רוחב",
+DlgImgHeight		: "גובה",
+DlgImgLockRatio		: "נעילת היחס",
+DlgBtnResetSize		: "איפוס הגודל",
+DlgImgBorder		: "מסגרת",
+DlgImgHSpace		: "מרווח אופקי",
+DlgImgVSpace		: "מרווח אנכי",
+DlgImgAlign			: "יישור",
+DlgImgAlignLeft		: "לשמאל",
+DlgImgAlignAbsBottom: "לתחתית האבסולוטית",
+DlgImgAlignAbsMiddle: "מרכוז אבסולוטי",
+DlgImgAlignBaseline	: "לקו התחתית",
+DlgImgAlignBottom	: "לתחתית",
+DlgImgAlignMiddle	: "לאמצע",
+DlgImgAlignRight	: "לימין",
+DlgImgAlignTextTop	: "לראש הטקסט",
+DlgImgAlignTop		: "למעלה",
+DlgImgPreview		: "תצוגה מקדימה",
+DlgImgAlertUrl		: "נא להקליד את כתובת התמונה",
+DlgImgLinkTab		: "קישור",
+
+// Flash Dialog
+DlgFlashTitle		: "מאפיני פלאש",
+DlgFlashChkPlay		: "נגן אוטומטי",
+DlgFlashChkLoop		: "לולאה",
+DlgFlashChkMenu		: "אפשר תפריט פלאש",
+DlgFlashScale		: "גודל",
+DlgFlashScaleAll	: "הצג הכל",
+DlgFlashScaleNoBorder	: "ללא גבולות",
+DlgFlashScaleFit	: "התאמה מושלמת",
+
+// Link Dialog
+DlgLnkWindowTitle	: "קישור",
+DlgLnkInfoTab		: "מידע על הקישור",
+DlgLnkTargetTab		: "מטרה",
+
+DlgLnkType			: "סוג קישור",
+DlgLnkTypeURL		: "כתובת (URL)",
+DlgLnkTypeAnchor	: "עוגן בעמוד זה",
+DlgLnkTypeEMail		: "דוא''ל",
+DlgLnkProto			: "פרוטוקול",
+DlgLnkProtoOther	: "&lt;אחר&gt;",
+DlgLnkURL			: "כתובת (URL)",
+DlgLnkAnchorSel		: "בחירת עוגן",
+DlgLnkAnchorByName	: "עפ''י שם העוגן",
+DlgLnkAnchorById	: "עפ''י זיהוי (Id) הרכיב",
+DlgLnkNoAnchors		: "&lt;אין עוגנים זמינים בדף&gt;",
+DlgLnkEMail			: "כתובת הדוא''ל",
+DlgLnkEMailSubject	: "נושא ההודעה",
+DlgLnkEMailBody		: "גוף ההודעה",
+DlgLnkUpload		: "העלאה",
+DlgLnkBtnUpload		: "שליחה לשרת",
+
+DlgLnkTarget		: "מטרה",
+DlgLnkTargetFrame	: "&lt;frame&gt;",
+DlgLnkTargetPopup	: "&lt;חלון קופץ&gt;",
+DlgLnkTargetBlank	: "חלון חדש (_blank)",
+DlgLnkTargetParent	: "חלון האב (_parent)",
+DlgLnkTargetSelf	: "באותו החלון (_self)",
+DlgLnkTargetTop		: "חלון ראשי (_top)",
+DlgLnkTargetFrameName	: "שם frame היעד",
+DlgLnkPopWinName	: "שם החלון הקופץ",
+DlgLnkPopWinFeat	: "תכונות החלון הקופץ",
+DlgLnkPopResize		: "בעל גודל ניתן לשינוי",
+DlgLnkPopLocation	: "סרגל כתובת",
+DlgLnkPopMenu		: "סרגל תפריט",
+DlgLnkPopScroll		: "ניתן לגלילה",
+DlgLnkPopStatus		: "סרגל חיווי",
+DlgLnkPopToolbar	: "סרגל הכלים",
+DlgLnkPopFullScrn	: "מסך מלא (IE)",
+DlgLnkPopDependent	: "תלוי (Netscape)",
+DlgLnkPopWidth		: "רוחב",
+DlgLnkPopHeight		: "גובה",
+DlgLnkPopLeft		: "מיקום צד שמאל",
+DlgLnkPopTop		: "מיקום צד עליון",
+
+DlnLnkMsgNoUrl		: "נא להקליד את כתובת הקישור (URL)",
+DlnLnkMsgNoEMail	: "נא להקליד את כתובת הדוא''ל",
+DlnLnkMsgNoAnchor	: "נא לבחור עוגן במסמך",
+
+// Color Dialog
+DlgColorTitle		: "בחירת צבע",
+DlgColorBtnClear	: "איפוס",
+DlgColorHighlight	: "נוכחי",
+DlgColorSelected	: "נבחר",
+
+// Smiley Dialog
+DlgSmileyTitle		: "הוספת סמיילי",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "בחירת תו מיוחד",
+
+// Table Dialog
+DlgTableTitle		: "תכונות טבלה",
+DlgTableRows		: "שורות",
+DlgTableColumns		: "עמודות",
+DlgTableBorder		: "גודל מסגרת",
+DlgTableAlign		: "יישור",
+DlgTableAlignNotSet	: "<לא נקבע>",
+DlgTableAlignLeft	: "שמאל",
+DlgTableAlignCenter	: "מרכז",
+DlgTableAlignRight	: "ימין",
+DlgTableWidth		: "רוחב",
+DlgTableWidthPx		: "פיקסלים",
+DlgTableWidthPc		: "אחוז",
+DlgTableHeight		: "גובה",
+DlgTableCellSpace	: "מרווח תא",
+DlgTableCellPad		: "ריפוד תא",
+DlgTableCaption		: "כיתוב",
+
+// Table Cell Dialog
+DlgCellTitle		: "תכונות תא",
+DlgCellWidth		: "רוחב",
+DlgCellWidthPx		: "פיקסלים",
+DlgCellWidthPc		: "אחוז",
+DlgCellHeight		: "גובה",
+DlgCellWordWrap		: "גלילת שורות",
+DlgCellWordWrapNotSet	: "<לא נקבע>",
+DlgCellWordWrapYes	: "כן",
+DlgCellWordWrapNo	: "לא",
+DlgCellHorAlign		: "יישור אופקי",
+DlgCellHorAlignNotSet	: "<לא נקבע>",
+DlgCellHorAlignLeft	: "שמאל",
+DlgCellHorAlignCenter	: "מרכז",
+DlgCellHorAlignRight: "ימין",
+DlgCellVerAlign		: "יישור אנכי",
+DlgCellVerAlignNotSet	: "<לא נקבע>",
+DlgCellVerAlignTop	: "למעלה",
+DlgCellVerAlignMiddle	: "לאמצע",
+DlgCellVerAlignBottom	: "לתחתית",
+DlgCellVerAlignBaseline	: "קו תחתית",
+DlgCellRowSpan		: "טווח שורות",
+DlgCellCollSpan		: "טווח עמודות",
+DlgCellBackColor	: "צבע רקע",
+DlgCellBorderColor	: "צבע מסגרת",
+DlgCellBtnSelect	: "בחירה...",
+
+// Find Dialog
+DlgFindTitle		: "חיפוש",
+DlgFindFindBtn		: "חיפוש",
+DlgFindNotFoundMsg	: "הטקסט המבוקש לא נמצא.",
+
+// Replace Dialog
+DlgReplaceTitle			: "החלפה",
+DlgReplaceFindLbl		: "חיפוש מחרוזת:",
+DlgReplaceReplaceLbl	: "החלפה במחרוזת:",
+DlgReplaceCaseChk		: "התאמת סוג אותיות (Case)",
+DlgReplaceReplaceBtn	: "החלפה",
+DlgReplaceReplAllBtn	: "החלפה בכל העמוד",
+DlgReplaceWordChk		: "התאמה למילה המלאה",
+
+// Paste Operations / Dialog
+PasteErrorPaste	: "הגדרות האבטחה בדפדפן שלך לא מאפשרות לעורך לבצע פעולות הדבקה אוטומטיות. יש להשתמש במקלדת לשם כך (Ctrl+V).",
+PasteErrorCut	: "הגדרות האבטחה בדפדפן שלך לא מאפשרות לעורך לבצע פעולות גזירה  אוטומטיות. יש להשתמש במקלדת לשם כך (Ctrl+X).",
+PasteErrorCopy	: "הגדרות האבטחה בדפדפן שלך לא מאפשרות לעורך לבצע פעולות העתקה אוטומטיות. יש להשתמש במקלדת לשם כך (Ctrl+C).",
+
+PasteAsText		: "הדבקה כטקסט פשוט",
+PasteFromWord	: "הדבקה מ-Word",
+
+DlgPasteMsg2	: "Please paste inside the following box using the keyboard (<STRONG>Ctrl+V</STRONG>) and hit <STRONG>OK</STRONG>.",
+DlgPasteIgnoreFont		: "התעלם מהגדרות סוג פונט",
+DlgPasteRemoveStyles	: "הסר הגדרות סגנון",
+DlgPasteCleanBox		: "קופסת ניקוי",
+
+
+// Color Picker
+ColorAutomatic	: "אוטומטי",
+ColorMoreColors	: "צבעים נוספים...",
+
+// Document Properties
+DocProps		: "מאפיני מסמך",
+
+// Anchor Dialog
+DlgAnchorTitle		: "מאפיני נקודת עיגון",
+DlgAnchorName		: "שם לנקודת עיגון",
+DlgAnchorErrorName	: "אנא הזן שם לנקודת עיגון",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "לא נמצא במילון",
+DlgSpellChangeTo		: "שנה ל",
+DlgSpellBtnIgnore		: "התעלם",
+DlgSpellBtnIgnoreAll	: "התעלם מהכל",
+DlgSpellBtnReplace		: "החלף",
+DlgSpellBtnReplaceAll	: "החלף הכל",
+DlgSpellBtnUndo			: "Undo",
+DlgSpellNoSuggestions	: "- אין הצעות -",
+DlgSpellProgress		: "בדיקות איות בתהליך ....",
+DlgSpellNoMispell		: "בדיקות איות הסתיימה: לא נמצאו שגיעות כתיב",
+DlgSpellNoChanges		: "בדיקות איות הסתיימה: לא שונתה אף מילה",
+DlgSpellOneChange		: "בדיקות איות הסתיימה: שונתה מילה אחת",
+DlgSpellManyChanges		: "בדיקות איות הסתיימה: %1 מילים שונו",
+
+IeSpellDownload			: "בודק האיות לא מותקן, האם אתה מעוניין להוריד?",
+
+// Button Dialog
+DlgButtonText	: "טקסט (ערך)",
+DlgButtonType	: "סוג",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "שם",
+DlgCheckboxValue	: "ערך",
+DlgCheckboxSelected	: "בחור",
+
+// Form Dialog
+DlgFormName		: "שם",
+DlgFormAction	: "שלח אל",
+DlgFormMethod	: "סוג שליחה",
+
+// Select Field Dialog
+DlgSelectName		: "שם",
+DlgSelectValue		: "ערך",
+DlgSelectSize		: "גודל",
+DlgSelectLines		: "שורות",
+DlgSelectChkMulti	: "אפשר בחירות מרובות",
+DlgSelectOpAvail	: "אפשרויות זמינות",
+DlgSelectOpText		: "טקסט",
+DlgSelectOpValue	: "ערך",
+DlgSelectBtnAdd		: "הוסף",
+DlgSelectBtnModify	: "שנה",
+DlgSelectBtnUp		: "למעלה",
+DlgSelectBtnDown	: "למטה",
+DlgSelectBtnSetValue : "קבע כברירת מחדל",
+DlgSelectBtnDelete	: "מחק",
+
+// Textarea Dialog
+DlgTextareaName	: "שם",
+DlgTextareaCols	: "עמודות",
+DlgTextareaRows	: "שורות",
+
+// Text Field Dialog
+DlgTextName			: "שם",
+DlgTextValue		: "ערך",
+DlgTextCharWidth	: "רוחב באותיות",
+DlgTextMaxChars		: "מקסימות אותיות",
+DlgTextType			: "סוג",
+DlgTextTypeText		: "טקסט",
+DlgTextTypePass		: "סיסמה",
+
+// Hidden Field Dialog
+DlgHiddenName	: "שם",
+DlgHiddenValue	: "ערך",
+
+// Bulleted List Dialog
+BulletedListProp	: "מאפייני רשימה",
+NumberedListProp	: "מאפייני רשימה ממוספרת",
+DlgLstType			: "סוג",
+DlgLstTypeCircle	: "עיגול",
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "מרובע",
+DlgLstTypeNumbers	: "מספרים (1, 2, 3)",
+DlgLstTypeLCase		: "אותיות קטנות (a, b, c)",
+DlgLstTypeUCase		: "אותיות גדולות (A, B, C)",
+DlgLstTypeSRoman	: "ספרות רומאיות קטנות (i, ii, iii)",
+DlgLstTypeLRoman	: "ספרות רומאיות גדולות (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "כללי",
+DlgDocBackTab		: "רקע",
+DlgDocColorsTab		: "צבעים וגבולות",
+DlgDocMetaTab		: "נתוני META",
+
+DlgDocPageTitle		: "כותרת דף",
+DlgDocLangDir		: "כיוון שפה",
+DlgDocLangDirLTR	: "שמאל לימין (LTR)",
+DlgDocLangDirRTL	: "ימין לשמאל (RTL)",
+DlgDocLangCode		: "קוד שפה",
+DlgDocCharSet		: "קידוד אותיות",
+DlgDocCharSetOther	: "קידוד אותיות אחר",
+
+DlgDocDocType		: "הגדרות סוג מסמך",
+DlgDocDocTypeOther	: "הגדרות סוג מסמך אחרות",
+DlgDocIncXHTML		: "כלול הגדרות XHTML",
+DlgDocBgColor		: "צבע רקע",
+DlgDocBgImage		: "URL לתמונת רקע",
+DlgDocBgNoScroll	: "רגע ללא גלילה",
+DlgDocCText			: "טקסט",
+DlgDocCLink			: "קישור",
+DlgDocCVisited		: "קישור שבוקר",
+DlgDocCActive		: " קישור פעיל",
+DlgDocMargins		: "גבולות דף",
+DlgDocMaTop			: "למעלה",
+DlgDocMaLeft		: "שמאלה",
+DlgDocMaRight		: "ימינה",
+DlgDocMaBottom		: "למטה",
+DlgDocMeIndex		: "מפתח עניינים של המסמך )מופרד בפסיק(",
+DlgDocMeDescr		: "תאור מסמך",
+DlgDocMeAuthor		: "מחבר",
+DlgDocMeCopy		: "זכויות יוצרים",
+DlgDocPreview		: "תצוגה מקדימה",
+
+// Templates Dialog
+Templates			: "תבניות",
+DlgTemplatesTitle	: "תביות תוכן",
+DlgTemplatesSelMsg	: "אנא בחר תבנית לפתיחה בעורך <BR>התוכן המקורי ימחק:",
+DlgTemplatesLoading	: "מעלה רשימת תבניות אנא המתן",
+DlgTemplatesNoTpl	: "(לא הוגדרו תבניות)",
+
+// About Dialog
+DlgAboutAboutTab	: "אודות",
+DlgAboutBrowserInfoTab	: "גירסת דפדפן",
+DlgAboutVersion		: "גירסא",
+DlgAboutLicense		: "ברשיון תחת תנאי GNU Lesser General Public License",
+DlgAboutInfo		: "מידע נוסף ניתן למצוא כאן:"
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/lang/hr.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/lang/hr.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/lang/hr.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,475 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: hr.js
+ * 	Croatian language file.
+ * 
+ * File Authors:
+ * 		Alex Varga (avarga at globaldizajn.hr)
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Smanji trake s alatima",
+ToolbarExpand		: "Proširi trake s alatima",
+
+// Toolbar Items and Context Menu
+Save				: "Snimi",
+NewPage				: "Nova stranica",
+Preview				: "Pregledaj",
+Cut					: "Izreži",
+Copy				: "Kopiraj",
+Paste				: "Zalijepi",
+PasteText			: "Zalijepi kao čisti tekst",
+PasteWord			: "Zalijepi iz Worda",
+Print				: "Ispiši",
+SelectAll			: "Odaberi sve",
+RemoveFormat		: "Ukloni formatiranje",
+InsertLinkLbl		: "Link",
+InsertLink			: "Ubaci/promijeni link",
+RemoveLink			: "Ukloni link",
+Anchor				: "Ubaci/promijeni sidro",
+InsertImageLbl		: "Slika",
+InsertImage			: "Ubaci/promijeni sliku",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Ubaci/promijeni Flash",
+InsertTableLbl		: "Tablica",
+InsertTable			: "Ubaci/promijeni tablicu",
+InsertLineLbl		: "Linija",
+InsertLine			: "Ubaci vodoravnu liniju",
+InsertSpecialCharLbl: "Posebni karakteri",
+InsertSpecialChar	: "Ubaci posebne znakove",
+InsertSmileyLbl		: "Smješko",
+InsertSmiley		: "Ubaci smješka",
+About				: "O FCKeditoru",
+Bold				: "Podebljaj",
+Italic				: "Ukosi",
+Underline			: "Potcrtano",
+StrikeThrough		: "Precrtano",
+Subscript			: "Subscript",
+Superscript			: "Superscript",
+LeftJustify			: "Lijevo poravnanje",
+CenterJustify		: "Središnje poravnanje",
+RightJustify		: "Desno poravnanje",
+BlockJustify		: "Blok poravnanje",
+DecreaseIndent		: "Pomakni ulijevo",
+IncreaseIndent		: "Pomakni udesno",
+Undo				: "Poništi",
+Redo				: "Ponovi",
+NumberedListLbl		: "Brojčana lista",
+NumberedList		: "Ubaci/ukloni brojčanu listu",
+BulletedListLbl		: "Obična lista",
+BulletedList		: "Ubaci/ukloni običnu listu",
+ShowTableBorders	: "Prikaži okvir tablice",
+ShowDetails			: "Prikaži detalje",
+Style				: "Stil",
+FontFormat			: "Format",
+Font				: "Font",
+FontSize			: "Veličina",
+TextColor			: "Boja teksta",
+BGColor				: "Boja pozadine",
+Source				: "K&ocirc;d",
+Find				: "Pronađi",
+Replace				: "Zamijeni",
+SpellCheck			: "Provjeri pravopis",
+UniversalKeyboard	: "Univerzalna tipkovnica",
+
+Form			: "Form",
+Checkbox		: "Checkbox",
+RadioButton		: "Radio Button",
+TextField		: "Text Field",
+Textarea		: "Textarea",
+HiddenField		: "Hidden Field",
+Button			: "Button",
+SelectionField	: "Selection Field",
+ImageButton		: "Image Button",
+
+// Context Menu
+EditLink			: "Promijeni link",
+InsertRow			: "Ubaci red",
+DeleteRows			: "Izbriši redove",
+InsertColumn		: "Ubaci kolonu",
+DeleteColumns		: "Izbriši kolone",
+InsertCell			: "Ubaci ćelije",
+DeleteCells			: "Izbriši ćelije",
+MergeCells			: "Spoji ćelije",
+SplitCell			: "Razdvoji ćelije",
+CellProperties		: "Svojstva ćelije",
+TableProperties		: "Svojstva tablice",
+ImageProperties		: "Svojstva slike",
+FlashProperties		: "Flash svojstva",
+
+AnchorProp			: "Svojstva sidra",
+ButtonProp			: "Image Button svojstva",
+CheckboxProp		: "Checkbox svojstva",
+HiddenFieldProp		: "Hidden Field svojstva",
+RadioButtonProp		: "Radio Button svojstva",
+ImageButtonProp		: "Image Button svojstva",
+TextFieldProp		: "Text Field svojstva",
+SelectionFieldProp	: "Selection svojstva",
+TextareaProp		: "Textarea svojstva",
+FormProp			: "Form svojstva",
+
+FontFormats			: "Normal;Formatirano;Adresa;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6",
+
+// Alerts and Messages
+ProcessingXHTML		: "Obrađujem XHTML. Molimo pričekajte...",
+Done				: "Završio",
+PasteWordConfirm	: "Tekst koji želite zalijepiti čini se da je kopiran iz Worda. Želite li prije očistiti tekst?",
+NotCompatiblePaste	: "Ova naredba je dostupna samo u Internet Exploreru 5.5 ili novijem. Želite li nastaviti bez čišćenja?",
+UnknownToolbarItem	: "Nepoznati član trake s alatima \"%1\"",
+UnknownCommand		: "Nepoznata naredba \"%1\"",
+NotImplemented		: "Naredba nije implementirana",
+UnknownToolbarSet	: "Traka s alatima \"%1\" ne postoji",
+NoActiveX			: "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Poništi",
+DlgBtnClose			: "Zatvori",
+DlgBtnBrowseServer	: "Pretraži server",
+DlgAdvancedTag		: "Napredno",
+DlgOpOther			: "&lt;Drugo&gt;",
+DlgInfoTab			: "Info",
+DlgAlertUrl			: "Molimo unesite URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "&lt;nije postavljeno&gt;",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Smjer jezika",
+DlgGenLangDirLtr	: "S lijeva na desno (LTR)",
+DlgGenLangDirRtl	: "S desna na lijevo (RTL)",
+DlgGenLangCode		: "K&ocirc;d jezika",
+DlgGenAccessKey		: "Pristupna tipka",
+DlgGenName			: "Naziv",
+DlgGenTabIndex		: "Tab Indeks",
+DlgGenLongDescr		: "Dugački opis URL",
+DlgGenClass			: "Stylesheet klase",
+DlgGenTitle			: "Advisory naslov",
+DlgGenContType		: "Advisory vrsta sadržaja",
+DlgGenLinkCharset	: "Kodna stranica povezanih resursa",
+DlgGenStyle			: "Stil",
+
+// Image Dialog
+DlgImgTitle			: "Svojstva slika",
+DlgImgInfoTab		: "Info slike",
+DlgImgBtnUpload		: "Pošalji na server",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Pošalji",
+DlgImgAlt			: "Alternativni tekst",
+DlgImgWidth			: "Å irina",
+DlgImgHeight		: "Visina",
+DlgImgLockRatio		: "Zaključaj odnos",
+DlgBtnResetSize		: "Obriši veličinu",
+DlgImgBorder		: "Okvir",
+DlgImgHSpace		: "HSpace",
+DlgImgVSpace		: "VSpace",
+DlgImgAlign			: "Poravnaj",
+DlgImgAlignLeft		: "Lijevo",
+DlgImgAlignAbsBottom: "Abs dolje",
+DlgImgAlignAbsMiddle: "Abs sredina",
+DlgImgAlignBaseline	: "Bazno",
+DlgImgAlignBottom	: "Dolje",
+DlgImgAlignMiddle	: "Sredina",
+DlgImgAlignRight	: "Desno",
+DlgImgAlignTextTop	: "Vrh teksta",
+DlgImgAlignTop		: "Vrh",
+DlgImgPreview		: "Pregledaj",
+DlgImgAlertUrl		: "Unesite URL slike",
+DlgImgLinkTab		: "Link",
+
+// Flash Dialog
+DlgFlashTitle		: "Flash svojstva",
+DlgFlashChkPlay		: "Auto Play",
+DlgFlashChkLoop		: "Ponavljaj",
+DlgFlashChkMenu		: "Omogući Flash izbornik",
+DlgFlashScale		: "Omjer",
+DlgFlashScaleAll	: "Prikaži sve",
+DlgFlashScaleNoBorder	: "Bez okvira",
+DlgFlashScaleFit	: "Točna veličina",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Link",
+DlgLnkInfoTab		: "Link Info",
+DlgLnkTargetTab		: "Meta",
+
+DlgLnkType			: "Link vrsta",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Sidro na ovoj stranici",
+DlgLnkTypeEMail		: "E-Mail",
+DlgLnkProto			: "Protokol",
+DlgLnkProtoOther	: "&lt;drugo&gt;",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Odaberi sidro",
+DlgLnkAnchorByName	: "Po nazivu sidra",
+DlgLnkAnchorById	: "Po Id elementa",
+DlgLnkNoAnchors		: "&lt;Nema dostupnih sidra&gt;",
+DlgLnkEMail			: "E-Mail adresa",
+DlgLnkEMailSubject	: "Naslov",
+DlgLnkEMailBody		: "Sadržaj poruke",
+DlgLnkUpload		: "Pošalji",
+DlgLnkBtnUpload		: "Pošalji na server",
+
+DlgLnkTarget		: "Meta",
+DlgLnkTargetFrame	: "&lt;okvir&gt;",
+DlgLnkTargetPopup	: "&lt;popup prozor&gt;",
+DlgLnkTargetBlank	: "Novi prozor (_blank)",
+DlgLnkTargetParent	: "Roditeljski prozor (_parent)",
+DlgLnkTargetSelf	: "Isti prozor (_self)",
+DlgLnkTargetTop		: "Vršni prozor (_top)",
+DlgLnkTargetFrameName	: "Ime ciljnog okvira",
+DlgLnkPopWinName	: "Naziv popup prozora",
+DlgLnkPopWinFeat	: "Mogućnosti popup prozora",
+DlgLnkPopResize		: "Promjenljive veličine",
+DlgLnkPopLocation	: "Traka za lokaciju",
+DlgLnkPopMenu		: "Izborna traka",
+DlgLnkPopScroll		: "Scroll traka",
+DlgLnkPopStatus		: "Statusna traka",
+DlgLnkPopToolbar	: "Traka s alatima",
+DlgLnkPopFullScrn	: "Cijeli ekran (IE)",
+DlgLnkPopDependent	: "Ovisno (Netscape)",
+DlgLnkPopWidth		: "Å irina",
+DlgLnkPopHeight		: "Visina",
+DlgLnkPopLeft		: "Lijeva pozicija",
+DlgLnkPopTop		: "Gornja pozicija",
+
+DlnLnkMsgNoUrl		: "Molimo upišite URL link",
+DlnLnkMsgNoEMail	: "Molimo upišite e-mail adresu",
+DlnLnkMsgNoAnchor	: "Molimo odaberite sidro",
+
+// Color Dialog
+DlgColorTitle		: "Odaberite boju",
+DlgColorBtnClear	: "Obriši",
+DlgColorHighlight	: "Osvijetli",
+DlgColorSelected	: "Odaberi",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Ubaci smješka",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Odaberite posebni karakter",
+
+// Table Dialog
+DlgTableTitle		: "Svojstva tablice",
+DlgTableRows		: "Redova",
+DlgTableColumns		: "Kolona",
+DlgTableBorder		: "Veličina okvira",
+DlgTableAlign		: "Poravnanje",
+DlgTableAlignNotSet	: "&lt;nije postavljeno&gt;",
+DlgTableAlignLeft	: "Lijevo",
+DlgTableAlignCenter	: "Središnje",
+DlgTableAlignRight	: "Desno",
+DlgTableWidth		: "Å irina",
+DlgTableWidthPx		: "piksela",
+DlgTableWidthPc		: "postotaka",
+DlgTableHeight		: "Visina",
+DlgTableCellSpace	: "Prostornost ćelija",
+DlgTableCellPad		: "Razmak ćelija",
+DlgTableCaption		: "Naslov",
+
+// Table Cell Dialog
+DlgCellTitle		: "Svojstva ćelije",
+DlgCellWidth		: "Å irina",
+DlgCellWidthPx		: "piksela",
+DlgCellWidthPc		: "postotaka",
+DlgCellHeight		: "Visina",
+DlgCellWordWrap		: "Word Wrap",
+DlgCellWordWrapNotSet	: "&lt;nije postavljeno&gt;",
+DlgCellWordWrapYes	: "Da",
+DlgCellWordWrapNo	: "Ne",
+DlgCellHorAlign		: "Vodoravno poravnanje",
+DlgCellHorAlignNotSet	: "&lt;nije postavljeno&gt;",
+DlgCellHorAlignLeft	: "Lijevo",
+DlgCellHorAlignCenter	: "Središnje",
+DlgCellHorAlignRight: "Desno",
+DlgCellVerAlign		: "Okomito poravnanje",
+DlgCellVerAlignNotSet	: "&lt;nije postavljeno&gt;",
+DlgCellVerAlignTop	: "Gornje",
+DlgCellVerAlignMiddle	: "Srednišnje",
+DlgCellVerAlignBottom	: "Donje",
+DlgCellVerAlignBaseline	: "Bazno",
+DlgCellRowSpan		: "Spajanje redova",
+DlgCellCollSpan		: "Spajanje kolona",
+DlgCellBackColor	: "Boja pozadine",
+DlgCellBorderColor	: "Boja okvira",
+DlgCellBtnSelect	: "Odaberi...",
+
+// Find Dialog
+DlgFindTitle		: "Pronađi",
+DlgFindFindBtn		: "Pronađi",
+DlgFindNotFoundMsg	: "Traženi tekst nije pronađen.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Zamijeni",
+DlgReplaceFindLbl		: "Pronađi:",
+DlgReplaceReplaceLbl	: "Zamijeni s:",
+DlgReplaceCaseChk		: "Usporedi mala/velika slova",
+DlgReplaceReplaceBtn	: "Zamijeni",
+DlgReplaceReplAllBtn	: "Zamijeni sve",
+DlgReplaceWordChk		: "Usporedi cijele riječi",
+
+// Paste Operations / Dialog
+PasteErrorPaste	: "Sigurnosne postavke Vašeg pretraživača ne dozvoljavaju operacije automatskog ljepljenja. Molimo koristite kraticu na tipkovnici (Ctrl+V).",
+PasteErrorCut	: "Sigurnosne postavke Vašeg pretraživača ne dozvoljavaju operacije automatskog izrezivanja. Molimo koristite kraticu na tipkovnici (Ctrl+X).",
+PasteErrorCopy	: "Sigurnosne postavke Vašeg pretraživača ne dozvoljavaju operacije automatskog kopiranja. Molimo koristite kraticu na tipkovnici (Ctrl+C).",
+
+PasteAsText		: "Zalijepi kao čisti tekst",
+PasteFromWord	: "Zalijepi iz Worda",
+
+DlgPasteMsg2	: "Molimo zaljepite unutar doljnjeg okvira koristeći tipkovnicu (<STRONG>Ctrl+V</STRONG>) i kliknite <STRONG>OK</STRONG>.",
+DlgPasteIgnoreFont		: "Zanemari definiciju vrste fonta",
+DlgPasteRemoveStyles	: "Ukloni definicije stilova",
+DlgPasteCleanBox		: "Očisti okvir",
+
+
+// Color Picker
+ColorAutomatic	: "Automatski",
+ColorMoreColors	: "Više boja...",
+
+// Document Properties
+DocProps		: "Svojstva dokumenta",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Svojstva sidra",
+DlgAnchorName		: "Ime sidra",
+DlgAnchorErrorName	: "Molimo unesite ime sidra",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Nije u rječniku",
+DlgSpellChangeTo		: "Promijeni u",
+DlgSpellBtnIgnore		: "Zanemari",
+DlgSpellBtnIgnoreAll	: "Zanemari sve",
+DlgSpellBtnReplace		: "Zamijeni",
+DlgSpellBtnReplaceAll	: "Zamijeni sve",
+DlgSpellBtnUndo			: "Vrati",
+DlgSpellNoSuggestions	: "-Nema preporuke-",
+DlgSpellProgress		: "Provjera u tijeku...",
+DlgSpellNoMispell		: "Provjera završena: Nema grešaka",
+DlgSpellNoChanges		: "Provjera završena: Nije napravljena promjena",
+DlgSpellOneChange		: "Provjera završena: Jedna riječ promjenjena",
+DlgSpellManyChanges		: "Provjera završena: Promijenjeno %1 riječi",
+
+IeSpellDownload			: "Provjera pravopisa nije instalirana. Želite li skinuti provjeru pravopisa?",
+
+// Button Dialog
+DlgButtonText	: "Tekst (vrijednost)",
+DlgButtonType	: "Vrsta",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Ime",
+DlgCheckboxValue	: "Vrijednost",
+DlgCheckboxSelected	: "Odabrano",
+
+// Form Dialog
+DlgFormName		: "Ime",
+DlgFormAction	: "Akcija",
+DlgFormMethod	: "Metoda",
+
+// Select Field Dialog
+DlgSelectName		: "Ime",
+DlgSelectValue		: "Vrijednost",
+DlgSelectSize		: "Veličina",
+DlgSelectLines		: "linija",
+DlgSelectChkMulti	: "Dozvoli višestruki odabir",
+DlgSelectOpAvail	: "Dostupne opcije",
+DlgSelectOpText		: "Tekst",
+DlgSelectOpValue	: "Vrijednost",
+DlgSelectBtnAdd		: "Dodaj",
+DlgSelectBtnModify	: "Promijeni",
+DlgSelectBtnUp		: "Gore",
+DlgSelectBtnDown	: "Dolje",
+DlgSelectBtnSetValue : "Postavi kao odabranu vrijednost",
+DlgSelectBtnDelete	: "Obriši",
+
+// Textarea Dialog
+DlgTextareaName	: "Ime",
+DlgTextareaCols	: "Kolona",
+DlgTextareaRows	: "Redova",
+
+// Text Field Dialog
+DlgTextName			: "Ime",
+DlgTextValue		: "Vrijednost",
+DlgTextCharWidth	: "Å irina",
+DlgTextMaxChars		: "Najviše karaktera",
+DlgTextType			: "Vrsta",
+DlgTextTypeText		: "Tekst",
+DlgTextTypePass		: "Å ifra",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Ime",
+DlgHiddenValue	: "Vrijednost",
+
+// Bulleted List Dialog
+BulletedListProp	: "Svojstva liste",
+NumberedListProp	: "Svojstva brojčane liste",
+DlgLstType			: "Vrsta",
+DlgLstTypeCircle	: "Krug",
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "Kvadrat",
+DlgLstTypeNumbers	: "Brojevi (1, 2, 3)",
+DlgLstTypeLCase		: "Mala slova (a, b, c)",
+DlgLstTypeUCase		: "Velika slova (A, B, C)",
+DlgLstTypeSRoman	: "Male rimske brojke (i, ii, iii)",
+DlgLstTypeLRoman	: "Velike rimske brojke (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Općenito",
+DlgDocBackTab		: "Pozadina",
+DlgDocColorsTab		: "Boje i margine",
+DlgDocMetaTab		: "Meta Data",
+
+DlgDocPageTitle		: "Naslov stranice",
+DlgDocLangDir		: "Smjer jezika",
+DlgDocLangDirLTR	: "S lijeva na desno",
+DlgDocLangDirRTL	: "S desna na lijevo",
+DlgDocLangCode		: "K&ocirc;d jezika",
+DlgDocCharSet		: "Enkodiranje znakova",
+DlgDocCharSetOther	: "Ostalo enkodiranje znakova",
+
+DlgDocDocType		: "Zaglavlje vrste dokumenta",
+DlgDocDocTypeOther	: "Ostalo zaglavlje vrste dokumenta",
+DlgDocIncXHTML		: "Ubaci XHTML deklaracije",
+DlgDocBgColor		: "Boja pozadine",
+DlgDocBgImage		: "URL slike pozadine",
+DlgDocBgNoScroll	: "Pozadine se ne pomiče",
+DlgDocCText			: "Tekst",
+DlgDocCLink			: "Link",
+DlgDocCVisited		: "Posjećeni link",
+DlgDocCActive		: "Aktivni link",
+DlgDocMargins		: "Margine stranice",
+DlgDocMaTop			: "Vrh",
+DlgDocMaLeft		: "Lijevo",
+DlgDocMaRight		: "Desno",
+DlgDocMaBottom		: "Dolje",
+DlgDocMeIndex		: "Ključne riječi dokumenta (odvojene zarezom)",
+DlgDocMeDescr		: "Opis dokumenta",
+DlgDocMeAuthor		: "Autor",
+DlgDocMeCopy		: "Autorska prava",
+DlgDocPreview		: "Pregledaj",
+
+// Templates Dialog
+Templates			: "Predlošci",
+DlgTemplatesTitle	: "Predlošci sadržaja",
+DlgTemplatesSelMsg	: "Molimo odaberite predložak koji želite otvoriti<br>(stvarni sadržaj će biti izgubljen):",
+DlgTemplatesLoading	: "Učitavam listu predložaka. Molimo pričekajte...",
+DlgTemplatesNoTpl	: "(Nema definiranih predložaka)",
+
+// About Dialog
+DlgAboutAboutTab	: "O FCKEditoru",
+DlgAboutBrowserInfoTab	: "Podaci o pretraživaču",
+DlgAboutVersion		: "inačica",
+DlgAboutLicense		: "Licencirano pod uvjetima GNU Lesser General Public License",
+DlgAboutInfo		: "Za više informacija posjetite"
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/lang/hu.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/lang/hu.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/lang/hu.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,475 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: hu.js
+ * 	Hungarian language file.
+ * 
+ * File Authors:
+ * 		Varga Zsolt (meridian at netteszt.hu)
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Egyszerû eszköztár",
+ToolbarExpand		: "Bõvített eszköztár",
+
+// Toolbar Items and Context Menu
+Save				: "Mentés",
+NewPage				: "Új oldal",
+Preview				: "Elõnézet",
+Cut					: "Kivágás",
+Copy				: "Másolás",
+Paste				: "Beillesztés",
+PasteText			: "Beillesztés formázatlan szövegként",
+PasteWord			: "Beillesztés Wordbõl",
+Print				: "Nyomtatás",
+SelectAll			: "Minden kijelölése",
+RemoveFormat		: "Formázás törlése",
+InsertLinkLbl		: "Hivatkozás",
+InsertLink			: "Hivatkozás beillesztése/módosítása",
+RemoveLink			: "Hivatkozás törlése",
+Anchor				: "Horgony beillesztése/szerkesztése",
+InsertImageLbl		: "Kép",
+InsertImage			: "Kép beillesztése/módosítása",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Flash beillesztése, módosítása",
+InsertTableLbl		: "Táblázat",
+InsertTable			: "Táblázat beillesztése/módosítása",
+InsertLineLbl		: "Vonal",
+InsertLine			: "Elválasztóvonal beillesztése",
+InsertSpecialCharLbl: "Speciális karakter",
+InsertSpecialChar	: "Speciális karakter beillesztése",
+InsertSmileyLbl		: "Hangulatjelek",
+InsertSmiley		: "Hangulatjelek beillesztése",
+About				: "FCKeditor névjegy",
+Bold				: "Félkövér",
+Italic				: "Dõlt",
+Underline			: "Aláhúzott",
+StrikeThrough		: "Áthúzott",
+Subscript			: "Alsó index",
+Superscript			: "Felsõ index",
+LeftJustify			: "Balra",
+CenterJustify		: "Középre",
+RightJustify		: "Jobbra",
+BlockJustify		: "Sorkizárt",
+DecreaseIndent		: "Behúzás csökkentése",
+IncreaseIndent		: "Behúzás növelése",
+Undo				: "Visszavonás",
+Redo				: "Ismétlés",
+NumberedListLbl		: "Számozás",
+NumberedList		: "Számozás beillesztése/törlése",
+BulletedListLbl		: "Felsorolás",
+BulletedList		: "Felsorolás beillesztése/törlése",
+ShowTableBorders	: "Táblázat szegély mutatása",
+ShowDetails			: "Részletek mutatása",
+Style				: "Stílus",
+FontFormat			: "Formátum",
+Font				: "Betûtipus",
+FontSize			: "Méret",
+TextColor			: "Betûszín",
+BGColor				: "Háttérszín",
+Source				: "Forráskód",
+Find				: "Keresés",
+Replace				: "Csere",
+SpellCheck			: "Helyesírásellenőrzés",
+UniversalKeyboard	: "Általános billentyűzet",
+
+Form			: "Å°rlap",
+Checkbox		: "Jelölőnégyzet",
+RadioButton		: "Választógomb",
+TextField		: "Szövegmező",
+Textarea		: "Szövegterület",
+HiddenField		: "Rejtettmező",
+Button			: "Gomb",
+SelectionField	: "Választómező",
+ImageButton		: "Képgomb",
+
+// Context Menu
+EditLink			: "Hivatkozás módosítása",
+InsertRow			: "Sor beszúrása",
+DeleteRows			: "Sor(ok) törlése",
+InsertColumn		: "Oszlop beszúrása",
+DeleteColumns		: "Oszlop(ok) törlése",
+InsertCell			: "Cella beszúrása",
+DeleteCells			: "Cellák törlése",
+MergeCells			: "Cellák egyesítése",
+SplitCell			: "Cellák szétválasztása",
+CellProperties		: "Cellák tulajdonsága",
+TableProperties		: "Táblázat tulajdonsága",
+ImageProperties		: "Kép tulajdonsága",
+FlashProperties		: "Flash tulajdonsága",
+
+AnchorProp			: "Horgony(ok) tulajdonsága(i)",
+ButtonProp			: "Gomb(ok) tulajdonsága(i) ",
+CheckboxProp		: "Jelölőnégyzet(ek) tulajdonsága(i)",
+HiddenFieldProp		: "Rejtettmező(k) tulajdonsága(i)",
+RadioButtonProp		: "Választógomb(ok) tulajdonsága(i)",
+ImageButtonProp		: "Képgomb(ok) tulajdonsága(i)",
+TextFieldProp		: "Szövegmező(k) tulajdonsága(i)",
+SelectionFieldProp	: "Választómező(k) tulajdonsága(i)",
+TextareaProp		: "Szövegterület(ek) tulajdonsága(i)",
+FormProp			: "Űrlap(ok) tulajdonsága(i)",
+
+FontFormats			: "Normál;Formázott;Címsor;Fejléc 1;Fejléc 2;Fejléc 3;Fejléc 4;Fejléc 5;Fejléc 6;Bekezdés (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "XHTML feldolgozása. Kérem várjon...",
+Done				: "Kész",
+PasteWordConfirm	: "A szöveg amit be szeretnél illeszteni úgy néz ki Word-bõl van másolva. Do you want to clean it before pasting?",
+NotCompatiblePaste	: "Ez a parancs csak Internet Explorer 5.5 verziótól használható (Firefox rulez). Do you want to paste without cleaning?",
+UnknownToolbarItem	: "Ismeretlen eszköztár elem \"%1\"",
+UnknownCommand		: "Ismeretlen parancs \"%1\"",
+NotImplemented		: "A parancs nincs beágyazva",
+UnknownToolbarSet	: "Eszközkészlet beállítás \"%1\" nem létezik",
+NoActiveX			: "A böngésződ biztonsági beállításai limitálják a szerkesztő lehetőségeit. Engedélyezned kell ezt az opciót: \"Run ActiveX controls and plug-ins\". Kitapasztalhatod a hibákat és feljegyezheted a hiányzó képességeket.",
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Mégsem",
+DlgBtnClose			: "Bezárás",
+DlgBtnBrowseServer	: "Szerver tallózása",
+DlgAdvancedTag		: "Haladó",
+DlgOpOther			: "Egyéb",
+DlgInfoTab			: "Információ",
+DlgAlertUrl			: "Illeszd be a hivatkozást",
+
+// General Dialogs Labels
+DlgGenNotSet		: "&lt;nincs beállítva&gt;",
+DlgGenId			: "Azonosító",
+DlgGenLangDir		: "Nyelv útmutató",
+DlgGenLangDirLtr	: "Balról jobbra",
+DlgGenLangDirRtl	: "Jobbról balra",
+DlgGenLangCode		: "Nyelv kód",
+DlgGenAccessKey		: "Elérési kulcs",
+DlgGenName			: "Név",
+DlgGenTabIndex		: "Tabulátor index",
+DlgGenLongDescr		: "Hosszú URL",
+DlgGenClass			: "Stíluskészlet",
+DlgGenTitle			: "Advisory Title",
+DlgGenContType		: "Advisory Content Type",
+DlgGenLinkCharset	: "Hivatkozott kódlap készlet",
+DlgGenStyle			: "Stílus",
+
+// Image Dialog
+DlgImgTitle			: "Kép tulajdonsága",
+DlgImgInfoTab		: "Kép információ",
+DlgImgBtnUpload		: "Küldés a szervernek",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Feltöltés",
+DlgImgAlt			: "Buborék szöveg",
+DlgImgWidth			: "Szélesség",
+DlgImgHeight		: "Magasság",
+DlgImgLockRatio		: "Arány megtartása",
+DlgBtnResetSize		: "Eredeti méret",
+DlgImgBorder		: "Keret",
+DlgImgHSpace		: "Vízsz. táv",
+DlgImgVSpace		: "Függ. táv",
+DlgImgAlign			: "Igazítás",
+DlgImgAlignLeft		: "Bal",
+DlgImgAlignAbsBottom: "Legaljára",
+DlgImgAlignAbsMiddle: "Közepére",
+DlgImgAlignBaseline	: "Baseline",
+DlgImgAlignBottom	: "Aljára",
+DlgImgAlignMiddle	: "Középre",
+DlgImgAlignRight	: "Jobbra",
+DlgImgAlignTextTop	: "Szöveg tetjére",
+DlgImgAlignTop		: "Tetejére",
+DlgImgPreview		: "Elõnézet",
+DlgImgAlertUrl		: "Töltse ki a kép URL-ét",
+DlgImgLinkTab		: "Hivatkozás",
+
+// Flash Dialog
+DlgFlashTitle		: "Flash tulajdonsága",
+DlgFlashChkPlay		: "Automata lejátszás",
+DlgFlashChkLoop		: "Folyamatosan",
+DlgFlashChkMenu		: "Flash menü engedélyezése",
+DlgFlashScale		: "Méretezés",
+DlgFlashScaleAll	: "Mindent mutat",
+DlgFlashScaleNoBorder	: "Keret nélkül",
+DlgFlashScaleFit	: "Teljes kitöltés",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Hivatkozás",
+DlgLnkInfoTab		: "Hivatkozás információ",
+DlgLnkTargetTab		: "Cél",
+
+DlgLnkType			: "Hivatkozás tipusa",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Horgony az oldalon",
+DlgLnkTypeEMail		: "E-Mail",
+DlgLnkProto			: "Protokoll",
+DlgLnkProtoOther	: "&lt;más&gt;",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Horgony választása",
+DlgLnkAnchorByName	: "Horgony név szerint",
+DlgLnkAnchorById	: "Azonosító szerint elõsorban ",
+DlgLnkNoAnchors		: "&lt;Nincs horgony a dokumentumban&gt;",
+DlgLnkEMail			: "E-Mail cím",
+DlgLnkEMailSubject	: "Üzenet tárgya",
+DlgLnkEMailBody		: "Ãœzenet",
+DlgLnkUpload		: "Feltöltés",
+DlgLnkBtnUpload		: "Küldés a szerverhez",
+
+DlgLnkTarget		: "Cél",
+DlgLnkTargetFrame	: "&lt;keret&gt;",
+DlgLnkTargetPopup	: "&lt;felugró ablak&gt;",
+DlgLnkTargetBlank	: "Új ablak (_blank)",
+DlgLnkTargetParent	: "Szülõ ablak (_parent)",
+DlgLnkTargetSelf	: "Azonos ablak (_self)",
+DlgLnkTargetTop		: "Legfelsõ ablak (_top)",
+DlgLnkTargetFrameName	: "Cél frame neve",
+DlgLnkPopWinName	: "Felugró ablak neve",
+DlgLnkPopWinFeat	: "Felugró ablak jellemzõi",
+DlgLnkPopResize		: "Méretezhetõ",
+DlgLnkPopLocation	: "Location Bar",
+DlgLnkPopMenu		: "Menü sor",
+DlgLnkPopScroll		: "Gördítõsáv",
+DlgLnkPopStatus		: "Állapotsor",
+DlgLnkPopToolbar	: "Eszköztár",
+DlgLnkPopFullScrn	: "Teljes képernyõ (IE)",
+DlgLnkPopDependent	: "Netscape sajátosság",
+DlgLnkPopWidth		: "Szélesség",
+DlgLnkPopHeight		: "Magasság",
+DlgLnkPopLeft		: "Bal pozíció",
+DlgLnkPopTop		: "Felsõ pozíció",
+
+DlnLnkMsgNoUrl		: "Adja meg a hivatkozás URL-ét",
+DlnLnkMsgNoEMail	: "Adja meg az e-mail címet",
+DlnLnkMsgNoAnchor	: "Válasszon egy horgonyt",
+
+// Color Dialog
+DlgColorTitle		: "Szinválasztás",
+DlgColorBtnClear	: "Törlés",
+DlgColorHighlight	: "Világos rész",
+DlgColorSelected	: "Választott",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Hangulatjel beszúrása",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Speciális karakter választása",
+
+// Table Dialog
+DlgTableTitle		: "Táblázat tulajdonságai",
+DlgTableRows		: "Sorok",
+DlgTableColumns		: "Oszlopok",
+DlgTableBorder		: "Szegélyméret",
+DlgTableAlign		: "Igazítás",
+DlgTableAlignNotSet	: "<Nincs beállítva>",
+DlgTableAlignLeft	: "Bal",
+DlgTableAlignCenter	: "Közép",
+DlgTableAlignRight	: "Jobb",
+DlgTableWidth		: "Szélesség",
+DlgTableWidthPx		: "képpontok",
+DlgTableWidthPc		: "százalék",
+DlgTableHeight		: "Magasság",
+DlgTableCellSpace	: "Cell spacing",
+DlgTableCellPad		: "Cell padding",
+DlgTableCaption		: "Felirat",
+
+// Table Cell Dialog
+DlgCellTitle		: "Cella tulajdonságai",
+DlgCellWidth		: "Szélesség",
+DlgCellWidthPx		: "képpontok",
+DlgCellWidthPc		: "százalék",
+DlgCellHeight		: "Height",
+DlgCellWordWrap		: "Sortörés",
+DlgCellWordWrapNotSet	: "&lt;Nincs beállítva&gt;",
+DlgCellWordWrapYes	: "Igen",
+DlgCellWordWrapNo	: "Nem",
+DlgCellHorAlign		: "Vízszintes igazítás",
+DlgCellHorAlignNotSet	: "&lt;Nincs beállítva&gt;",
+DlgCellHorAlignLeft	: "Bal",
+DlgCellHorAlignCenter	: "Közép",
+DlgCellHorAlignRight: "Jobb",
+DlgCellVerAlign		: "Függõleges igazítás",
+DlgCellVerAlignNotSet	: "&lt;Nincs beállítva&gt;",
+DlgCellVerAlignTop	: "Tetejére",
+DlgCellVerAlignMiddle	: "Középre",
+DlgCellVerAlignBottom	: "Aljára",
+DlgCellVerAlignBaseline	: "Egyvonalba",
+DlgCellRowSpan		: "Sorok egyesítése",
+DlgCellCollSpan		: "Oszlopok egyesítése",
+DlgCellBackColor	: "Háttérszín",
+DlgCellBorderColor	: "Szegélyszín",
+DlgCellBtnSelect	: "Kiválasztás...",
+
+// Find Dialog
+DlgFindTitle		: "Keresés",
+DlgFindFindBtn		: "Keresés",
+DlgFindNotFoundMsg	: "A keresett szöveg nem található.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Csere",
+DlgReplaceFindLbl		: "Keresendõ:",
+DlgReplaceReplaceLbl	: "Cserélendõ:",
+DlgReplaceCaseChk		: "Találatok",
+DlgReplaceReplaceBtn	: "Csere",
+DlgReplaceReplAllBtn	: "Összes cseréje",
+DlgReplaceWordChk		: "Egész dokumentumban",
+
+// Paste Operations / Dialog
+PasteErrorPaste	: "A böngészõ biztonsági beállításai nem engedélyezik a szerkesztõnek, hogy végrehatjsa a beillesztés mûveletet.Használja az alábbi billentyûzetkombinációt (Ctrl+V).",
+PasteErrorCut	: "A böngészõ biztonsági beállításai nem engedélyezik a szerkesztõnek, hogy végrehatjsa a kivágás mûveletet.Használja az alábbi billentyûzetkombinációt (Ctrl+X).",
+PasteErrorCopy	: "A böngészõ biztonsági beállításai nem engedélyezik a szerkesztõnek, hogy végrehatjsa a másolás mûveletet.Használja az alábbi billentyûzetkombinációt (Ctrl+X).",
+
+PasteAsText		: "Beillesztés formázatlan szövegként",
+PasteFromWord	: "Beillesztés Wordbõl",
+
+DlgPasteMsg2	: "Másold be az alábbi mezőbe a következő billentyűk használatával (<STRONG>Ctrl+V</STRONG>) és nyomj <STRONG>OK</STRONG>.",
+DlgPasteIgnoreFont		: "Betű formázások megszüntetése",
+DlgPasteRemoveStyles	: "Stíluslapok eltávolítása",
+DlgPasteCleanBox		: "Mező tartalmának törlése",
+
+
+// Color Picker
+ColorAutomatic	: "Automatikus",
+ColorMoreColors	: "Több szín...",
+
+// Document Properties
+DocProps		: "Dokumentum tulajdonsága",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Horgony tulajdonsága",
+DlgAnchorName		: "Horgony neve",
+DlgAnchorErrorName	: "Kérem adja meg a horgony nevét",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Nincs a könyvtárban",
+DlgSpellChangeTo		: "Átváltás",
+DlgSpellBtnIgnore		: "Kihagyja",
+DlgSpellBtnIgnoreAll	: "Összeset kihagyja",
+DlgSpellBtnReplace		: "Csere",
+DlgSpellBtnReplaceAll	: "Összes cseréje",
+DlgSpellBtnUndo			: "Visszavonás",
+DlgSpellNoSuggestions	: "Nincs feltevés",
+DlgSpellProgress		: "Helyesírásellenőrzés folyamatban...",
+DlgSpellNoMispell		: "Helyesírásellenőrzés kész: Nem találtam hibát",
+DlgSpellNoChanges		: "Helyesírásellenőrzés kész: Nincs változtatott szó",
+DlgSpellOneChange		: "Helyesírásellenőrzés kész: Egy szó cserélve",
+DlgSpellManyChanges		: "Helyesírásellenőrzés kész: %1 szó cserélve",
+
+IeSpellDownload			: "A helyesírásellenőrző nincs telepítve. Szeretné letölteni most?",
+
+// Button Dialog
+DlgButtonText	: "Szöveg (Érték)",
+DlgButtonType	: "Típus",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Név",
+DlgCheckboxValue	: "Érték",
+DlgCheckboxSelected	: "Választott",
+
+// Form Dialog
+DlgFormName		: "Név",
+DlgFormAction	: "Esemény",
+DlgFormMethod	: "Metódus",
+
+// Select Field Dialog
+DlgSelectName		: "Név",
+DlgSelectValue		: "Érték",
+DlgSelectSize		: "Méret",
+DlgSelectLines		: "sorok",
+DlgSelectChkMulti	: "Engedi a többszörös kiválasztást",
+DlgSelectOpAvail	: "Elérhető opciók",
+DlgSelectOpText		: "Szöveg",
+DlgSelectOpValue	: "Érték",
+DlgSelectBtnAdd		: "Bővít",
+DlgSelectBtnModify	: "Módosít",
+DlgSelectBtnUp		: "Fel",
+DlgSelectBtnDown	: "Le",
+DlgSelectBtnSetValue : "Beállítja a kiválasztott értéket",
+DlgSelectBtnDelete	: "Töröl",
+
+// Textarea Dialog
+DlgTextareaName	: "Név",
+DlgTextareaCols	: "Oszlopok",
+DlgTextareaRows	: "Sorok",
+
+// Text Field Dialog
+DlgTextName			: "Név",
+DlgTextValue		: "Érték",
+DlgTextCharWidth	: "Karakter szélesség",
+DlgTextMaxChars		: "Maximum karakterek",
+DlgTextType			: "Típus",
+DlgTextTypeText		: "Szöveg",
+DlgTextTypePass		: "Jelszó",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Név",
+DlgHiddenValue	: "Érték",
+
+// Bulleted List Dialog
+BulletedListProp	: "Felsorolás tulajdonságai",
+NumberedListProp	: "Számozás tulajdonságai",
+DlgLstType			: "Típus",
+DlgLstTypeCircle	: "Ciklus",
+DlgLstTypeDisc		: "Lemez",
+DlgLstTypeSquare	: "Négyzet",
+DlgLstTypeNumbers	: "Számok (1, 2, 3)",
+DlgLstTypeLCase		: "Kisbetűs (a, b, c)",
+DlgLstTypeUCase		: "Nagybetűs (a, b, c)",
+DlgLstTypeSRoman	: "Kis római számok (i, ii, iii)",
+DlgLstTypeLRoman	: "Nagy római számok (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Általános",
+DlgDocBackTab		: "Háttér",
+DlgDocColorsTab		: "Színek és margók",
+DlgDocMetaTab		: "Meta adatok",
+
+DlgDocPageTitle		: "Oldalcím",
+DlgDocLangDir		: "Nyelv utasítás",
+DlgDocLangDirLTR	: "Balról jobbra (LTR)",
+DlgDocLangDirRTL	: "Jobbról balra (RTL)",
+DlgDocLangCode		: "Nyelv kód",
+DlgDocCharSet		: "Karakterkódolás",
+DlgDocCharSetOther	: "Más karakterkódolás",
+
+DlgDocDocType		: "Dokumentum címsor típus",
+DlgDocDocTypeOther	: "Más dokumentum címsor típus",
+DlgDocIncXHTML		: "XHTML elemeket tartalmaz",
+DlgDocBgColor		: "Háttérszín",
+DlgDocBgImage		: "Háttérkép cím",
+DlgDocBgNoScroll	: "Nem gördíthető háttér",
+DlgDocCText			: "Szöveg",
+DlgDocCLink			: "Cím",
+DlgDocCVisited		: "Látogatott cím",
+DlgDocCActive		: "Aktív cím",
+DlgDocMargins		: "Oldal margók",
+DlgDocMaTop			: "Felső",
+DlgDocMaLeft		: "Bal",
+DlgDocMaRight		: "Jobb",
+DlgDocMaBottom		: "Felül",
+DlgDocMeIndex		: "Dokumentum keresőszavak (vesszővel elválasztva)",
+DlgDocMeDescr		: "Dokumentum leírás",
+DlgDocMeAuthor		: "Szerző",
+DlgDocMeCopy		: "Szerzői jog",
+DlgDocPreview		: "Előnézet",
+
+// Templates Dialog
+Templates			: "Sablonok",
+DlgTemplatesTitle	: "Elérhető sablonok",
+DlgTemplatesSelMsg	: "Válaszd ki melyik sablon nyíljon meg a szerkesztőben<br>(a jelenlegi tartalom elveszik):",
+DlgTemplatesLoading	: "Sablon lista betöltése. Kis türelmet...",
+DlgTemplatesNoTpl	: "(Nincs sablon megadva)",
+
+// About Dialog
+DlgAboutAboutTab	: "About",
+DlgAboutBrowserInfoTab	: "Böngésző információ",
+DlgAboutVersion		: "verzió",
+DlgAboutLicense		: "GNU Lesser General Public License szabadalom alá tartozik",
+DlgAboutInfo		: "További információkért menjen"
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/lang/it.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/lang/it.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/lang/it.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,475 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: it.js
+ * 	Italian language file.
+ * 
+ * File Authors:
+ * 		Simone Chiaretta (simone at piyosailing.com)
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Nasconti la barra degli strumenti",
+ToolbarExpand		: "Mostra la barra degli strumenti",
+
+// Toolbar Items and Context Menu
+Save				: "Salva",
+NewPage				: "Nuova pagina vuota",
+Preview				: "Anteprima",
+Cut					: "Taglia",
+Copy				: "Copia",
+Paste				: "Incolla",
+PasteText			: "Incolla come testo semplice",
+PasteWord			: "Incolla da Word",
+Print				: "Stampa",
+SelectAll			: "Seleziona tutto",
+RemoveFormat		: "Elimina formattazione",
+InsertLinkLbl		: "Collegamento",
+InsertLink			: "Inserisci/Modifica collegamento",
+RemoveLink			: "Elimina collegamento",
+Anchor				: "Inserisci/Modifica Ancora",
+InsertImageLbl		: "Immagine",
+InsertImage			: "Inserisci/Modifica immagine",
+InsertFlashLbl		: "Oggetto Flash",
+InsertFlash			: "Inserisci/Modifica Oggetto Flash",
+InsertTableLbl		: "Tabella",
+InsertTable			: "Inserisci/Modifica tabella",
+InsertLineLbl		: "Riga orizzontale",
+InsertLine			: "Inserisci riga orizzontale",
+InsertSpecialCharLbl: "Caratteri speciali",
+InsertSpecialChar	: "Inserisci carattere speciale",
+InsertSmileyLbl		: "Emoticon",
+InsertSmiley		: "Inserisci emoticon",
+About				: "Informazioni su FCKeditor",
+Bold				: "Grassetto",
+Italic				: "Corsivo",
+Underline			: "Sottolineato",
+StrikeThrough		: "Barrato",
+Subscript			: "Pedice",
+Superscript			: "Apice",
+LeftJustify			: "Allinea a sinistra",
+CenterJustify		: "Centra",
+RightJustify		: "Allinea a destra",
+BlockJustify		: "Giustifica",
+DecreaseIndent		: "Riduci rientro",
+IncreaseIndent		: "Aumenta rientro",
+Undo				: "Annulla",
+Redo				: "Ripristina",
+NumberedListLbl		: "Elenco numerato",
+NumberedList		: "Inserisci/Modifica elenco numerato",
+BulletedListLbl		: "Elenco puntato",
+BulletedList		: "Inserisci/Modifica elenco puntato",
+ShowTableBorders	: "Mostra bordi tabelle",
+ShowDetails			: "Mostra dettagli",
+Style				: "Stile",
+FontFormat			: "Formato",
+Font				: "Font",
+FontSize			: "Dimensione",
+TextColor			: "Colore testo",
+BGColor				: "Colore sfondo",
+Source				: "Codice Sorgente",
+Find				: "Trova",
+Replace				: "Sostituisci",
+SpellCheck			: "Correttore ortografico",
+UniversalKeyboard	: "Tastiera univerale",
+
+Form			: "Modulo",
+Checkbox		: "Checkbox",
+RadioButton		: "Radio Button",
+TextField		: "Campo di testo",
+Textarea		: "Area di testo",
+HiddenField		: "Campo nascosto",
+Button			: "Bottone",
+SelectionField	: "Menu di selezione",
+ImageButton		: "Bottone immagine",
+
+// Context Menu
+EditLink			: "Modifica collegamento",
+InsertRow			: "Inserisci riga",
+DeleteRows			: "Elimina righe",
+InsertColumn		: "Inserisci colonna",
+DeleteColumns		: "Elimina colonne",
+InsertCell			: "Inserisci cella",
+DeleteCells			: "Elimina celle",
+MergeCells			: "Unisce celle",
+SplitCell			: "Dividi celle",
+CellProperties		: "Proprietà cella",
+TableProperties		: "Proprietà tabella",
+ImageProperties		: "Proprietà immagine",
+FlashProperties		: "Proprietà Oggetto Flash",
+
+AnchorProp			: "Proprietà ancora",
+ButtonProp			: "Proprietà bottone",
+CheckboxProp		: "Proprietà checkbox",
+HiddenFieldProp		: "Proprietà campo nascosto",
+RadioButtonProp		: "Proprietà radio button",
+ImageButtonProp		: "Proprietà bottone immagine",
+TextFieldProp		: "Proprietà campo di testo",
+SelectionFieldProp	: "Proprietà menu di selezione",
+TextareaProp		: "Proprietà area di testo",
+FormProp			: "Proprietà modulo",
+
+FontFormats			: "Normale;Formattato;Indirizzo;Titolo 1;Titolo 2;Titolo 3;Titolo 4;Titolo 5;Titolo 6;Paragrafo (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "Elaborazione XHTML in corso. Attendere prego...",
+Done				: "Completato",
+PasteWordConfirm	: "Il testo da incollare sembra provenire da Word. Desideri pulirlo prima di incollare?",
+NotCompatiblePaste	: "Questa funzione è disponibile solo per Internet Explorer 5.5 o superiore. Desideri incollare il testo senza pulirlo?",
+UnknownToolbarItem	: "Elemento della barra strumenti sconosciuto \"%1\"",
+UnknownCommand		: "Comando sconosciuto \"%1\"",
+NotImplemented		: "Commando non implementato",
+UnknownToolbarSet	: "La barra di strumenti \"%1\" non esiste",
+NoActiveX			: "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Annulla",
+DlgBtnClose			: "Chiudi",
+DlgBtnBrowseServer	: "Cerca sul server",
+DlgAdvancedTag		: "Avanzate",
+DlgOpOther			: "&lt;Altro&gt;",
+DlgInfoTab			: "Info",
+DlgAlertUrl			: "Devi inserire l'URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "&lt;non impostato&gt;",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Direzione scrittura",
+DlgGenLangDirLtr	: "Da Sinistra a Destra (LTR)",
+DlgGenLangDirRtl	: "Da Destra a Sinistra (RTL)",
+DlgGenLangCode		: "Codice Lingua",
+DlgGenAccessKey		: "Scorciatoria<br>da tastiera",
+DlgGenName			: "Nome",
+DlgGenTabIndex		: "Ordine di tabulazione",
+DlgGenLongDescr		: "URL descrizione estesa",
+DlgGenClass			: "Nome classe CSS",
+DlgGenTitle			: "Titolo",
+DlgGenContType		: "Tipo della risorsa collegata",
+DlgGenLinkCharset	: "Set di caretteri della risorsa collegata",
+DlgGenStyle			: "Stile",
+
+// Image Dialog
+DlgImgTitle			: "Proprietà immagine",
+DlgImgInfoTab		: "Informazioni immagine",
+DlgImgBtnUpload		: "Invia al server",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Carica",
+DlgImgAlt			: "Testo alternativo",
+DlgImgWidth			: "Larghezza",
+DlgImgHeight		: "Altezza",
+DlgImgLockRatio		: "Blocca rapporto",
+DlgBtnResetSize		: "Reimposta dimensione",
+DlgImgBorder		: "Bordo",
+DlgImgHSpace		: "HSpace",
+DlgImgVSpace		: "VSpace",
+DlgImgAlign			: "Allineamento",
+DlgImgAlignLeft		: "Sinistra",
+DlgImgAlignAbsBottom: "In basso assoluto",
+DlgImgAlignAbsMiddle: "Centrato assoluto",
+DlgImgAlignBaseline	: "Linea base",
+DlgImgAlignBottom	: "In Basso",
+DlgImgAlignMiddle	: "Centrato",
+DlgImgAlignRight	: "Destra",
+DlgImgAlignTextTop	: "In alto al testo",
+DlgImgAlignTop		: "In Alto",
+DlgImgPreview		: "Anteprima",
+DlgImgAlertUrl		: "Devi inserire l'URL per l'immagine",
+DlgImgLinkTab		: "Collegamento",
+
+// Flash Dialog
+DlgFlashTitle		: "Proprietà Oggetto Flash",
+DlgFlashChkPlay		: "Avvio Automatico",
+DlgFlashChkLoop		: "Cicla",
+DlgFlashChkMenu		: "Abilita Menu di Flash",
+DlgFlashScale		: "Ridimensiona",
+DlgFlashScaleAll	: "Mostra Tutto",
+DlgFlashScaleNoBorder	: "Senza Bordo",
+DlgFlashScaleFit	: "Dimensione Esatta",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Collegamento",
+DlgLnkInfoTab		: "Informazioni collegamento",
+DlgLnkTargetTab		: "Destinazione",
+
+DlgLnkType			: "Tipo di Collegamento",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Ancora nella pagina",
+DlgLnkTypeEMail		: "E-Mail",
+DlgLnkProto			: "Protocollo",
+DlgLnkProtoOther	: "&lt;altro&gt;",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Scegli Ancora",
+DlgLnkAnchorByName	: "Per Nome",
+DlgLnkAnchorById	: "Per id elemento",
+DlgLnkNoAnchors		: "&lt;Nessuna ancora disponibile nel documento&gt;",
+DlgLnkEMail			: "Indirizzo E-Mail",
+DlgLnkEMailSubject	: "Oggetto del messaggio",
+DlgLnkEMailBody		: "Corpo del messaggio",
+DlgLnkUpload		: "Carica",
+DlgLnkBtnUpload		: "Invia al Server",
+
+DlgLnkTarget		: "Destinazione",
+DlgLnkTargetFrame	: "&lt;riquadro&gt;",
+DlgLnkTargetPopup	: "&lt;finestra popup&gt;",
+DlgLnkTargetBlank	: "Nuova finestra (_blank)",
+DlgLnkTargetParent	: "Finestra padre (_parent)",
+DlgLnkTargetSelf	: "Stessa finestra (_self)",
+DlgLnkTargetTop		: "Finestra superiore (_top)",
+DlgLnkTargetFrameName	: "Nome del riquadro di destinazione",
+DlgLnkPopWinName	: "Nome finestra popup",
+DlgLnkPopWinFeat	: "Caratteristiche finestra popup",
+DlgLnkPopResize		: "Ridimensionabile",
+DlgLnkPopLocation	: "Barra degli indirizzi",
+DlgLnkPopMenu		: "Barra del menu",
+DlgLnkPopScroll		: "Barre di scorrimento",
+DlgLnkPopStatus		: "Barra di stato",
+DlgLnkPopToolbar	: "Barra degli strumenti",
+DlgLnkPopFullScrn	: "A tutto schermo (IE)",
+DlgLnkPopDependent	: "Dipendente (Netscape)",
+DlgLnkPopWidth		: "Larghezza",
+DlgLnkPopHeight		: "Altezza",
+DlgLnkPopLeft		: "Posizione da sinistra",
+DlgLnkPopTop		: "Posizione dall'alto",
+
+DlnLnkMsgNoUrl		: "Devi inserire l'URL del collegamento",
+DlnLnkMsgNoEMail	: "Devi inserire un'indirizzo e-mail",
+DlnLnkMsgNoAnchor	: "Devi selezionare un'ancora",
+
+// Color Dialog
+DlgColorTitle		: "Seleziona colore",
+DlgColorBtnClear	: "Vuota",
+DlgColorHighlight	: "Evidenziato",
+DlgColorSelected	: "Selezionato",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Inserisci emoticon",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Seleziona carattere speciale",
+
+// Table Dialog
+DlgTableTitle		: "Proprietà tabella",
+DlgTableRows		: "Righe",
+DlgTableColumns		: "Colonne",
+DlgTableBorder		: "Dimensione bordo",
+DlgTableAlign		: "Allineamento",
+DlgTableAlignNotSet	: "&lt;non impostato&gt;",
+DlgTableAlignLeft	: "Sinistra",
+DlgTableAlignCenter	: "Centrato",
+DlgTableAlignRight	: "Destra",
+DlgTableWidth		: "Larghezza",
+DlgTableWidthPx		: "pixel",
+DlgTableWidthPc		: "percento",
+DlgTableHeight		: "Altezza",
+DlgTableCellSpace	: "Spaziatura celle",
+DlgTableCellPad		: "Padding celle",
+DlgTableCaption		: "Intestazione",
+
+// Table Cell Dialog
+DlgCellTitle		: "Propriet cella",
+DlgCellWidth		: "Larghezza",
+DlgCellWidthPx		: "pixel",
+DlgCellWidthPc		: "percento",
+DlgCellHeight		: "Altezza",
+DlgCellWordWrap		: "A capo automatico",
+DlgCellWordWrapNotSet	: "&lt;non impostato&gt;",
+DlgCellWordWrapYes	: "Si",
+DlgCellWordWrapNo	: "No",
+DlgCellHorAlign		: "Allineamento orizzontale",
+DlgCellHorAlignNotSet	: "&lt;non impostato&gt;",
+DlgCellHorAlignLeft	: "Sinistra",
+DlgCellHorAlignCenter	: "Centrato",
+DlgCellHorAlignRight: "Destra",
+DlgCellVerAlign		: "Allineamento verticale",
+DlgCellVerAlignNotSet	: "&lt;non impostato&gt;",
+DlgCellVerAlignTop	: "In Alto",
+DlgCellVerAlignMiddle	: "Centrato",
+DlgCellVerAlignBottom	: "In Basso",
+DlgCellVerAlignBaseline	: "Linea base",
+DlgCellRowSpan		: "Righe occupate",
+DlgCellCollSpan		: "Colonne occupate",
+DlgCellBackColor	: "Colore sfondo",
+DlgCellBorderColor	: "Colore bordo",
+DlgCellBtnSelect	: "Scegli...",
+
+// Find Dialog
+DlgFindTitle		: "Trova",
+DlgFindFindBtn		: "Trova",
+DlgFindNotFoundMsg	: "L'elemento cercato non  stato trovato.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Sostituisci",
+DlgReplaceFindLbl		: "Trova:",
+DlgReplaceReplaceLbl	: "Sostituisci con:",
+DlgReplaceCaseChk		: "Maiuscole/minuscole",
+DlgReplaceReplaceBtn	: "Sostituisci",
+DlgReplaceReplAllBtn	: "Sostituisci tutto",
+DlgReplaceWordChk		: "Solo parole intere",
+
+// Paste Operations / Dialog
+PasteErrorPaste	: "Le impostazioni di sicurezza del browser non permettono di incollare automaticamente il testo. Usa la tastiera (Ctrl+V).",
+PasteErrorCut	: "Le impostazioni di sicurezza del browser non permettono di tagliare automaticamente il testo. Usa la tastiera (Ctrl+X).",
+PasteErrorCopy	: "Le impostazioni di sicurezza del browser non permettono di copiare automaticamente il testo. Usa la tastiera (Ctrl+C).",
+
+PasteAsText		: "Incolla come testo semplice",
+PasteFromWord	: "Incolla da Word",
+
+DlgPasteMsg2	: "Incolla il testo all'interno dell'area sottostante usando la scorciatoia di tastiere (<STRONG>Ctrl+V</STRONG>) e premi <STRONG>OK</STRONG>.",
+DlgPasteIgnoreFont		: "Ignora le definizioni di Font",
+DlgPasteRemoveStyles	: "Rimuovi le definizioni di Stile",
+DlgPasteCleanBox		: "Svuota area di testo",
+
+
+// Color Picker
+ColorAutomatic	: "Automatico",
+ColorMoreColors	: "Altri colori...",
+
+// Document Properties
+DocProps		: "Proprietà del Documento",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Proprietà ancora",
+DlgAnchorName		: "Nome ancora",
+DlgAnchorErrorName	: "Inserici il nome dell'ancora",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Non nel dizionario",
+DlgSpellChangeTo		: "Cambia in",
+DlgSpellBtnIgnore		: "Ignora",
+DlgSpellBtnIgnoreAll	: "Ignora tutto",
+DlgSpellBtnReplace		: "Cambia",
+DlgSpellBtnReplaceAll	: "Cambia tutto",
+DlgSpellBtnUndo			: "Annulla",
+DlgSpellNoSuggestions	: "- Nessun suggerimento -",
+DlgSpellProgress		: "Controllo ortografico in corso",
+DlgSpellNoMispell		: "Controllo ortografico completato: nessun errore trovato",
+DlgSpellNoChanges		: "Controllo ortografico completato: nessuna parola cambiata",
+DlgSpellOneChange		: "Controllo ortografico completato: 1 parola cambiata",
+DlgSpellManyChanges		: "Controllo ortografico completato: %1 parole cambiate",
+
+IeSpellDownload			: "Contollo ortografico non installato. Lo vuoi scaricare ora?",
+
+// Button Dialog
+DlgButtonText	: "Testo (Value)",
+DlgButtonType	: "Tipo",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Nome",
+DlgCheckboxValue	: "Valore",
+DlgCheckboxSelected	: "Selezionato",
+
+// Form Dialog
+DlgFormName		: "Nome",
+DlgFormAction	: "Azione",
+DlgFormMethod	: "Metodo",
+
+// Select Field Dialog
+DlgSelectName		: "Nome",
+DlgSelectValue		: "Valore",
+DlgSelectSize		: "Dimensione",
+DlgSelectLines		: "righe",
+DlgSelectChkMulti	: "Permetti selezione multipla",
+DlgSelectOpAvail	: "Opzioni disponibili",
+DlgSelectOpText		: "Testo",
+DlgSelectOpValue	: "Valore",
+DlgSelectBtnAdd		: "Aggiungi",
+DlgSelectBtnModify	: "Modifica",
+DlgSelectBtnUp		: "Su",
+DlgSelectBtnDown	: "Gi",
+DlgSelectBtnSetValue : "Imposta come predefinito",
+DlgSelectBtnDelete	: "Rimuovi",
+
+// Textarea Dialog
+DlgTextareaName	: "Nome",
+DlgTextareaCols	: "Colonne",
+DlgTextareaRows	: "Righe",
+
+// Text Field Dialog
+DlgTextName			: "Nome",
+DlgTextValue		: "Valore",
+DlgTextCharWidth	: "Larghezza",
+DlgTextMaxChars		: "Numero massimo di caratteri",
+DlgTextType			: "Tipo",
+DlgTextTypeText		: "Testo",
+DlgTextTypePass		: "Password",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Nome",
+DlgHiddenValue	: "Valore",
+
+// Bulleted List Dialog
+BulletedListProp	: "Proprietà lista puntata",
+NumberedListProp	: "Proprietà lista numerata",
+DlgLstType			: "Tipo",
+DlgLstTypeCircle	: "Tondo",
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "Quadrato",
+DlgLstTypeNumbers	: "Numeri (1, 2, 3)",
+DlgLstTypeLCase		: "Caratteri minuscoli (a, b, c)",
+DlgLstTypeUCase		: "Caratteri maiuscoli (A, B, C)",
+DlgLstTypeSRoman	: "Numeri Romani minuscoli (i, ii, iii)",
+DlgLstTypeLRoman	: "Numeri Romani maiuscoli (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Genarale",
+DlgDocBackTab		: "Sfondo",
+DlgDocColorsTab		: "Colori e margini",
+DlgDocMetaTab		: "Meta Data",
+
+DlgDocPageTitle		: "Titolo pagina",
+DlgDocLangDir		: "Direzione scrittura",
+DlgDocLangDirLTR	: "Da Sinistra a Destra (LTR)",
+DlgDocLangDirRTL	: "Da Destra a Sinistra (RTL)",
+DlgDocLangCode		: "Codice Lingua",
+DlgDocCharSet		: "Set di caretteri",
+DlgDocCharSetOther	: "Altro set di caretteri",
+
+DlgDocDocType		: "Intestazione DocType",
+DlgDocDocTypeOther	: "Altra intestazione DocType",
+DlgDocIncXHTML		: "Includi dichiarazione XHTML",
+DlgDocBgColor		: "Colore di sfondo",
+DlgDocBgImage		: "Immagine di sfondo",
+DlgDocBgNoScroll	: "Sfondo fissato",
+DlgDocCText			: "Testo",
+DlgDocCLink			: "Collegamento",
+DlgDocCVisited		: "Collegamento visitato",
+DlgDocCActive		: "Collegamento attivo",
+DlgDocMargins		: "Margini",
+DlgDocMaTop			: "In Alto",
+DlgDocMaLeft		: "A Sinistra",
+DlgDocMaRight		: "A Destra",
+DlgDocMaBottom		: "In Basso",
+DlgDocMeIndex		: "Chiavi di indicizzazione documento (separate da virgola)",
+DlgDocMeDescr		: "Descrizione documento",
+DlgDocMeAuthor		: "Autore",
+DlgDocMeCopy		: "Copyright",
+DlgDocPreview		: "Anteprima",
+
+// Templates Dialog
+Templates			: "Modelli",
+DlgTemplatesTitle	: "Contenuto dei modelli",
+DlgTemplatesSelMsg	: "Seleziona il modello da aprire nell'editor<br>(il contenuto attuale verrà eliminato):",
+DlgTemplatesLoading	: "Caricamento modelli in corso. Attendere prego...",
+DlgTemplatesNoTpl	: "(Nessun modello definito)",
+
+// About Dialog
+DlgAboutAboutTab	: "Informazioni",
+DlgAboutBrowserInfoTab	: "Informazioni Browser",
+DlgAboutVersion		: "versione",
+DlgAboutLicense		: "Rilasciato sotto la licensa GNU Lesser General Public License",
+DlgAboutInfo		: "Localizzazione in Italiano realizzata da Simone Chiaretta<br /><a target=\"_blank\" href=\"http://www.piyosailing.com/S/\">www.piyosailing.com</a><br /><br />Per maggiori informazioni visitare"
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/lang/ja.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/lang/ja.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/lang/ja.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,475 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: ja.js
+ * 	Japanese language file.
+ * 
+ * File Authors:
+ * 		Takashi Yamaguchi (jack at omakase.net)
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "ツールバーを隠す",
+ToolbarExpand		: "ツールバーを表示",
+
+// Toolbar Items and Context Menu
+Save				: "保存",
+NewPage				: "新しいページ",
+Preview				: "プレビュー",
+Cut					: "切り取り",
+Copy				: "コピー",
+Paste				: "貼り付け",
+PasteText			: "プレーンテキスト貼り付け",
+PasteWord			: "ワード文章から貼り付け",
+Print				: "印刷",
+SelectAll			: "すべて選択",
+RemoveFormat		: "フォーマット削除",
+InsertLinkLbl		: "リンク",
+InsertLink			: "リンク挿入/編集",
+RemoveLink			: "リンク削除",
+Anchor				: "アンカー挿入/編集",
+InsertImageLbl		: "イメージ",
+InsertImage			: "イメージ挿入/編集",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Flash挿入/編集",
+InsertTableLbl		: "テーブル",
+InsertTable			: "テーブル挿入/編集",
+InsertLineLbl		: "ライン",
+InsertLine			: "横罫線",
+InsertSpecialCharLbl: "特殊文字",
+InsertSpecialChar	: "特殊文字挿入",
+InsertSmileyLbl		: "絵文字",
+InsertSmiley		: "絵文字挿入",
+About				: "FCKeditorヘルプ",
+Bold				: "太字",
+Italic				: "斜体",
+Underline			: "下線",
+StrikeThrough		: "打ち消し線",
+Subscript			: "添え字",
+Superscript			: "上付き文字",
+LeftJustify			: "左揃え",
+CenterJustify		: "中央揃え",
+RightJustify		: "右揃え",
+BlockJustify		: "両端揃え",
+DecreaseIndent		: "インデント解除",
+IncreaseIndent		: "インデント",
+Undo				: "元に戻す",
+Redo				: "やり直し",
+NumberedListLbl		: "段落番号",
+NumberedList		: "段落番号の追加/削除",
+BulletedListLbl		: "箇条書き",
+BulletedList		: "箇条書きの追加/削除",
+ShowTableBorders	: "テーブルボーダー表示",
+ShowDetails			: "詳細表示",
+Style				: "スタイル",
+FontFormat			: "フォーマット",
+Font				: "フォント",
+FontSize			: "サイズ",
+TextColor			: "テキスト色",
+BGColor				: "背景色",
+Source				: "ソース",
+Find				: "検索",
+Replace				: "置き換え",
+SpellCheck			: "スペルチェック",
+UniversalKeyboard	: "ユニバーサル・キーボード",
+
+Form			: "フォーム",
+Checkbox		: "チェックボックス",
+RadioButton		: "ラジオボタン",
+TextField		: "1行テキスト",
+Textarea		: "テキストエリア",
+HiddenField		: "不可視フィールド",
+Button			: "ボタン",
+SelectionField	: "選択フィールド",
+ImageButton		: "画像ボタン",
+
+// Context Menu
+EditLink			: "リンク編集",
+InsertRow			: "行挿入",
+DeleteRows			: "行削除",
+InsertColumn		: "列挿入",
+DeleteColumns		: "列削除",
+InsertCell			: "セル挿入",
+DeleteCells			: "セル削除",
+MergeCells			: "セル結合",
+SplitCell			: "セル分割",
+CellProperties		: "セル プロパティ",
+TableProperties		: "テーブル プロパティ",
+ImageProperties		: "イメージ プロパティ",
+FlashProperties		: "Flash プロパティ",
+
+AnchorProp			: "アンカー プロパティ",
+ButtonProp			: "ボタン プロパティ",
+CheckboxProp		: "チェックボックス プロパティ",
+HiddenFieldProp		: "不可視フィールド プロパティ",
+RadioButtonProp		: "ラジオボタン プロパティ",
+ImageButtonProp		: "画像ボタン プロパティ",
+TextFieldProp		: "1行テキスト プロパティ",
+SelectionFieldProp	: "選択フィールド プロパティ",
+TextareaProp		: "テキストエリア プロパティ",
+FormProp			: "フォーム プロパティ",
+
+FontFormats			: "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Paragraph (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "XHTML処理中. しばらくお待ちください...",
+Done				: "完了",
+PasteWordConfirm	: "貼り付けを行うテキストは、ワード文章からコピーされようとしています。貼り付ける前にクリーニングを行いますか?",
+NotCompatiblePaste	: "このコマンドはインターネット・エクスプローラーバージョン5.5以上で利用可能です。クリーニングしないで貼り付けを行いますか?",
+UnknownToolbarItem	: "未知のツールバー項目 \"%1\"",
+UnknownCommand		: "未知のコマンド名 \"%1\"",
+NotImplemented		: "コマンドはインプリメントされませんでした。",
+UnknownToolbarSet	: "ツールバー設定 \"%1\" 存在しません。",
+NoActiveX			: "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "キャンセル",
+DlgBtnClose			: "閉じる",
+DlgBtnBrowseServer	: "サーバーブラウザー",
+DlgAdvancedTag		: "高度な設定",
+DlgOpOther			: "&lt;その他&gt;",
+DlgInfoTab			: "情報",
+DlgAlertUrl			: "URLを挿入してください",
+
+// General Dialogs Labels
+DlgGenNotSet		: "&lt;なし&gt;",
+DlgGenId			: "Id",
+DlgGenLangDir		: "文字表記の方向",
+DlgGenLangDirLtr	: "左から右 (LTR)",
+DlgGenLangDirRtl	: "右から左 (RTL)",
+DlgGenLangCode		: "言語コード",
+DlgGenAccessKey		: "アクセスキー",
+DlgGenName			: "Name属性",
+DlgGenTabIndex		: "タブインデックス",
+DlgGenLongDescr		: "longdesc属性(長文説明)",
+DlgGenClass			: "スタイルシートクラス",
+DlgGenTitle			: "Title属性",
+DlgGenContType		: "Content Type属性",
+DlgGenLinkCharset	: "リンクcharset属性",
+DlgGenStyle			: "スタイルシート",
+
+// Image Dialog
+DlgImgTitle			: "イメージ プロパティ",
+DlgImgInfoTab		: "イメージ 情報",
+DlgImgBtnUpload		: "サーバーに送信",
+DlgImgURL			: "URL",
+DlgImgUpload		: "アップロード",
+DlgImgAlt			: "代替テキスト",
+DlgImgWidth			: "å¹…",
+DlgImgHeight		: "高さ",
+DlgImgLockRatio		: "ロック比率",
+DlgBtnResetSize		: "サイズリセット",
+DlgImgBorder		: "ボーダー",
+DlgImgHSpace		: "横間隔",
+DlgImgVSpace		: "縦間隔",
+DlgImgAlign			: "行揃え",
+DlgImgAlignLeft		: "å·¦",
+DlgImgAlignAbsBottom: "下部(絶対的)",
+DlgImgAlignAbsMiddle: "中央(絶対的)",
+DlgImgAlignBaseline	: "ベースライン",
+DlgImgAlignBottom	: "下",
+DlgImgAlignMiddle	: "中央",
+DlgImgAlignRight	: "右",
+DlgImgAlignTextTop	: "テキスト上部",
+DlgImgAlignTop		: "上",
+DlgImgPreview		: "プレビュー",
+DlgImgAlertUrl		: "イメージのURLを入力してください。",
+DlgImgLinkTab		: "リンク",
+
+// Flash Dialog
+DlgFlashTitle		: "Flash プロパティ",
+DlgFlashChkPlay		: "再生",
+DlgFlashChkLoop		: "ループ再生",
+DlgFlashChkMenu		: "Flashメニュー可能",
+DlgFlashScale		: "拡大縮小設定",
+DlgFlashScaleAll	: "すべて表示",
+DlgFlashScaleNoBorder	: "外が見えない様に拡大",
+DlgFlashScaleFit	: "上下左右にフィット",
+
+// Link Dialog
+DlgLnkWindowTitle	: "ハイパーリンク",
+DlgLnkInfoTab		: "ハイパーリンク 情報",
+DlgLnkTargetTab		: "ターゲット",
+
+DlgLnkType			: "リンクタイプ",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "このページのアンカー",
+DlgLnkTypeEMail		: "E-Mail",
+DlgLnkProto			: "プロトコル",
+DlgLnkProtoOther	: "&lt;その他&gt;",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "アンカーを選択",
+DlgLnkAnchorByName	: "アンカー名",
+DlgLnkAnchorById	: "エレメントID",
+DlgLnkNoAnchors		: "&lt;ドキュメントにおいて利用可能なアンカーはありません。&gt;",
+DlgLnkEMail			: "E-Mail アドレス",
+DlgLnkEMailSubject	: "件名",
+DlgLnkEMailBody		: "本文",
+DlgLnkUpload		: "アップロード",
+DlgLnkBtnUpload		: "サーバーに送信",
+
+DlgLnkTarget		: "ターゲット",
+DlgLnkTargetFrame	: "&lt;フレーム&gt;",
+DlgLnkTargetPopup	: "&lt;ポップアップウィンドウ&gt;",
+DlgLnkTargetBlank	: "新しいウィンドウ (_blank)",
+DlgLnkTargetParent	: "親ウィンドウ (_parent)",
+DlgLnkTargetSelf	: "同じウィンドウ (_self)",
+DlgLnkTargetTop		: "最上位ウィンドウ (_top)",
+DlgLnkTargetFrameName	: "目的のフレーム名",
+DlgLnkPopWinName	: "ポップアップウィンドウ名",
+DlgLnkPopWinFeat	: "ポップアップウィンドウ特徴",
+DlgLnkPopResize		: "リサイズ可能",
+DlgLnkPopLocation	: "ロケーションバー",
+DlgLnkPopMenu		: "メニューバー",
+DlgLnkPopScroll		: "スクロールバー",
+DlgLnkPopStatus		: "ステータスバー",
+DlgLnkPopToolbar	: "ツールバー",
+DlgLnkPopFullScrn	: "全画面モード(IE)",
+DlgLnkPopDependent	: "開いたウィンドウに連動して閉じる (Netscape)",
+DlgLnkPopWidth		: "å¹…",
+DlgLnkPopHeight		: "高さ",
+DlgLnkPopLeft		: "左端からの座標で指定",
+DlgLnkPopTop		: "上端からの座標で指定",
+
+DlnLnkMsgNoUrl		: "リンクURLを入力してください。",
+DlnLnkMsgNoEMail	: "メールアドレスを入力してください。",
+DlnLnkMsgNoAnchor	: "アンカーを選択してください。",
+
+// Color Dialog
+DlgColorTitle		: "色選択",
+DlgColorBtnClear	: "クリア",
+DlgColorHighlight	: "ハイライト",
+DlgColorSelected	: "選択色",
+
+// Smiley Dialog
+DlgSmileyTitle		: "顔文字挿入",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "特殊文字選択",
+
+// Table Dialog
+DlgTableTitle		: "テーブル プロパティ",
+DlgTableRows		: "行",
+DlgTableColumns		: "列",
+DlgTableBorder		: "ボーダーサイズ",
+DlgTableAlign		: "キャプションの整列",
+DlgTableAlignNotSet	: "<なし>",
+DlgTableAlignLeft	: "å·¦",
+DlgTableAlignCenter	: "中央",
+DlgTableAlignRight	: "右",
+DlgTableWidth		: "テーブル幅",
+DlgTableWidthPx		: "ピクセル",
+DlgTableWidthPc		: "パーセント",
+DlgTableHeight		: "テーブル高さ",
+DlgTableCellSpace	: "セル内余白",
+DlgTableCellPad		: "セル内間隔",
+DlgTableCaption		: "キャプション",
+
+// Table Cell Dialog
+DlgCellTitle		: "セル プロパティ",
+DlgCellWidth		: "å¹…",
+DlgCellWidthPx		: "ピクセル",
+DlgCellWidthPc		: "パーセント",
+DlgCellHeight		: "高さ",
+DlgCellWordWrap		: "折り返し",
+DlgCellWordWrapNotSet	: "&lt;なし&gt;",
+DlgCellWordWrapYes	: "Yes",
+DlgCellWordWrapNo	: "No",
+DlgCellHorAlign		: "セル横の整列",
+DlgCellHorAlignNotSet	: "&lt;なし&gt;",
+DlgCellHorAlignLeft	: "å·¦",
+DlgCellHorAlignCenter	: "中央",
+DlgCellHorAlignRight: "右",
+DlgCellVerAlign		: "セル縦の整列",
+DlgCellVerAlignNotSet	: "&lt;なし&gt;",
+DlgCellVerAlignTop	: "上",
+DlgCellVerAlignMiddle	: "中央",
+DlgCellVerAlignBottom	: "下",
+DlgCellVerAlignBaseline	: "ベースライン",
+DlgCellRowSpan		: "縦幅(行数)",
+DlgCellCollSpan		: "横幅(列数)",
+DlgCellBackColor	: "背景色",
+DlgCellBorderColor	: "ボーダーカラー",
+DlgCellBtnSelect	: "選択...",
+
+// Find Dialog
+DlgFindTitle		: "検索",
+DlgFindFindBtn		: "検索",
+DlgFindNotFoundMsg	: "指定された文字列は見つかりませんでした。",
+
+// Replace Dialog
+DlgReplaceTitle			: "置き換え",
+DlgReplaceFindLbl		: "検索する文字列:",
+DlgReplaceReplaceLbl	: "置換えする文字列:",
+DlgReplaceCaseChk		: "部分一致",
+DlgReplaceReplaceBtn	: "置換え",
+DlgReplaceReplAllBtn	: "すべて置換え",
+DlgReplaceWordChk		: "単語単位で一致",
+
+// Paste Operations / Dialog
+PasteErrorPaste	: "ブラウザーのセキュリティ設定によりエディタの貼り付け操作が自動で実行することができません。実行するには手動でキーボードの(Ctrl+V)を使用してください。",
+PasteErrorCut	: "ブラウザーのセキュリティ設定によりエディタの切り取り操作が自動で実行することができません。実行するには手動でキーボードの(Ctrl+X)を使用してください。",
+PasteErrorCopy	: "ブラウザーのセキュリティ設定によりエディタのコピー操作が自動で実行することができません。実行するには手動でキーボードの(Ctrl+C)を使用してください。",
+
+PasteAsText		: "プレーンテキスト貼り付け",
+PasteFromWord	: "ワード文章から貼り付け",
+
+DlgPasteMsg2	: "キーボード(<STRONG>Ctrl+V</STRONG>)を使用して、次の入力エリア内で貼って、<STRONG>OK</STRONG>を押してください。",
+DlgPasteIgnoreFont		: "FontタグのFace属性を無視します。",
+DlgPasteRemoveStyles	: "スタイル定義を削除します。",
+DlgPasteCleanBox		: "入力エリアクリア",
+
+
+// Color Picker
+ColorAutomatic	: "自動",
+ColorMoreColors	: "その他の色...",
+
+// Document Properties
+DocProps		: "文書 プロパティ",
+
+// Anchor Dialog
+DlgAnchorTitle		: "アンカー プロパティ",
+DlgAnchorName		: "アンカー名",
+DlgAnchorErrorName	: "アンカー名を必ず入力してください。",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "辞書にありません",
+DlgSpellChangeTo		: "変更",
+DlgSpellBtnIgnore		: "無視",
+DlgSpellBtnIgnoreAll	: "すべて無視",
+DlgSpellBtnReplace		: "置換",
+DlgSpellBtnReplaceAll	: "すべて置換",
+DlgSpellBtnUndo			: "やり直し",
+DlgSpellNoSuggestions	: "- 該当なし -",
+DlgSpellProgress		: "スペルチェック処理中...",
+DlgSpellNoMispell		: "スペルチェック完了: スペルの誤りはありませんでした",
+DlgSpellNoChanges		: "スペルチェック完了: 語句は変更されませんでした",
+DlgSpellOneChange		: "スペルチェック完了: 1語句変更されました",
+DlgSpellManyChanges		: "スペルチェック完了: %1 語句変更されました",
+
+IeSpellDownload			: "スペルチェッカーがインストールされていません。今すぐダウンロードしますか?",
+
+// Button Dialog
+DlgButtonText	: "テキスト (値)",
+DlgButtonType	: "タイプ",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "名前",
+DlgCheckboxValue	: "値",
+DlgCheckboxSelected	: "選択済み",
+
+// Form Dialog
+DlgFormName		: "フォーム名",
+DlgFormAction	: "アクション",
+DlgFormMethod	: "メソッド",
+
+// Select Field Dialog
+DlgSelectName		: "名前",
+DlgSelectValue		: "値",
+DlgSelectSize		: "サイズ",
+DlgSelectLines		: "行",
+DlgSelectChkMulti	: "複数項目選択を許可",
+DlgSelectOpAvail	: "利用可能なオプション",
+DlgSelectOpText		: "選択項目名",
+DlgSelectOpValue	: "選択項目値",
+DlgSelectBtnAdd		: "追加",
+DlgSelectBtnModify	: "編集",
+DlgSelectBtnUp		: "上へ",
+DlgSelectBtnDown	: "下へ",
+DlgSelectBtnSetValue : "選択した値を設定",
+DlgSelectBtnDelete	: "削除",
+
+// Textarea Dialog
+DlgTextareaName	: "名前",
+DlgTextareaCols	: "列",
+DlgTextareaRows	: "行",
+
+// Text Field Dialog
+DlgTextName			: "名前",
+DlgTextValue		: "値",
+DlgTextCharWidth	: "サイズ",
+DlgTextMaxChars		: "最大長",
+DlgTextType			: "タイプ",
+DlgTextTypeText		: "テキスト",
+DlgTextTypePass		: "パスワード入力",
+
+// Hidden Field Dialog
+DlgHiddenName	: "名前",
+DlgHiddenValue	: "値",
+
+// Bulleted List Dialog
+BulletedListProp	: "箇条書き プロパティ",
+NumberedListProp	: "段落番号 プロパティ",
+DlgLstType			: "タイプ",
+DlgLstTypeCircle	: "白丸",
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "四角",
+DlgLstTypeNumbers	: "アラビア数字 (1, 2, 3)",
+DlgLstTypeLCase		: "英字小文字 (a, b, c)",
+DlgLstTypeUCase		: "英字大文字 (A, B, C)",
+DlgLstTypeSRoman	: "ローマ数字小文字 (i, ii, iii)",
+DlgLstTypeLRoman	: "ローマ数字大文字 (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "全般",
+DlgDocBackTab		: "背景",
+DlgDocColorsTab		: "色とマージン",
+DlgDocMetaTab		: "メタデータ",
+
+DlgDocPageTitle		: "ページタイトル",
+DlgDocLangDir		: "言語文字表記の方向",
+DlgDocLangDirLTR	: "左から右に文字表記します(LTR)",
+DlgDocLangDirRTL	: "右から左に文字表記します(RTL)",
+DlgDocLangCode		: "言語コード",
+DlgDocCharSet		: "文字セット符号化",
+DlgDocCharSetOther	: "他の文字セット符号化",
+
+DlgDocDocType		: "文書タイプヘッダー",
+DlgDocDocTypeOther	: "その他文書タイプヘッダー",
+DlgDocIncXHTML		: "XHTML宣言をインクルード",
+DlgDocBgColor		: "背景色",
+DlgDocBgImage		: "背景画像 URL",
+DlgDocBgNoScroll	: "スクロールしない背景",
+DlgDocCText			: "テキスト",
+DlgDocCLink			: "リンク",
+DlgDocCVisited		: "アクセス済みリンク",
+DlgDocCActive		: "アクセス中リンク",
+DlgDocMargins		: "ページ・マージン",
+DlgDocMaTop			: "上部",
+DlgDocMaLeft		: "å·¦",
+DlgDocMaRight		: "右",
+DlgDocMaBottom		: "下部",
+DlgDocMeIndex		: "文書のキーワード(カンマ区切り)",
+DlgDocMeDescr		: "文書の概要",
+DlgDocMeAuthor		: "文書の作者",
+DlgDocMeCopy		: "文書の著作権",
+DlgDocPreview		: "プレビュー",
+
+// Templates Dialog
+Templates			: "テンプレート(雛形)",
+DlgTemplatesTitle	: "テンプレート内容",
+DlgTemplatesSelMsg	: "エディターで使用するテンプレートを選択してください。<br>(現在のエディタの内容は失われます):",
+DlgTemplatesLoading	: "テンプレート一覧読み込み中. しばらくお待ちください...",
+DlgTemplatesNoTpl	: "(テンプレートが定義されていません)",
+
+// About Dialog
+DlgAboutAboutTab	: "バージョン情報",
+DlgAboutBrowserInfoTab	: "ブラウザ情報",
+DlgAboutVersion		: "バージョン",
+DlgAboutLicense		: "Licensed under the terms of the GNU Lesser General Public License",
+DlgAboutInfo		: "より詳しい情報はこちらで"
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/lang/ko.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/lang/ko.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/lang/ko.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,476 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: ko.js
+ * 	Korean language file.
+ * 
+ * File Authors:
+ * 		Taehwan Kwag (thkwag at nate.com)
+ * 		Hyung-chae, Kim (chaeya at gmail.com)
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "툴바 감추기",
+ToolbarExpand		: "툴바 보이기",
+
+// Toolbar Items and Context Menu
+Save				: "저장하기",
+NewPage				: "새 문서",
+Preview				: "미리보기",
+Cut					: "잘라내기",
+Copy				: "복사하기",
+Paste				: "붙여넣기",
+PasteText			: "텍스트로 붙여넣기",
+PasteWord			: "MS Word 형식에서 붙여넣기",
+Print				: "인쇄하기",
+SelectAll			: "전체선택",
+RemoveFormat		: "포맷 지우기",
+InsertLinkLbl		: "링크",
+InsertLink			: "링크 삽입/변경",
+RemoveLink			: "링크 삭제",
+Anchor				: "책갈피 삽입/변경",
+InsertImageLbl		: "이미지",
+InsertImage			: "이미지 삽입/변경",
+InsertFlashLbl		: "플래쉬",
+InsertFlash			: "플래쉬 삽입/변경",
+InsertTableLbl		: "표",
+InsertTable			: "표 삽입/변경",
+InsertLineLbl		: "수평선",
+InsertLine			: "수평선 삽입",
+InsertSpecialCharLbl: "특수문자 삽입",
+InsertSpecialChar	: "특수문자 삽입",
+InsertSmileyLbl		: "아이콘",
+InsertSmiley		: "아이콘 삽입",
+About				: "FCKeditor에 대하여",
+Bold				: "진하게",
+Italic				: "이텔릭",
+Underline			: "밑줄",
+StrikeThrough		: "취소선",
+Subscript			: "아래 첨자",
+Superscript			: "위 첨자",
+LeftJustify			: "왼쪽 정렬",
+CenterJustify		: "가운데 정렬",
+RightJustify		: "오른쪽 정렬",
+BlockJustify		: "양쪽 맞춤",
+DecreaseIndent		: "내어쓰기",
+IncreaseIndent		: "들여쓰기",
+Undo				: "취소",
+Redo				: "재실행",
+NumberedListLbl		: "순서있는 목록",
+NumberedList		: "순서있는 목록",
+BulletedListLbl		: "순서없는 목록",
+BulletedList		: "순서없는 목록",
+ShowTableBorders	: "표 테두리 보기",
+ShowDetails			: "문서기호 보기",
+Style				: "스타일",
+FontFormat			: "포맷",
+Font				: "폰트",
+FontSize			: "글자 크기",
+TextColor			: "글자 색상",
+BGColor				: "배경 색상",
+Source				: "소스",
+Find				: "찾기",
+Replace				: "바꾸기",
+SpellCheck			: "철자검사",
+UniversalKeyboard	: "다국어 입력기",
+
+Form			: "폼",
+Checkbox		: "체크박스",
+RadioButton		: "라디오버튼",
+TextField		: "입력필드",
+Textarea		: "입력영역",
+HiddenField		: "숨김필드",
+Button			: "버튼",
+SelectionField	: "펼침목록",
+ImageButton		: "이미지버튼",
+
+// Context Menu
+EditLink			: "링크 수정",
+InsertRow			: "가로줄 삽입",
+DeleteRows			: "가로줄 삭제",
+InsertColumn		: "세로줄 삽입",
+DeleteColumns		: "세로줄 삭제",
+InsertCell			: "셀 삽입",
+DeleteCells			: "셀 삭제",
+MergeCells			: "셀 합치기",
+SplitCell			: "셀 나누기",
+CellProperties		: "셀 속성",
+TableProperties		: "표 속성",
+ImageProperties		: "이미지 속성",
+FlashProperties		: "플래쉬 속성",
+
+AnchorProp			: "책갈피 속성",
+ButtonProp			: "버튼 속성",
+CheckboxProp		: "체크박스 속성",
+HiddenFieldProp		: "숨김필드 속성",
+RadioButtonProp		: "라디오버튼 속성",
+ImageButtonProp		: "이미지버튼 속성",
+TextFieldProp		: "입력필드 속성",
+SelectionFieldProp	: "펼침목록 속성",
+TextareaProp		: "입력영역 속성",
+FormProp			: "폼 속성",
+
+FontFormats			: "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6",
+
+// Alerts and Messages
+ProcessingXHTML		: "XHTML 처리중. 잠시만 기다려주십시요.",
+Done				: "완료",
+PasteWordConfirm	: "붙여넣기 할 텍스트는 MS Word에서 복사한 것입니다. 붙여넣기 전에 MS Word 포멧을 삭제하시겠습니까?",
+NotCompatiblePaste	: "이 명령은 인터넷익스플로러 5.5 버전 이상에서만 작동합니다. 포멧을 삭제하지 않고 붙여넣기 하시겠습니까?",
+UnknownToolbarItem	: "알수없는 툴바입니다. : \"%1\"",
+UnknownCommand		: "알수없는 기능입니다. : \"%1\"",
+NotImplemented		: "기능이 실행되지 않았습니다.",
+UnknownToolbarSet	: "툴바 설정이 없습니다. : \"%1\"",
+NoActiveX			: "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "예",
+DlgBtnCancel		: "아니오",
+DlgBtnClose			: "닫기",
+DlgBtnBrowseServer	: "서버 보기",
+DlgAdvancedTag		: "자세히",
+DlgOpOther			: "&lt;기타&gt;",
+DlgInfoTab			: "ì •ë³´",
+DlgAlertUrl			: "URL을 입력하십시요",
+
+// General Dialogs Labels
+DlgGenNotSet		: "&lt;설정되지 않음&gt;",
+DlgGenId			: "ID",
+DlgGenLangDir		: "쓰기 방향",
+DlgGenLangDirLtr	: "왼쪽에서 오른쪽 (LTR)",
+DlgGenLangDirRtl	: "오른쪽에서 왼쪽 (RTL)",
+DlgGenLangCode		: "언어 코드",
+DlgGenAccessKey		: "엑세스 키",
+DlgGenName			: "Name",
+DlgGenTabIndex		: "탭 순서",
+DlgGenLongDescr		: "URL 설명",
+DlgGenClass			: "Stylesheet Classes",
+DlgGenTitle			: "Advisory Title",
+DlgGenContType		: "Advisory Content Type",
+DlgGenLinkCharset	: "Linked Resource Charset",
+DlgGenStyle			: "Style",
+
+// Image Dialog
+DlgImgTitle			: "이미지 설정",
+DlgImgInfoTab		: "이미지 정보",
+DlgImgBtnUpload		: "서버로 전송",
+DlgImgURL			: "URL",
+DlgImgUpload		: "업로드",
+DlgImgAlt			: "이미지 설명",
+DlgImgWidth			: "너비",
+DlgImgHeight		: "높이",
+DlgImgLockRatio		: "비율 유지",
+DlgBtnResetSize		: "원래 크기로",
+DlgImgBorder		: "테두리",
+DlgImgHSpace		: "수평여백",
+DlgImgVSpace		: "수직여백",
+DlgImgAlign			: "ì •ë ¬",
+DlgImgAlignLeft		: "왼쪽",
+DlgImgAlignAbsBottom: "줄아래(Abs Bottom)",
+DlgImgAlignAbsMiddle: "줄중간(Abs Middle)",
+DlgImgAlignBaseline	: "기준선",
+DlgImgAlignBottom	: "아래",
+DlgImgAlignMiddle	: "중간",
+DlgImgAlignRight	: "오른쪽",
+DlgImgAlignTextTop	: "글자위(Text Top)",
+DlgImgAlignTop		: "위",
+DlgImgPreview		: "미리보기",
+DlgImgAlertUrl		: "이미지 URL을 입력하십시요",
+DlgImgLinkTab		: "링크",
+
+// Flash Dialog
+DlgFlashTitle		: "플래쉬 등록정보",
+DlgFlashChkPlay		: "자동재생",
+DlgFlashChkLoop		: "반복",
+DlgFlashChkMenu		: "플래쉬메뉴 가능",
+DlgFlashScale		: "영역",
+DlgFlashScaleAll	: "모두보기",
+DlgFlashScaleNoBorder	: "경계선없음",
+DlgFlashScaleFit	: "영역자동조절",
+
+// Link Dialog
+DlgLnkWindowTitle	: "링크",
+DlgLnkInfoTab		: "링크 정보",
+DlgLnkTargetTab		: "타겟",
+
+DlgLnkType			: "링크 종류",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "책갈피",
+DlgLnkTypeEMail		: "이메일",
+DlgLnkProto			: "프로토콜",
+DlgLnkProtoOther	: "&lt;기타&gt;",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "책갈피 선택",
+DlgLnkAnchorByName	: "책갈피 이름",
+DlgLnkAnchorById	: "책갈피 ID",
+DlgLnkNoAnchors		: "&lt;문서에 책갈피가 없습니다.&gt;",
+DlgLnkEMail			: "이메일 주소",
+DlgLnkEMailSubject	: "제목",
+DlgLnkEMailBody		: "ë‚´ìš©",
+DlgLnkUpload		: "업로드",
+DlgLnkBtnUpload		: "서버로 전송",
+
+DlgLnkTarget		: "타겟",
+DlgLnkTargetFrame	: "&lt;프레임&gt;",
+DlgLnkTargetPopup	: "&lt;팝업창&gt;",
+DlgLnkTargetBlank	: "새 창 (_blank)",
+DlgLnkTargetParent	: "부모 창 (_parent)",
+DlgLnkTargetSelf	: "현재 창 (_self)",
+DlgLnkTargetTop		: "최 상위 창 (_top)",
+DlgLnkTargetFrameName	: "타겟 프레임 이름",
+DlgLnkPopWinName	: "팝업창 이름",
+DlgLnkPopWinFeat	: "팝업창 설정",
+DlgLnkPopResize		: "크기조정",
+DlgLnkPopLocation	: "주소표시줄",
+DlgLnkPopMenu		: "메뉴바",
+DlgLnkPopScroll		: "스크롤바",
+DlgLnkPopStatus		: "상태바",
+DlgLnkPopToolbar	: "툴바",
+DlgLnkPopFullScrn	: "전체화면 (IE)",
+DlgLnkPopDependent	: "Dependent (Netscape)",
+DlgLnkPopWidth		: "너비",
+DlgLnkPopHeight		: "높이",
+DlgLnkPopLeft		: "왼쪽 위치",
+DlgLnkPopTop		: "윗쪽 위치",
+
+DlnLnkMsgNoUrl		: "링크 URL을 입력하십시요.",
+DlnLnkMsgNoEMail	: "이메일주소를 입력하십시요.",
+DlnLnkMsgNoAnchor	: "책갈피명을 입력하십시요.",
+
+// Color Dialog
+DlgColorTitle		: "색상 선택",
+DlgColorBtnClear	: "지우기",
+DlgColorHighlight	: "현재",
+DlgColorSelected	: "선택됨",
+
+// Smiley Dialog
+DlgSmileyTitle		: "아이콘 삽입",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "특수문자 선택",
+
+// Table Dialog
+DlgTableTitle		: "표 설정",
+DlgTableRows		: "가로줄",
+DlgTableColumns		: "세로줄",
+DlgTableBorder		: "테두리 크기",
+DlgTableAlign		: "ì •ë ¬",
+DlgTableAlignNotSet	: "<설정되지 않음>",
+DlgTableAlignLeft	: "왼쪽",
+DlgTableAlignCenter	: "가운데",
+DlgTableAlignRight	: "오른쪽",
+DlgTableWidth		: "너비",
+DlgTableWidthPx		: "픽셀",
+DlgTableWidthPc		: "퍼센트",
+DlgTableHeight		: "높이",
+DlgTableCellSpace	: "셀 간격",
+DlgTableCellPad		: "셀 여백",
+DlgTableCaption		: "캡션",
+
+// Table Cell Dialog
+DlgCellTitle		: "셀 설정",
+DlgCellWidth		: "너비",
+DlgCellWidthPx		: "픽셀",
+DlgCellWidthPc		: "퍼센트",
+DlgCellHeight		: "높이",
+DlgCellWordWrap		: "워드랩",
+DlgCellWordWrapNotSet	: "<설정되지 않음>",
+DlgCellWordWrapYes	: "예",
+DlgCellWordWrapNo	: "아니오",
+DlgCellHorAlign		: "수평 정렬",
+DlgCellHorAlignNotSet	: "<설정되지 않음>",
+DlgCellHorAlignLeft	: "왼쪽",
+DlgCellHorAlignCenter	: "가운데",
+DlgCellHorAlignRight: "오른쪽",
+DlgCellVerAlign		: "수직 정렬",
+DlgCellVerAlignNotSet	: "<설정되지 않음>",
+DlgCellVerAlignTop	: "위",
+DlgCellVerAlignMiddle	: "중간",
+DlgCellVerAlignBottom	: "아래",
+DlgCellVerAlignBaseline	: "기준선",
+DlgCellRowSpan		: "세로 합치기",
+DlgCellCollSpan		: "가로 합치기",
+DlgCellBackColor	: "배경 색상",
+DlgCellBorderColor	: "테두리 색상",
+DlgCellBtnSelect	: "선택",
+
+// Find Dialog
+DlgFindTitle		: "찾기",
+DlgFindFindBtn		: "찾기",
+DlgFindNotFoundMsg	: "문자열을 찾을 수 없습니다.",
+
+// Replace Dialog
+DlgReplaceTitle			: "바꾸기",
+DlgReplaceFindLbl		: "찾을 문자열:",
+DlgReplaceReplaceLbl	: "바꿀 문자열:",
+DlgReplaceCaseChk		: "대소문자 구분",
+DlgReplaceReplaceBtn	: "바꾸기",
+DlgReplaceReplAllBtn	: "모두 바꾸기",
+DlgReplaceWordChk		: "온전한 단어",
+
+// Paste Operations / Dialog
+PasteErrorPaste	: "브라우저의 보안설정때문에 붙여넣기 기능을 실행할 수 없습니다. 키보드 명령을 사용하십시요. (Ctrl+V).",
+PasteErrorCut	: "브라우저의 보안설정때문에 잘라내기 기능을 실행할 수 없습니다. 키보드 명령을 사용하십시요. (Ctrl+X).",
+PasteErrorCopy	: "브라우저의 보안설정때문에 복사하기 기능을 실행할 수 없습니다. 키보드 명령을 사용하십시요.  (Ctrl+C).",
+
+PasteAsText		: "텍스트로 붙여넣기",
+PasteFromWord	: "MS Word 형식에서 붙여넣기",
+
+DlgPasteMsg2	: "키보드의 (<STRONG>Ctrl+V</STRONG>) 를 이용해서 상자안에 붙여넣고 <STRONG>OK</STRONG> 를 누르세요.",
+DlgPasteIgnoreFont		: "폰트 설정 무시",
+DlgPasteRemoveStyles	: "스타일 정의 제거",
+DlgPasteCleanBox		: "글상자 제거",
+
+
+// Color Picker
+ColorAutomatic	: "기본색상",
+ColorMoreColors	: "색상선택...",
+
+// Document Properties
+DocProps		: "문서 속성",
+
+// Anchor Dialog
+DlgAnchorTitle		: "책갈피 속성",
+DlgAnchorName		: "책갈피 이름",
+DlgAnchorErrorName	: "책갈피 이름을 입력하십시요.",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "사전에 없는 단어",
+DlgSpellChangeTo		: "변경할 단어",
+DlgSpellBtnIgnore		: "건너뜀",
+DlgSpellBtnIgnoreAll	: "모두 건너뜀",
+DlgSpellBtnReplace		: "변경",
+DlgSpellBtnReplaceAll	: "모두 변경",
+DlgSpellBtnUndo			: "취소",
+DlgSpellNoSuggestions	: "- 추천단어 없음 -",
+DlgSpellProgress		: "철자검사를 진행중입니다...",
+DlgSpellNoMispell		: "철자검사 완료: 잘못된 철자가 없습니다.",
+DlgSpellNoChanges		: "철자검사 완료: 변경된 단어가 없습니다.",
+DlgSpellOneChange		: "철자검사 완료: 단어가 변경되었습니다.",
+DlgSpellManyChanges		: "철자검사 완료: %1 단어가 변경되었습니다.",
+
+IeSpellDownload			: "철자 검사기가 철치되지 않았습니다. 지금 다운로드하시겠습니까?",
+
+// Button Dialog
+DlgButtonText	: "버튼글자(값)",
+DlgButtonType	: "버튼종류",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "이름",
+DlgCheckboxValue	: "ê°’",
+DlgCheckboxSelected	: "선택됨",
+
+// Form Dialog
+DlgFormName		: "폼이름",
+DlgFormAction	: "실행경로(Action)",
+DlgFormMethod	: "방법(Method)",
+
+// Select Field Dialog
+DlgSelectName		: "이름",
+DlgSelectValue		: "ê°’",
+DlgSelectSize		: "세로크기",
+DlgSelectLines		: "줄",
+DlgSelectChkMulti	: "여러항목 선택 허용",
+DlgSelectOpAvail	: "선택옵션",
+DlgSelectOpText		: "이름",
+DlgSelectOpValue	: "ê°’",
+DlgSelectBtnAdd		: "추가",
+DlgSelectBtnModify	: "변경",
+DlgSelectBtnUp		: "위로",
+DlgSelectBtnDown	: "아래로",
+DlgSelectBtnSetValue : "선택된것으로 설정",
+DlgSelectBtnDelete	: "삭제",
+
+// Textarea Dialog
+DlgTextareaName	: "이름",
+DlgTextareaCols	: "칸수",
+DlgTextareaRows	: "줄수",
+
+// Text Field Dialog
+DlgTextName			: "이름",
+DlgTextValue		: "ê°’",
+DlgTextCharWidth	: "글자 너비",
+DlgTextMaxChars		: "최대 글자수",
+DlgTextType			: "종류",
+DlgTextTypeText		: "문자열",
+DlgTextTypePass		: "비밀번호",
+
+// Hidden Field Dialog
+DlgHiddenName	: "이름",
+DlgHiddenValue	: "ê°’",
+
+// Bulleted List Dialog
+BulletedListProp	: "순서없는 목록 속성",
+NumberedListProp	: "순서있는 목록 속성",
+DlgLstType			: "종류",
+DlgLstTypeCircle	: "원(Circle)",
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "네모점(Square)",
+DlgLstTypeNumbers	: "번호 (1, 2, 3)",
+DlgLstTypeLCase		: "소문자 (a, b, c)",
+DlgLstTypeUCase		: "대문자 (A, B, C)",
+DlgLstTypeSRoman	: "로마자 수문자 (i, ii, iii)",
+DlgLstTypeLRoman	: "로마자 대문자 (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "일반",
+DlgDocBackTab		: "ë°°ê²½",
+DlgDocColorsTab		: "색상 및 여백",
+DlgDocMetaTab		: "메타데이터",
+
+DlgDocPageTitle		: "페이지명",
+DlgDocLangDir		: "문자 쓰기방향",
+DlgDocLangDirLTR	: "왼쪽에서 오른쪽 (LTR)",
+DlgDocLangDirRTL	: "오른쪽에서 왼쪽 (RTL)",
+DlgDocLangCode		: "언어코드",
+DlgDocCharSet		: "캐릭터셋 인코딩",
+DlgDocCharSetOther	: "다른 캐릭터셋 인코딩",
+
+DlgDocDocType		: "문서 헤드",
+DlgDocDocTypeOther	: "다른 문서헤드",
+DlgDocIncXHTML		: "XHTML 문서정의 포함",
+DlgDocBgColor		: "배경색상",
+DlgDocBgImage		: "배경이미지 URL",
+DlgDocBgNoScroll	: "스크롤되지않는 배경",
+DlgDocCText			: "텍스트",
+DlgDocCLink			: "링크",
+DlgDocCVisited		: "방문한 링크(Visited)",
+DlgDocCActive		: "활성화된 링크(Active)",
+DlgDocMargins		: "페이지 여백",
+DlgDocMaTop			: "위",
+DlgDocMaLeft		: "왼쪽",
+DlgDocMaRight		: "오른쪽",
+DlgDocMaBottom		: "아래",
+DlgDocMeIndex		: "문서 키워드 (콤마로 구분)",
+DlgDocMeDescr		: "문서 설명",
+DlgDocMeAuthor		: "작성자",
+DlgDocMeCopy		: "저작권",
+DlgDocPreview		: "미리보기",
+
+// Templates Dialog
+Templates			: "템플릿",
+DlgTemplatesTitle	: "내용 템플릿",
+DlgTemplatesSelMsg	: "에디터에서 사용할 템플릿을 선택하십시요.<br>(지금까지 작성된 내용은 사라집니다.):",
+DlgTemplatesLoading	: "템플릿 목록을 불러오는중입니다. 잠시만 기다려주십시요.",
+DlgTemplatesNoTpl	: "(템플릿이 없습니다.)",
+
+// About Dialog
+DlgAboutAboutTab	: "About",
+DlgAboutBrowserInfoTab	: "브라우저 정보",
+DlgAboutVersion		: "버전",
+DlgAboutLicense		: "Licensed under the terms of the GNU Lesser General Public License",
+DlgAboutInfo		: "For further information go to"
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/lang/lt.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/lang/lt.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/lang/lt.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,475 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: lt.js
+ * 	Lithuanian language file.
+ * 
+ * File Authors:
+ * 		Tauras Paliulis (tauras.paliulis at tauras.com)
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Sutraukti mygtukų juostą",
+ToolbarExpand		: "Išplėsti mygtukų juostą",
+
+// Toolbar Items and Context Menu
+Save				: "IÅ¡saugoti",
+NewPage				: "Naujas puslapis",
+Preview				: "Peržiūra",
+Cut					: "IÅ¡kirpti",
+Copy				: "Kopijuoti",
+Paste				: "Įdėti",
+PasteText			: "Įdėti kaip gryną tekstą",
+PasteWord			: "Įdėti iš Word",
+Print				: "Spausdinti",
+SelectAll			: "Pažymėti viską",
+RemoveFormat		: "Panaikinti formatÄ…",
+InsertLinkLbl		: "Nuoroda",
+InsertLink			: "Įterpti/taisyti nuorodą",
+RemoveLink			: "Panaikinti nuorodÄ…",
+Anchor				: "Įterpti/modifikuoti žymę",
+InsertImageLbl		: "Vaizdas",
+InsertImage			: "Įterpti/taisyti vaizdą",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Įterpti/taisyti Flash",
+InsertTableLbl		: "LentelÄ—",
+InsertTable			: "Įterpti/taisyti lentelę",
+InsertLineLbl		: "Linija",
+InsertLine			: "Įterpti horizontalią liniją",
+InsertSpecialCharLbl: "Spec. simbolis",
+InsertSpecialChar	: "Įterpti specialų simbolį",
+InsertSmileyLbl		: "Veideliai",
+InsertSmiley		: "Įterpti veidelį",
+About				: "Apie FCKeditor",
+Bold				: "Pusjuodis",
+Italic				: "Kursyvas",
+Underline			: "Pabrauktas",
+StrikeThrough		: "Perbrauktas",
+Subscript			: "Apatinis indeksas",
+Superscript			: "Viršutinis indeksas",
+LeftJustify			: "Lygiuoti kairÄ™",
+CenterJustify		: "Centruoti",
+RightJustify		: "Lygiuoti dešinę",
+BlockJustify		: "Lygiuoti abi puses",
+DecreaseIndent		: "Sumažinti įtrauką",
+IncreaseIndent		: "Padidinti įtrauką",
+Undo				: "Atšaukti",
+Redo				: "Atstatyti",
+NumberedListLbl		: "Numeruotas sąrašas",
+NumberedList		: "Įterpti/Panaikinti numeruotą sąrašą",
+BulletedListLbl		: "Suženklintas sąrašas",
+BulletedList		: "Įterpti/Panaikinti suženklintą sąrašą",
+ShowTableBorders	: "Rodyti lentelÄ—s rÄ—mus",
+ShowDetails			: "Rodyti detales",
+Style				: "Stilius",
+FontFormat			: "Å rifto formatas",
+Font				: "Å riftas",
+FontSize			: "Å rifto dydis",
+TextColor			: "Teksto spalva",
+BGColor				: "Fono spalva",
+Source				: "Å altinis",
+Find				: "Rasti",
+Replace				: "Pakeisti",
+SpellCheck			: "Rašybos tikrinimas",
+UniversalKeyboard	: "Universali klaviatūra",
+
+Form			: "Forma",
+Checkbox		: "Žymimasis langelis",
+RadioButton		: "Žymimoji akutė",
+TextField		: "Teksto laukas",
+Textarea		: "Teksto sritis",
+HiddenField		: "Nerodomas laukas",
+Button			: "Mygtukas",
+SelectionField	: "Atrankos laukas",
+ImageButton		: "Vaizdinis mygtukas",
+
+// Context Menu
+EditLink			: "Taisyti nuorodÄ…",
+InsertRow			: "Įterpti eilutę",
+DeleteRows			: "Å alinti eilutes",
+InsertColumn		: "Įterpti stulpelį",
+DeleteColumns		: "Å alinti stulpelius",
+InsertCell			: "Įterpti langelį",
+DeleteCells			: "Å alinti langelius",
+MergeCells			: "Sujungti langelius",
+SplitCell			: "Skaidyti langelius",
+CellProperties		: "Langelio savybÄ—s",
+TableProperties		: "LentelÄ—s savybÄ—s",
+ImageProperties		: "Vaizdo savybÄ—s",
+FlashProperties		: "Flash savybÄ—s",
+
+AnchorProp			: "Žymės savybės",
+ButtonProp			: "Mygtuko savybÄ—s",
+CheckboxProp		: "Žymimojo langelio savybės",
+HiddenFieldProp		: "Nerodomo lauko savybÄ—s",
+RadioButtonProp		: "Žymimosios akutės savybės",
+ImageButtonProp		: "Vaizdinio mygtuko savybÄ—s",
+TextFieldProp		: "Teksto lauko savybÄ—s",
+SelectionFieldProp	: "Atrankos lauko savybÄ—s",
+TextareaProp		: "Teksto srities savybÄ—s",
+FormProp			: "Formos savybÄ—s",
+
+FontFormats			: "Normalus;Formuotas;Kreipinio;Antraštinis 1;Antraštinis 2;Antraštinis 3;Antraštinis 4;Antraštinis 5;Antraštinis 6",
+
+// Alerts and Messages
+ProcessingXHTML		: "Apdorojamas XHTML. Prašome palaukti...",
+Done				: "Baigta",
+PasteWordConfirm	: "Įdedamas tekstas yra panašus į kopiją iš Word. Ar Jūs norite prieš įdėjimą išvalyti jį?",
+NotCompatiblePaste	: "Ši komanda yra prieinama tik per Internet Explorer 5.5 ar aukštesnę versiją. Ar Jūs norite įterpti be valymo?",
+UnknownToolbarItem	: "Nežinomas mygtukų juosta elementas \"%1\"",
+UnknownCommand		: "Nežinomas komandos vardas \"%1\"",
+NotImplemented		: "Komanda nėra įgyvendinta",
+UnknownToolbarSet	: "Mygtukų juostos rinkinys \"%1\" neegzistuoja",
+NoActiveX			: "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Nutraukti",
+DlgBtnClose			: "Uždaryti",
+DlgBtnBrowseServer	: "Naršyti po serverį",
+DlgAdvancedTag		: "Papildomas",
+DlgOpOther			: "&lt;Kita&gt;",
+DlgInfoTab			: "Informacija",
+DlgAlertUrl			: "Prašome įrašyti URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "&lt;nÄ—ra nustatyta&gt;",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Teksto kryptis",
+DlgGenLangDirLtr	: "Iš kairės į dešinę (LTR)",
+DlgGenLangDirRtl	: "Iš dešinės į kairę (RTL)",
+DlgGenLangCode		: "Kalbos kodas",
+DlgGenAccessKey		: "Prieigos raktas",
+DlgGenName			: "Vardas",
+DlgGenTabIndex		: "Tabuliavimo indeksas",
+DlgGenLongDescr		: "Ilgas aprašymas URL",
+DlgGenClass			: "Stilių lentelės klasės",
+DlgGenTitle			: "Konsultacinė antraštė",
+DlgGenContType		: "Konsultacinio turinio tipas",
+DlgGenLinkCharset	: "Susietų išteklių simbolių lentelė",
+DlgGenStyle			: "Stilius",
+
+// Image Dialog
+DlgImgTitle			: "Vaizdo savybÄ—s",
+DlgImgInfoTab		: "Vaizdo informacija",
+DlgImgBtnUpload		: "Siųsti į serverį",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Nusiųsti",
+DlgImgAlt			: "Alternatyvus Tekstas",
+DlgImgWidth			: "Plotis",
+DlgImgHeight		: "Aukštis",
+DlgImgLockRatio		: "IÅ¡laikyti proporcijÄ…",
+DlgBtnResetSize		: "Atstatyti dydį",
+DlgImgBorder		: "RÄ—melis",
+DlgImgHSpace		: "Hor.ErdvÄ—",
+DlgImgVSpace		: "Vert.ErdvÄ—",
+DlgImgAlign			: "Lygiuoti",
+DlgImgAlignLeft		: "KairÄ™",
+DlgImgAlignAbsBottom: "Absoliučią apačią",
+DlgImgAlignAbsMiddle: "Absoliutų vidurį",
+DlgImgAlignBaseline	: "ApatinÄ™ linijÄ…",
+DlgImgAlignBottom	: "Apačią",
+DlgImgAlignMiddle	: "Vidurį",
+DlgImgAlignRight	: "Dešinę",
+DlgImgAlignTextTop	: "Teksto viršūnę",
+DlgImgAlignTop		: "Viršūnę",
+DlgImgPreview		: "Peržiūra",
+DlgImgAlertUrl		: "Prašome įvesti vaizdo URL",
+DlgImgLinkTab		: "Nuoroda",
+
+// Flash Dialog
+DlgFlashTitle		: "Flash savybÄ—s",
+DlgFlashChkPlay		: "Automatinis paleidimas",
+DlgFlashChkLoop		: "Ciklas",
+DlgFlashChkMenu		: "Leisti Flash meniu",
+DlgFlashScale		: "Mastelis",
+DlgFlashScaleAll	: "Rodyti visÄ…",
+DlgFlashScaleNoBorder	: "Be rÄ—melio",
+DlgFlashScaleFit	: "Tikslus atitikimas",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Nuoroda",
+DlgLnkInfoTab		: "Nuorodos informacija",
+DlgLnkTargetTab		: "Paskirtis",
+
+DlgLnkType			: "Nuorodos tipas",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Žymė šiame puslapyje",
+DlgLnkTypeEMail		: "El.paštas",
+DlgLnkProto			: "Protokolas",
+DlgLnkProtoOther	: "&lt;kitas&gt;",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Pasirinkite žymę",
+DlgLnkAnchorByName	: "Pagal žymės vardą",
+DlgLnkAnchorById	: "Pagal žymės Id",
+DlgLnkNoAnchors		: "&lt;Šiame dokumente žymių nėra&gt;",
+DlgLnkEMail			: "El.pašto adresas",
+DlgLnkEMailSubject	: "Žinutės tema",
+DlgLnkEMailBody		: "Žinutės turinys",
+DlgLnkUpload		: "Siųsti",
+DlgLnkBtnUpload		: "Siųsti į serverį",
+
+DlgLnkTarget		: "Paskirties vieta",
+DlgLnkTargetFrame	: "&lt;kadras&gt;",
+DlgLnkTargetPopup	: "&lt;išskleidžiamas langas&gt;",
+DlgLnkTargetBlank	: "Naujas langas (_blank)",
+DlgLnkTargetParent	: "Pirminis langas (_parent)",
+DlgLnkTargetSelf	: "Tas pats langas (_self)",
+DlgLnkTargetTop		: "Svarbiausias langas (_top)",
+DlgLnkTargetFrameName	: "Paskirties kadro vardas",
+DlgLnkPopWinName	: "Paskirties lango vardas",
+DlgLnkPopWinFeat	: "Išskleidžiamo lango savybės",
+DlgLnkPopResize		: "Keičiamas dydis",
+DlgLnkPopLocation	: "Adreso juosta",
+DlgLnkPopMenu		: "Meniu juosta",
+DlgLnkPopScroll		: "Slinkties juostos",
+DlgLnkPopStatus		: "BÅ«senos juosta",
+DlgLnkPopToolbar	: "Mygtukų juosta",
+DlgLnkPopFullScrn	: "Visas ekranas (IE)",
+DlgLnkPopDependent	: "Priklausomas (Netscape)",
+DlgLnkPopWidth		: "Plotis",
+DlgLnkPopHeight		: "Aukštis",
+DlgLnkPopLeft		: "KairÄ— pozicija",
+DlgLnkPopTop		: "Viršutinė pozicija",
+
+DlnLnkMsgNoUrl		: "Prašome įvesti nuorodos URL",
+DlnLnkMsgNoEMail	: "Prašome įvesti el.pašto adresą",
+DlnLnkMsgNoAnchor	: "Prašome pasirinkti žymę",
+
+// Color Dialog
+DlgColorTitle		: "Pasirinkite spalvÄ…",
+DlgColorBtnClear	: "Trinti",
+DlgColorHighlight	: "Paryškinta",
+DlgColorSelected	: "Pažymėta",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Įterpti veidelį",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Pasirinkite specialų simbolį",
+
+// Table Dialog
+DlgTableTitle		: "LentelÄ—s savybÄ—s",
+DlgTableRows		: "EilutÄ—s",
+DlgTableColumns		: "Stulpeliai",
+DlgTableBorder		: "RÄ—melio dydis",
+DlgTableAlign		: "Lygiuoti",
+DlgTableAlignNotSet	: "<Nenustatyta>",
+DlgTableAlignLeft	: "KairÄ™",
+DlgTableAlignCenter	: "CentrÄ…",
+DlgTableAlignRight	: "Dešinę",
+DlgTableWidth		: "Plotis",
+DlgTableWidthPx		: "taškais",
+DlgTableWidthPc		: "procentais",
+DlgTableHeight		: "Aukštis",
+DlgTableCellSpace	: "Tarpas tarp langelių",
+DlgTableCellPad		: "Trapas nuo langelio rÄ—mo iki teksto",
+DlgTableCaption		: "Antraštė",
+
+// Table Cell Dialog
+DlgCellTitle		: "Langelio savybÄ—s",
+DlgCellWidth		: "Plotis",
+DlgCellWidthPx		: "taškais",
+DlgCellWidthPc		: "procentais",
+DlgCellHeight		: "Aukštis",
+DlgCellWordWrap		: "Teksto laužymas",
+DlgCellWordWrapNotSet	: "<Nenustatyta>",
+DlgCellWordWrapYes	: "Taip",
+DlgCellWordWrapNo	: "Ne",
+DlgCellHorAlign		: "Horizontaliai lygiuoti",
+DlgCellHorAlignNotSet	: "<Nenustatyta>",
+DlgCellHorAlignLeft	: "KairÄ™",
+DlgCellHorAlignCenter	: "CentrÄ…",
+DlgCellHorAlignRight: "Dešinę",
+DlgCellVerAlign		: "Vertikaliai lygiuoti",
+DlgCellVerAlignNotSet	: "<Nenustatyta>",
+DlgCellVerAlignTop	: "Viršų",
+DlgCellVerAlignMiddle	: "Vidurį",
+DlgCellVerAlignBottom	: "Apačią",
+DlgCellVerAlignBaseline	: "ApatinÄ™ linijÄ…",
+DlgCellRowSpan		: "Eilučių apjungimas",
+DlgCellCollSpan		: "Stulpelių apjungimas",
+DlgCellBackColor	: "Fono spalva",
+DlgCellBorderColor	: "RÄ—melio spalva",
+DlgCellBtnSelect	: "Pažymėti...",
+
+// Find Dialog
+DlgFindTitle		: "Paieška",
+DlgFindFindBtn		: "Surasti",
+DlgFindNotFoundMsg	: "Nurodytas tekstas nerastas.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Pakeisti",
+DlgReplaceFindLbl		: "Surasti tekstÄ…:",
+DlgReplaceReplaceLbl	: "Pakeisti tekstu:",
+DlgReplaceCaseChk		: "Skirti didžiąsias ir mažąsias raides",
+DlgReplaceReplaceBtn	: "Pakeisti",
+DlgReplaceReplAllBtn	: "Pakeisti viskÄ…",
+DlgReplaceWordChk		: "Atitikti pilną žodį",
+
+// Paste Operations / Dialog
+PasteErrorPaste	: "Jūsų naršyklės saugumo nustatymai neleidžia redaktoriui automatiškai įvykdyti įdėjimo operacijų. Tam prašome naudoti klaviatūrą (Ctrl+V).",
+PasteErrorCut	: "Jūsų naršyklės saugumo nustatymai neleidžia redaktoriui automatiškai įvykdyti iškirpimo operacijų. Tam prašome naudoti klaviatūrą (Ctrl+X).",
+PasteErrorCopy	: "Jūsų naršyklės saugumo nustatymai neleidžia redaktoriui automatiškai įvykdyti kopijavimo operacijų. Tam prašome naudoti klaviatūrą (Ctrl+C).",
+
+PasteAsText		: "Įdėti kaip gryną tekstą",
+PasteFromWord	: "Įdėti iš Word",
+
+DlgPasteMsg2	: "Žemiau esančiame įvedimo lauke įdėkite tekstą, naudodami klaviatūrą (<STRONG>Ctrl+V</STRONG>) ir spūstelkite mygtuką <STRONG>OK</STRONG>.",
+DlgPasteIgnoreFont		: "Ignoruoti šriftų nustatymus",
+DlgPasteRemoveStyles	: "Pašalinti stilių nustatymus",
+DlgPasteCleanBox		: "Trinti įvedimo lauką",
+
+
+// Color Picker
+ColorAutomatic	: "Automatinis",
+ColorMoreColors	: "Daugiau spalvų...",
+
+// Document Properties
+DocProps		: "Dokumento savybÄ—s",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Žymės savybės",
+DlgAnchorName		: "Žymės vardas",
+DlgAnchorErrorName	: "Prašome įvesti žymės vardą",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Žodyne nerastas",
+DlgSpellChangeTo		: "Pakeisti į",
+DlgSpellBtnIgnore		: "Ignoruoti",
+DlgSpellBtnIgnoreAll	: "Ignoruoti visus",
+DlgSpellBtnReplace		: "Pakeisti",
+DlgSpellBtnReplaceAll	: "Pakeisti visus",
+DlgSpellBtnUndo			: "Atšaukti",
+DlgSpellNoSuggestions	: "- Nėra pasiūlymų -",
+DlgSpellProgress		: "Vyksta rašybos tikrinimas...",
+DlgSpellNoMispell		: "Rašybos tikrinimas baigtas: Nerasta rašybos klaidų",
+DlgSpellNoChanges		: "Rašybos tikrinimas baigtas: Nėra pakeistų žodžių",
+DlgSpellOneChange		: "Rašybos tikrinimas baigtas: Vienas žodis pakeistas",
+DlgSpellManyChanges		: "Rašybos tikrinimas baigtas: Pakeista %1 žodžių",
+
+IeSpellDownload			: "Rašybos tikrinimas neinstaliuotas. Ar Jūs norite jį dabar atsisiųsti?",
+
+// Button Dialog
+DlgButtonText	: "Tekstas (Reikšmė)",
+DlgButtonType	: "Tipas",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Vardas",
+DlgCheckboxValue	: "Reikšmė",
+DlgCheckboxSelected	: "Pažymėtas",
+
+// Form Dialog
+DlgFormName		: "Vardas",
+DlgFormAction	: "Veiksmas",
+DlgFormMethod	: "Metodas",
+
+// Select Field Dialog
+DlgSelectName		: "Vardas",
+DlgSelectValue		: "Reikšmė",
+DlgSelectSize		: "Dydis",
+DlgSelectLines		: "eilučių",
+DlgSelectChkMulti	: "Leisti daugeriopÄ… atrankÄ…",
+DlgSelectOpAvail	: "Galimos parinktys",
+DlgSelectOpText		: "Tekstas",
+DlgSelectOpValue	: "Reikšmė",
+DlgSelectBtnAdd		: "Įtraukti",
+DlgSelectBtnModify	: "Modifikuoti",
+DlgSelectBtnUp		: "Aukštyn",
+DlgSelectBtnDown	: "Žemyn",
+DlgSelectBtnSetValue : "Laikyti pažymėta reikšme",
+DlgSelectBtnDelete	: "Trinti",
+
+// Textarea Dialog
+DlgTextareaName	: "Vardas",
+DlgTextareaCols	: "Ilgis",
+DlgTextareaRows	: "Plotis",
+
+// Text Field Dialog
+DlgTextName			: "Vardas",
+DlgTextValue		: "Reikšmė",
+DlgTextCharWidth	: "Ilgis simboliais",
+DlgTextMaxChars		: "Maksimalus simbolių skaičius",
+DlgTextType			: "Tipas",
+DlgTextTypeText		: "Tekstas",
+DlgTextTypePass		: "Slaptažodis",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Vardas",
+DlgHiddenValue	: "Reikšmė",
+
+// Bulleted List Dialog
+BulletedListProp	: "Suženklinto sąrašo savybės",
+NumberedListProp	: "Numeruoto sąrašo savybės",
+DlgLstType			: "Tipas",
+DlgLstTypeCircle	: "Apskritimas",
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "Kvadratas",
+DlgLstTypeNumbers	: "Skaičiai (1, 2, 3)",
+DlgLstTypeLCase		: "Mažosios raidės (a, b, c)",
+DlgLstTypeUCase		: "Didžiosios raidės (A, B, C)",
+DlgLstTypeSRoman	: "Romėnų mažieji skaičiai (i, ii, iii)",
+DlgLstTypeLRoman	: "Romėnų didieji skaičiai (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Bendros savybÄ—s",
+DlgDocBackTab		: "Fonas",
+DlgDocColorsTab		: "Spalvos ir kraštinės",
+DlgDocMetaTab		: "Meta duomenys",
+
+DlgDocPageTitle		: "Puslapio antraštė",
+DlgDocLangDir		: "Kalbos kryptis",
+DlgDocLangDirLTR	: "Iš kairės į dešinę (LTR)",
+DlgDocLangDirRTL	: "Iš dešinės į kairę (RTL)",
+DlgDocLangCode		: "Kalbos kodas",
+DlgDocCharSet		: "Simbolių kodavimo lentelė",
+DlgDocCharSetOther	: "Kita simbolių kodavimo lentelė",
+
+DlgDocDocType		: "Dokumento tipo antraštė",
+DlgDocDocTypeOther	: "Kita dokumento tipo antraštė",
+DlgDocIncXHTML		: "Įtraukti XHTML deklaracijas",
+DlgDocBgColor		: "Fono spalva",
+DlgDocBgImage		: "Fono paveikslÄ—lio nuoroda (URL)",
+DlgDocBgNoScroll	: "Neslenkantis fonas",
+DlgDocCText			: "Tekstas",
+DlgDocCLink			: "Nuoroda",
+DlgDocCVisited		: "Aplankyta nuoroda",
+DlgDocCActive		: "Aktyvi nuoroda",
+DlgDocMargins		: "Puslapio kraštinės",
+DlgDocMaTop			: "Viršuje",
+DlgDocMaLeft		: "KairÄ—je",
+DlgDocMaRight		: "Dešinėje",
+DlgDocMaBottom		: "Apačioje",
+DlgDocMeIndex		: "Dokumento indeksavimo raktiniai žodžiai (atskirti kableliais)",
+DlgDocMeDescr		: "Dokumento apibūdinimas",
+DlgDocMeAuthor		: "Autorius",
+DlgDocMeCopy		: "AutorinÄ—s teisÄ—s",
+DlgDocPreview		: "Peržiūra",
+
+// Templates Dialog
+Templates			: "Å ablonai",
+DlgTemplatesTitle	: "Turinio Å¡ablonai",
+DlgTemplatesSelMsg	: "Pasirinkite norimÄ… Å¡ablonÄ…<br>(<b>DÄ—mesio!</b> esamas turinys bus prarastas):",
+DlgTemplatesLoading	: "Įkeliamas šablonų sąrašas. Prašome palaukti...",
+DlgTemplatesNoTpl	: "(Šablonų sąrašas tuščias)",
+
+// About Dialog
+DlgAboutAboutTab	: "Apie",
+DlgAboutBrowserInfoTab	: "Naršyklės informacija",
+DlgAboutVersion		: "versija",
+DlgAboutLicense		: "Licencijuota pagal GNU mažesnės atsakomybės pagrindinės viešos licencijos sąlygas",
+DlgAboutInfo		: "PapildomÄ… informacijÄ… galima gauti"
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/lang/mn.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/lang/mn.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/lang/mn.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,475 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: mn.js
+ * 	Mongolian language file.
+ * 
+ * File Authors:
+ * 		Lkamtseren ODONBAATAR (odonbaatarl at yahoo.com)
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Багажны хэсэг эвдэх",
+ToolbarExpand		: "Багажны хэсэг өргөтгөх",
+
+// Toolbar Items and Context Menu
+Save				: "Хадгалах",
+NewPage				: "Шинэ хуудас",
+Preview				: "Уридчлан харах",
+Cut					: "Хайчлах",
+Copy				: "Хуулах",
+Paste				: "Буулгах",
+PasteText			: "plain text-ээс буулгах",
+PasteWord			: "Word-оос буулгах",
+Print				: "Хэвлэх",
+SelectAll			: "Бүгдийг нь сонгох",
+RemoveFormat		: "Формат авч хаях",
+InsertLinkLbl		: "Линк",
+InsertLink			: "Линк Оруулах/Засварлах",
+RemoveLink			: "Линк авч хаях",
+Anchor				: "Insert/Edit Anchor",	//MISSING
+InsertImageLbl		: "Зураг",
+InsertImage			: "Зураг Оруулах/Засварлах",
+InsertFlashLbl		: "Flash",	//MISSING
+InsertFlash			: "Insert/Edit Flash",	//MISSING
+InsertTableLbl		: "Хүснэгт",
+InsertTable			: "Хүснэгт Оруулах/Засварлах",
+InsertLineLbl		: "Зураас",
+InsertLine			: "Хөндлөн зураас оруулах",
+InsertSpecialCharLbl: "Онцгой тэмдэгт",
+InsertSpecialChar	: "Онцгой тэмдэгт оруулах",
+InsertSmileyLbl		: "Тодорхойлолт",
+InsertSmiley		: "Тодорхойлолт оруулах",
+About				: "FCKeditor-н тухай",
+Bold				: "Тод бүдүүн",
+Italic				: "Налуу",
+Underline			: "Доогуур нь зураастай болгох",
+StrikeThrough		: "Дундуур нь зураастай болгох",
+Subscript			: "Суурь болгох",
+Superscript			: "Зэрэг болгох",
+LeftJustify			: "Зүүн талд байрлуулах",
+CenterJustify		: "Төвд байрлуулах",
+RightJustify		: "Баруун талд байрлуулах",
+BlockJustify		: "Блок хэлбэрээр байрлуулах",
+DecreaseIndent		: "Догол мөр нэмэх",
+IncreaseIndent		: "Догол мөр хасах",
+Undo				: "Хүчингүй болгох",
+Redo				: "Өмнөх үйлдлээ сэргээх",
+NumberedListLbl		: "Дугаарлагдсан жагсаалт",
+NumberedList		: "Дугаарлагдсан жагсаалт Оруулах/Авах",
+BulletedListLbl		: "Цэгтэй жагсаалт",
+BulletedList		: "Цэгтэй жагсаалт Оруулах/Авах",
+ShowTableBorders	: "Хүснэгтийн хүрээг үзүүлэх",
+ShowDetails			: "Деталчлан үзүүлэх",
+Style				: "Загвар",
+FontFormat			: "Формат",
+Font				: "Фонт",
+FontSize			: "Хэмжээ",
+TextColor			: "Фонтны өнгө",
+BGColor				: "Фонны өнгө",
+Source				: "Код",
+Find				: "Хайх",
+Replace				: "Солих",
+SpellCheck			: "Check Spell",	//MISSING
+UniversalKeyboard	: "Universal Keyboard",	//MISSING
+
+Form			: "Form",	//MISSING
+Checkbox		: "Checkbox",	//MISSING
+RadioButton		: "Radio Button",	//MISSING
+TextField		: "Text Field",	//MISSING
+Textarea		: "Textarea",	//MISSING
+HiddenField		: "Hidden Field",	//MISSING
+Button			: "Button",	//MISSING
+SelectionField	: "Selection Field",	//MISSING
+ImageButton		: "Image Button",	//MISSING
+
+// Context Menu
+EditLink			: "Холбоос засварлах",
+InsertRow			: "Мөр оруулах",
+DeleteRows			: "Мөр устгах",
+InsertColumn		: "Багана оруулах",
+DeleteColumns		: "Багана устгах",
+InsertCell			: "Нүх оруулах",
+DeleteCells			: "Нүх устгах",
+MergeCells			: "Нүх нэгтэх",
+SplitCell			: "Нүх тусгайрлах",
+CellProperties		: "Хоосон зайн шинж чанар",
+TableProperties		: "Хүснэгт",
+ImageProperties		: "Зураг",
+FlashProperties		: "Flash Properties",	//MISSING
+
+AnchorProp			: "Anchor Properties",	//MISSING
+ButtonProp			: "Button Properties",	//MISSING
+CheckboxProp		: "Checkbox Properties",	//MISSING
+HiddenFieldProp		: "Hidden Field Properties",	//MISSING
+RadioButtonProp		: "Radio Button Properties",	//MISSING
+ImageButtonProp		: "Image Button Properties",	//MISSING
+TextFieldProp		: "Text Field Properties",	//MISSING
+SelectionFieldProp	: "Selection Field Properties",	//MISSING
+TextareaProp		: "Textarea Properties",	//MISSING
+FormProp			: "Form Properties",	//MISSING
+
+FontFormats			: "Хэвийн;Formatted;Хаяг;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Paragraph (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "XHTML үйл явц явагдаж байна. Хүлээнэ үү...",
+Done				: "Хийх",
+PasteWordConfirm	: "Word-оос хуулсан текстээ санаж байгааг нь буулгахыг та хүсч байна уу. Та текст-ээ буулгахын өмнө цэвэрлэх үү?",
+NotCompatiblePaste	: "Энэ комманд Internet Explorer-ын 5.5 буюу түүнээс дээш хувилбарт идвэхшинэ. Та цэвэрлэхгүйгээр буулгахыг хүсч байна?",
+UnknownToolbarItem	: "Багажны хэсгийн \"%1\" item мэдэгдэхгүй байна",
+UnknownCommand		: "\"%1\" комманд нэр мэдагдэхгүй байна",
+NotImplemented		: "Зөвшөөрөгдөхгүй комманд",
+UnknownToolbarSet	: "Багажны хэсэгт \"%1\" оноох, үүсээгүй байна",
+NoActiveX			: "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Болих",
+DlgBtnClose			: "Хаах",
+DlgBtnBrowseServer	: "Browse Server",	//MISSING
+DlgAdvancedTag		: "Нэмэлт",
+DlgOpOther			: "&lt;Other&gt;",	//MISSING
+DlgInfoTab			: "Info",	//MISSING
+DlgAlertUrl			: "Please insert the URL",	//MISSING
+
+// General Dialogs Labels
+DlgGenNotSet		: "&lt;Оноохгүй&gt;",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Хэлний чиглэл",
+DlgGenLangDirLtr	: "Зүүнээс баруун (LTR)",
+DlgGenLangDirRtl	: "Баруунаас зүүн (RTL)",
+DlgGenLangCode		: "Хэлний код",
+DlgGenAccessKey		: "Холбох түлхүүр",
+DlgGenName			: "Нэр",
+DlgGenTabIndex		: "Tab индекс",
+DlgGenLongDescr		: "URL-ын тайлбар",
+DlgGenClass			: "Stylesheet классууд",
+DlgGenTitle			: "Зөвлөлдөх гарчиг",
+DlgGenContType		: "Зөвлөлдөх төрлийн агуулга",
+DlgGenLinkCharset	: "Тэмдэгт оноох нөөцөд холбогдсон",
+DlgGenStyle			: "Загвар",
+
+// Image Dialog
+DlgImgTitle			: "Зураг",
+DlgImgInfoTab		: "Зурагны мэдээлэл",
+DlgImgBtnUpload		: "Үүнийг сервэррүү илгээ",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Хуулах",
+DlgImgAlt			: "Тайлбар текст",
+DlgImgWidth			: "Өргөн",
+DlgImgHeight		: "Өндөр",
+DlgImgLockRatio		: "Lock Ratio",
+DlgBtnResetSize		: "хэмжээ дахин оноох",
+DlgImgBorder		: "Хүрээ",
+DlgImgHSpace		: "Хөндлөн зай",
+DlgImgVSpace		: "Босоо зай",
+DlgImgAlign			: "Эгнээ",
+DlgImgAlignLeft		: "Зүүн",
+DlgImgAlignAbsBottom: "Abs доод талд",
+DlgImgAlignAbsMiddle: "Abs Дунд талд",
+DlgImgAlignBaseline	: "Baseline",
+DlgImgAlignBottom	: "Доод талд",
+DlgImgAlignMiddle	: "Дунд талд",
+DlgImgAlignRight	: "Баруун",
+DlgImgAlignTextTop	: "Текст дээр",
+DlgImgAlignTop		: "Дээд талд",
+DlgImgPreview		: "Уридчлан харах",
+DlgImgAlertUrl		: "Зурагны URL-ын төрлийн сонгоно уу",
+DlgImgLinkTab		: "Link",	//MISSING
+
+// Flash Dialog
+DlgFlashTitle		: "Flash Properties",	//MISSING
+DlgFlashChkPlay		: "Auto Play",	//MISSING
+DlgFlashChkLoop		: "Loop",	//MISSING
+DlgFlashChkMenu		: "Enable Flash Menu",	//MISSING
+DlgFlashScale		: "Scale",	//MISSING
+DlgFlashScaleAll	: "Show all",	//MISSING
+DlgFlashScaleNoBorder	: "No Border",	//MISSING
+DlgFlashScaleFit	: "Exact Fit",	//MISSING
+
+// Link Dialog
+DlgLnkWindowTitle	: "Линк",
+DlgLnkInfoTab		: "Линкийн мэдээлэл",
+DlgLnkTargetTab		: "Байрлал",
+
+DlgLnkType			: "Линкийн төрөл",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Энэ хуудасандах холбоос",
+DlgLnkTypeEMail		: "E-Mail",
+DlgLnkProto			: "Протокол",
+DlgLnkProtoOther	: "&lt;бусад&gt;",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Холбоос сонгох",
+DlgLnkAnchorByName	: "Холбоосын нэрээр",
+DlgLnkAnchorById	: "Элемэнт Id-гаар",
+DlgLnkNoAnchors		: "&lt;Баримт бичиг холбоосгүй байна&gt;",
+DlgLnkEMail			: "E-Mail Хаяг",
+DlgLnkEMailSubject	: "Message Subject",
+DlgLnkEMailBody		: "Message-ийн агуулга",
+DlgLnkUpload		: "Хуулах",
+DlgLnkBtnUpload		: "Үүнийг серверрүү илгээ",
+
+DlgLnkTarget		: "Байрлал",
+DlgLnkTargetFrame	: "&lt;Агуулах хүрээ&gt;",
+DlgLnkTargetPopup	: "&lt;popup цонх&gt;",
+DlgLnkTargetBlank	: "Шинэ цонх (_blank)",
+DlgLnkTargetParent	: "Эцэг цонх (_parent)",
+DlgLnkTargetSelf	: "Төстэй цонх (_self)",
+DlgLnkTargetTop		: "Хамгийн түрүүн байх цонх (_top)",
+DlgLnkTargetFrameName	: "Target Frame Name",	//MISSING
+DlgLnkPopWinName	: "Popup цонхны нэр",
+DlgLnkPopWinFeat	: "Popup цонхны онцлог",
+DlgLnkPopResize		: "Хэмжээ өөрчлөх",
+DlgLnkPopLocation	: "Location хэсэг",
+DlgLnkPopMenu		: "Meню хэсэг",
+DlgLnkPopScroll		: "Скрол хэсэгүүд",
+DlgLnkPopStatus		: "Статус хэсэг",
+DlgLnkPopToolbar	: "Багажны хэсэг",
+DlgLnkPopFullScrn	: "Цонх дүүргэх (IE)",
+DlgLnkPopDependent	: "Хамаатай (Netscape)",
+DlgLnkPopWidth		: "Өргөн",
+DlgLnkPopHeight		: "Өндөр",
+DlgLnkPopLeft		: "Зүүн байрлал",
+DlgLnkPopTop		: "Дээд байрлал",
+
+DlnLnkMsgNoUrl		: "Линк URL-ээ төрөлжүүлнэ үү",
+DlnLnkMsgNoEMail	: "Е-mail хаягаа төрөлжүүлнэ үү",
+DlnLnkMsgNoAnchor	: "Холбоосоо сонгоно уу",
+
+// Color Dialog
+DlgColorTitle		: "Өнгө сонгох",
+DlgColorBtnClear	: "Цэвэрлэх",
+DlgColorHighlight	: "Өнгө",
+DlgColorSelected	: "Сонгогдсон",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Тодорхойлолт оруулах",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Онцгой тэмдэгт сонгох",
+
+// Table Dialog
+DlgTableTitle		: "Хүснэгт",
+DlgTableRows		: "Мөр",
+DlgTableColumns		: "Багана",
+DlgTableBorder		: "Хүрээний хэмжээ",
+DlgTableAlign		: "Эгнээ",
+DlgTableAlignNotSet	: "&lt;Оноохгүй&gt;",
+DlgTableAlignLeft	: "Зүүн талд",
+DlgTableAlignCenter	: "Төвд",
+DlgTableAlignRight	: "Баруун талд",
+DlgTableWidth		: "Өргөн",
+DlgTableWidthPx		: "цэг",
+DlgTableWidthPc		: "хувь",
+DlgTableHeight		: "Өндөр",
+DlgTableCellSpace	: "Нүх хоорондын зай",
+DlgTableCellPad		: "Нүх доторлох",
+DlgTableCaption		: "Тайлбар",
+
+// Table Cell Dialog
+DlgCellTitle		: "Хоосон зайн шинж чанар",
+DlgCellWidth		: "Өргөн",
+DlgCellWidthPx		: "цэг",
+DlgCellWidthPc		: "хувь",
+DlgCellHeight		: "Өндөр",
+DlgCellWordWrap		: "Үг таслах",
+DlgCellWordWrapNotSet	: "&lt;Оноохгүй&gt;",
+DlgCellWordWrapYes	: "Тийм",
+DlgCellWordWrapNo	: "Үгүй",
+DlgCellHorAlign		: "Босоо эгнээ",
+DlgCellHorAlignNotSet	: "&lt;Оноохгүй&gt;",
+DlgCellHorAlignLeft	: "Зүүн",
+DlgCellHorAlignCenter	: "Төв",
+DlgCellHorAlignRight: "Баруун",
+DlgCellVerAlign		: "Хөндлөн эгнээ",
+DlgCellVerAlignNotSet	: "&lt;Оноохгүй&gt;",
+DlgCellVerAlignTop	: "Дээд тал",
+DlgCellVerAlignMiddle	: "Дунд",
+DlgCellVerAlignBottom	: "Доод тал",
+DlgCellVerAlignBaseline	: "Baseline",
+DlgCellRowSpan		: "Нийт мөр",
+DlgCellCollSpan		: "Нийт багана",
+DlgCellBackColor	: "Фонны өнгө",
+DlgCellBorderColor	: "Хүрээний өнгө",
+DlgCellBtnSelect	: "Сонго...",
+
+// Find Dialog
+DlgFindTitle		: "Хайх",
+DlgFindFindBtn		: "Хайх",
+DlgFindNotFoundMsg	: "Хайсан текст олсонгүй.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Солих",
+DlgReplaceFindLbl		: "Хайх үг/үсэг:",
+DlgReplaceReplaceLbl	: "Солих үг:",
+DlgReplaceCaseChk		: "Тэнцэх төлөв",
+DlgReplaceReplaceBtn	: "Солих",
+DlgReplaceReplAllBtn	: "Бүгдийг нь Солих",
+DlgReplaceWordChk		: "Тэнцэх бүтэн үг",
+
+// Paste Operations / Dialog
+PasteErrorPaste	: "Таны browser-ын хамгаалалтын тохиргоо editor-д автоматаар буулгах үйлдэлийг зөвшөөрөхгүй байна. (Ctrl+V) товчны хослолыг ашиглана уу.",
+PasteErrorCut	: "Таны browser-ын хамгаалалтын тохиргоо editor-д автоматаар хайчлах үйлдэлийг зөвшөөрөхгүй байна. (Ctrl+X) товчны хослолыг ашиглана уу.",
+PasteErrorCopy	: "Таны browser-ын хамгаалалтын тохиргоо editor-д автоматаар хуулах үйлдэлийг зөвшөөрөхгүй байна. (Ctrl+C) товчны хослолыг ашиглана уу.",
+
+PasteAsText		: "Plain Text-ээс буулгах",
+PasteFromWord	: "Word-оос буулгах",
+
+DlgPasteMsg2	: "Please paste inside the following box using the keyboard (<STRONG>Ctrl+V</STRONG>) and hit <STRONG>OK</STRONG>.",	//MISSING
+DlgPasteIgnoreFont		: "Ignore Font Face definitions",	//MISSING
+DlgPasteRemoveStyles	: "Remove Styles definitions",	//MISSING
+DlgPasteCleanBox		: "Clean Up Box",	//MISSING
+
+
+// Color Picker
+ColorAutomatic	: "Автоматаар",
+ColorMoreColors	: "Нэмэлт өнгөнүүд...",
+
+// Document Properties
+DocProps		: "Document Properties",	//MISSING
+
+// Anchor Dialog
+DlgAnchorTitle		: "Anchor Properties",	//MISSING
+DlgAnchorName		: "Anchor Name",	//MISSING
+DlgAnchorErrorName	: "Please type the anchor name",	//MISSING
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Not in dictionary",	//MISSING
+DlgSpellChangeTo		: "Change to",	//MISSING
+DlgSpellBtnIgnore		: "Ignore",	//MISSING
+DlgSpellBtnIgnoreAll	: "Ignore All",	//MISSING
+DlgSpellBtnReplace		: "Replace",	//MISSING
+DlgSpellBtnReplaceAll	: "Replace All",	//MISSING
+DlgSpellBtnUndo			: "Undo",	//MISSING
+DlgSpellNoSuggestions	: "- No suggestions -",	//MISSING
+DlgSpellProgress		: "Spell check in progress...",	//MISSING
+DlgSpellNoMispell		: "Spell check complete: No misspellings found",	//MISSING
+DlgSpellNoChanges		: "Spell check complete: No words changed",	//MISSING
+DlgSpellOneChange		: "Spell check complete: One word changed",	//MISSING
+DlgSpellManyChanges		: "Spell check complete: %1 words changed",	//MISSING
+
+IeSpellDownload			: "Spell checker not installed. Do you want to download it now?",	//MISSING
+
+// Button Dialog
+DlgButtonText	: "Text (Value)",	//MISSING
+DlgButtonType	: "Type",	//MISSING
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Name",	//MISSING
+DlgCheckboxValue	: "Value",	//MISSING
+DlgCheckboxSelected	: "Selected",	//MISSING
+
+// Form Dialog
+DlgFormName		: "Name",	//MISSING
+DlgFormAction	: "Action",	//MISSING
+DlgFormMethod	: "Method",	//MISSING
+
+// Select Field Dialog
+DlgSelectName		: "Name",	//MISSING
+DlgSelectValue		: "Value",	//MISSING
+DlgSelectSize		: "Size",	//MISSING
+DlgSelectLines		: "lines",	//MISSING
+DlgSelectChkMulti	: "Allow multiple selections",	//MISSING
+DlgSelectOpAvail	: "Available Options",	//MISSING
+DlgSelectOpText		: "Text",	//MISSING
+DlgSelectOpValue	: "Value",	//MISSING
+DlgSelectBtnAdd		: "Add",	//MISSING
+DlgSelectBtnModify	: "Modify",	//MISSING
+DlgSelectBtnUp		: "Up",	//MISSING
+DlgSelectBtnDown	: "Down",	//MISSING
+DlgSelectBtnSetValue : "Set as selected value",	//MISSING
+DlgSelectBtnDelete	: "Delete",	//MISSING
+
+// Textarea Dialog
+DlgTextareaName	: "Name",	//MISSING
+DlgTextareaCols	: "Columns",	//MISSING
+DlgTextareaRows	: "Rows",	//MISSING
+
+// Text Field Dialog
+DlgTextName			: "Name",	//MISSING
+DlgTextValue		: "Value",	//MISSING
+DlgTextCharWidth	: "Character Width",	//MISSING
+DlgTextMaxChars		: "Maximum Characters",	//MISSING
+DlgTextType			: "Type",	//MISSING
+DlgTextTypeText		: "Text",	//MISSING
+DlgTextTypePass		: "Password",	//MISSING
+
+// Hidden Field Dialog
+DlgHiddenName	: "Name",	//MISSING
+DlgHiddenValue	: "Value",	//MISSING
+
+// Bulleted List Dialog
+BulletedListProp	: "Bulleted List Properties",	//MISSING
+NumberedListProp	: "Numbered List Properties",	//MISSING
+DlgLstType			: "Type",	//MISSING
+DlgLstTypeCircle	: "Circle",	//MISSING
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "Square",	//MISSING
+DlgLstTypeNumbers	: "Numbers (1, 2, 3)",	//MISSING
+DlgLstTypeLCase		: "Lowercase Letters (a, b, c)",	//MISSING
+DlgLstTypeUCase		: "Uppercase Letters (A, B, C)",	//MISSING
+DlgLstTypeSRoman	: "Small Roman Numerals (i, ii, iii)",	//MISSING
+DlgLstTypeLRoman	: "Large Roman Numerals (I, II, III)",	//MISSING
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "General",	//MISSING
+DlgDocBackTab		: "Background",	//MISSING
+DlgDocColorsTab		: "Colors and Margins",	//MISSING
+DlgDocMetaTab		: "Meta Data",	//MISSING
+
+DlgDocPageTitle		: "Page Title",	//MISSING
+DlgDocLangDir		: "Language Direction",	//MISSING
+DlgDocLangDirLTR	: "Left to Right (LTR)",	//MISSING
+DlgDocLangDirRTL	: "Right to Left (RTL)",	//MISSING
+DlgDocLangCode		: "Language Code",	//MISSING
+DlgDocCharSet		: "Character Set Encoding",	//MISSING
+DlgDocCharSetOther	: "Other Character Set Encoding",	//MISSING
+
+DlgDocDocType		: "Document Type Heading",	//MISSING
+DlgDocDocTypeOther	: "Other Document Type Heading",	//MISSING
+DlgDocIncXHTML		: "Include XHTML Declarations",	//MISSING
+DlgDocBgColor		: "Background Color",	//MISSING
+DlgDocBgImage		: "Background Image URL",	//MISSING
+DlgDocBgNoScroll	: "Nonscrolling Background",	//MISSING
+DlgDocCText			: "Text",	//MISSING
+DlgDocCLink			: "Link",	//MISSING
+DlgDocCVisited		: "Visited Link",	//MISSING
+DlgDocCActive		: "Active Link",	//MISSING
+DlgDocMargins		: "Page Margins",	//MISSING
+DlgDocMaTop			: "Top",	//MISSING
+DlgDocMaLeft		: "Left",	//MISSING
+DlgDocMaRight		: "Right",	//MISSING
+DlgDocMaBottom		: "Bottom",	//MISSING
+DlgDocMeIndex		: "Document Indexing Keywords (comma separated)",	//MISSING
+DlgDocMeDescr		: "Document Description",	//MISSING
+DlgDocMeAuthor		: "Author",	//MISSING
+DlgDocMeCopy		: "Copyright",	//MISSING
+DlgDocPreview		: "Preview",	//MISSING
+
+// Templates Dialog
+Templates			: "Templates",	//MISSING
+DlgTemplatesTitle	: "Content Templates",	//MISSING
+DlgTemplatesSelMsg	: "Please select the template to open in the editor<br>(the actual contents will be lost):",	//MISSING
+DlgTemplatesLoading	: "Loading templates list. Please wait...",	//MISSING
+DlgTemplatesNoTpl	: "(No templates defined)",	//MISSING
+
+// About Dialog
+DlgAboutAboutTab	: "About",	//MISSING
+DlgAboutBrowserInfoTab	: "Browser Info",	//MISSING
+DlgAboutVersion		: "Хувилбар",
+DlgAboutLicense		: "GNU цөөн ерөнхий нийтийн лицензийн ангилалд багтсан зөвшөөрөлтэй",
+DlgAboutInfo		: "Мэдээллээр туслах"
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/lang/ms.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/lang/ms.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/lang/ms.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,475 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: ms.js
+ * 	Malay language file.
+ * 
+ * File Authors:
+ * 		Fairul Izham Mohd Mokhlas (eg86 at hotmail.com)
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Collapse Toolbar",
+ToolbarExpand		: "Expand Toolbar",
+
+// Toolbar Items and Context Menu
+Save				: "Simpan",
+NewPage				: "Helaian Baru",
+Preview				: "Prebiu",
+Cut					: "Potong",
+Copy				: "Salin",
+Paste				: "Tampal",
+PasteText			: "Tampal sebagai Text Biasa",
+PasteWord			: "Tampal dari Word",
+Print				: "Cetak",
+SelectAll			: "Pilih Semua",
+RemoveFormat		: "Buang Format",
+InsertLinkLbl		: "Sambungan",
+InsertLink			: "Masukkan/Sunting Sambungan",
+RemoveLink			: "Buang Sambungan",
+Anchor				: "Masukkan/Sunting Pautan",
+InsertImageLbl		: "Gambar",
+InsertImage			: "Masukkan/Sunting Gambar",
+InsertFlashLbl		: "Flash",	//MISSING
+InsertFlash			: "Insert/Edit Flash",	//MISSING
+InsertTableLbl		: "Jadual",
+InsertTable			: "Masukkan/Sunting Jadual",
+InsertLineLbl		: "Garisan",
+InsertLine			: "Masukkan Garisan Membujur",
+InsertSpecialCharLbl: "Huruf Istimewa",
+InsertSpecialChar	: "Masukkan Huruf Istimewa",
+InsertSmileyLbl		: "Smiley",
+InsertSmiley		: "Masukkan Smiley",
+About				: "Tentang FCKeditor",
+Bold				: "Bold",
+Italic				: "Italic",
+Underline			: "Underline",
+StrikeThrough		: "Strike Through",
+Subscript			: "Subscript",
+Superscript			: "Superscript",
+LeftJustify			: "Jajaran Kiri",
+CenterJustify		: "Jajaran Tengah",
+RightJustify		: "Jajaran Kanan",
+BlockJustify		: "Jajaran Blok",
+DecreaseIndent		: "Kurangkan Inden",
+IncreaseIndent		: "Tambahkan Inden",
+Undo				: "Batalkan",
+Redo				: "Ulangkan",
+NumberedListLbl		: "Senarai bernombor",
+NumberedList		: "Masukkan/Sunting Senarai bernombor",
+BulletedListLbl		: "Senarai tidak bernombor",
+BulletedList		: "Masukkan/Sunting Senarai tidak bernombor",
+ShowTableBorders	: "Tunjukkan Border Jadual",
+ShowDetails			: "Tunjukkan Butiran",
+Style				: "Stail",
+FontFormat			: "Format",
+Font				: "Font",
+FontSize			: "Saiz",
+TextColor			: "Warna Text",
+BGColor				: "Warna Latarbelakang",
+Source				: "Sumber",
+Find				: "Cari",
+Replace				: "Ganti",
+SpellCheck			: "Semak Ejaan",
+UniversalKeyboard	: "Papan Kekunci Universal",
+
+Form			: "Borang",
+Checkbox		: "Checkbox",
+RadioButton		: "Butang Radio",
+TextField		: "Text Field",
+Textarea		: "Textarea",
+HiddenField		: "Field Tersembunyi",
+Button			: "Butang",
+SelectionField	: "Field Pilihan",
+ImageButton		: "Butang Bergambar",
+
+// Context Menu
+EditLink			: "Sunting Sambungan",
+InsertRow			: "Masukkan Baris",
+DeleteRows			: "Buangkan Baris",
+InsertColumn		: "Masukkan Lajur",
+DeleteColumns		: "Buangkan Lajur",
+InsertCell			: "Masukkan Sel",
+DeleteCells			: "Buangkan Sel-sel",
+MergeCells			: "Cantumkan Sel-sel",
+SplitCell			: "Bahagikan Sel",
+CellProperties		: "Ciri-ciri Sel",
+TableProperties		: "Ciri-ciri Jadual",
+ImageProperties		: "Ciri-ciri Gambar",
+FlashProperties		: "Flash Properties",	//MISSING
+
+AnchorProp			: "Ciri-ciri Pautan",
+ButtonProp			: "Ciri-ciri Butang",
+CheckboxProp		: "Ciri-ciri Checkbox",
+HiddenFieldProp		: "Ciri-ciri Field Tersembunyi",
+RadioButtonProp		: "Ciri-ciri Butang Radio",
+ImageButtonProp		: "Ciri-ciri Butang Bergambar",
+TextFieldProp		: "Ciri-ciri Text Field",
+SelectionFieldProp	: "Ciri-ciri Selection Field",
+TextareaProp		: "Ciri-ciri Textarea",
+FormProp			: "Ciri-ciri Borang",
+
+FontFormats			: "Normal;Telah Diformat;Alamat;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Perenggan (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "Memproses XHTML. Sila tunggu...",
+Done				: "Siap",
+PasteWordConfirm	: "Text yang anda hendak tampal adalah berasal dari Word. Adakah anda mahu membuang semua format Word sebelum tampal ke dalam text?",
+NotCompatiblePaste	: "Arahan ini bole dilakukan jika anda mempuunyai Internet Explorer version 5.5 atau yang lebih tinggi. Adakah anda hendak tampal text tanpa membuang format Word?",
+UnknownToolbarItem	: "Toolbar item tidak diketahui\"%1\"",
+UnknownCommand		: "Arahan tidak diketahui \"%1\"",
+NotImplemented		: "Arahan tidak terdapat didalam sistem",
+UnknownToolbarSet	: "Set toolbar \"%1\" tidak wujud",
+NoActiveX			: "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Batal",
+DlgBtnClose			: "Tutup",
+DlgBtnBrowseServer	: "Browse Server",
+DlgAdvancedTag		: "Advanced",
+DlgOpOther			: "&lt;Lain-lain&gt;",
+DlgInfoTab			: "Info",	//MISSING
+DlgAlertUrl			: "Please insert the URL",	//MISSING
+
+// General Dialogs Labels
+DlgGenNotSet		: "&lt;tidak di set&gt;",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Arah Tulisan",
+DlgGenLangDirLtr	: "Kiri ke Kanan (LTR)",
+DlgGenLangDirRtl	: "Kanan ke Kiri (RTL)",
+DlgGenLangCode		: "Kod Bahasa",
+DlgGenAccessKey		: "Kunci Akses",
+DlgGenName			: "Nama",
+DlgGenTabIndex		: "Indeks Tab ",
+DlgGenLongDescr		: "Butiran Panjang URL",
+DlgGenClass			: "Kelas-kelas Stylesheet",
+DlgGenTitle			: "Tajuk Makluman",
+DlgGenContType		: "Jenis Kandungan Makluman",
+DlgGenLinkCharset	: "Linked Resource Charset",
+DlgGenStyle			: "Stail",
+
+// Image Dialog
+DlgImgTitle			: "Ciri-ciri Imej",
+DlgImgInfoTab		: "Info Imej",
+DlgImgBtnUpload		: "Hantar ke Server",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Muat Naik",
+DlgImgAlt			: "Text Alternatif",
+DlgImgWidth			: "Lebar",
+DlgImgHeight		: "Tinggi",
+DlgImgLockRatio		: "Tetapkan Nisbah",
+DlgBtnResetSize		: "Saiz Set Semula",
+DlgImgBorder		: "Border",
+DlgImgHSpace		: "Ruang Melintang",
+DlgImgVSpace		: "Ruang Menegak",
+DlgImgAlign			: "Jajaran",
+DlgImgAlignLeft		: "Kiri",
+DlgImgAlignAbsBottom: "Bawah Mutlak",
+DlgImgAlignAbsMiddle: "Pertengahan Mutlak",
+DlgImgAlignBaseline	: "Garis Dasar",
+DlgImgAlignBottom	: "Bawah",
+DlgImgAlignMiddle	: "Pertengahan",
+DlgImgAlignRight	: "Kanan",
+DlgImgAlignTextTop	: "Atas Text",
+DlgImgAlignTop		: "Atas",
+DlgImgPreview		: "Prebiu",
+DlgImgAlertUrl		: "Sila taip URL untuk fail gambar",
+DlgImgLinkTab		: "Sambungan",
+
+// Flash Dialog
+DlgFlashTitle		: "Flash Properties",	//MISSING
+DlgFlashChkPlay		: "Auto Play",	//MISSING
+DlgFlashChkLoop		: "Loop",	//MISSING
+DlgFlashChkMenu		: "Enable Flash Menu",	//MISSING
+DlgFlashScale		: "Scale",	//MISSING
+DlgFlashScaleAll	: "Show all",	//MISSING
+DlgFlashScaleNoBorder	: "No Border",	//MISSING
+DlgFlashScaleFit	: "Exact Fit",	//MISSING
+
+// Link Dialog
+DlgLnkWindowTitle	: "Sambungan",
+DlgLnkInfoTab		: "Butiran Sambungan",
+DlgLnkTargetTab		: "Sasaran",
+
+DlgLnkType			: "Jenis Sambungan",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Pautan dalam muka surat ini",
+DlgLnkTypeEMail		: "E-Mail",
+DlgLnkProto			: "Protokol",
+DlgLnkProtoOther	: "&lt;lain-lain&gt;",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Sila pilih pautan",
+DlgLnkAnchorByName	: "dengan menggunakan nama pautan",
+DlgLnkAnchorById	: "dengan menggunakan ID elemen",
+DlgLnkNoAnchors		: "&lt;Tiada pautan terdapat dalam dokumen ini&gt;",
+DlgLnkEMail			: "Alamat E-Mail",
+DlgLnkEMailSubject	: "Subjek Mesej",
+DlgLnkEMailBody		: "Isi Kandungan Mesej",
+DlgLnkUpload		: "Muat Naik",
+DlgLnkBtnUpload		: "Hantar ke Server",
+
+DlgLnkTarget		: "Sasaran",
+DlgLnkTargetFrame	: "&lt;bingkai&gt;",
+DlgLnkTargetPopup	: "&lt;tetingkap popup&gt;",
+DlgLnkTargetBlank	: "Tetingkap Baru (_blank)",
+DlgLnkTargetParent	: "Tetingkap Parent (_parent)",
+DlgLnkTargetSelf	: "Tetingkap yang Sama (_self)",
+DlgLnkTargetTop		: "Tetingkap yang paling atas (_top)",
+DlgLnkTargetFrameName	: "Nama Bingkai Sasaran",
+DlgLnkPopWinName	: "Nama Tetingkap Popup",
+DlgLnkPopWinFeat	: "Ciri Tetingkap Popup",
+DlgLnkPopResize		: "Saiz bolehubah",
+DlgLnkPopLocation	: "Bar Lokasi",
+DlgLnkPopMenu		: "Bar Menu",
+DlgLnkPopScroll		: "Bar-bar skrol",
+DlgLnkPopStatus		: "Bar Status",
+DlgLnkPopToolbar	: "Toolbar",
+DlgLnkPopFullScrn	: "Skrin Penuh (IE)",
+DlgLnkPopDependent	: "Bergantungan (Netscape)",
+DlgLnkPopWidth		: "Lebar",
+DlgLnkPopHeight		: "Tinggi",
+DlgLnkPopLeft		: "Posisi Kiri",
+DlgLnkPopTop		: "Posisi Atas",
+
+DlnLnkMsgNoUrl		: "Sila taip sambungan URL",
+DlnLnkMsgNoEMail	: "Sila taip alamat e-mail",
+DlnLnkMsgNoAnchor	: "Sila pilih pautan berkenaaan",
+
+// Color Dialog
+DlgColorTitle		: "Pilihan Warna",
+DlgColorBtnClear	: "Nyahwarna",
+DlgColorHighlight	: "Terang",
+DlgColorSelected	: "Dipilih",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Masukkan Smiley",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Sila pilih huruf istimewa",
+
+// Table Dialog
+DlgTableTitle		: "Ciri-ciri Jadual",
+DlgTableRows		: "Barisan",
+DlgTableColumns		: "Jaluran",
+DlgTableBorder		: "Saiz Border",
+DlgTableAlign		: "Penjajaran",
+DlgTableAlignNotSet	: "<Tidak diset>",
+DlgTableAlignLeft	: "Kiri",
+DlgTableAlignCenter	: "Tengah",
+DlgTableAlignRight	: "Kanan",
+DlgTableWidth		: "Lebar",
+DlgTableWidthPx		: "piksel-piksel",
+DlgTableWidthPc		: "peratus",
+DlgTableHeight		: "Tinggi",
+DlgTableCellSpace	: "Ruangan Antara Sel",
+DlgTableCellPad		: "Tambahan Ruang Sel",
+DlgTableCaption		: "Keterangan",
+
+// Table Cell Dialog
+DlgCellTitle		: "Ciri-ciri Sel",
+DlgCellWidth		: "Lebar",
+DlgCellWidthPx		: "piksel-piksel",
+DlgCellWidthPc		: "peratus",
+DlgCellHeight		: "Tinggi",
+DlgCellWordWrap		: "Mengulung Perkataan",
+DlgCellWordWrapNotSet	: "&lt;Tidak diset&gt;",
+DlgCellWordWrapYes	: "Ya",
+DlgCellWordWrapNo	: "Tidak",
+DlgCellHorAlign		: "Jajaran Membujur",
+DlgCellHorAlignNotSet	: "&lt;Tidak diset&gt;",
+DlgCellHorAlignLeft	: "Kiri",
+DlgCellHorAlignCenter	: "Tengah",
+DlgCellHorAlignRight: "Kanan",
+DlgCellVerAlign		: "Jajaran Menegak",
+DlgCellVerAlignNotSet	: "&lt;Tidak diset&gt;",
+DlgCellVerAlignTop	: "Atas",
+DlgCellVerAlignMiddle	: "Tengah",
+DlgCellVerAlignBottom	: "Bawah",
+DlgCellVerAlignBaseline	: "Garis Dasar",
+DlgCellRowSpan		: "Penggunaan Baris",
+DlgCellCollSpan		: "Penggunaan Lajur",
+DlgCellBackColor	: "Warna Latarbelakang",
+DlgCellBorderColor	: "Warna Border",
+DlgCellBtnSelect	: "Pilih...",
+
+// Find Dialog
+DlgFindTitle		: "Carian",
+DlgFindFindBtn		: "Cari",
+DlgFindNotFoundMsg	: "Text yang dicari tidak dijumpai.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Gantian",
+DlgReplaceFindLbl		: "Perkataan yang dicari:",
+DlgReplaceReplaceLbl	: "Diganti dengan:",
+DlgReplaceCaseChk		: "Padanan case huruf",
+DlgReplaceReplaceBtn	: "Ganti",
+DlgReplaceReplAllBtn	: "Ganti semua",
+DlgReplaceWordChk		: "Padana Keseluruhan perkataan",
+
+// Paste Operations / Dialog
+PasteErrorPaste	: "Keselamatan perisian browser anda tidak membenarkan operasi tampalan text/imej. Sila gunakan papan kekunci (Ctrl+V).",
+PasteErrorCut	: "Keselamatan perisian browser anda tidak membenarkan operasi suntingan text/imej. Sila gunakan papan kekunci (Ctrl+X).",
+PasteErrorCopy	: "Keselamatan perisian browser anda tidak membenarkan operasi salinan text/imej. Sila gunakan papan kekunci (Ctrl+C).",
+
+PasteAsText		: "Tampal sebagai text biasa",
+PasteFromWord	: "Tampal dari perisian \"Word\"",
+
+DlgPasteMsg2	: "Please paste inside the following box using the keyboard (<STRONG>Ctrl+V</STRONG>) and hit <STRONG>OK</STRONG>.",	//MISSING
+DlgPasteIgnoreFont		: "Ignore Font Face definitions",	//MISSING
+DlgPasteRemoveStyles	: "Remove Styles definitions",	//MISSING
+DlgPasteCleanBox		: "Clean Up Box",	//MISSING
+
+
+// Color Picker
+ColorAutomatic	: "Otomatik",
+ColorMoreColors	: "Warna lain-lain...",
+
+// Document Properties
+DocProps		: "Ciri-ciri dokumen",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Ciri-ciri Pautan",
+DlgAnchorName		: "Nama Pautan",
+DlgAnchorErrorName	: "Sila taip nama pautan",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Tidak terdapat didalam kamus",
+DlgSpellChangeTo		: "Tukarkan kepada",
+DlgSpellBtnIgnore		: "Biar",
+DlgSpellBtnIgnoreAll	: "Biarkan semua",
+DlgSpellBtnReplace		: "Ganti",
+DlgSpellBtnReplaceAll	: "Gantikan Semua",
+DlgSpellBtnUndo			: "Batalkan",
+DlgSpellNoSuggestions	: "- Tiada cadangan -",
+DlgSpellProgress		: "Pemeriksaan ejaan sedang diproses...",
+DlgSpellNoMispell		: "Pemeriksaan ejaan siap: Tiada salah ejaan",
+DlgSpellNoChanges		: "Pemeriksaan ejaan siap: Tiada perkataan diubah",
+DlgSpellOneChange		: "Pemeriksaan ejaan siap: Satu perkataan telah diubah",
+DlgSpellManyChanges		: "Pemeriksaan ejaan siap: %1 perkataan diubah",
+
+IeSpellDownload			: "Pemeriksa ejaan tidak dipasang. Adakah anda mahu muat turun sekarang?",
+
+// Button Dialog
+DlgButtonText	: "Teks (Nilai)",
+DlgButtonType	: "Jenis",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Nama",
+DlgCheckboxValue	: "Nilai",
+DlgCheckboxSelected	: "Dipilih",
+
+// Form Dialog
+DlgFormName		: "Nama",
+DlgFormAction	: "Tindakan borang",
+DlgFormMethod	: "Cara borang dihantar",
+
+// Select Field Dialog
+DlgSelectName		: "Nama",
+DlgSelectValue		: "Nilai",
+DlgSelectSize		: "Saiz",
+DlgSelectLines		: "garisan",
+DlgSelectChkMulti	: "Benarkan pilihan pelbagai",
+DlgSelectOpAvail	: "Pilihan sediada",
+DlgSelectOpText		: "Teks",
+DlgSelectOpValue	: "Nilai",
+DlgSelectBtnAdd		: "Tambah Pilihan",
+DlgSelectBtnModify	: "Ubah Pilihan",
+DlgSelectBtnUp		: "Naik ke atas",
+DlgSelectBtnDown	: "Turun ke bawah",
+DlgSelectBtnSetValue : "Set sebagai nilai terpilih",
+DlgSelectBtnDelete	: "Padam",
+
+// Textarea Dialog
+DlgTextareaName	: "Nama",
+DlgTextareaCols	: "Lajur",
+DlgTextareaRows	: "Baris",
+
+// Text Field Dialog
+DlgTextName			: "Nama",
+DlgTextValue		: "Nilai",
+DlgTextCharWidth	: "Lebar isian",
+DlgTextMaxChars		: "Isian Maksimum",
+DlgTextType			: "Jenis",
+DlgTextTypeText		: "Teks",
+DlgTextTypePass		: "Kata Laluan",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Nama",
+DlgHiddenValue	: "Nilai",
+
+// Bulleted List Dialog
+BulletedListProp	: "Ciri-ciri senarai berpeluru",
+NumberedListProp	: "Ciri-ciri senarai bernombor",
+DlgLstType			: "Jenis",
+DlgLstTypeCircle	: "Circle",
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "Square",
+DlgLstTypeNumbers	: "Nombor-nombor (1, 2, 3)",
+DlgLstTypeLCase		: "Huruf-huruf kecil (a, b, c)",
+DlgLstTypeUCase		: "Huruf-huruf besar (A, B, C)",
+DlgLstTypeSRoman	: "Nombor Roman Kecil (i, ii, iii)",
+DlgLstTypeLRoman	: "Nombor Roman Besar (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Umum",
+DlgDocBackTab		: "Latarbelakang",
+DlgDocColorsTab		: "Warna dan margin",
+DlgDocMetaTab		: "Data Meta",
+
+DlgDocPageTitle		: "Tajuk Muka Surat",
+DlgDocLangDir		: "Arah Tulisan",
+DlgDocLangDirLTR	: "Kiri ke Kanan (LTR)",
+DlgDocLangDirRTL	: "Kanan ke Kiri (RTL)",
+DlgDocLangCode		: "Kod Bahasa",
+DlgDocCharSet		: "Enkod Set Huruf",
+DlgDocCharSetOther	: "Enkod Set Huruf yang Lain",
+
+DlgDocDocType		: "Jenis Kepala Dokumen",
+DlgDocDocTypeOther	: "Jenis Kepala Dokumen yang Lain",
+DlgDocIncXHTML		: "Masukkan pemula kod XHTML",
+DlgDocBgColor		: "Warna Latarbelakang",
+DlgDocBgImage		: "URL Gambar Latarbelakang",
+DlgDocBgNoScroll	: "Imej Latarbelakang tanpa Skrol",
+DlgDocCText			: "Teks",
+DlgDocCLink			: "Sambungan",
+DlgDocCVisited		: "Sambungan telah Dilawati",
+DlgDocCActive		: "Sambungan Aktif",
+DlgDocMargins		: "Margin Muka Surat",
+DlgDocMaTop			: "Atas",
+DlgDocMaLeft		: "Kiri",
+DlgDocMaRight		: "Kanan",
+DlgDocMaBottom		: "Bawah",
+DlgDocMeIndex		: "Kata Kunci Indeks Dokumen (dipisahkan oleh koma)",
+DlgDocMeDescr		: "Keterangan Dokumen",
+DlgDocMeAuthor		: "Penulis",
+DlgDocMeCopy		: "Hakcipta",
+DlgDocPreview		: "Prebiu",
+
+// Templates Dialog
+Templates			: "Templat",
+DlgTemplatesTitle	: "Templat Kandungan",
+DlgTemplatesSelMsg	: "Sila pilih templat untuk dibuka oleh editor<br>(kandungan sebenar akan hilang):",
+DlgTemplatesLoading	: "Senarai Templat sedang diproses. Sila Tunggu...",
+DlgTemplatesNoTpl	: "(Tiada Templat Disimpan)",
+
+// About Dialog
+DlgAboutAboutTab	: "Tentang",
+DlgAboutBrowserInfoTab	: "Maklumat Perisian Browser",
+DlgAboutVersion		: "versi",
+DlgAboutLicense		: "Perlesenan dibawah terma GNU Lesser General Public License",
+DlgAboutInfo		: "Untuk maklumat lanjut sila pergi ke"
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/lang/nl.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/lang/nl.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/lang/nl.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,475 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: nl.js
+ * 	Dutch language file.
+ * 
+ * File Authors:
+ * 		Bram Crins (bcrins at realdesign.nl)
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Menubalk inklappen",
+ToolbarExpand		: "Menubalk uitklappen",
+
+// Toolbar Items and Context Menu
+Save				: "Opslaan",
+NewPage				: "Nieuwe pagina",
+Preview				: "Voorbeeld",
+Cut					: "Knippen",
+Copy				: "Kopiëren",
+Paste				: "Plakken",
+PasteText			: "Plakken als pure tekst",
+PasteWord			: "Plakken Word-gegevens",
+Print				: "Printen",
+SelectAll			: "Alles selecteren",
+RemoveFormat		: "Verwijderen opmaak",
+InsertLinkLbl		: "Link",
+InsertLink			: "Invoegen/Wijzigen link",
+RemoveLink			: "Verwijderen link",
+Anchor				: "Interne link",
+InsertImageLbl		: "Afbeelding",
+InsertImage			: "Invoegen/Wijzigen afbeelding",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Invoegen/Wijzigen Flash",
+InsertTableLbl		: "Tabel",
+InsertTable			: "Invoegen/Wijzigen tabel",
+InsertLineLbl		: "Lijn",
+InsertLine			: "Invoegen horizontale lijn",
+InsertSpecialCharLbl: "Speciale tekens",
+InsertSpecialChar	: "Speciaal teken invoegen",
+InsertSmileyLbl		: "Emoticon",
+InsertSmiley		: "Emoticon invoegen",
+About				: "Over FCKeditor",
+Bold				: "Vet",
+Italic				: "Schuingedrukt",
+Underline			: "Onderstreept",
+StrikeThrough		: "Doorhalen",
+Subscript			: "Subscript",
+Superscript			: "Superscript",
+LeftJustify			: "Links uitlijnen",
+CenterJustify		: "Centreren",
+RightJustify		: "Rechts uitlijnen",
+BlockJustify		: "Uitvullen",
+DecreaseIndent		: "Oplopenend",
+IncreaseIndent		: "Aflopend",
+Undo				: "Ongedaan maken",
+Redo				: "Opnieuw",
+NumberedListLbl		: "Genummerde lijst",
+NumberedList		: "Invoegen/Verwijderen genummerde lijst",
+BulletedListLbl		: "Opsomming",
+BulletedList		: "Invoegen/Verwijderen opsomming",
+ShowTableBorders	: "Randen tabel weergeven",
+ShowDetails			: "Details weergeven",
+Style				: "Stijl",
+FontFormat			: "Opmaak",
+Font				: "Lettertype",
+FontSize			: "Grootte",
+TextColor			: "Tekst kleur",
+BGColor				: "Achtergrond kleur",
+Source				: "Code",
+Find				: "Zoeken",
+Replace				: "Vervangen",
+SpellCheck			: "Spellings controle",
+UniversalKeyboard	: "Universeel toetsenbord",
+
+Form			: "Formulier",
+Checkbox		: "Aanvink vakje",
+RadioButton		: "Selectie vakje",
+TextField		: "Tekstveld",
+Textarea		: "Tekstveld (groot)",
+HiddenField		: "Verborgen veld",
+Button			: "Knop",
+SelectionField	: "Selectieveld",
+ImageButton		: "Grafische knop",
+
+// Context Menu
+EditLink			: "Link wijzigen",
+InsertRow			: "Rij invoegen",
+DeleteRows			: "Rijen verwijderen",
+InsertColumn		: "Kolom invoegen",
+DeleteColumns		: "Kolommen verwijderen",
+InsertCell			: "Cel",
+DeleteCells			: "Cellen verwijderen",
+MergeCells			: "Cellen samenvoegen",
+SplitCell			: "Cellen splitsen",
+CellProperties		: "Eigenschappen cel",
+TableProperties		: "Eigenschappen tabel",
+ImageProperties		: "Eigenschappen afbeelding",
+FlashProperties		: "Eigenschappen Flash",
+
+AnchorProp			: "Eigenschappen interne link",
+ButtonProp			: "Eigenschappen knop",
+CheckboxProp		: "Eigenschappen aanvink vakje",
+HiddenFieldProp		: "Eigenschappen verborgen veld",
+RadioButtonProp		: "Eigenschappen selectie vakje",
+ImageButtonProp		: "Eigenschappen grafische knop",
+TextFieldProp		: "Eigenschappen tekstveld",
+SelectionFieldProp	: "Eigenschappen selectieveld",
+TextareaProp		: "Eigenschappen tekstveld (groot)",
+FormProp			: "Eigenschappen formulier",
+
+FontFormats			: "Normaal;Met opmaak;Adres;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6",
+
+// Alerts and Messages
+ProcessingXHTML		: "Verwerken XHTML. Even geduld aub...",
+Done				: "Klaar",
+PasteWordConfirm	: "De tekst die je plakt lijkt gekopiëerd uit Word. Wil je de tekst opschonen voordat er geplakt wordt?",
+NotCompatiblePaste	: "Deze opdracht is beschikbaar voor Internet Explorer versie 5.5 of hoger. Wil je plakken zonder opschonen?",
+UnknownToolbarItem	: "Onbekende item op menubalk \"%1\"",
+UnknownCommand		: "Onbekende opdracht naam \"%1\"",
+NotImplemented		: "Opdracht niet geïmplementeerd.",
+UnknownToolbarSet	: "Menubalk \"%1\" bestaat niet.",
+NoActiveX			: "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Annuleren",
+DlgBtnClose			: "Afsluiten",
+DlgBtnBrowseServer	: "Bladeren op server",
+DlgAdvancedTag		: "Geavanceerd",
+DlgOpOther			: "&lt;Anders&gt;",
+DlgInfoTab			: "Informatie",
+DlgAlertUrl			: "Geef URL op",
+
+// General Dialogs Labels
+DlgGenNotSet		: "&lt;niet ingevuld&gt;",
+DlgGenId			: "Kenmerk",
+DlgGenLangDir		: "Richting taal",
+DlgGenLangDirLtr	: "Links naar Rechts (LTR)",
+DlgGenLangDirRtl	: "Rechts naar Links (RTL)",
+DlgGenLangCode		: "Code taal",
+DlgGenAccessKey		: "Toegangs toets",
+DlgGenName			: "Naam",
+DlgGenTabIndex		: "Tab Index",
+DlgGenLongDescr		: "Lange omschrijving URL",
+DlgGenClass			: "Stylesheet Klassen",
+DlgGenTitle			: "Advisory titel",
+DlgGenContType		: "Advisory Content type",
+DlgGenLinkCharset	: "Gelinkte bron karakterset",
+DlgGenStyle			: "Stijl",
+
+// Image Dialog
+DlgImgTitle			: "Eigenschappen afbeelding",
+DlgImgInfoTab		: "Informatie afbeelding",
+DlgImgBtnUpload		: "Naar server verzenden",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Upload",
+DlgImgAlt			: "Alternatieve tekst",
+DlgImgWidth			: "Breedte",
+DlgImgHeight		: "Hoogte",
+DlgImgLockRatio		: "Afmetingen vergrendelen",
+DlgBtnResetSize		: "Afmetingen resetten",
+DlgImgBorder		: "Rand",
+DlgImgHSpace		: "HSpace",
+DlgImgVSpace		: "VSpace",
+DlgImgAlign			: "Uitlijning",
+DlgImgAlignLeft		: "Links",
+DlgImgAlignAbsBottom: "Abs beneden",
+DlgImgAlignAbsMiddle: "Abs midden",
+DlgImgAlignBaseline	: "Basislijn",
+DlgImgAlignBottom	: "Beneden",
+DlgImgAlignMiddle	: "Midden",
+DlgImgAlignRight	: "Rechts",
+DlgImgAlignTextTop	: "Tekst boven",
+DlgImgAlignTop		: "Boven",
+DlgImgPreview		: "Voorbeeld",
+DlgImgAlertUrl		: "Geeft de URL van de afbeelding",
+DlgImgLinkTab		: "Link",
+
+// Flash Dialog
+DlgFlashTitle		: "Eigenschappen Flash",
+DlgFlashChkPlay		: "Automatisch afspelen",
+DlgFlashChkLoop		: "Herhalen",
+DlgFlashChkMenu		: "Flaschmenu\'s inschakelen",
+DlgFlashScale		: "Verschalen",
+DlgFlashScaleAll	: "Alles tonen",
+DlgFlashScaleNoBorder	: "Geen rand",
+DlgFlashScaleFit	: "Precies passen",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Link",
+DlgLnkInfoTab		: "Informatie link",
+DlgLnkTargetTab		: "Doel",
+
+DlgLnkType			: "Type link",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Interne link in pagina",
+DlgLnkTypeEMail		: "E-Mail",
+DlgLnkProto			: "Protocol",
+DlgLnkProtoOther	: "&lt;anders&gt;",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Kies een interne link",
+DlgLnkAnchorByName	: "Op naam interne link",
+DlgLnkAnchorById	: "Op kenmerk interne link",
+DlgLnkNoAnchors		: "&lt;Geen interne links in document gevonden.&gt;",
+DlgLnkEMail			: "E-Mail adres",
+DlgLnkEMailSubject	: "Onderwerp bericht",
+DlgLnkEMailBody		: "Inhoud bericht",
+DlgLnkUpload		: "Upload",
+DlgLnkBtnUpload		: "Naar de server versturen.",
+
+DlgLnkTarget		: "Doel",
+DlgLnkTargetFrame	: "&lt;frame&gt;",
+DlgLnkTargetPopup	: "&lt;popup window&gt;",
+DlgLnkTargetBlank	: "Nieuw venster (_blank)",
+DlgLnkTargetParent	: "Ouder venster (_parent)",
+DlgLnkTargetSelf	: "Zelfde venster (_self)",
+DlgLnkTargetTop		: "Browser venster (_top)",
+DlgLnkTargetFrameName	: "Naam doelframe",
+DlgLnkPopWinName	: "Naam popup venster",
+DlgLnkPopWinFeat	: "Instellingen popup venster",
+DlgLnkPopResize		: "Grootte wijzigen",
+DlgLnkPopLocation	: "Locatie menu",
+DlgLnkPopMenu		: "Menu balk",
+DlgLnkPopScroll		: "Schuifbalken",
+DlgLnkPopStatus		: "Statusbalk",
+DlgLnkPopToolbar	: "Menubalk",
+DlgLnkPopFullScrn	: "Volledig scherm (IE)",
+DlgLnkPopDependent	: "Afhankelijk (Netscape)",
+DlgLnkPopWidth		: "Breedte",
+DlgLnkPopHeight		: "Hoogte",
+DlgLnkPopLeft		: "Positie links",
+DlgLnkPopTop		: "Positie top",
+
+DlnLnkMsgNoUrl		: "Geeft de link van de URL",
+DlnLnkMsgNoEMail	: "Geef een e-mail adres",
+DlnLnkMsgNoAnchor	: "Selecteer een interne link",
+
+// Color Dialog
+DlgColorTitle		: "Selecteer kleur",
+DlgColorBtnClear	: "Opschonen",
+DlgColorHighlight	: "Accentueren",
+DlgColorSelected	: "Geselecteerd",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Invoegen smiley",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Selecteer speciaal karakter",
+
+// Table Dialog
+DlgTableTitle		: "Eigenschappen tabel",
+DlgTableRows		: "Rijen",
+DlgTableColumns		: "Kolommen",
+DlgTableBorder		: "Breedte rand",
+DlgTableAlign		: "Uitlijning",
+DlgTableAlignNotSet	: "<Niet ingegven>",
+DlgTableAlignLeft	: "Links",
+DlgTableAlignCenter	: "Centreren",
+DlgTableAlignRight	: "Rechts",
+DlgTableWidth		: "Breedte",
+DlgTableWidthPx		: "pixels",
+DlgTableWidthPc		: "procent",
+DlgTableHeight		: "Hoogte",
+DlgTableCellSpace	: "Afstand tussen cellen",
+DlgTableCellPad		: "Afstand vanaf rand cel",
+DlgTableCaption		: "Naam",
+
+// Table Cell Dialog
+DlgCellTitle		: "Eigenschappen cel",
+DlgCellWidth		: "Breedte",
+DlgCellWidthPx		: "pixels",
+DlgCellWidthPc		: "procent",
+DlgCellHeight		: "Hoogte",
+DlgCellWordWrap		: "Afbreken woorden",
+DlgCellWordWrapNotSet	: "<Niet ingegeven>",
+DlgCellWordWrapYes	: "Ja",
+DlgCellWordWrapNo	: "Nee",
+DlgCellHorAlign		: "Horizontale uitlijning",
+DlgCellHorAlignNotSet	: "<Niet ingegeven>",
+DlgCellHorAlignLeft	: "Links",
+DlgCellHorAlignCenter	: "Centreren",
+DlgCellHorAlignRight: "Rechts",
+DlgCellVerAlign		: "Verticale uitlijning",
+DlgCellVerAlignNotSet	: "<Niet ingegeven>",
+DlgCellVerAlignTop	: "Boven",
+DlgCellVerAlignMiddle	: "Midden",
+DlgCellVerAlignBottom	: "Beneden",
+DlgCellVerAlignBaseline	: "Basislijn",
+DlgCellRowSpan		: "Overkoepeling rijen",
+DlgCellCollSpan		: "Overkoepeling kolommen",
+DlgCellBackColor	: "Kleur achterrond",
+DlgCellBorderColor	: "Kleur rand",
+DlgCellBtnSelect	: "Selecteren...",
+
+// Find Dialog
+DlgFindTitle		: "Vinden",
+DlgFindFindBtn		: "Vinden",
+DlgFindNotFoundMsg	: "De opgegeven tekst is niet gevonden.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Vervangen",
+DlgReplaceFindLbl		: "Zoeken naar:",
+DlgReplaceReplaceLbl	: "Vervangen met:",
+DlgReplaceCaseChk		: "Hoofdlettergevoelig",
+DlgReplaceReplaceBtn	: "Vervangen",
+DlgReplaceReplAllBtn	: "Alles vervangen",
+DlgReplaceWordChk		: "Hele woord moet voorkomen",
+
+// Paste Operations / Dialog
+PasteErrorPaste	: "De beveiligingsinstelling van de browser verhinderen het automatisch plakken. Gebruik Ctrl+V op het toetsenbord.",
+PasteErrorCut	: "De beveiligingsinstelling van de browser verhinderen het automatisch knippen. Gebruik Ctrl+X op het toetsenbord.",
+PasteErrorCopy	: "De beveiligingsinstelling van de browser verhinderen het automatisch kopieëren. Gebruik Ctrl+C op het toetsenbord.",
+
+PasteAsText		: "Plakken als platte tekst",
+PasteFromWord	: "Plakken van Word-gegevens",
+
+DlgPasteMsg2	: "Plak de tekst in de volgende box gebruikmakend van je toetstenbord (<STRONG>Ctrl+V</STRONG>) en kies <STRONG>OK</STRONG>.",
+DlgPasteIgnoreFont		: "Negeer Font Face definities",
+DlgPasteRemoveStyles	: "Verwijder Styles definities",
+DlgPasteCleanBox		: "Box opschonen",
+
+
+// Color Picker
+ColorAutomatic	: "Automatisch",
+ColorMoreColors	: "Meer kleuren...",
+
+// Document Properties
+DocProps		: "Eigenschappen document",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Eigenschappen interne link",
+DlgAnchorName		: "Naam interne link",
+DlgAnchorErrorName	: "Geef de naam van de interne link op",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Niet in het woordenboek",
+DlgSpellChangeTo		: "Wijzig in",
+DlgSpellBtnIgnore		: "Negeren",
+DlgSpellBtnIgnoreAll	: "Alles negeren",
+DlgSpellBtnReplace		: "Vervangen",
+DlgSpellBtnReplaceAll	: "Alles vervangen",
+DlgSpellBtnUndo			: "Ongedaan maken",
+DlgSpellNoSuggestions	: "-Geen suggesties-",
+DlgSpellProgress		: "Bezig met spellingscontrole...",
+DlgSpellNoMispell		: "Klaar met spellingscontrole: Geen fouten gevonden",
+DlgSpellNoChanges		: "Klaar met spellingscontrole: Geen woorden aangepast",
+DlgSpellOneChange		: "Klaar met spellingscontrole: 1 woord aangepast",
+DlgSpellManyChanges		: "Klaar met spellingscontrole: %1 woorden aangepast",
+
+IeSpellDownload			: "Spellingscontrole niet geïnstalleerd. Wil je deze nu downloaden?",
+
+// Button Dialog
+DlgButtonText	: "Tekst (waarde)",
+DlgButtonType	: "Soort",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Naam",
+DlgCheckboxValue	: "Waarde",
+DlgCheckboxSelected	: "Geselecteerd",
+
+// Form Dialog
+DlgFormName		: "Naam",
+DlgFormAction	: "Actie",
+DlgFormMethod	: "Methode",
+
+// Select Field Dialog
+DlgSelectName		: "Naam",
+DlgSelectValue		: "Waarde",
+DlgSelectSize		: "Grootte",
+DlgSelectLines		: "Regels",
+DlgSelectChkMulti	: "Gecombineerde selecties toestaan",
+DlgSelectOpAvail	: "Beschikbare opties",
+DlgSelectOpText		: "Tekst",
+DlgSelectOpValue	: "Waarde",
+DlgSelectBtnAdd		: "Toevoegen",
+DlgSelectBtnModify	: "Wijzigen",
+DlgSelectBtnUp		: "Omhoog",
+DlgSelectBtnDown	: "Omlaag",
+DlgSelectBtnSetValue : "Als geselecteerde waarde instellen",
+DlgSelectBtnDelete	: "Verwijderen",
+
+// Textarea Dialog
+DlgTextareaName	: "Naam",
+DlgTextareaCols	: "Kolommen",
+DlgTextareaRows	: "Rijen",
+
+// Text Field Dialog
+DlgTextName			: "Naam",
+DlgTextValue		: "Waarde",
+DlgTextCharWidth	: "Breedte karakter",
+DlgTextMaxChars		: "Maximum aantal karakters",
+DlgTextType			: "Soort",
+DlgTextTypeText		: "Tekst",
+DlgTextTypePass		: "Wachtwoord",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Naam",
+DlgHiddenValue	: "Waarde",
+
+// Bulleted List Dialog
+BulletedListProp	: "Eigenschappen opsommingslijst",
+NumberedListProp	: "Eigenschappen genummerde opsommingslijst",
+DlgLstType			: "Soort",
+DlgLstTypeCircle	: "Cirkel",
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "Vierkant",
+DlgLstTypeNumbers	: "Nummerks (1, 2, 3)",
+DlgLstTypeLCase		: "Kleine letters (a, b, c)",
+DlgLstTypeUCase		: "Hoofdletters (A, B, C)",
+DlgLstTypeSRoman	: "Klein romeins (i, ii, iii)",
+DlgLstTypeLRoman	: "Groot romeins (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Algemeen",
+DlgDocBackTab		: "Achtergrond",
+DlgDocColorsTab		: "Kleuring en marges",
+DlgDocMetaTab		: "Meta data",
+
+DlgDocPageTitle		: "Titel pagina",
+DlgDocLangDir		: "Richting taal",
+DlgDocLangDirLTR	: "Links naar rechts",
+DlgDocLangDirRTL	: "Rechts naar links",
+DlgDocLangCode		: "Taalcode",
+DlgDocCharSet		: "Karakterset-encoding",
+DlgDocCharSetOther	: "Andere karakterset-encoding",
+
+DlgDocDocType		: "Opschrift document soort",
+DlgDocDocTypeOther	: "Ander opschrift document soort",
+DlgDocIncXHTML		: "XHTML declaraties meenemen",
+DlgDocBgColor		: "Achtergrond kleur",
+DlgDocBgImage		: "URL achtergrondplaatje",
+DlgDocBgNoScroll	: "Gefixeerde achtergrond",
+DlgDocCText			: "Tekst",
+DlgDocCLink			: "Link",
+DlgDocCVisited		: "Bezochte link",
+DlgDocCActive		: "Active link",
+DlgDocMargins		: "Afstandsinstellingen document",
+DlgDocMaTop			: "Top",
+DlgDocMaLeft		: "Links",
+DlgDocMaRight		: "Rechts",
+DlgDocMaBottom		: "Bodem",
+DlgDocMeIndex		: "Trefwoorden betreffende document (komma gescheiden)",
+DlgDocMeDescr		: "Beschrijving document",
+DlgDocMeAuthor		: "Auteur",
+DlgDocMeCopy		: "Copyright",
+DlgDocPreview		: "Voorbeeld",
+
+// Templates Dialog
+Templates			: "Sjablonen",
+DlgTemplatesTitle	: "Inhoud sjabonen",
+DlgTemplatesSelMsg	: "Selecteer een sjabloon die in de editor geopend moet worden. (De actuele inhoud gaat verloren.):",
+DlgTemplatesLoading	: "Bezig met laden sjabonen. Even geduld aub...",
+DlgTemplatesNoTpl	: "(Geen sjablonen gedefiniëerd)",
+
+// About Dialog
+DlgAboutAboutTab	: "Over",
+DlgAboutBrowserInfoTab	: "Browser informatie",
+DlgAboutVersion		: "Versie",
+DlgAboutLicense		: "Gelicenceerd onder de condities van de GNU Lesser General Public License",
+DlgAboutInfo		: "Voor meer informatie ga naar "
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/lang/no.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/lang/no.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/lang/no.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,475 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: no.js
+ * 	Norwegian language file.
+ * 
+ * File Authors:
+ * 		Martin Kronstad (www.siteman.no) (martin.kronstad at broadpark.no)
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Skjul verktøylinje",
+ToolbarExpand		: "Vis verktøylinje",
+
+// Toolbar Items and Context Menu
+Save				: "Lagre",
+NewPage				: "Ny Side",
+Preview				: "Forhåndsvis",
+Cut					: "Klipp ut",
+Copy				: "Kopier",
+Paste				: "Lim inn",
+PasteText			: "Lim inn som ren tekst",
+PasteWord			: "Lim inn fra Word",
+Print				: "Skriv ut",
+SelectAll			: "Velg alle",
+RemoveFormat		: "Fjern format",
+InsertLinkLbl		: "Lenke",
+InsertLink			: "Sett inn/Rediger lenke",
+RemoveLink			: "Fjern lenke",
+Anchor				: "Sett inn/Rediger anker",
+InsertImageLbl		: "Bilde",
+InsertImage			: "Sett inn/Rediger bilde",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Sett inn/Rediger Flash",
+InsertTableLbl		: "Tabell",
+InsertTable			: "Sett inn/Rediger tabell",
+InsertLineLbl		: "Linje",
+InsertLine			: "Sett inn horisontal linje",
+InsertSpecialCharLbl: "Spesielt tegn",
+InsertSpecialChar	: "Sett inn spesielt tegn",
+InsertSmileyLbl		: "Smil",
+InsertSmiley		: "Sett inn smil",
+About				: "Om FCKeditor",
+Bold				: "Fet",
+Italic				: "Kursiv",
+Underline			: "Understrek",
+StrikeThrough		: "Gjennomstrek",
+Subscript			: "Senket skrift",
+Superscript			: "Hevet skrift",
+LeftJustify			: "Venstrejuster",
+CenterJustify		: "Midtjuster",
+RightJustify		: "Høyrejuster",
+BlockJustify		: "Blokkjuster",
+DecreaseIndent		: "Senk nivå",
+IncreaseIndent		: "Øk nivå",
+Undo				: "Angre",
+Redo				: "Gjør om",
+NumberedListLbl		: "Numrert liste",
+NumberedList		: "Sett inn/Fjern numrert liste",
+BulletedListLbl		: "Uordnet liste",
+BulletedList		: "Sett inn/Fjern uordnet liste",
+ShowTableBorders	: "Vis tabellrammer",
+ShowDetails			: "Vis detaljer",
+Style				: "Stil",
+FontFormat			: "Format",
+Font				: "Skrift",
+FontSize			: "Størrelse",
+TextColor			: "Tekstfarge",
+BGColor				: "Bakgrunnsfarge",
+Source				: "Kilde",
+Find				: "Finn",
+Replace				: "Erstatt",
+SpellCheck			: "Stavekontroll",
+UniversalKeyboard	: "Universelt tastatur",
+
+Form			: "Skjema",
+Checkbox		: "Sjekkboks",
+RadioButton		: "Radioknapp",
+TextField		: "Tekstfelt",
+Textarea		: "Tekstområde",
+HiddenField		: "Skjult felt",
+Button			: "Knapp",
+SelectionField	: "Dropdown meny",
+ImageButton		: "Bildeknapp",
+
+// Context Menu
+EditLink			: "Rediger lenke",
+InsertRow			: "Sett inn rad",
+DeleteRows			: "Slett rader",
+InsertColumn		: "Sett inn kolonne",
+DeleteColumns		: "Slett kolonner",
+InsertCell			: "Sett inn celle",
+DeleteCells			: "Slett celler",
+MergeCells			: "Slå sammen celler",
+SplitCell			: "Splitt celler",
+CellProperties		: "Celleegenskaper",
+TableProperties		: "Tabellegenskaper",
+ImageProperties		: "Bildeegenskaper",
+FlashProperties		: "Flash Egenskaper",
+
+AnchorProp			: "Ankeregenskaper",
+ButtonProp			: "Knappegenskaper",
+CheckboxProp		: "Sjekkboksegenskaper",
+HiddenFieldProp		: "Skjult felt egenskaper",
+RadioButtonProp		: "Radioknappegenskaper",
+ImageButtonProp		: "Bildeknappegenskaper",
+TextFieldProp		: "Tekstfeltegenskaper",
+SelectionFieldProp	: "Dropdown menyegenskaper",
+TextareaProp		: "Tekstfeltegenskaper",
+FormProp			: "Skjemaegenskaper",
+
+FontFormats			: "Normal;Formatert;Adresse;Tittel 1;Tittel 2;Tittel 3;Tittel 4;Tittel 5;Tittel 6",
+
+// Alerts and Messages
+ProcessingXHTML		: "Lager XHTML. Vennligst vent...",
+Done				: "Ferdig",
+PasteWordConfirm	: "Teksten du prøver å lime inn ser ut som om den kommer fra word , du bør rense den før du limer inn , vil du gjøre dette?",
+NotCompatiblePaste	: "Denne kommandoen er tilgjenglig kun for Internet Explorer version 5.5 eller bedre. Vil du fortsette uten å rense?(Du kan lime inn som ren tekst)",
+UnknownToolbarItem	: "Ukjent menyvalg \"%1\"",
+UnknownCommand		: "Ukjent kommando \"%1\"",
+NotImplemented		: "Kommando ikke ennå implimentert",
+UnknownToolbarSet	: "Verktøylinjesett \"%1\" finnes ikke",
+NoActiveX			: "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Avbryt",
+DlgBtnClose			: "Lukk",
+DlgBtnBrowseServer	: "Bla igjennom server",
+DlgAdvancedTag		: "Avansert",
+DlgOpOther			: "&lt;Annet&gt;",
+DlgInfoTab			: "Info",
+DlgAlertUrl			: "Vennligst skriv inn URL'en",
+
+// General Dialogs Labels
+DlgGenNotSet		: "&lt;ikke satt&gt;",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Språkretning",
+DlgGenLangDirLtr	: "Venstre til høyre (VTH)",
+DlgGenLangDirRtl	: "Høyre til venstre (HTV)",
+DlgGenLangCode		: "Språk kode",
+DlgGenAccessKey		: "Aksessknapp",
+DlgGenName			: "Navn",
+DlgGenTabIndex		: "Tab Indeks",
+DlgGenLongDescr		: "Utvidet beskrivelse",
+DlgGenClass			: "Stilarkklasser",
+DlgGenTitle			: "Tittel",
+DlgGenContType		: "Type",
+DlgGenLinkCharset	: "Lenket språkkart",
+DlgGenStyle			: "Stil",
+
+// Image Dialog
+DlgImgTitle			: "Bildeegenskaper",
+DlgImgInfoTab		: "Bildeinformasjon",
+DlgImgBtnUpload		: "Send det til serveren",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Last opp",
+DlgImgAlt			: "Alternativ tekst",
+DlgImgWidth			: "Bredde",
+DlgImgHeight		: "Høyde",
+DlgImgLockRatio		: "LÃ¥s forhold",
+DlgBtnResetSize		: "Tilbakestill størrelse",
+DlgImgBorder		: "Ramme",
+DlgImgHSpace		: "HMarg",
+DlgImgVSpace		: "VMarg",
+DlgImgAlign			: "Juster",
+DlgImgAlignLeft		: "Venstre",
+DlgImgAlignAbsBottom: "Abs bunn",
+DlgImgAlignAbsMiddle: "Abs midten",
+DlgImgAlignBaseline	: "Bunnlinje",
+DlgImgAlignBottom	: "Bunn",
+DlgImgAlignMiddle	: "Midten",
+DlgImgAlignRight	: "Høyre",
+DlgImgAlignTextTop	: "Tekst topp",
+DlgImgAlignTop		: "Topp",
+DlgImgPreview		: "Forhåndsvis",
+DlgImgAlertUrl		: "Vennligst skriv bildeurlen",
+DlgImgLinkTab		: "Lenke",
+
+// Flash Dialog
+DlgFlashTitle		: "Flash Egenskaper",
+DlgFlashChkPlay		: "Auto Spill",
+DlgFlashChkLoop		: "Loop",
+DlgFlashChkMenu		: "Slå på Flash meny",
+DlgFlashScale		: "Skaler",
+DlgFlashScaleAll	: "Vis alt",
+DlgFlashScaleNoBorder	: "Ingen ramme",
+DlgFlashScaleFit	: "Skaler til å passeExact Fit",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Lenke",
+DlgLnkInfoTab		: "Lenkeinfo",
+DlgLnkTargetTab		: "MÃ¥l",
+
+DlgLnkType			: "Lenketype",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Bokmerk denne siden",
+DlgLnkTypeEMail		: "E-Post",
+DlgLnkProto			: "Protokoll",
+DlgLnkProtoOther	: "&lt;annet&gt;",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Velg ett anker",
+DlgLnkAnchorByName	: "Anker etter navn",
+DlgLnkAnchorById	: "Element etter ID",
+DlgLnkNoAnchors		: "&lt;Ingen anker i dokumentet&gt;",
+DlgLnkEMail			: "E-Post Addresse",
+DlgLnkEMailSubject	: "Meldingsemne",
+DlgLnkEMailBody		: "Melding",
+DlgLnkUpload		: "Last opp",
+DlgLnkBtnUpload		: "Send til server",
+
+DlgLnkTarget		: "MÃ¥l",
+DlgLnkTargetFrame	: "&lt;ramme&gt;",
+DlgLnkTargetPopup	: "&lt;popup vindu&gt;",
+DlgLnkTargetBlank	: "Nytt vindu (_blank)",
+DlgLnkTargetParent	: "Foreldre vindu (_parent)",
+DlgLnkTargetSelf	: "Samme vindu (_self)",
+DlgLnkTargetTop		: "Hele vindu (_top)",
+DlgLnkTargetFrameName	: "MÃ¥lramme",
+DlgLnkPopWinName	: "Popup vindus navn",
+DlgLnkPopWinFeat	: "Popup vindus egenskaper",
+DlgLnkPopResize		: "Endre størrelse",
+DlgLnkPopLocation	: "Adresselinje",
+DlgLnkPopMenu		: "Menylinje",
+DlgLnkPopScroll		: "Scrollbar",
+DlgLnkPopStatus		: "Statuslinje",
+DlgLnkPopToolbar	: "Verktøylinje",
+DlgLnkPopFullScrn	: "Full skjerm (IE)",
+DlgLnkPopDependent	: "Avhenging (Netscape)",
+DlgLnkPopWidth		: "Bredde",
+DlgLnkPopHeight		: "Høyde",
+DlgLnkPopLeft		: "Venstre posisjon",
+DlgLnkPopTop		: "Topp posisjon",
+
+DlnLnkMsgNoUrl		: "Vennligst skriv inn lenkens url",
+DlnLnkMsgNoEMail	: "Vennligst skriv inn e-postadressen",
+DlnLnkMsgNoAnchor	: "Vennligst velg ett anker",
+
+// Color Dialog
+DlgColorTitle		: "Velg farge",
+DlgColorBtnClear	: "Tøm",
+DlgColorHighlight	: "Marker",
+DlgColorSelected	: "Velg",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Sett inn smil",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Velg spesielt tegn",
+
+// Table Dialog
+DlgTableTitle		: "Tabellegenskaper",
+DlgTableRows		: "Rader",
+DlgTableColumns		: "Kolonner",
+DlgTableBorder		: "Rammestørrelse",
+DlgTableAlign		: "Justering",
+DlgTableAlignNotSet	: "<Ikke satt>",
+DlgTableAlignLeft	: "Venstre",
+DlgTableAlignCenter	: "Midtjuster",
+DlgTableAlignRight	: "Høyre",
+DlgTableWidth		: "Bredde",
+DlgTableWidthPx		: "pixler",
+DlgTableWidthPc		: "prosent",
+DlgTableHeight		: "Høyde",
+DlgTableCellSpace	: "Celle marg",
+DlgTableCellPad		: "Celle polstring",
+DlgTableCaption		: "Tittel",
+
+// Table Cell Dialog
+DlgCellTitle		: "Celle egenskaper",
+DlgCellWidth		: "Bredde",
+DlgCellWidthPx		: "pixeler",
+DlgCellWidthPc		: "prosent",
+DlgCellHeight		: "Høyde",
+DlgCellWordWrap		: "Tekstbrytning",
+DlgCellWordWrapNotSet	: "<Ikke satt>",
+DlgCellWordWrapYes	: "Ja",
+DlgCellWordWrapNo	: "Nei",
+DlgCellHorAlign		: "Horisontal justering",
+DlgCellHorAlignNotSet	: "<Ikke satt>",
+DlgCellHorAlignLeft	: "Venstre",
+DlgCellHorAlignCenter	: "Midtjuster",
+DlgCellHorAlignRight: "Høyre",
+DlgCellVerAlign		: "Vertikal justering",
+DlgCellVerAlignNotSet	: "<Ikke satt>",
+DlgCellVerAlignTop	: "Topp",
+DlgCellVerAlignMiddle	: "Midten",
+DlgCellVerAlignBottom	: "Bunn",
+DlgCellVerAlignBaseline	: "Bunnlinje",
+DlgCellRowSpan		: "Radspenn",
+DlgCellCollSpan		: "Kolonnespenn",
+DlgCellBackColor	: "Bakgrunnsfarge",
+DlgCellBorderColor	: "Rammefarge",
+DlgCellBtnSelect	: "Velg...",
+
+// Find Dialog
+DlgFindTitle		: "Finn",
+DlgFindFindBtn		: "Finn",
+DlgFindNotFoundMsg	: "Den spesifiserte teksten ble ikke funnet.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Erstatt",
+DlgReplaceFindLbl		: "Finn hva:",
+DlgReplaceReplaceLbl	: "Erstatt med:",
+DlgReplaceCaseChk		: "Riktig case",
+DlgReplaceReplaceBtn	: "Erstatt",
+DlgReplaceReplAllBtn	: "Erstatt alle",
+DlgReplaceWordChk		: "Finn hele ordet",
+
+// Paste Operations / Dialog
+PasteErrorPaste	: "Din nettlesers sikkerhetsinstillinger tillater ikke automatisk innliming av tekst. Vennligst brukt snareveien (Ctrl+V).",
+PasteErrorCut	: "Din nettlesers sikkerhetsinstillinger tillater ikke automatisk klipping av tekst. Vennligst brukt snareveien (Ctrl+X).",
+PasteErrorCopy	: "Din nettlesers sikkerhetsinstillinger tillater ikke automatisk kopiering av tekst. Vennligst brukt snareveien (Ctrl+C).",
+
+PasteAsText		: "Lim inn som ren tekst",
+PasteFromWord	: "Lim inn fra word",
+
+DlgPasteMsg2	: "Vennligst lim inn i den følgende boksen med tastaturet (<STRONG>Ctrl+V</STRONG>) og trykk <STRONG>OK</STRONG>.",
+DlgPasteIgnoreFont		: "Ignorer fonter",
+DlgPasteRemoveStyles	: "Fjern stildefinisjoner",
+DlgPasteCleanBox		: "Tøm boksen",
+
+
+// Color Picker
+ColorAutomatic	: "Automatisk",
+ColorMoreColors	: "Flere farger...",
+
+// Document Properties
+DocProps		: "Dokumentegenskaper",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Ankeregenskaper",
+DlgAnchorName		: "Ankernavn",
+DlgAnchorErrorName	: "Vennligst skriv inn ankernavnet",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Ikke i ordboken",
+DlgSpellChangeTo		: "Endre til",
+DlgSpellBtnIgnore		: "Ignorer",
+DlgSpellBtnIgnoreAll	: "Ignorer alle",
+DlgSpellBtnReplace		: "Erstatt",
+DlgSpellBtnReplaceAll	: "Erstatt alle",
+DlgSpellBtnUndo			: "Angre",
+DlgSpellNoSuggestions	: "- ingen forslag -",
+DlgSpellProgress		: "Stavekontroll pågår...",
+DlgSpellNoMispell		: "Stavekontroll fullført: ingen feilstavinger funnet",
+DlgSpellNoChanges		: "Stavekontroll fullført: ingen ord endret",
+DlgSpellOneChange		: "Stavekontroll fullført: Ett ord endret",
+DlgSpellManyChanges		: "Stavekontroll fullført: %1 ord endret",
+
+IeSpellDownload			: "Stavekontroll ikke installert, vil du laste den ned nå?",
+
+// Button Dialog
+DlgButtonText	: "Tekst",
+DlgButtonType	: "Type",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Navn",
+DlgCheckboxValue	: "Verdi",
+DlgCheckboxSelected	: "Valgt",
+
+// Form Dialog
+DlgFormName		: "Navn",
+DlgFormAction	: "Handling",
+DlgFormMethod	: "Metode",
+
+// Select Field Dialog
+DlgSelectName		: "Navn",
+DlgSelectValue		: "Verdi",
+DlgSelectSize		: "Størrelse",
+DlgSelectLines		: "Linjer",
+DlgSelectChkMulti	: "Tillat flervalg",
+DlgSelectOpAvail	: "Tilgjenglige alternativer",
+DlgSelectOpText		: "Tekst",
+DlgSelectOpValue	: "Verdi",
+DlgSelectBtnAdd		: "Legg til",
+DlgSelectBtnModify	: "Endre",
+DlgSelectBtnUp		: "Opp",
+DlgSelectBtnDown	: "Ned",
+DlgSelectBtnSetValue : "Sett som valgt",
+DlgSelectBtnDelete	: "Slett",
+
+// Textarea Dialog
+DlgTextareaName	: "Navn",
+DlgTextareaCols	: "Kolonner",
+DlgTextareaRows	: "Rader",
+
+// Text Field Dialog
+DlgTextName			: "Navn",
+DlgTextValue		: "verdi",
+DlgTextCharWidth	: "Tegnbredde",
+DlgTextMaxChars		: "Maks antall tegn",
+DlgTextType			: "Type",
+DlgTextTypeText		: "Tekst",
+DlgTextTypePass		: "Passord",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Navn",
+DlgHiddenValue	: "Verdi",
+
+// Bulleted List Dialog
+BulletedListProp	: "Uordnet listeegenskaper",
+NumberedListProp	: "Ordnet listeegenskaper",
+DlgLstType			: "Type",
+DlgLstTypeCircle	: "Sirkel",
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "Firkant",
+DlgLstTypeNumbers	: "Numre(1, 2, 3)",
+DlgLstTypeLCase		: "Små bokstaver (a, b, c)",
+DlgLstTypeUCase		: "Store bokstaver(A, B, C)",
+DlgLstTypeSRoman	: "Små romerske tall(i, ii, iii)",
+DlgLstTypeLRoman	: "Store romerske tall(I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Generalt",
+DlgDocBackTab		: "Bakgrunn",
+DlgDocColorsTab		: "Farger og marginer",
+DlgDocMetaTab		: "Meta Data",
+
+DlgDocPageTitle		: "Sidetittel",
+DlgDocLangDir		: "Språkretning",
+DlgDocLangDirLTR	: "Venstre til høyre (LTR)",
+DlgDocLangDirRTL	: "Høyre til venstre (RTL)",
+DlgDocLangCode		: "Språkkode",
+DlgDocCharSet		: "Tegnsett",
+DlgDocCharSetOther	: "Annet tegnsett",
+
+DlgDocDocType		: "Dokumenttype header",
+DlgDocDocTypeOther	: "Annet dokumenttype header",
+DlgDocIncXHTML		: "Inkulder XHTML deklarasjon",
+DlgDocBgColor		: "Bakgrunnsfarge",
+DlgDocBgImage		: "Bakgrunnsbilde url",
+DlgDocBgNoScroll	: "Ikke scroll bakgrunnsbilde",
+DlgDocCText			: "Tekst",
+DlgDocCLink			: "Link",
+DlgDocCVisited		: "Besøkt lenke",
+DlgDocCActive		: "Aktiv lenke",
+DlgDocMargins		: "Sidemargin",
+DlgDocMaTop			: "Topp",
+DlgDocMaLeft		: "Venstre",
+DlgDocMaRight		: "Høyre",
+DlgDocMaBottom		: "Bunn",
+DlgDocMeIndex		: "Dokument nøkkelord (kommaseparert)",
+DlgDocMeDescr		: "Dokumentbeskrivelse",
+DlgDocMeAuthor		: "Forfatter",
+DlgDocMeCopy		: "Kopirett",
+DlgDocPreview		: "Forhåndsvising",
+
+// Templates Dialog
+Templates			: "Maler",
+DlgTemplatesTitle	: "Innholdsmaler",
+DlgTemplatesSelMsg	: "Velg malen du vil åpne<br>(innholdet du har skrevet blir tapt!):",
+DlgTemplatesLoading	: "Laster malliste. Vennligst vent...",
+DlgTemplatesNoTpl	: "(Ingen maler definert)",
+
+// About Dialog
+DlgAboutAboutTab	: "Om",
+DlgAboutBrowserInfoTab	: "Nettleserinfo",
+DlgAboutVersion		: "versjon",
+DlgAboutLicense		: "Lisensiert under GNU Lesser General Public License",
+DlgAboutInfo		: "Oversatt av Siteman DA<br /><a target=\"_blank\" href=\"http://www.siteman.no\">www.siteman.no</a><br /><br />For mer informasjon gå til"
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/lang/pl.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/lang/pl.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/lang/pl.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,476 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: pl.js
+ * 	Polish language file.
+ * 
+ * File Authors:
+ * 		Jakub Boesche (jboesche at gazeta.pl)
+ * 		Maciej Bochynski (maciej.bochynski at lubman.pl)
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Zwiń pasek narzędzi",
+ToolbarExpand		: "Rozwiń pasek narzędzi",
+
+// Toolbar Items and Context Menu
+Save				: "Zapisz",
+NewPage				: "Nowa strona",
+Preview				: "PodglÄ…d",
+Cut					: "Wytnij",
+Copy				: "Kopiuj",
+Paste				: "Wklej",
+PasteText			: "Wklej jako czysty tekst",
+PasteWord			: "Wklej z Worda",
+Print				: "Drukuj",
+SelectAll			: "Zaznacz wszystko",
+RemoveFormat		: "Usuń formatowanie",
+InsertLinkLbl		: "Hiperłącze",
+InsertLink			: "Wstaw/edytuj hiperłącze",
+RemoveLink			: "Usuń hiperłącze",
+Anchor				: "Wstaw/edytuj kotwicÄ™",
+InsertImageLbl		: "Obrazek",
+InsertImage			: "Wstaw/edytuj obrazek",
+InsertFlashLbl		: "Flash",	//MISSING
+InsertFlash			: "Insert/Edit Flash",	//MISSING
+InsertTableLbl		: "Tabela",
+InsertTable			: "Wstaw/edytuj tabelÄ™",
+InsertLineLbl		: "Linia pozioma",
+InsertLine			: "Wstaw poziomÄ… liniÄ™",
+InsertSpecialCharLbl: "Znak specjalny",
+InsertSpecialChar	: "Wstaw znak specjalny",
+InsertSmileyLbl		: "Emotikona",
+InsertSmiley		: "Wstaw emotikonÄ™",
+About				: "O programie FCKeditor",
+Bold				: "Pogrubienie",
+Italic				: "Kursywa",
+Underline			: "Podkreślenie",
+StrikeThrough		: "Przekreślenie",
+Subscript			: "Indeks dolny",
+Superscript			: "Indeks górny",
+LeftJustify			: "Wyrównaj do lewej",
+CenterJustify		: "Wyrównaj do środka",
+RightJustify		: "Wyrównaj do prawej",
+BlockJustify		: "Wyrównaj do lewej i prawej",
+DecreaseIndent		: "Zmniejsz wcięcie",
+IncreaseIndent		: "Zwiększ wcięcie",
+Undo				: "Cofnij",
+Redo				: "Ponów",
+NumberedListLbl		: "Lista numerowana",
+NumberedList		: "Wstaw/usuń numerowanie listy",
+BulletedListLbl		: "Lista wypunktowana",
+BulletedList		: "Wstaw/usuń wypunktowanie listy",
+ShowTableBorders	: "Pokazuj ramkÄ™ tabeli",
+ShowDetails			: "Pokaż szczegóły",
+Style				: "Styl",
+FontFormat			: "Format",
+Font				: "Czcionka",
+FontSize			: "Rozmiar",
+TextColor			: "Kolor tekstu",
+BGColor				: "Kolor tła",
+Source				: "Źródło dokumentu",
+Find				: "Znajdź",
+Replace				: "Zamień",
+SpellCheck			: "Sprawdź pisownię",
+UniversalKeyboard	: "Klawiatura Uniwersalna",
+
+Form			: "Formularz",
+Checkbox		: "Checkbox",
+RadioButton		: "Pole wyboru",
+TextField		: "Pole tekstowe",
+Textarea		: "Obszar tekstowy",
+HiddenField		: "Pole ukryte",
+Button			: "Przycisk",
+SelectionField	: "Lista wyboru",
+ImageButton		: "Przycisk obrazek",
+
+// Context Menu
+EditLink			: "Edytuj hiperłącze",
+InsertRow			: "Wstaw wiersz",
+DeleteRows			: "Usuń wiersze",
+InsertColumn		: "Wstaw kolumnÄ™",
+DeleteColumns		: "Usuń kolumny",
+InsertCell			: "Wstaw komórkę",
+DeleteCells			: "Usuń komórki",
+MergeCells			: "Połącz komórki",
+SplitCell			: "Podziel komórkę",
+CellProperties		: "Właściwości komórki",
+TableProperties		: "Właściwości tabeli",
+ImageProperties		: "Właściwości obrazka",
+FlashProperties		: "Flash Properties",	//MISSING
+
+AnchorProp			: "Właściwości kotwicy",
+ButtonProp			: "Właściwości przycisku",
+CheckboxProp		: "Checkbox - właściwości",
+HiddenFieldProp		: "Właściwości pola ukrytego",
+RadioButtonProp		: "Właściwości pola wyboru",
+ImageButtonProp		: "Właściwości przycisku obrazka",
+TextFieldProp		: "Właściwości pola tekstowego",
+SelectionFieldProp	: "Właściwości listy wyboru",
+TextareaProp		: "Właściwości obszaru tekstowego",
+FormProp			: "Właściwości formularza",
+
+FontFormats			: "Normalny;Tekst sformatowany;Adres;Nagłówek 1;Nagłówek 2;Nagłówek 3;Nagłówek 4;Nagłówek 5;Nagłówek 6",
+
+// Alerts and Messages
+ProcessingXHTML		: "Przetwarzanie XHTML. Proszę czekać...",
+Done				: "Gotowe",
+PasteWordConfirm	: "Tekst, który chcesz wkleić, prawdopodobnie pochodzi z programu Word. Czy chcesz go wyczyścic przed wklejeniem?",
+NotCompatiblePaste	: "Ta funkcja jest dostępna w programie Internet Explorer w wersji 5.5 lub wyższej. Czy chcesz wkleić tekst bez czyszczenia?",
+UnknownToolbarItem	: "Nieznany element paska narzędzi \"%1\"",
+UnknownCommand		: "Nieznana komenda \"%1\"",
+NotImplemented		: "Komenda niezaimplementowana",
+UnknownToolbarSet	: "Pasek narzędzi \"%1\" nie istnieje",
+NoActiveX			: "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Anuluj",
+DlgBtnClose			: "Zamknij",
+DlgBtnBrowseServer	: "PrzeglÄ…daj",
+DlgAdvancedTag		: "Zaawansowane",
+DlgOpOther			: "&lt;Inny&gt;",
+DlgInfoTab			: "Info",	//MISSING
+DlgAlertUrl			: "Please insert the URL",	//MISSING
+
+// General Dialogs Labels
+DlgGenNotSet		: "&lt;nieustawione&gt;",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Kierunek tekstu",
+DlgGenLangDirLtr	: "Od lewej do prawej (LTR)",
+DlgGenLangDirRtl	: "Od prawej do lewej (RTL)",
+DlgGenLangCode		: "Kod języka",
+DlgGenAccessKey		: "Klawisz dostępu",
+DlgGenName			: "Nazwa",
+DlgGenTabIndex		: "Indeks tabeli",
+DlgGenLongDescr		: "Long Description URL",
+DlgGenClass			: "Stylesheet Classes",
+DlgGenTitle			: "Advisory Title",
+DlgGenContType		: "Advisory Content Type",
+DlgGenLinkCharset	: "Linked Resource Charset",
+DlgGenStyle			: "Styl",
+
+// Image Dialog
+DlgImgTitle			: "Właściwości obrazka",
+DlgImgInfoTab		: "Informacje o obrazku",
+DlgImgBtnUpload		: "Syślij",
+DlgImgURL			: "Adres URL",
+DlgImgUpload		: "Wyślij",
+DlgImgAlt			: "Tekst zastępczy",
+DlgImgWidth			: "Szerokość",
+DlgImgHeight		: "Wysokość",
+DlgImgLockRatio		: "Zablokuj proporcje",
+DlgBtnResetSize		: "Przywróć rozmiar",
+DlgImgBorder		: "Ramka",
+DlgImgHSpace		: "Odstęp poziomy",
+DlgImgVSpace		: "Odstęp pionowy",
+DlgImgAlign			: "Wyrównaj",
+DlgImgAlignLeft		: "Do lewej",
+DlgImgAlignAbsBottom: "Do dołu",
+DlgImgAlignAbsMiddle: "Do środka w pionie",
+DlgImgAlignBaseline	: "Do linii bazowej",
+DlgImgAlignBottom	: "Do dołu",
+DlgImgAlignMiddle	: "Do środka",
+DlgImgAlignRight	: "Do prawej",
+DlgImgAlignTextTop	: "Do góry tekstu",
+DlgImgAlignTop		: "Do góry",
+DlgImgPreview		: "PodglÄ…d",
+DlgImgAlertUrl		: "Podaj adres obrazka.",
+DlgImgLinkTab		: "Link",	//MISSING
+
+// Flash Dialog
+DlgFlashTitle		: "Flash Properties",	//MISSING
+DlgFlashChkPlay		: "Auto Play",	//MISSING
+DlgFlashChkLoop		: "Loop",	//MISSING
+DlgFlashChkMenu		: "Enable Flash Menu",	//MISSING
+DlgFlashScale		: "Scale",	//MISSING
+DlgFlashScaleAll	: "Show all",	//MISSING
+DlgFlashScaleNoBorder	: "No Border",	//MISSING
+DlgFlashScaleFit	: "Exact Fit",	//MISSING
+
+// Link Dialog
+DlgLnkWindowTitle	: "Hiperłącze",
+DlgLnkInfoTab		: "Informacje ",
+DlgLnkTargetTab		: "Cel",
+
+DlgLnkType			: "Typ hiperłącza",
+DlgLnkTypeURL		: "Adres URL",
+DlgLnkTypeAnchor	: "Odnośnik wewnątrz strony",
+DlgLnkTypeEMail		: "Adres e-mail",
+DlgLnkProto			: "Protokół",
+DlgLnkProtoOther	: "&lt;inny&gt;",
+DlgLnkURL			: "Adres URL",
+DlgLnkAnchorSel		: "Wybierz etykietÄ™",
+DlgLnkAnchorByName	: "Wg etykiety",
+DlgLnkAnchorById	: "Wg identyfikatora elementu",
+DlgLnkNoAnchors		: "&lt;W dokumencie nie zdefiniowano żadnych etykiet&gt;",
+DlgLnkEMail			: "Adres e-mail",
+DlgLnkEMailSubject	: "Temat",
+DlgLnkEMailBody		: "Treść",
+DlgLnkUpload		: "Upload",
+DlgLnkBtnUpload		: "Wyślij",
+
+DlgLnkTarget		: "Cel",
+DlgLnkTargetFrame	: "&lt;ramka&gt;",
+DlgLnkTargetPopup	: "&lt;wyskakujÄ…ce okno&gt;",
+DlgLnkTargetBlank	: "Nowe okno (_blank)",
+DlgLnkTargetParent	: "Okno nadrzędne (_parent)",
+DlgLnkTargetSelf	: "To samo okno (_self)",
+DlgLnkTargetTop		: "Okno najwyższe w hierarchii (_top)",
+DlgLnkTargetFrameName	: "Nazwa Ramki Docelowej",
+DlgLnkPopWinName	: "Nazwa wyskakujÄ…cego okna",
+DlgLnkPopWinFeat	: "Właściwości wyskakującego okna",
+DlgLnkPopResize		: "Możliwa zmiana rozmiaru",
+DlgLnkPopLocation	: "Pasek adresu",
+DlgLnkPopMenu		: "Pasek menu",
+DlgLnkPopScroll		: "Paski przewijania",
+DlgLnkPopStatus		: "Pasek statusu",
+DlgLnkPopToolbar	: "Pasek narzędzi",
+DlgLnkPopFullScrn	: "Pełny ekran (IE)",
+DlgLnkPopDependent	: "Okno zależne (Netscape)",
+DlgLnkPopWidth		: "Szerokość",
+DlgLnkPopHeight		: "Wysokość",
+DlgLnkPopLeft		: "Pozycja w poziomie",
+DlgLnkPopTop		: "Pozycja w pionie",
+
+DlnLnkMsgNoUrl		: "Podaj adres URL",
+DlnLnkMsgNoEMail	: "Podaj adres e-mail",
+DlnLnkMsgNoAnchor	: "Wybierz etykietÄ™",
+
+// Color Dialog
+DlgColorTitle		: "Wybierz kolor",
+DlgColorBtnClear	: "Wyczyść",
+DlgColorHighlight	: "PodglÄ…d",
+DlgColorSelected	: "Wybrane",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Wstaw emotikonÄ™",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Wybierz znak specjalny",
+
+// Table Dialog
+DlgTableTitle		: "Właściwości tabeli",
+DlgTableRows		: "Liczba wierszy",
+DlgTableColumns		: "Liczba kolumn",
+DlgTableBorder		: "Grubość ramki",
+DlgTableAlign		: "Wyrównanie",
+DlgTableAlignNotSet	: "<brak ustawień>",
+DlgTableAlignLeft	: "Do lewej",
+DlgTableAlignCenter	: "Do środka",
+DlgTableAlignRight	: "Do prawej",
+DlgTableWidth		: "Szerokość",
+DlgTableWidthPx		: "piksele",
+DlgTableWidthPc		: "%",
+DlgTableHeight		: "Wysokość",
+DlgTableCellSpace	: "Odstęp pomiędzy komórkami",
+DlgTableCellPad		: "Margines wewnętrzny komórek",
+DlgTableCaption		: "Tytuł",
+
+// Table Cell Dialog
+DlgCellTitle		: "Właściwości komórki",
+DlgCellWidth		: "Szerokość",
+DlgCellWidthPx		: "piksele",
+DlgCellWidthPc		: "%",
+DlgCellHeight		: "Wysokość",
+DlgCellWordWrap		: "Zawijanie tekstu",
+DlgCellWordWrapNotSet	: "<brak ustawień>",
+DlgCellWordWrapYes	: "Tak",
+DlgCellWordWrapNo	: "Nie",
+DlgCellHorAlign		: "Wyrównanie poziome",
+DlgCellHorAlignNotSet	: "<brak ustawień>",
+DlgCellHorAlignLeft	: "Do lewej",
+DlgCellHorAlignCenter	: "Do środka",
+DlgCellHorAlignRight: "Do prawej",
+DlgCellVerAlign		: "Wyrównanie pionowe",
+DlgCellVerAlignNotSet	: "<brak ustawień>",
+DlgCellVerAlignTop	: "Do góry",
+DlgCellVerAlignMiddle	: "Do środka",
+DlgCellVerAlignBottom	: "Do dołu",
+DlgCellVerAlignBaseline	: "Do linii bazowej",
+DlgCellRowSpan		: "Zajętość wierszy",
+DlgCellCollSpan		: "Zajętość kolumn",
+DlgCellBackColor	: "Kolor tła",
+DlgCellBorderColor	: "Kolor ramki",
+DlgCellBtnSelect	: "Wybierz...",
+
+// Find Dialog
+DlgFindTitle		: "Znajdź",
+DlgFindFindBtn		: "Znajdź",
+DlgFindNotFoundMsg	: "Nie znaleziono szukanego hasła.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Zamień",
+DlgReplaceFindLbl		: "Znajdź:",
+DlgReplaceReplaceLbl	: "ZastÄ…p przez:",
+DlgReplaceCaseChk		: "Uwzględnij wielkość liter",
+DlgReplaceReplaceBtn	: "ZastÄ…p",
+DlgReplaceReplAllBtn	: "ZastÄ…p wszystko",
+DlgReplaceWordChk		: "Całe słowa",
+
+// Paste Operations / Dialog
+PasteErrorPaste	: "Ustawienia bezpieczeństwa Twojej przeglądarki nie pozwalają na automatyczne wklejanie tekstu. Użyj skrótu klawiszowego Ctrl+V.",
+PasteErrorCut	: "Ustawienia bezpieczeństwa Twojej przeglądarki nie pozwalają na automatyczne wycinanie tekstu. Użyj skrótu klawiszowego Ctrl+X.",
+PasteErrorCopy	: "Ustawienia bezpieczeństwa Twojej przeglądarki nie pozwalają na automatyczne kopiowanie tekstu. Użyj skrótu klawiszowego Ctrl+C.",
+
+PasteAsText		: "Wklej jako czysty tekst",
+PasteFromWord	: "Wklej z Worda",
+
+DlgPasteMsg2	: "Please paste inside the following box using the keyboard (<STRONG>Ctrl+V</STRONG>) and hit <STRONG>OK</STRONG>.",	//MISSING
+DlgPasteIgnoreFont		: "Ignore Font Face definitions",	//MISSING
+DlgPasteRemoveStyles	: "Remove Styles definitions",	//MISSING
+DlgPasteCleanBox		: "Clean Up Box",	//MISSING
+
+
+// Color Picker
+ColorAutomatic	: "Automatycznie",
+ColorMoreColors	: "Więcej kolorów...",
+
+// Document Properties
+DocProps		: "Właściwości dokumentu",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Właściwości kotwicy",
+DlgAnchorName		: "Nazwa kotwicy",
+DlgAnchorErrorName	: "Wpisz nazwÄ™ kotwicy",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Słowa nie ma w słowniku",
+DlgSpellChangeTo		: "Zmień na",
+DlgSpellBtnIgnore		: "Ignoruj",
+DlgSpellBtnIgnoreAll	: "Ignoruj wszystkie",
+DlgSpellBtnReplace		: "Zmień",
+DlgSpellBtnReplaceAll	: "Zmień wszystkie",
+DlgSpellBtnUndo			: "Undo",
+DlgSpellNoSuggestions	: "- Brak sugestii -",
+DlgSpellProgress		: "Trwa sprawdzanie ...",
+DlgSpellNoMispell		: "Sprawdzanie zakończone: nie znaleziono błędów",
+DlgSpellNoChanges		: "Sprawdzanie zakończone: nie zmieniono żadnego słowa",
+DlgSpellOneChange		: "Sprawdzanie zakończone: zmieniono jedno słowo",
+DlgSpellManyChanges		: "Sprawdzanie zakończone: zmieniono %l słów",
+
+IeSpellDownload			: "Słownik nie jest zainstalowany. Chcesz go ściągnąć?",
+
+// Button Dialog
+DlgButtonText	: "Tekst (Wartość)",
+DlgButtonType	: "Typ",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Nazwa",
+DlgCheckboxValue	: "Wartość",
+DlgCheckboxSelected	: "Zaznaczony",
+
+// Form Dialog
+DlgFormName		: "Nazwa",
+DlgFormAction	: "Akcja",
+DlgFormMethod	: "Metoda",
+
+// Select Field Dialog
+DlgSelectName		: "Nazwa",
+DlgSelectValue		: "Wartość",
+DlgSelectSize		: "Rozmiar",
+DlgSelectLines		: "linii",
+DlgSelectChkMulti	: "Wielokrotny wybór",
+DlgSelectOpAvail	: "Dostępne opcje",
+DlgSelectOpText		: "Tekst",
+DlgSelectOpValue	: "Wartość",
+DlgSelectBtnAdd		: "Dodaj",
+DlgSelectBtnModify	: "Zmień",
+DlgSelectBtnUp		: "Do góry",
+DlgSelectBtnDown	: "Do dołu",
+DlgSelectBtnSetValue : "Ustaw wartość zaznaczoną",
+DlgSelectBtnDelete	: "Usuń",
+
+// Textarea Dialog
+DlgTextareaName	: "Nazwa",
+DlgTextareaCols	: "Kolumnu",
+DlgTextareaRows	: "Wiersze",
+
+// Text Field Dialog
+DlgTextName			: "Nazwa",
+DlgTextValue		: "Wartość",
+DlgTextCharWidth	: "Szerokość w znakach",
+DlgTextMaxChars		: "Max. szerokość",
+DlgTextType			: "Typ",
+DlgTextTypeText		: "Tekst",
+DlgTextTypePass		: "Hasło",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Nazwa",
+DlgHiddenValue	: "Wartość",
+
+// Bulleted List Dialog
+BulletedListProp	: "Właściwości listy punktowanej",
+NumberedListProp	: "Właściwości listy numerowanej",
+DlgLstType			: "Typ",
+DlgLstTypeCircle	: "Koło",
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "Kwadrat",
+DlgLstTypeNumbers	: "Cyfry (1, 2, 3)",
+DlgLstTypeLCase		: "Małe litery (a, b, c)",
+DlgLstTypeUCase		: "Duże litery (A, B, C)",
+DlgLstTypeSRoman	: "Numeracja rzymska (i, ii, iii)",
+DlgLstTypeLRoman	: "Numeracja rzymska (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Ogólne",
+DlgDocBackTab		: "TÅ‚o",
+DlgDocColorsTab		: "Kolory i marginesy",
+DlgDocMetaTab		: "Meta Dane",
+
+DlgDocPageTitle		: "Tytuł strony",
+DlgDocLangDir		: "Kierunek pisania",
+DlgDocLangDirLTR	: "Od lewej do prawej (LTR)",
+DlgDocLangDirRTL	: "Od prawej do lewej (RTL)",
+DlgDocLangCode		: "Kod języka",
+DlgDocCharSet		: "Kodowanie znaków",
+DlgDocCharSetOther	: "Inne kodowanie znaków",
+
+DlgDocDocType		: "Nagłowek typu dokumentu",
+DlgDocDocTypeOther	: "Inny typ dokumentu",
+DlgDocIncXHTML		: "Dołącz deklarację XHTML",
+DlgDocBgColor		: "Kolor tła",
+DlgDocBgImage		: "Obrazek tła",
+DlgDocBgNoScroll	: "TÅ‚o nieruchome",
+DlgDocCText			: "Tekst",
+DlgDocCLink			: "Hiperłącze",
+DlgDocCVisited		: "Odwiedzane hiperłącze",
+DlgDocCActive		: "Aktywne hiperłącze",
+DlgDocMargins		: "Marginesy strony",
+DlgDocMaTop			: "Górny",
+DlgDocMaLeft		: "Lewy",
+DlgDocMaRight		: "Prawy",
+DlgDocMaBottom		: "Dolny",
+DlgDocMeIndex		: "SÅ‚owa kluczowe (oddzielone przecinkami)",
+DlgDocMeDescr		: "Opis dokumentu",
+DlgDocMeAuthor		: "Autor",
+DlgDocMeCopy		: "Copyright",
+DlgDocPreview		: "PodglÄ…d",
+
+// Templates Dialog
+Templates			: "Templates",	//MISSING
+DlgTemplatesTitle	: "Content Templates",	//MISSING
+DlgTemplatesSelMsg	: "Please select the template to open in the editor<br>(the actual contents will be lost):",	//MISSING
+DlgTemplatesLoading	: "Loading templates list. Please wait...",	//MISSING
+DlgTemplatesNoTpl	: "(No templates defined)",	//MISSING
+
+// About Dialog
+DlgAboutAboutTab	: "O ...",
+DlgAboutBrowserInfoTab	: "O przeglÄ…darce",
+DlgAboutVersion		: "wersja",
+DlgAboutLicense		: "na licencji GNU Lesser General Public License",
+DlgAboutInfo		: "Więcej informacji uzyskasz pod adresem"
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/lang/pt-br.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/lang/pt-br.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/lang/pt-br.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,476 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: pt-br.js
+ * 	Brazilian Portuguese language file.
+ * 
+ * File Authors:
+ * 		Carlos Alberto Tomatis Loth (carlos.loth at conectait.com.br)
+ * 		GibaPhp (www.xoopstotal.com.br)
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Ocultar Barra de Ferramentas",
+ToolbarExpand		: "Exibir Barra de Ferramentas",
+
+// Toolbar Items and Context Menu
+Save				: "Salvar",
+NewPage				: "Novo",
+Preview				: "Visualizar",
+Cut					: "Recortar",
+Copy				: "Copiar",
+Paste				: "Colar",
+PasteText			: "Colar como Texto sem Formatação",
+PasteWord			: "Colar do Word",
+Print				: "Imprimir",
+SelectAll			: "Selecionar Tudo",
+RemoveFormat		: "Remover Formatação",
+InsertLinkLbl		: "Hiperlink",
+InsertLink			: "Inserir/Editar Hiperlink",
+RemoveLink			: "Remover Hiperlink",
+Anchor				: "Inserir/Editar Âncora",
+InsertImageLbl		: "Figura",
+InsertImage			: "Inserir/Editar Figura",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Insere/Edita Flash",
+InsertTableLbl		: "Tabela",
+InsertTable			: "Inserir/Editar Tabela",
+InsertLineLbl		: "Linha",
+InsertLine			: "Inserir Linha Horizontal",
+InsertSpecialCharLbl: "Caracteres Especiais",
+InsertSpecialChar	: "Inserir Caractere Especial",
+InsertSmileyLbl		: "Emoticon",
+InsertSmiley		: "Inserir Emoticon",
+About				: "Sobre FCKeditor",
+Bold				: "Negrito",
+Italic				: "Itálico",
+Underline			: "Sublinhado",
+StrikeThrough		: "Tachado",
+Subscript			: "Subscrito",
+Superscript			: "Sobrescrito",
+LeftJustify			: "Alinhar Esquerda",
+CenterJustify		: "Centralizar",
+RightJustify		: "Alinhar Direita",
+BlockJustify		: "Justificado",
+DecreaseIndent		: "Diminuir Recuo",
+IncreaseIndent		: "Aumentar Recuo",
+Undo				: "Desfazer",
+Redo				: "Refazer",
+NumberedListLbl		: "Numeração",
+NumberedList		: "Inserir/Remover Numeração",
+BulletedListLbl		: "Marcadores",
+BulletedList		: "Inserir/Remover Marcadores",
+ShowTableBorders	: "Exibir Bordas da Tabela",
+ShowDetails			: "Exibir Detalhes",
+Style				: "Estilo",
+FontFormat			: "Formatação",
+Font				: "Fonte",
+FontSize			: "Tamanho",
+TextColor			: "Cor do Texto",
+BGColor				: "Cor do Plano de Fundo",
+Source				: "Código-Fonte",
+Find				: "Localizar",
+Replace				: "Substituir",
+SpellCheck			: "Verificar Ortografia",
+UniversalKeyboard	: "Teclado Universal",
+
+Form			: "Formulário",
+Checkbox		: "Caixa de Seleção",
+RadioButton		: "Botão de Opção",
+TextField		: "Caixa de Texto",
+Textarea		: "Área de Texto",
+HiddenField		: "Campo Oculto",
+Button			: "Botão",
+SelectionField	: "Caixa de Listagem",
+ImageButton		: "Botão de Imagem",
+
+// Context Menu
+EditLink			: "Editar Hiperlink",
+InsertRow			: "Inserir Linha",
+DeleteRows			: "Remover Linhas",
+InsertColumn		: "Inserir Coluna",
+DeleteColumns		: "Remover Colunas",
+InsertCell			: "Inserir Células",
+DeleteCells			: "Remover Células",
+MergeCells			: "Mesclar Células",
+SplitCell			: "Dividir Célular",
+CellProperties		: "Formatar Célula",
+TableProperties		: "Formatar Tabela",
+ImageProperties		: "Formatar Figura",
+FlashProperties		: "Propriedades Flash",
+
+AnchorProp			: "Formatar Âncora",
+ButtonProp			: "Formatar Botão",
+CheckboxProp		: "Formatar Caixa de Seleção",
+HiddenFieldProp		: "Formatar Campo Oculto",
+RadioButtonProp		: "Formatar Botão de Opção",
+ImageButtonProp		: "Formatar Botão de Imagem",
+TextFieldProp		: "Formatar Caixa de Texto",
+SelectionFieldProp	: "Formatar Caixa de Listagem",
+TextareaProp		: "Formatar Área de Texto",
+FormProp			: "Formatar Formulário",
+
+FontFormats			: "Normal;Formatado;Endereço;Título 1;Título 2;Título 3;Título 4;Título 5;Título 6",
+
+// Alerts and Messages
+ProcessingXHTML		: "Processando XHTML. Por favor, aguarde...",
+Done				: "Pronto",
+PasteWordConfirm	: "O texto que você deseja colar parece ter sido copiado do Word. Você gostaria de remover a formatação antes de colar?",
+NotCompatiblePaste	: "Este comando está disponível para o navegador Internet Explorer 5.5 ou superior. Você gostaria de colar sem remover a formatação?",
+UnknownToolbarItem	: "O item da barra de ferramentas \"%1\" não é reconhecido",
+UnknownCommand		: "O comando \"%1\" não é reconhecido",
+NotImplemented		: "O comando não foi implementado",
+UnknownToolbarSet	: "A barra de ferramentas \"%1\" não existe",
+NoActiveX			: "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Cancelar",
+DlgBtnClose			: "Fechar",
+DlgBtnBrowseServer	: "Localizar no Servidor",
+DlgAdvancedTag		: "Avançado",
+DlgOpOther			: "&lt;Outros&gt;",
+DlgInfoTab			: "Info",
+DlgAlertUrl			: "Inserir a URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "&lt;não ajustado&gt;",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Direção do idioma",
+DlgGenLangDirLtr	: "Esquerda para Direita (LTR)",
+DlgGenLangDirRtl	: "Direita para Esquerda (RTL)",
+DlgGenLangCode		: "Idioma",
+DlgGenAccessKey		: "Chave de Acesso",
+DlgGenName			: "Nome",
+DlgGenTabIndex		: "Índice de Tabulação",
+DlgGenLongDescr		: "Descrição da URL",
+DlgGenClass			: "Classe de Folhas de Estilo",
+DlgGenTitle			: "Título",
+DlgGenContType		: "Tipo de Conteúdo",
+DlgGenLinkCharset	: "Conjunto de Caracteres do Hiperlink",
+DlgGenStyle			: "Estilos",
+
+// Image Dialog
+DlgImgTitle			: "Formatar Figura",
+DlgImgInfoTab		: "Informações da Figura",
+DlgImgBtnUpload		: "Enviar para o Servidor",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Submeter",
+DlgImgAlt			: "Texto Alternativo",
+DlgImgWidth			: "Largura",
+DlgImgHeight		: "Altura",
+DlgImgLockRatio		: "Manter proporções",
+DlgBtnResetSize		: "Redefinir para o Tamanho Original",
+DlgImgBorder		: "Borda",
+DlgImgHSpace		: "Horizontal",
+DlgImgVSpace		: "Vertical",
+DlgImgAlign			: "Alinhamento",
+DlgImgAlignLeft		: "Esquerda",
+DlgImgAlignAbsBottom: "Inferior Absoluto",
+DlgImgAlignAbsMiddle: "Centralizado Absoluto",
+DlgImgAlignBaseline	: "Baseline",
+DlgImgAlignBottom	: "Inferior",
+DlgImgAlignMiddle	: "Centralizado",
+DlgImgAlignRight	: "Direita",
+DlgImgAlignTextTop	: "Superior Absoluto",
+DlgImgAlignTop		: "Superior",
+DlgImgPreview		: "Visualização",
+DlgImgAlertUrl		: "Por favor, digite o URL da figura.",
+DlgImgLinkTab		: "Hiperlink",
+
+// Flash Dialog
+DlgFlashTitle		: "Propriedades Flash",
+DlgFlashChkPlay		: "Tocar Automaticamente",
+DlgFlashChkLoop		: "Loop",
+DlgFlashChkMenu		: "Habilita Menu Flash",
+DlgFlashScale		: "Escala",
+DlgFlashScaleAll	: "Mostrar tudo",
+DlgFlashScaleNoBorder	: "Sem Borda",
+DlgFlashScaleFit	: "Escala Exata",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Hiperlink",
+DlgLnkInfoTab		: "Informações do hiperlink",
+DlgLnkTargetTab		: "Informações de destino",
+
+DlgLnkType			: "Tipo de hiperlink",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Âncora nesta página",
+DlgLnkTypeEMail		: "E-Mail",
+DlgLnkProto			: "Protocolo",
+DlgLnkProtoOther	: "&lt;outro&gt;",
+DlgLnkURL			: "URL do hiperlink",
+DlgLnkAnchorSel		: "Selecione uma âncora",
+DlgLnkAnchorByName	: "Pelo Nome da âncora",
+DlgLnkAnchorById	: "Pelo Id do Elemento",
+DlgLnkNoAnchors		: "&lt;Não há âncoras disponíveis neste documento&gt;",
+DlgLnkEMail			: "Endereço E-Mail",
+DlgLnkEMailSubject	: "Assunto da Mensagem",
+DlgLnkEMailBody		: "Corpo da Mesagem",
+DlgLnkUpload		: "Enviar ao Servidor",
+DlgLnkBtnUpload		: "Enviar ao Servidor",
+
+DlgLnkTarget		: "Destino",
+DlgLnkTargetFrame	: "&lt;quadro&gt;",
+DlgLnkTargetPopup	: "&lt;janela popup&gt;",
+DlgLnkTargetBlank	: "Nova Janela (_blank)",
+DlgLnkTargetParent	: "Janela Pai (_parent)",
+DlgLnkTargetSelf	: "Mesma Janela (_self)",
+DlgLnkTargetTop		: "Janela Superior (_top)",
+DlgLnkTargetFrameName	: "Nome do Frame de Destino",
+DlgLnkPopWinName	: "Nome da Janela Pop-up",
+DlgLnkPopWinFeat	: "Atributos da Janela Pop-up",
+DlgLnkPopResize		: "Redimensionável",
+DlgLnkPopLocation	: "Barra de Endereços",
+DlgLnkPopMenu		: "Barra de Menus",
+DlgLnkPopScroll		: "Barras de Rolagem",
+DlgLnkPopStatus		: "Barra de Status",
+DlgLnkPopToolbar	: "Barra de Ferramentas",
+DlgLnkPopFullScrn	: "Modo Tela Cheia (IE)",
+DlgLnkPopDependent	: "Dependente (Netscape)",
+DlgLnkPopWidth		: "Largura",
+DlgLnkPopHeight		: "Altura",
+DlgLnkPopLeft		: "Esquerda",
+DlgLnkPopTop		: "Superior",
+
+DlnLnkMsgNoUrl		: "Por favor, digite o endereço do Hiperlink",
+DlnLnkMsgNoEMail	: "Por favor, digite o endereço de e-mail",
+DlnLnkMsgNoAnchor	: "Por favor, selecione uma âncora",
+
+// Color Dialog
+DlgColorTitle		: "Selecione uma Cor",
+DlgColorBtnClear	: "Limpar",
+DlgColorHighlight	: "Visualização",
+DlgColorSelected	: "Selecionada",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Inserir Emoticon",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Selecione um Caractere Especial",
+
+// Table Dialog
+DlgTableTitle		: "Formatar Tabela",
+DlgTableRows		: "Linhas",
+DlgTableColumns		: "Colunas",
+DlgTableBorder		: "Borda",
+DlgTableAlign		: "Alinhamento",
+DlgTableAlignNotSet	: "<Não ajustado>",
+DlgTableAlignLeft	: "Esquerda",
+DlgTableAlignCenter	: "Centralizado",
+DlgTableAlignRight	: "Direita",
+DlgTableWidth		: "Largura",
+DlgTableWidthPx		: "pixels",
+DlgTableWidthPc		: "%",
+DlgTableHeight		: "Altura",
+DlgTableCellSpace	: "Espaçamento",
+DlgTableCellPad		: "Enchimento",
+DlgTableCaption		: "Legenda",
+
+// Table Cell Dialog
+DlgCellTitle		: "Formatar célula",
+DlgCellWidth		: "Largura",
+DlgCellWidthPx		: "pixels",
+DlgCellWidthPc		: "%",
+DlgCellHeight		: "Altura",
+DlgCellWordWrap		: "Quebra de Linha",
+DlgCellWordWrapNotSet	: "<Não ajustado>",
+DlgCellWordWrapYes	: "Sim",
+DlgCellWordWrapNo	: "Não",
+DlgCellHorAlign		: "Alinhamento Horizontal",
+DlgCellHorAlignNotSet	: "<Não ajustado>",
+DlgCellHorAlignLeft	: "Esquerda",
+DlgCellHorAlignCenter	: "Centralizado",
+DlgCellHorAlignRight: "Direita",
+DlgCellVerAlign		: "Alinhamento Vertical",
+DlgCellVerAlignNotSet	: "<Não ajustado>",
+DlgCellVerAlignTop	: "Superior",
+DlgCellVerAlignMiddle	: "Centralizado",
+DlgCellVerAlignBottom	: "Inferior",
+DlgCellVerAlignBaseline	: "Baseline",
+DlgCellRowSpan		: "Transpor Linhas",
+DlgCellCollSpan		: "Transpor Colunas",
+DlgCellBackColor	: "Cor do Plano de Fundo",
+DlgCellBorderColor	: "Cor da Borda",
+DlgCellBtnSelect	: "Selecionar...",
+
+// Find Dialog
+DlgFindTitle		: "Localizar...",
+DlgFindFindBtn		: "Localizar",
+DlgFindNotFoundMsg	: "O texto especificado não foi encontrado.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Substituir",
+DlgReplaceFindLbl		: "Procurar por:",
+DlgReplaceReplaceLbl	: "Substituir por:",
+DlgReplaceCaseChk		: "Coincidir Maiúsculas/Minúsculas",
+DlgReplaceReplaceBtn	: "Substituir",
+DlgReplaceReplAllBtn	: "Substituir Tudo",
+DlgReplaceWordChk		: "Coincidir a palavra inteira",
+
+// Paste Operations / Dialog
+PasteErrorPaste	: "As configurações de segurança do seu navegador não permitem que o editor excute operações de colar automaticamente. Por favor, utilize o teclado para colar (Ctrl+V).",
+PasteErrorCut	: "As configurações de segurança do seu navegador não permitem que o editor excute operações de recortar automaticamente. Por favor, utilize o teclado para recortar (Ctrl+X).",
+PasteErrorCopy	: "As configurações de segurança do seu navegador não permitem que o editor excute operações de copiar automaticamente. Por favor, utilize o teclado para copiar (Ctrl+C).",
+
+PasteAsText		: "Colar como Texto sem Formatação",
+PasteFromWord	: "Colar do Word",
+
+DlgPasteMsg2	: "Transfira o link usado no box usando o teclado com (<STRONG>Ctrl+V</STRONG>) e <STRONG>OK</STRONG>.",
+DlgPasteIgnoreFont		: "Ignorar definições de fonte",
+DlgPasteRemoveStyles	: "Remove definições de estilo",
+DlgPasteCleanBox		: "Limpar Box",
+
+
+// Color Picker
+ColorAutomatic	: "Automático",
+ColorMoreColors	: "Mais Cores...",
+
+// Document Properties
+DocProps		: "Propriedades Documento",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Formatar Âncora",
+DlgAnchorName		: "Nome da Âncora",
+DlgAnchorErrorName	: "Por favor, digite o nome da âncora",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Não encontrada",
+DlgSpellChangeTo		: "Alterar para",
+DlgSpellBtnIgnore		: "Ignorar uma vez",
+DlgSpellBtnIgnoreAll	: "Ignorar Todas",
+DlgSpellBtnReplace		: "Alterar",
+DlgSpellBtnReplaceAll	: "Alterar Todas",
+DlgSpellBtnUndo			: "Desfazer",
+DlgSpellNoSuggestions	: "-sem sugestões de ortografia-",
+DlgSpellProgress		: "Verificação ortográfica em andamento...",
+DlgSpellNoMispell		: "Verificação encerrada: Não foram encontrados erros de ortografia",
+DlgSpellNoChanges		: "Verificação ortográfica encerrada: Não houve alterações",
+DlgSpellOneChange		: "Verificação ortográfica encerrada: Uma palavra foi alterada",
+DlgSpellManyChanges		: "Verificação ortográfica encerrada: %1 foram alteradas",
+
+IeSpellDownload			: "A verificação ortográfica não foi instalada. Você gostaria de realizar o download agora?",
+
+// Button Dialog
+DlgButtonText	: "Texto (Valor)",
+DlgButtonType	: "Tipo",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Nome",
+DlgCheckboxValue	: "Valor",
+DlgCheckboxSelected	: "Selecionado",
+
+// Form Dialog
+DlgFormName		: "Nome",
+DlgFormAction	: "Action",
+DlgFormMethod	: "Método",
+
+// Select Field Dialog
+DlgSelectName		: "Nome",
+DlgSelectValue		: "Valor",
+DlgSelectSize		: "Tamanho",
+DlgSelectLines		: "linhas",
+DlgSelectChkMulti	: "Permitir múltiplas seleções",
+DlgSelectOpAvail	: "Opções disponíveis",
+DlgSelectOpText		: "Texto",
+DlgSelectOpValue	: "Valor",
+DlgSelectBtnAdd		: "Adicionar",
+DlgSelectBtnModify	: "Modificar",
+DlgSelectBtnUp		: "Para cima",
+DlgSelectBtnDown	: "Para baixo",
+DlgSelectBtnSetValue : "Definir como selecionado",
+DlgSelectBtnDelete	: "Remover",
+
+// Textarea Dialog
+DlgTextareaName	: "Nome",
+DlgTextareaCols	: "Colunas",
+DlgTextareaRows	: "Linhas",
+
+// Text Field Dialog
+DlgTextName			: "Nome",
+DlgTextValue		: "Valor",
+DlgTextCharWidth	: "Comprimento (em caracteres)",
+DlgTextMaxChars		: "Número Máximo de Caracteres",
+DlgTextType			: "Tipo",
+DlgTextTypeText		: "Texto",
+DlgTextTypePass		: "Senha",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Nome",
+DlgHiddenValue	: "Valor",
+
+// Bulleted List Dialog
+BulletedListProp	: "Formatar Marcadores",
+NumberedListProp	: "Formatar Numeração",
+DlgLstType			: "Tipo",
+DlgLstTypeCircle	: "Círculo",
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "Quadrado",
+DlgLstTypeNumbers	: "Números (1, 2, 3)",
+DlgLstTypeLCase		: "Letras Minúsculas (a, b, c)",
+DlgLstTypeUCase		: "Letras Maiúsculas (A, B, C)",
+DlgLstTypeSRoman	: "Números Romanos Minúsculos (i, ii, iii)",
+DlgLstTypeLRoman	: "Números Romanos Maiúsculos (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Geral",
+DlgDocBackTab		: "Plano de Fundo",
+DlgDocColorsTab		: "Cores e Margens",
+DlgDocMetaTab		: "Meta Dados",
+
+DlgDocPageTitle		: "Título da Página",
+DlgDocLangDir		: "Direção do Idioma",
+DlgDocLangDirLTR	: "Esquerda para Direita (LTR)",
+DlgDocLangDirRTL	: "Direita para Esquerda (RTL)",
+DlgDocLangCode		: "Código do Idioma",
+DlgDocCharSet		: "Codificação de Caracteres",
+DlgDocCharSetOther	: "Outra Codificação de Caracteres",
+
+DlgDocDocType		: "Cabeçalho Tipo de Documento",
+DlgDocDocTypeOther	: "Other Document Type Heading",
+DlgDocIncXHTML		: "Incluir Declarações XHTML",
+DlgDocBgColor		: "Cor do Plano de Fundo",
+DlgDocBgImage		: "URL da Imagem de Plano de Fundo",
+DlgDocBgNoScroll	: "Plano de Fundo Fixo",
+DlgDocCText			: "Texto",
+DlgDocCLink			: "Hiperlink",
+DlgDocCVisited		: "Hiperlink Visitado",
+DlgDocCActive		: "Hiperlink Ativo",
+DlgDocMargins		: "Margens da Página",
+DlgDocMaTop			: "Superior",
+DlgDocMaLeft		: "Inferior",
+DlgDocMaRight		: "Direita",
+DlgDocMaBottom		: "Inferior",
+DlgDocMeIndex		: "Palavras-chave de Indexação do Documento (separadas por vírgula)",
+DlgDocMeDescr		: "Descrição do Documento",
+DlgDocMeAuthor		: "Autor",
+DlgDocMeCopy		: "Direitos Autorais",
+DlgDocPreview		: "Visualizar",
+
+// Templates Dialog
+Templates			: "Modelos de layout",
+DlgTemplatesTitle	: "Modelo de layout do conteúdo",
+DlgTemplatesSelMsg	: "Selecione um modelo de layout para ser aberto no editor<br>(o conteúdo atual será perdido):",
+DlgTemplatesLoading	: "Carregando a lista de modelos de layout. Aguarde...",
+DlgTemplatesNoTpl	: "(Não foram definidos modelos de layout)",
+
+// About Dialog
+DlgAboutAboutTab	: "Sobre",
+DlgAboutBrowserInfoTab	: "Informações do Navegador",
+DlgAboutVersion		: "versão",
+DlgAboutLicense		: "Licenciado sobre os termos da GNU Lesser General Public License",
+DlgAboutInfo		: "Para maiores informações visite"
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/lang/pt.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/lang/pt.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/lang/pt.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,475 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: pt.js
+ * 	Portuguese language file.
+ * 
+ * File Authors:
+ * 		Francisco Pereira (fjpereira at netcabo.pt)
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Fechar Barra",
+ToolbarExpand		: "Expandir Barra",
+
+// Toolbar Items and Context Menu
+Save				: "Guardar",
+NewPage				: "Nova Página",
+Preview				: "Pré-visualizar",
+Cut					: "Cortar",
+Copy				: "Copiar",
+Paste				: "Colar",
+PasteText			: "Colar como texto não formatado",
+PasteWord			: "Colar do Word",
+Print				: "Imprimir",
+SelectAll			: "Seleccionar Tudo",
+RemoveFormat		: "Eliminar Formato",
+InsertLinkLbl		: "Hiperligação",
+InsertLink			: "Inserir/Editar Hiperligação",
+RemoveLink			: "Eliminar Hiperligação",
+Anchor				: " Inserir/Editar Âncora",
+InsertImageLbl		: "Imagem",
+InsertImage			: "Inserir/Editar Imagem",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Inserir/Editar Flash",
+InsertTableLbl		: "Tabela",
+InsertTable			: "Inserir/Editar Tabela",
+InsertLineLbl		: "Linha",
+InsertLine			: "Inserir Linha Horizontal",
+InsertSpecialCharLbl: "Caracter Especial",
+InsertSpecialChar	: "Inserir Caracter Especial",
+InsertSmileyLbl		: "Emoticons",
+InsertSmiley		: "Inserir Emoticons",
+About				: "Acerca do FCKeditor",
+Bold				: "Negrito",
+Italic				: "Itálico",
+Underline			: "Sublinhado",
+StrikeThrough		: "Rasurado",
+Subscript			: "Superior à Linha",
+Superscript			: "Inferior à Linha",
+LeftJustify			: "Alinhar à Esquerda",
+CenterJustify		: "Alinhar ao Centro",
+RightJustify		: "Alinhar à Direita",
+BlockJustify		: "Justificado",
+DecreaseIndent		: "Diminuir Avanço",
+IncreaseIndent		: "Aumentar Avanço",
+Undo				: "Anular",
+Redo				: "Repetir",
+NumberedListLbl		: "Numeração",
+NumberedList		: "Inserir/Eliminar Numeração",
+BulletedListLbl		: "Marcas",
+BulletedList		: "Inserir/Eliminar Marcas",
+ShowTableBorders	: "Mostrar Limites da Tabelas",
+ShowDetails			: "Mostrar Parágrafo",
+Style				: "Estilo",
+FontFormat			: "Formato",
+Font				: "Tipo de Letra",
+FontSize			: "Tamanho",
+TextColor			: "Cor do Texto",
+BGColor				: "Cor de Fundo",
+Source				: "Fonte",
+Find				: "Procurar",
+Replace				: "Substituir",
+SpellCheck			: "Verificação Ortográfica",
+UniversalKeyboard	: "Teclado Universal",
+
+Form			: "Formulário",
+Checkbox		: "Caixa de Verificação",
+RadioButton		: "Botão de Opção",
+TextField		: "Campo de Texto",
+Textarea		: "Área de Texto",
+HiddenField		: "Campo Escondido",
+Button			: "Botão",
+SelectionField	: "Caixa de Combinação",
+ImageButton		: "Botão de Imagem",
+
+// Context Menu
+EditLink			: "Editar Hiperligação",
+InsertRow			: "Inserir Linha",
+DeleteRows			: "Eliminar Linhas",
+InsertColumn		: "Inserir Coluna",
+DeleteColumns		: "Eliminar Coluna",
+InsertCell			: "Inserir Célula",
+DeleteCells			: "Eliminar Célula",
+MergeCells			: "Unir Células",
+SplitCell			: "Dividir Célula",
+CellProperties		: "Propriedades da Célula",
+TableProperties		: "Propriedades da Tabela",
+ImageProperties		: "Propriedades da Imagem",
+FlashProperties		: "Propriedades do Flash",
+
+AnchorProp			: "Propriedades da Âncora",
+ButtonProp			: "Propriedades do Botão",
+CheckboxProp		: "Propriedades da Caixa de Verificação",
+HiddenFieldProp		: "Propriedades do Campo Escondido",
+RadioButtonProp		: "Propriedades do Botão de Opção",
+ImageButtonProp		: "Propriedades do Botão de imagens",
+TextFieldProp		: "Propriedades do Campo de Texto",
+SelectionFieldProp	: "Propriedades da Caixa de Combinação",
+TextareaProp		: "Propriedades da Área de Texto",
+FormProp			: "Propriedades do Formulário",
+
+FontFormats			: "Normal;Formatado;Endereço;Título 1;Título 2;Título 3;Título 4;Título 5;Título 6",
+
+// Alerts and Messages
+ProcessingXHTML		: "A Processar XHTML. Por favor, espere...",
+Done				: "Concluído",
+PasteWordConfirm	: "O texto que deseja parece ter sido copiado do Word. Deseja limpar a formatação antes de colar?",
+NotCompatiblePaste	: "Este comando só está disponível para Internet Explorer versão 5.5 ou superior. Deseja colar sem limpar a formatação?",
+UnknownToolbarItem	: "Item de barra desconhecido \"%1\"",
+UnknownCommand		: "Nome de comando desconhecido \"%1\"",
+NotImplemented		: "Comando não implementado",
+UnknownToolbarSet	: "Nome de barra \"%1\" não definido",
+NoActiveX			: "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Cancelar",
+DlgBtnClose			: "Fechar",
+DlgBtnBrowseServer	: "Navegar no Servidor",
+DlgAdvancedTag		: "Avançado",
+DlgOpOther			: "&lt;Outro&gt;",
+DlgInfoTab			: "Informação",
+DlgAlertUrl			: "Por favor introduza o URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "&lt;Não definido&gt;",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Orientação de idioma",
+DlgGenLangDirLtr	: "Esquerda à Direita (LTR)",
+DlgGenLangDirRtl	: "Direita a Esquerda (RTL)",
+DlgGenLangCode		: "Código de Idioma",
+DlgGenAccessKey		: "Chave de Acesso",
+DlgGenName			: "Nome",
+DlgGenTabIndex		: "Índice de Tubulação",
+DlgGenLongDescr		: "Descrição Completa do URL",
+DlgGenClass			: "Classes de Estilo de Folhas Classes",
+DlgGenTitle			: "Título",
+DlgGenContType		: "Tipo de Conteúdo",
+DlgGenLinkCharset	: "Fonte de caracteres vinculado",
+DlgGenStyle			: "Estilo",
+
+// Image Dialog
+DlgImgTitle			: "Propriedades da Imagem",
+DlgImgInfoTab		: "Informação da Imagem",
+DlgImgBtnUpload		: "Enviar para o Servidor",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Carregar",
+DlgImgAlt			: "Texto Alternativo",
+DlgImgWidth			: "Largura",
+DlgImgHeight		: "Altura",
+DlgImgLockRatio		: "Proporcional",
+DlgBtnResetSize		: "Tamanho Original",
+DlgImgBorder		: "Limite",
+DlgImgHSpace		: "Esp.Horiz",
+DlgImgVSpace		: "Esp.Vert",
+DlgImgAlign			: "Alinhamento",
+DlgImgAlignLeft		: "Esquerda",
+DlgImgAlignAbsBottom: "Abs inferior",
+DlgImgAlignAbsMiddle: "Abs centro",
+DlgImgAlignBaseline	: "Linha de base",
+DlgImgAlignBottom	: "Fundo",
+DlgImgAlignMiddle	: "Centro",
+DlgImgAlignRight	: "Direita",
+DlgImgAlignTextTop	: "Topo do texto",
+DlgImgAlignTop		: "Topo",
+DlgImgPreview		: "Pré-visualizar",
+DlgImgAlertUrl		: "Por favor introduza o URL da imagem",
+DlgImgLinkTab		: "Hiperligação",
+
+// Flash Dialog
+DlgFlashTitle		: "Propriedades do Flash",
+DlgFlashChkPlay		: "Reproduzir automaticamente",
+DlgFlashChkLoop		: "Loop",
+DlgFlashChkMenu		: "Permitir Menu do Flash",
+DlgFlashScale		: "Escala",
+DlgFlashScaleAll	: "Mostrar tudo",
+DlgFlashScaleNoBorder	: "Sem Limites",
+DlgFlashScaleFit	: "Tamanho Exacto",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Hiperligação",
+DlgLnkInfoTab		: "Informação de Hiperligação",
+DlgLnkTargetTab		: "Destino",
+
+DlgLnkType			: "Tipo de Hiperligação",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Referência a esta página",
+DlgLnkTypeEMail		: "E-Mail",
+DlgLnkProto			: "Protocolo",
+DlgLnkProtoOther	: "&lt;outro&gt;",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Seleccionar una referência",
+DlgLnkAnchorByName	: "Por Nome de Referência",
+DlgLnkAnchorById	: "Por ID de elemento",
+DlgLnkNoAnchors		: "&lt;Não há referências disponíveis no documento&gt;",
+DlgLnkEMail			: "Endereço de E-Mail",
+DlgLnkEMailSubject	: "Título de Mensagem",
+DlgLnkEMailBody		: "Corpo da Mensagem",
+DlgLnkUpload		: "Carregar",
+DlgLnkBtnUpload		: "Enviar ao Servidor",
+
+DlgLnkTarget		: "Destino",
+DlgLnkTargetFrame	: "&lt;Frame&gt;",
+DlgLnkTargetPopup	: "&lt;Janela de popup&gt;",
+DlgLnkTargetBlank	: "Nova Janela(_blank)",
+DlgLnkTargetParent	: "Janela Pai (_parent)",
+DlgLnkTargetSelf	: "Mesma janela (_self)",
+DlgLnkTargetTop		: "Janela primaria (_top)",
+DlgLnkTargetFrameName	: "Nome do Frame Destino",
+DlgLnkPopWinName	: "Nome da Janela de Popup",
+DlgLnkPopWinFeat	: "Características de Janela de Popup",
+DlgLnkPopResize		: "Ajustável",
+DlgLnkPopLocation	: "Barra de localização",
+DlgLnkPopMenu		: "Barra de Menu",
+DlgLnkPopScroll		: "Barras de deslocamento",
+DlgLnkPopStatus		: "Barra de Estado",
+DlgLnkPopToolbar	: "Barra de Ferramentas",
+DlgLnkPopFullScrn	: "Janela Completa (IE)",
+DlgLnkPopDependent	: "Dependente (Netscape)",
+DlgLnkPopWidth		: "Largura",
+DlgLnkPopHeight		: "Altura",
+DlgLnkPopLeft		: "Posição Esquerda",
+DlgLnkPopTop		: "Posição Direita",
+
+DlnLnkMsgNoUrl		: "Por favor introduza a hiperligação URL",
+DlnLnkMsgNoEMail	: "Por favor introduza o endereço de e-mail",
+DlnLnkMsgNoAnchor	: "Por favor seleccione uma referência",
+
+// Color Dialog
+DlgColorTitle		: "Seleccionar Cor",
+DlgColorBtnClear	: "Nenhuma",
+DlgColorHighlight	: "Destacado",
+DlgColorSelected	: "Seleccionado",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Inserir um Emoticon",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Seleccione um caracter especial",
+
+// Table Dialog
+DlgTableTitle		: "Propriedades da Tabela",
+DlgTableRows		: "Linhas",
+DlgTableColumns		: "Colunas",
+DlgTableBorder		: "Tamanho do Limite",
+DlgTableAlign		: "Alinhamento",
+DlgTableAlignNotSet	: "<Não definido>",
+DlgTableAlignLeft	: "Esquerda",
+DlgTableAlignCenter	: "Centrado",
+DlgTableAlignRight	: "Direita",
+DlgTableWidth		: "Largura",
+DlgTableWidthPx		: "pixeis",
+DlgTableWidthPc		: "percentagem",
+DlgTableHeight		: "Altura",
+DlgTableCellSpace	: "Esp. e/células",
+DlgTableCellPad		: "Esp. interior",
+DlgTableCaption		: "Título",
+
+// Table Cell Dialog
+DlgCellTitle		: "Propriedades da Célula",
+DlgCellWidth		: "Largura",
+DlgCellWidthPx		: "pixeis",
+DlgCellWidthPc		: "percentagem",
+DlgCellHeight		: "Altura",
+DlgCellWordWrap		: "Moldar Texto",
+DlgCellWordWrapNotSet	: "<Não definido>",
+DlgCellWordWrapYes	: "Sim",
+DlgCellWordWrapNo	: "Não",
+DlgCellHorAlign		: "Alinhamento Horizontal",
+DlgCellHorAlignNotSet	: "<Não definido>",
+DlgCellHorAlignLeft	: "Esquerda",
+DlgCellHorAlignCenter	: "Centrado",
+DlgCellHorAlignRight: "Direita",
+DlgCellVerAlign		: "Alinhamento Vertical",
+DlgCellVerAlignNotSet	: "<Não definido>",
+DlgCellVerAlignTop	: "Topo",
+DlgCellVerAlignMiddle	: "Médio",
+DlgCellVerAlignBottom	: "Fundi",
+DlgCellVerAlignBaseline	: "Linha de Base",
+DlgCellRowSpan		: "Unir Linhas",
+DlgCellCollSpan		: "Unir Colunas",
+DlgCellBackColor	: "Cor do Fundo",
+DlgCellBorderColor	: "Cor do Limite",
+DlgCellBtnSelect	: "Seleccione...",
+
+// Find Dialog
+DlgFindTitle		: "Procurar",
+DlgFindFindBtn		: "Procurar",
+DlgFindNotFoundMsg	: "O texto especificado não foi encontrado.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Substituir",
+DlgReplaceFindLbl		: "Texto a Procurar:",
+DlgReplaceReplaceLbl	: "Substituir por:",
+DlgReplaceCaseChk		: "Maiúsculas/Minúsculas",
+DlgReplaceReplaceBtn	: "Substituir",
+DlgReplaceReplAllBtn	: "Substituir Tudo",
+DlgReplaceWordChk		: "Coincidir com toda a palavra",
+
+// Paste Operations / Dialog
+PasteErrorPaste	: "A configuração de segurança do navegador não permite a execução automática de operações de colar. Por favor use o teclado (Ctrl+V).",
+PasteErrorCut	: "A configuração de segurança do navegador não permite a execução automática de operações de cortar. Por favor use o teclado (Ctrl+X).",
+PasteErrorCopy	: "A configuração de segurança do navegador não permite a execução automática de operações de copiar. Por favor use o teclado (Ctrl+C).",
+
+PasteAsText		: "Colar como Texto Simples",
+PasteFromWord	: "Colar do Word",
+
+DlgPasteMsg2	: "Por favor, cole dentro da seguinte caixa usando o teclado (<STRONG>Ctrl+V</STRONG>) e prima <STRONG>OK</STRONG>.",
+DlgPasteIgnoreFont		: "Ignorar da definições do Tipo de Letra ",
+DlgPasteRemoveStyles	: "Remover as definições de Estilos",
+DlgPasteCleanBox		: "Caixa de Limpeza",
+
+
+// Color Picker
+ColorAutomatic	: "Automático",
+ColorMoreColors	: "Mais Cores...",
+
+// Document Properties
+DocProps		: "Propriedades do Documento",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Propriedades da Âncora",
+DlgAnchorName		: "Nome da Âncora",
+DlgAnchorErrorName	: "Por favor, introduza o nome da âncora",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Não está num directório",
+DlgSpellChangeTo		: "Mudar para",
+DlgSpellBtnIgnore		: "Ignorar",
+DlgSpellBtnIgnoreAll	: "Ignorar Tudo",
+DlgSpellBtnReplace		: "Substituir",
+DlgSpellBtnReplaceAll	: "Substituir Tudo",
+DlgSpellBtnUndo			: "Anular",
+DlgSpellNoSuggestions	: "- Sem sugestões -",
+DlgSpellProgress		: "Verificação ortográfica em progresso…",
+DlgSpellNoMispell		: "Verificação ortográfica completa: não foram encontrados erros",
+DlgSpellNoChanges		: "Verificação ortográfica completa: não houve alteração de palavras",
+DlgSpellOneChange		: "Verificação ortográfica completa: uma palavra alterada",
+DlgSpellManyChanges		: "Verificação ortográfica completa: %1 palavras alteradas",
+
+IeSpellDownload			: " Verificação ortográfica não instalada. Quer descarregar agora?",
+
+// Button Dialog
+DlgButtonText	: "Texto (Valor)",
+DlgButtonType	: "Tipo",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Nome",
+DlgCheckboxValue	: "Valor",
+DlgCheckboxSelected	: "Seleccionado",
+
+// Form Dialog
+DlgFormName		: "Nome",
+DlgFormAction	: "Acção",
+DlgFormMethod	: "Método",
+
+// Select Field Dialog
+DlgSelectName		: "Nome",
+DlgSelectValue		: "Valor",
+DlgSelectSize		: "Tamanho",
+DlgSelectLines		: "linhas",
+DlgSelectChkMulti	: "Permitir selecções múltiplas",
+DlgSelectOpAvail	: "Opções Possíveis",
+DlgSelectOpText		: "Texto",
+DlgSelectOpValue	: "Valor",
+DlgSelectBtnAdd		: "Adicionar",
+DlgSelectBtnModify	: "Modificar",
+DlgSelectBtnUp		: "Para cima",
+DlgSelectBtnDown	: "Para baixo",
+DlgSelectBtnSetValue : "Definir um valor por defeito",
+DlgSelectBtnDelete	: "Apagar",
+
+// Textarea Dialog
+DlgTextareaName	: "Nome",
+DlgTextareaCols	: "Colunas",
+DlgTextareaRows	: "Linhas",
+
+// Text Field Dialog
+DlgTextName			: "Nome",
+DlgTextValue		: "Valor",
+DlgTextCharWidth	: "Tamanho do caracter",
+DlgTextMaxChars		: "Nr. Máximo de Caracteres",
+DlgTextType			: "Tipo",
+DlgTextTypeText		: "Texto",
+DlgTextTypePass		: "Palavra-chave",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Nome",
+DlgHiddenValue	: "Valor",
+
+// Bulleted List Dialog
+BulletedListProp	: "Propriedades da Marca",
+NumberedListProp	: "Propriedades da Numeração",
+DlgLstType			: "Tipo",
+DlgLstTypeCircle	: "Circulo",
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "Quadrado",
+DlgLstTypeNumbers	: "Números (1, 2, 3)",
+DlgLstTypeLCase		: "Letras Minúsculas (a, b, c)",
+DlgLstTypeUCase		: "Letras Maiúsculas (A, B, C)",
+DlgLstTypeSRoman	: "Numeração Romana em Minúsculas (i, ii, iii)",
+DlgLstTypeLRoman	: "Numeração Romana em Maiúsculas (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Geral",
+DlgDocBackTab		: "Fundo",
+DlgDocColorsTab		: "Cores e Margens",
+DlgDocMetaTab		: "Meta Data",
+
+DlgDocPageTitle		: "Título da Página",
+DlgDocLangDir		: "Orientação de idioma",
+DlgDocLangDirLTR	: "Esquerda à Direita (LTR)",
+DlgDocLangDirRTL	: "Direita à Esquerda (RTL)",
+DlgDocLangCode		: "Código de Idioma",
+DlgDocCharSet		: "Codificação de Caracteres",
+DlgDocCharSetOther	: "Outra Codificação de Caracteres",
+
+DlgDocDocType		: "Tipo de Cabeçalho do Documento",
+DlgDocDocTypeOther	: "Outro Tipo de Cabeçalho do Documento",
+DlgDocIncXHTML		: "Incluir Declarações XHTML",
+DlgDocBgColor		: "Cor de Fundo",
+DlgDocBgImage		: "Caminho para a Imagem de Fundo",
+DlgDocBgNoScroll	: "Fundo Fixo",
+DlgDocCText			: "Texto",
+DlgDocCLink			: "Hiperligação",
+DlgDocCVisited		: "Hiperligação Visitada",
+DlgDocCActive		: "Hiperligação Activa",
+DlgDocMargins		: "Margem das Páginas",
+DlgDocMaTop			: "Topo",
+DlgDocMaLeft		: "Esquerda",
+DlgDocMaRight		: "Direita",
+DlgDocMaBottom		: "Fundo",
+DlgDocMeIndex		: "Palavras de Indexação do Documento (separadas por virgula)",
+DlgDocMeDescr		: "Descrição do Documento",
+DlgDocMeAuthor		: "Autor",
+DlgDocMeCopy		: "Direitos de Autor",
+DlgDocPreview		: "Pré-visualizar",
+
+// Templates Dialog
+Templates			: "Modelos",
+DlgTemplatesTitle	: "Modelo de Conteúdo",
+DlgTemplatesSelMsg	: "Por favor, seleccione o modelo a abrir no editor<br>(o conteúdo actual será perdido):",
+DlgTemplatesLoading	: "A carregar a lista de modelos. Aguarde por favor...",
+DlgTemplatesNoTpl	: "(Sem modelos definidos)",
+
+// About Dialog
+DlgAboutAboutTab	: "Acerca",
+DlgAboutBrowserInfoTab	: "Informação do Nevegador",
+DlgAboutVersion		: "versão",
+DlgAboutLicense		: "Licenciado segundo os términos de GNU Lesser General Public License",
+DlgAboutInfo		: "Para mais informações por favor dirija-se a"
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/lang/ro.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/lang/ro.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/lang/ro.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,476 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: ro.js
+ * 	Romanian language file.
+ * 
+ * File Authors:
+ * 		Adrian Nicoara
+ * 		Ionut Traian Popa
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Ascunde bara cu opţiuni",
+ToolbarExpand		: "Expandează bara cu opţiuni",
+
+// Toolbar Items and Context Menu
+Save				: "Salvează",
+NewPage				: "Pagină nouă",
+Preview				: "Previzualizare",
+Cut					: "Taie",
+Copy				: "Copiază",
+Paste				: "Adaugă",
+PasteText			: "Adaugă ca text simplu",
+PasteWord			: "Adaugă din Word",
+Print				: "Printează",
+SelectAll			: "Selectează tot",
+RemoveFormat		: "Înlătură formatarea",
+InsertLinkLbl		: "Link (Legătură web)",
+InsertLink			: "Inserează/Editează link (legătură web)",
+RemoveLink			: "Înlătură link (legătură web)",
+Anchor				: "Inserează/Editează ancoră",
+InsertImageLbl		: "Imagine",
+InsertImage			: "Inserează/Editează imagine",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Inserează/Editează flash",
+InsertTableLbl		: "Tabel",
+InsertTable			: "Inserează/Editează tabel",
+InsertLineLbl		: "Linie",
+InsertLine			: "Inserează linie orizontă",
+InsertSpecialCharLbl: "Caracter special",
+InsertSpecialChar	: "Inserează caracter special",
+InsertSmileyLbl		: "Figură expresivă (Emoticon)",
+InsertSmiley		: "Inserează Figură expresivă (Emoticon)",
+About				: "Despre FCKeditor",
+Bold				: "ÃŽngroÅŸat (bold)",
+Italic				: "ÃŽnclinat (italic)",
+Underline			: "Subliniat (underline)",
+StrikeThrough		: "Tăiat (strike through)",
+Subscript			: "Indice (subscript)",
+Superscript			: "Putere (superscript)",
+LeftJustify			: "Aliniere la stânga",
+CenterJustify		: "Aliniere centrală",
+RightJustify		: "Aliniere la dreapta",
+BlockJustify		: "Aliniere în bloc (Block Justify)",
+DecreaseIndent		: "Scade indentarea",
+IncreaseIndent		: "CreÅŸte indentarea",
+Undo				: "Starea anterioară (undo)",
+Redo				: "Starea ulterioară (redo)",
+NumberedListLbl		: "Listă numerotată",
+NumberedList		: "Inserează/Şterge listă numerotată",
+BulletedListLbl		: "Listă cu puncte",
+BulletedList		: "Inserează/Şterge listă cu puncte",
+ShowTableBorders	: "Arată marginile tabelului",
+ShowDetails			: "Arată detalii",
+Style				: "Stil",
+FontFormat			: "Formatare",
+Font				: "Font",
+FontSize			: "Mărime",
+TextColor			: "Culoarea textului",
+BGColor				: "Coloarea fundalului",
+Source				: "Sursa",
+Find				: "Găseşte",
+Replace				: "ÃŽnlocuieÅŸte",
+SpellCheck			: "Verifică text",
+UniversalKeyboard	: "Tastatură universală",
+
+Form			: "Formular (Form)",
+Checkbox		: "Bifă (Checkbox)",
+RadioButton		: "Buton radio (RadioButton)",
+TextField		: "Câmp text (TextField)",
+Textarea		: "Suprafaţă text (Textarea)",
+HiddenField		: "Câmp ascuns (HiddenField)",
+Button			: "Buton",
+SelectionField	: "Câmp selecţie (SelectionField)",
+ImageButton		: "Buton imagine (ImageButton)",
+
+// Context Menu
+EditLink			: "Editează Link",
+InsertRow			: "Inserează Row",
+DeleteRows			: "Åžterge Rows",
+InsertColumn		: "Inserează Column",
+DeleteColumns		: "Åžterge Columns",
+InsertCell			: "Inserează Cell",
+DeleteCells			: "Åžterge celule",
+MergeCells			: "UneÅŸte celule",
+SplitCell			: "Împarte celulă",
+CellProperties		: "Proprietăţile celulei",
+TableProperties		: "Proprietăţile tabelului",
+ImageProperties		: "Proprietăţile imaginii",
+FlashProperties		: "Proprietăţile flash-ului",
+
+AnchorProp			: "Proprietăţi ancoră",
+ButtonProp			: "Proprietăţi buton",
+CheckboxProp		: "Proprietăţi bifă (Checkbox)",
+HiddenFieldProp		: "Proprietăţi câmp ascuns (Hidden Field)",
+RadioButtonProp		: "Proprietăţi buton radio (Radio Button)",
+ImageButtonProp		: "Proprietăţi buton imagine (Image Button)",
+TextFieldProp		: "Proprietăţi câmp text (Text Field)",
+SelectionFieldProp	: "Proprietăţi câmp selecţie (Selection Field)",
+TextareaProp		: "Proprietăţi suprafaţă text (Textarea)",
+FormProp			: "Proprietăţi formular (Form)",
+
+FontFormats			: "Normal;Formatat;Adresa;Titlu 1;Titlu 2;Titlu 3;Titlu 4;Titlu 5;Titlu 6;Paragraf (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "Procesăm XHTML. Vă rugăm aşteptaţi...",
+Done				: "Am terminat",
+PasteWordConfirm	: "Textul pe care doriţi să-l adăugaţi pare a fi formatat pentru Word. Doriţi să-l curăţaţi de această formatare înainte de a-l adăuga?",
+NotCompatiblePaste	: "Această facilitate e disponibilă doar pentru Microsoft Internet Explorer, versiunea 5.5 sau ulterioară. Vreţi să-l adăugaţi fără a-i fi înlăturat formatarea?",
+UnknownToolbarItem	: "Obiectul \"%1\" din bara cu opţiuni necunoscut",
+UnknownCommand		: "Comanda \"%1\" necunoscută",
+NotImplemented		: "Comandă neimplementată",
+UnknownToolbarSet	: "Grupul din bara cu opţiuni \"%1\" nu există",
+NoActiveX			: "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "Bine",
+DlgBtnCancel		: "Anulare",
+DlgBtnClose			: "ÃŽnchidere",
+DlgBtnBrowseServer	: "Răsfoieşte server",
+DlgAdvancedTag		: "Avansat",
+DlgOpOther			: "&lt;Altul&gt;",
+DlgInfoTab			: "Informaţii",
+DlgAlertUrl			: "Vă rugăm să scrieţi URL-ul",
+
+// General Dialogs Labels
+DlgGenNotSet		: "&lt;nesetat&gt;",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Direcţia cuvintelor",
+DlgGenLangDirLtr	: "stânga-dreapta (LTR)",
+DlgGenLangDirRtl	: "dreapta-stânga (RTL)",
+DlgGenLangCode		: "Codul limbii",
+DlgGenAccessKey		: "Tasta de acces",
+DlgGenName			: "Nume",
+DlgGenTabIndex		: "Indexul tabului",
+DlgGenLongDescr		: "Descrierea lungă URL",
+DlgGenClass			: "Clasele cu stilul paginii (CSS)",
+DlgGenTitle			: "Titlul consultativ",
+DlgGenContType		: "Tipul consultativ al titlului",
+DlgGenLinkCharset	: "Setul de caractere al resursei legate",
+DlgGenStyle			: "Stil",
+
+// Image Dialog
+DlgImgTitle			: "Proprietăţile imaginii",
+DlgImgInfoTab		: "Informaţii despre imagine",
+DlgImgBtnUpload		: "Trimite la server",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Încarcă",
+DlgImgAlt			: "Text alternativ",
+DlgImgWidth			: "Lăţime",
+DlgImgHeight		: "Înălţime",
+DlgImgLockRatio		: "Păstrează proporţiile",
+DlgBtnResetSize		: "Resetează mărimea",
+DlgImgBorder		: "Margine",
+DlgImgHSpace		: "HSpace",
+DlgImgVSpace		: "VSpace",
+DlgImgAlign			: "Aliniere",
+DlgImgAlignLeft		: "Stânga",
+DlgImgAlignAbsBottom: "Jos absolut (Abs Bottom)",
+DlgImgAlignAbsMiddle: "Mijloc absolut (Abs Middle)",
+DlgImgAlignBaseline	: "Linia de jos (Baseline)",
+DlgImgAlignBottom	: "Jos",
+DlgImgAlignMiddle	: "Mijloc",
+DlgImgAlignRight	: "Dreapta",
+DlgImgAlignTextTop	: "Text sus",
+DlgImgAlignTop		: "Sus",
+DlgImgPreview		: "Previzualizare",
+DlgImgAlertUrl		: "Vă rugăm să scrieţi URL-ul imaginii",
+DlgImgLinkTab		: "Link (Legătură web)",
+
+// Flash Dialog
+DlgFlashTitle		: "Proprietăţile flash-ului",
+DlgFlashChkPlay		: "Rulează automat",
+DlgFlashChkLoop		: "Repetă (Loop)",
+DlgFlashChkMenu		: "Activează meniul flash",
+DlgFlashScale		: "Scală",
+DlgFlashScaleAll	: "Arată tot",
+DlgFlashScaleNoBorder	: "Fără margini (No border)",
+DlgFlashScaleFit	: "PotriveÅŸte",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Link (Legătură web)",
+DlgLnkInfoTab		: "Informaţii despre link (Legătură web)",
+DlgLnkTargetTab		: "Ţintă (Target)",
+
+DlgLnkType			: "Tipul link-ului (al legăturii web)",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Ancoră în această pagină",
+DlgLnkTypeEMail		: "E-Mail",
+DlgLnkProto			: "Protocol",
+DlgLnkProtoOther	: "&lt;altul&gt;",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Selectaţi o ancoră",
+DlgLnkAnchorByName	: "după numele ancorei",
+DlgLnkAnchorById	: "după Id-ul elementului",
+DlgLnkNoAnchors		: "&lt;Nici o ancoră disponibilă în document&gt;",
+DlgLnkEMail			: "Adresă de e-mail",
+DlgLnkEMailSubject	: "Subiectul mesajului",
+DlgLnkEMailBody		: "Conţinutul mesajului",
+DlgLnkUpload		: "Încarcă",
+DlgLnkBtnUpload		: "Trimite la server",
+
+DlgLnkTarget		: "Ţintă (Target)",
+DlgLnkTargetFrame	: "&lt;frame&gt;",
+DlgLnkTargetPopup	: "&lt;fereastra popup&gt;",
+DlgLnkTargetBlank	: "Fereastră nouă (_blank)",
+DlgLnkTargetParent	: "Fereastra părinte (_parent)",
+DlgLnkTargetSelf	: "Aceeaşi fereastră (_self)",
+DlgLnkTargetTop		: "Fereastra din topul ierarhiei (_top)",
+DlgLnkTargetFrameName	: "Numele frame-ului ţintă",
+DlgLnkPopWinName	: "Numele ferestrei popup",
+DlgLnkPopWinFeat	: "Proprietăţile ferestrei popup",
+DlgLnkPopResize		: "Scalabilă",
+DlgLnkPopLocation	: "Bara de locaţie",
+DlgLnkPopMenu		: "Bara de meniu",
+DlgLnkPopScroll		: "Scroll Bars",
+DlgLnkPopStatus		: "Bara de status",
+DlgLnkPopToolbar	: "Bara de opţiuni",
+DlgLnkPopFullScrn	: "Tot ecranul (Full Screen)(IE)",
+DlgLnkPopDependent	: "Dependent (Netscape)",
+DlgLnkPopWidth		: "Lăţime",
+DlgLnkPopHeight		: "Înălţime",
+DlgLnkPopLeft		: "Poziţia la stânga",
+DlgLnkPopTop		: "Poziţia la dreapta",
+
+DlnLnkMsgNoUrl		: "Vă rugăm să scrieţi URL-ul",
+DlnLnkMsgNoEMail	: "Vă rugăm să scrieţi adresa de e-mail",
+DlnLnkMsgNoAnchor	: "Vă rugăm să selectaţi o ancoră",
+
+// Color Dialog
+DlgColorTitle		: "Selectează culoare",
+DlgColorBtnClear	: "Curăţă",
+DlgColorHighlight	: "Subliniază (Highlight)",
+DlgColorSelected	: "Selectat",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Inserează o figură expresivă (Emoticon)",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Selectează caracter special",
+
+// Table Dialog
+DlgTableTitle		: "Proprietăţile tabelului",
+DlgTableRows		: "Linii",
+DlgTableColumns		: "Coloane",
+DlgTableBorder		: "Mărimea marginii",
+DlgTableAlign		: "Aliniament",
+DlgTableAlignNotSet	: "<Nesetat>",
+DlgTableAlignLeft	: "Stânga",
+DlgTableAlignCenter	: "Centru",
+DlgTableAlignRight	: "Dreapta",
+DlgTableWidth		: "Lăţime",
+DlgTableWidthPx		: "pixeli",
+DlgTableWidthPc		: "procente",
+DlgTableHeight		: "Înălţime",
+DlgTableCellSpace	: "Spaţiu între celule",
+DlgTableCellPad		: "Spaţiu în cadrul celulei",
+DlgTableCaption		: "Titlu (Caption)",
+
+// Table Cell Dialog
+DlgCellTitle		: "Proprietăţile celulei",
+DlgCellWidth		: "Lăţime",
+DlgCellWidthPx		: "pixeli",
+DlgCellWidthPc		: "procente",
+DlgCellHeight		: "Înălţime",
+DlgCellWordWrap		: "Desparte cuvintele (Wrap)",
+DlgCellWordWrapNotSet	: "&lt;Nesetat&gt;",
+DlgCellWordWrapYes	: "Da",
+DlgCellWordWrapNo	: "Nu",
+DlgCellHorAlign		: "Aliniament orizontal",
+DlgCellHorAlignNotSet	: "&lt;Nesetat&gt;",
+DlgCellHorAlignLeft	: "Stânga",
+DlgCellHorAlignCenter	: "Centru",
+DlgCellHorAlignRight: "Dreapta",
+DlgCellVerAlign		: "Aliniament vertical",
+DlgCellVerAlignNotSet	: "&lt;Nesetat&gt;",
+DlgCellVerAlignTop	: "Sus",
+DlgCellVerAlignMiddle	: "Mijloc",
+DlgCellVerAlignBottom	: "Jos",
+DlgCellVerAlignBaseline	: "Linia de jos (Baseline)",
+DlgCellRowSpan		: "Lungimea în linii (Span)",
+DlgCellCollSpan		: "Lungimea în coloane (Span)",
+DlgCellBackColor	: "Culoarea fundalului",
+DlgCellBorderColor	: "Culoarea marginii",
+DlgCellBtnSelect	: "Selectaţi...",
+
+// Find Dialog
+DlgFindTitle		: "Găseşte",
+DlgFindFindBtn		: "Găseşte",
+DlgFindNotFoundMsg	: "Textul specificat nu a fost găsit.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Replace",
+DlgReplaceFindLbl		: "Găseşte:",
+DlgReplaceReplaceLbl	: "ÃŽnlocuieÅŸte cu:",
+DlgReplaceCaseChk		: "DeosebeÅŸte majuscule de minuscule (Match case)",
+DlgReplaceReplaceBtn	: "ÃŽnlocuieÅŸte",
+DlgReplaceReplAllBtn	: "ÃŽnlocuieÅŸte tot",
+DlgReplaceWordChk		: "Doar cuvintele întregi",
+
+// Paste Operations / Dialog
+PasteErrorPaste	: "Setările de securitate ale navigatorului (browser) pe care îl folosiţi nu permit editorului să execute automat operaţiunea de adăugare. Vă rugăm folosiţi tastatura (Ctrl+V).",
+PasteErrorCut	: "Setările de securitate ale navigatorului (browser) pe care îl folosiţi nu permit editorului să execute automat operaţiunea de tăiere. Vă rugăm folosiţi tastatura (Ctrl+X).",
+PasteErrorCopy	: "Setările de securitate ale navigatorului (browser) pe care îl folosiţi nu permit editorului să execute automat operaţiunea de copiere. Vă rugăm folosiţi tastatura (Ctrl+C).",
+
+PasteAsText		: "Adaugă ca text simplu (Plain Text)",
+PasteFromWord	: "Adaugă din Word",
+
+DlgPasteMsg2	: "Vă rugăm adăugaţi în căsuţa următoare folosind tastatura (<STRONG>Ctrl+V</STRONG>) şi apăsaţi <STRONG>OK</STRONG>.",
+DlgPasteIgnoreFont		: "Ignoră definiţiile Font Face",
+DlgPasteRemoveStyles	: "Şterge definiţiile stilurilor",
+DlgPasteCleanBox		: "Şterge căsuţa",
+
+
+// Color Picker
+ColorAutomatic	: "Automatic",
+ColorMoreColors	: "Mai multe culori...",
+
+// Document Properties
+DocProps		: "Proprietăţile documentului",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Proprietăţile ancorei",
+DlgAnchorName		: "Numele ancorei",
+DlgAnchorErrorName	: "Vă rugăm scrieţi numele ancorei",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Nu e în dicţionar",
+DlgSpellChangeTo		: "Schimbă în",
+DlgSpellBtnIgnore		: "Ignoră",
+DlgSpellBtnIgnoreAll	: "Ignoră toate",
+DlgSpellBtnReplace		: "ÃŽnlocuieÅŸte",
+DlgSpellBtnReplaceAll	: "ÃŽnlocuieÅŸte tot",
+DlgSpellBtnUndo			: "Starea anterioară (undo)",
+DlgSpellNoSuggestions	: "- Fără sugestii -",
+DlgSpellProgress		: "Verificarea textului în desfăşurare...",
+DlgSpellNoMispell		: "Verificarea textului terminată: Nici o greşeală găsită",
+DlgSpellNoChanges		: "Verificarea textului terminată: Nici un cuvânt modificat",
+DlgSpellOneChange		: "Verificarea textului terminată: Un cuvânt modificat",
+DlgSpellManyChanges		: "Verificarea textului terminată: 1% cuvinte modificate",
+
+IeSpellDownload			: "Unealta pentru verificat textul (Spell checker) neinstalată. Doriţi să o descărcaţi acum?",
+
+// Button Dialog
+DlgButtonText	: "Text (Valoare)",
+DlgButtonType	: "Tip",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Nume",
+DlgCheckboxValue	: "Valoare",
+DlgCheckboxSelected	: "Selectat",
+
+// Form Dialog
+DlgFormName		: "Nume",
+DlgFormAction	: "Acţiune",
+DlgFormMethod	: "Metodă",
+
+// Select Field Dialog
+DlgSelectName		: "Nume",
+DlgSelectValue		: "Valoare",
+DlgSelectSize		: "Mărime",
+DlgSelectLines		: "linii",
+DlgSelectChkMulti	: "Permite selecţii multiple",
+DlgSelectOpAvail	: "Opţiuni disponibile",
+DlgSelectOpText		: "Text",
+DlgSelectOpValue	: "Valoare",
+DlgSelectBtnAdd		: "Adaugă",
+DlgSelectBtnModify	: "Modifică",
+DlgSelectBtnUp		: "Sus",
+DlgSelectBtnDown	: "Jos",
+DlgSelectBtnSetValue : "Setează ca valoare selectată",
+DlgSelectBtnDelete	: "Åžterge",
+
+// Textarea Dialog
+DlgTextareaName	: "Nume",
+DlgTextareaCols	: "Coloane",
+DlgTextareaRows	: "Linii",
+
+// Text Field Dialog
+DlgTextName			: "Nume",
+DlgTextValue		: "Valoare",
+DlgTextCharWidth	: "Lărgimea caracterului",
+DlgTextMaxChars		: "Caractere maxime",
+DlgTextType			: "Tip",
+DlgTextTypeText		: "Text",
+DlgTextTypePass		: "Parolă",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Nume",
+DlgHiddenValue	: "Valoare",
+
+// Bulleted List Dialog
+BulletedListProp	: "Proprietăţile listei punctate (Bulleted List)",
+NumberedListProp	: "Proprietăţile listei numerotate (Numbered List)",
+DlgLstType			: "Tip",
+DlgLstTypeCircle	: "Cerc",
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "Pătrat",
+DlgLstTypeNumbers	: "Numere (1, 2, 3)",
+DlgLstTypeLCase		: "Minuscule-litere mici (a, b, c)",
+DlgLstTypeUCase		: "Majuscule (A, B, C)",
+DlgLstTypeSRoman	: "Cifre romane mici (i, ii, iii)",
+DlgLstTypeLRoman	: "Cifre romane mari (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "General",
+DlgDocBackTab		: "Fundal",
+DlgDocColorsTab		: "Culori si margini",
+DlgDocMetaTab		: "Meta Data",
+
+DlgDocPageTitle		: "Titlul paginii",
+DlgDocLangDir		: "Descrierea limbii",
+DlgDocLangDirLTR	: "stânga-dreapta (LTR)",
+DlgDocLangDirRTL	: "dreapta-stânga (RTL)",
+DlgDocLangCode		: "Codul limbii",
+DlgDocCharSet		: "Encoding setului de caractere",
+DlgDocCharSetOther	: "Alt encoding al setului de caractere",
+
+DlgDocDocType		: "Document Type Heading",
+DlgDocDocTypeOther	: "Alt Document Type Heading",
+DlgDocIncXHTML		: "Include declaraţii XHTML",
+DlgDocBgColor		: "Culoarea fundalului (Background Color)",
+DlgDocBgImage		: "URL-ul imaginii din fundal (Background Image URL)",
+DlgDocBgNoScroll	: "Fundal neflotant, fix (Nonscrolling Background)",
+DlgDocCText			: "Text",
+DlgDocCLink			: "Link (Legătură web)",
+DlgDocCVisited		: "Link (Legătură web) vizitat",
+DlgDocCActive		: "Link (Legătură web) activ",
+DlgDocMargins		: "Marginile paginii",
+DlgDocMaTop			: "Sus",
+DlgDocMaLeft		: "Stânga",
+DlgDocMaRight		: "Dreapta",
+DlgDocMaBottom		: "Jos",
+DlgDocMeIndex		: "Cuvinte cheie după care se va indexa documentul (separate prin virgulă)",
+DlgDocMeDescr		: "Descrierea documentului",
+DlgDocMeAuthor		: "Autor",
+DlgDocMeCopy		: "Drepturi de autor",
+DlgDocPreview		: "Previzualizare",
+
+// Templates Dialog
+Templates			: "Template-uri (ÅŸabloane)",
+DlgTemplatesTitle	: "Template-uri (şabloane) de conţinut",
+DlgTemplatesSelMsg	: "Vă rugăm selectaţi template-ul (şablonul) ce se va deschide în editor<br>(conţinutul actual va fi pierdut):",
+DlgTemplatesLoading	: "Se încarcă lista cu template-uri (şabloane). Vă rugăm aşteptaţi...",
+DlgTemplatesNoTpl	: "(Nici un template (ÅŸablon) definit)",
+
+// About Dialog
+DlgAboutAboutTab	: "Despre",
+DlgAboutBrowserInfoTab	: "Informaţii browser",
+DlgAboutVersion		: "versiune",
+DlgAboutLicense		: "Licenţiat sub termenii GNU Lesser General Public License",
+DlgAboutInfo		: "Pentru informaţii amănunţite, vizitaţi"
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/lang/ru.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/lang/ru.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/lang/ru.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,475 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: ru.js
+ * 	Russian language file.
+ * 
+ * File Authors:
+ * 		Andrey Grebnev (andrey.grebnev at blandware.com)
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Свернуть панель инструментов",
+ToolbarExpand		: "Развернуть панель инструментов",
+
+// Toolbar Items and Context Menu
+Save				: "Сохранить",
+NewPage				: "Новая страница",
+Preview				: "Предварительный просмотр",
+Cut					: "Вырезать",
+Copy				: "Копировать",
+Paste				: "Вставить",
+PasteText			: "Вставить только текст",
+PasteWord			: "Вставить из Word",
+Print				: "Печать",
+SelectAll			: "Выделить все",
+RemoveFormat		: "Убрать форматирование",
+InsertLinkLbl		: "Ссылка",
+InsertLink			: "Вставить/Редактировать ссылку",
+RemoveLink			: "Убрать ссылку",
+Anchor				: "Вставить/Редактировать якорь",
+InsertImageLbl		: "Изображение",
+InsertImage			: "Вставить/Редактировать изображение",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Вставить/Редактировать Flash",
+InsertTableLbl		: "Таблица",
+InsertTable			: "Вставить/Редактировать таблицу",
+InsertLineLbl		: "Линия",
+InsertLine			: "Вставить горизонтальную линию",
+InsertSpecialCharLbl: "Специальный символ",
+InsertSpecialChar	: "Вставить специальный символ",
+InsertSmileyLbl		: "Смайлик",
+InsertSmiley		: "Вставить смайлик",
+About				: "О FCKeditor",
+Bold				: "Жирный",
+Italic				: "Курсив",
+Underline			: "Подчеркнутый",
+StrikeThrough		: "Зачеркнутый",
+Subscript			: "Подстрочный индекс",
+Superscript			: "Надстрочный индекс",
+LeftJustify			: "По левому краю",
+CenterJustify		: "По центру",
+RightJustify		: "По правому краю",
+BlockJustify		: "По ширине",
+DecreaseIndent		: "Уменьшить отступ",
+IncreaseIndent		: "Увеличить отступ",
+Undo				: "Отменить",
+Redo				: "Повторить",
+NumberedListLbl		: "Нумерованный список",
+NumberedList		: "Вставить/Удалить нумерованный список",
+BulletedListLbl		: "Маркированный список",
+BulletedList		: "Вставить/Удалить маркированный список",
+ShowTableBorders	: "Показать бордюры таблицы",
+ShowDetails			: "Показать детали",
+Style				: "Стиль",
+FontFormat			: "Форматирование",
+Font				: "Шрифт",
+FontSize			: "Размер",
+TextColor			: "Цвет текста",
+BGColor				: "Цвет фона",
+Source				: "Источник",
+Find				: "Найти",
+Replace				: "Заменить",
+SpellCheck			: "Проверить орфографию",
+UniversalKeyboard	: "Универсальная клавиатура",
+
+Form			: "Форма",
+Checkbox		: "Флаговая кнопка",
+RadioButton		: "Кнопка выбора",
+TextField		: "Текстовое поле",
+Textarea		: "Текстовая область",
+HiddenField		: "Скрытое поле",
+Button			: "Кнопка",
+SelectionField	: "Список",
+ImageButton		: "Кнопка с изображением",
+
+// Context Menu
+EditLink			: "Вставить ссылку",
+InsertRow			: "Вставить строку",
+DeleteRows			: "Удалить строки",
+InsertColumn		: "Вставить колонку",
+DeleteColumns		: "Удалить колонки",
+InsertCell			: "Вставить ячейку",
+DeleteCells			: "Удалить ячейки",
+MergeCells			: "Соединить ячейки",
+SplitCell			: "Разбить ячейку",
+CellProperties		: "Свойства ячейки",
+TableProperties		: "Свойства таблицы",
+ImageProperties		: "Свойства изображения",
+FlashProperties		: "Свойства Flash",
+
+AnchorProp			: "Свойства якоря",
+ButtonProp			: "Свойства кнопки",
+CheckboxProp		: "Свойства флаговой кнопки",
+HiddenFieldProp		: "Свойства скрытого поля",
+RadioButtonProp		: "Свойства кнопки выбора",
+ImageButtonProp		: "Свойства кнопки с изображением",
+TextFieldProp		: "Свойства текстового поля",
+SelectionFieldProp	: "Свойства списка",
+TextareaProp		: "Свойства текстовой области",
+FormProp			: "Свойства формы",
+
+FontFormats			: "Нормальный;Форматированный;Адрес;Заголовок 1;Заголовок 2;Заголовок 3;Заголовок 4;Заголовок 5;Заголовок 6",
+
+// Alerts and Messages
+ProcessingXHTML		: "Обработка XHTML. Пожалуйста подождите...",
+Done				: "Сделано",
+PasteWordConfirm	: "Текст, который вы хотите вставить, похож на копируемый из Word. Вы хотите очистить его перед вставкой?",
+NotCompatiblePaste	: "Эта команда доступна для Internet Explorer версии 5.5 или выше. Вы хотите вставить без очистки?",
+UnknownToolbarItem	: "Не известный элемент панели инструментов \"%1\"",
+UnknownCommand		: "Не известное имя команды \"%1\"",
+NotImplemented		: "Команда не реализована",
+UnknownToolbarSet	: "Панель инструментов \"%1\" не существует",
+NoActiveX			: "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "ОК",
+DlgBtnCancel		: "Отмена",
+DlgBtnClose			: "Закрыть",
+DlgBtnBrowseServer	: "Просмотреть на сервере",
+DlgAdvancedTag		: "Расширенный",
+DlgOpOther			: "&lt;Другое&gt;",
+DlgInfoTab			: "Информация",
+DlgAlertUrl			: "Пожалуйста вставьте URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "&lt;не определено&gt;",
+DlgGenId			: "Идентификатор",
+DlgGenLangDir		: "Направление языка",
+DlgGenLangDirLtr	: "Слева на право (LTR)",
+DlgGenLangDirRtl	: "Справа на лево (RTL)",
+DlgGenLangCode		: "Язык",
+DlgGenAccessKey		: "Горячая клавиша",
+DlgGenName			: "Имя",
+DlgGenTabIndex		: "Последовательность перехода",
+DlgGenLongDescr		: "Длинное описание URL",
+DlgGenClass			: "Класс CSS",
+DlgGenTitle			: "Заголовок",
+DlgGenContType		: "Тип содержимого",
+DlgGenLinkCharset	: "Кодировка",
+DlgGenStyle			: "Стиль CSS",
+
+// Image Dialog
+DlgImgTitle			: "Свойства изображения",
+DlgImgInfoTab		: "Информация о изображении",
+DlgImgBtnUpload		: "Послать на сервер",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Закачать",
+DlgImgAlt			: "Альтернативный текст",
+DlgImgWidth			: "Ширина",
+DlgImgHeight		: "Высота",
+DlgImgLockRatio		: "Сохранять пропорции",
+DlgBtnResetSize		: "Сбросить размер",
+DlgImgBorder		: "Бордюр",
+DlgImgHSpace		: "Горизонтальный отступ",
+DlgImgVSpace		: "Вертикальный отступ",
+DlgImgAlign			: "Выравнивание",
+DlgImgAlignLeft		: "По левому краю",
+DlgImgAlignAbsBottom: "Абс понизу",
+DlgImgAlignAbsMiddle: "Абс посередине",
+DlgImgAlignBaseline	: "По базовой линии",
+DlgImgAlignBottom	: "Понизу",
+DlgImgAlignMiddle	: "Посередине",
+DlgImgAlignRight	: "По правому краю",
+DlgImgAlignTextTop	: "Текст наверху",
+DlgImgAlignTop		: "По верху",
+DlgImgPreview		: "Предварительный просмотр",
+DlgImgAlertUrl		: "Пожалуйста введите URL изображения",
+DlgImgLinkTab		: "Ссылка",
+
+// Flash Dialog
+DlgFlashTitle		: "Свойства Flash",
+DlgFlashChkPlay		: "Авто проигрывание",
+DlgFlashChkLoop		: "Повтор",
+DlgFlashChkMenu		: "Включить меню Flash",
+DlgFlashScale		: "Масштабировать",
+DlgFlashScaleAll	: "Показывать все",
+DlgFlashScaleNoBorder	: "Без бордюра",
+DlgFlashScaleFit	: "Точное совпадение",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Ссылка",
+DlgLnkInfoTab		: "Информация ссылки",
+DlgLnkTargetTab		: "Цель",
+
+DlgLnkType			: "Тип ссылки",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Якорь на эту страницу",
+DlgLnkTypeEMail		: "Эл. почта",
+DlgLnkProto			: "Протокол",
+DlgLnkProtoOther	: "&lt;другое&gt;",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Выберите якорь",
+DlgLnkAnchorByName	: "По имени якоря",
+DlgLnkAnchorById	: "По идентификатору элемента",
+DlgLnkNoAnchors		: "&lt;Нет якорей доступных в этом документе&gt;",
+DlgLnkEMail			: "Адрес эл. почты",
+DlgLnkEMailSubject	: "Заголовок сообщения",
+DlgLnkEMailBody		: "Тело сообщения",
+DlgLnkUpload		: "Закачать",
+DlgLnkBtnUpload		: "Послать на сервер",
+
+DlgLnkTarget		: "Цель",
+DlgLnkTargetFrame	: "&lt;фрейм&gt;",
+DlgLnkTargetPopup	: "&lt;всплывающее окно&gt;",
+DlgLnkTargetBlank	: "Новое окно (_blank)",
+DlgLnkTargetParent	: "Родительское окно (_parent)",
+DlgLnkTargetSelf	: "Тоже окно (_self)",
+DlgLnkTargetTop		: "Самое верхнее окно (_top)",
+DlgLnkTargetFrameName	: "Имя целевого фрейма",
+DlgLnkPopWinName	: "Имя всплывающего окна",
+DlgLnkPopWinFeat	: "Свойства всплывающего окна",
+DlgLnkPopResize		: "Изменяющееся в размерах",
+DlgLnkPopLocation	: "Панель локации",
+DlgLnkPopMenu		: "Панель меню",
+DlgLnkPopScroll		: "Полосы прокрутки",
+DlgLnkPopStatus		: "Строка состояния",
+DlgLnkPopToolbar	: "Панель инструментов",
+DlgLnkPopFullScrn	: "Полный экран (IE)",
+DlgLnkPopDependent	: "Зависимый (Netscape)",
+DlgLnkPopWidth		: "Ширина",
+DlgLnkPopHeight		: "Высота",
+DlgLnkPopLeft		: "Позиция слева",
+DlgLnkPopTop		: "Позиция сверху",
+
+DlnLnkMsgNoUrl		: "Пожалуйста введите URL ссылки",
+DlnLnkMsgNoEMail	: "Пожалуйста введите адрес эл. почты",
+DlnLnkMsgNoAnchor	: "Пожалуйста выберете якорь",
+
+// Color Dialog
+DlgColorTitle		: "Выберите цвет",
+DlgColorBtnClear	: "Очистить",
+DlgColorHighlight	: "Подсвеченный",
+DlgColorSelected	: "Выбранный",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Вставить смайлик",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Выберите специальный символ",
+
+// Table Dialog
+DlgTableTitle		: "Свойства таблицы",
+DlgTableRows		: "Строки",
+DlgTableColumns		: "Колонки",
+DlgTableBorder		: "Размер бордюра",
+DlgTableAlign		: "Выравнивание",
+DlgTableAlignNotSet	: "<Не уст.>",
+DlgTableAlignLeft	: "Слева",
+DlgTableAlignCenter	: "По центру",
+DlgTableAlignRight	: "Справа",
+DlgTableWidth		: "Ширина",
+DlgTableWidthPx		: "пикселей",
+DlgTableWidthPc		: "процентов",
+DlgTableHeight		: "Высота",
+DlgTableCellSpace	: "Промежуток (spacing)",
+DlgTableCellPad		: "Отступ (padding)",
+DlgTableCaption		: "Заголовок",
+
+// Table Cell Dialog
+DlgCellTitle		: "Свойства ячейки",
+DlgCellWidth		: "Ширина",
+DlgCellWidthPx		: "пикселей",
+DlgCellWidthPc		: "процентов",
+DlgCellHeight		: "Высота",
+DlgCellWordWrap		: "Заворачивание текста",
+DlgCellWordWrapNotSet	: "<Не уст.>",
+DlgCellWordWrapYes	: "Да",
+DlgCellWordWrapNo	: "Нет",
+DlgCellHorAlign		: "Гор. выравнивание",
+DlgCellHorAlignNotSet	: "<Не уст.>",
+DlgCellHorAlignLeft	: "Слева",
+DlgCellHorAlignCenter	: "По центру",
+DlgCellHorAlignRight: "Справа",
+DlgCellVerAlign		: "Верт. выравнивание",
+DlgCellVerAlignNotSet	: "<Не уст.>",
+DlgCellVerAlignTop	: "Сверху",
+DlgCellVerAlignMiddle	: "Посередине",
+DlgCellVerAlignBottom	: "Снизу",
+DlgCellVerAlignBaseline	: "По базовой линии",
+DlgCellRowSpan		: "Диапазон строк (span)",
+DlgCellCollSpan		: "Диапазон колонок (span)",
+DlgCellBackColor	: "Цвет фона",
+DlgCellBorderColor	: "Цвет бордюра",
+DlgCellBtnSelect	: "Выберите...",
+
+// Find Dialog
+DlgFindTitle		: "Найти",
+DlgFindFindBtn		: "Найти",
+DlgFindNotFoundMsg	: "Указанный текст не найден.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Заменить",
+DlgReplaceFindLbl		: "Найти:",
+DlgReplaceReplaceLbl	: "Заменить на:",
+DlgReplaceCaseChk		: "Учитывать регистр",
+DlgReplaceReplaceBtn	: "Заменить",
+DlgReplaceReplAllBtn	: "Заменить все",
+DlgReplaceWordChk		: "Совпадение целых слов",
+
+// Paste Operations / Dialog
+PasteErrorPaste	: "Настройки безопасности вашего браузера не позволяют редактору автоматически выполнять операции вставки. Пожалуйста используйте клавиатуру для этого (Ctrl+V).",
+PasteErrorCut	: "Настройки безопасности вашего браузера не позволяют редактору автоматически выполнять операции вырезания. Пожалуйста используйте клавиатуру для этого (Ctrl+X).",
+PasteErrorCopy	: "Настройки безопасности вашего браузера не позволяют редактору автоматически выполнять операции копирования. Пожалуйста используйте клавиатуру для этого (Ctrl+C).",
+
+PasteAsText		: "Вставить только текст",
+PasteFromWord	: "Вставить из Word",
+
+DlgPasteMsg2	: "Пожалуйста вставьте текст в прямоугольник используя сочетание клавиш (<STRONG>Ctrl+V</STRONG>) и нажмите <STRONG>OK</STRONG>.",
+DlgPasteIgnoreFont		: "Игнорировать определения гарнитуры",
+DlgPasteRemoveStyles	: "Убрать определения стилей",
+DlgPasteCleanBox		: "Очистить",
+
+
+// Color Picker
+ColorAutomatic	: "Автоматический",
+ColorMoreColors	: "Цвета...",
+
+// Document Properties
+DocProps		: "Свойства документа",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Свойства якоря",
+DlgAnchorName		: "Имя якоря",
+DlgAnchorErrorName	: "Пожалуйста введите имя якоря",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Нет в словаре",
+DlgSpellChangeTo		: "Заменить на",
+DlgSpellBtnIgnore		: "Игнорировать",
+DlgSpellBtnIgnoreAll	: "Игнорировать все",
+DlgSpellBtnReplace		: "Заменить",
+DlgSpellBtnReplaceAll	: "Заменить все",
+DlgSpellBtnUndo			: "Отменить",
+DlgSpellNoSuggestions	: "- Нет предположений -",
+DlgSpellProgress		: "Идет проверка орфографии...",
+DlgSpellNoMispell		: "Проверка орфографии закончена: ошибок не найдено",
+DlgSpellNoChanges		: "Проверка орфографии закончена: ни одного слова не изменено",
+DlgSpellOneChange		: "Проверка орфографии закончена: одно слово изменено",
+DlgSpellManyChanges		: "Проверка орфографии закончена: 1% слов изменен",
+
+IeSpellDownload			: "Модуль проверки орфографии не установлен. Хотите скачать его сейчас?",
+
+// Button Dialog
+DlgButtonText	: "Текст (Значение)",
+DlgButtonType	: "Тип",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Имя",
+DlgCheckboxValue	: "Значение",
+DlgCheckboxSelected	: "Выбранная",
+
+// Form Dialog
+DlgFormName		: "Имя",
+DlgFormAction	: "Действие",
+DlgFormMethod	: "Метод",
+
+// Select Field Dialog
+DlgSelectName		: "Имя",
+DlgSelectValue		: "Значение",
+DlgSelectSize		: "Размер",
+DlgSelectLines		: "линии",
+DlgSelectChkMulti	: "Разрешить множественный выбор",
+DlgSelectOpAvail	: "Доступные варианты",
+DlgSelectOpText		: "Текст",
+DlgSelectOpValue	: "Значение",
+DlgSelectBtnAdd		: "Добавить",
+DlgSelectBtnModify	: "Модифицировать",
+DlgSelectBtnUp		: "Вверх",
+DlgSelectBtnDown	: "Вниз",
+DlgSelectBtnSetValue : "Установить как выбранное значение",
+DlgSelectBtnDelete	: "Удалить",
+
+// Textarea Dialog
+DlgTextareaName	: "Имя",
+DlgTextareaCols	: "Колонки",
+DlgTextareaRows	: "Строки",
+
+// Text Field Dialog
+DlgTextName			: "Имя",
+DlgTextValue		: "Значение",
+DlgTextCharWidth	: "Ширина",
+DlgTextMaxChars		: "Макс. кол-во символов",
+DlgTextType			: "Тип",
+DlgTextTypeText		: "Текст",
+DlgTextTypePass		: "Пароль",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Имя",
+DlgHiddenValue	: "Значение",
+
+// Bulleted List Dialog
+BulletedListProp	: "Свойства маркированного списка",
+NumberedListProp	: "Свойства нумерованного списка",
+DlgLstType			: "Тип",
+DlgLstTypeCircle	: "Круг",
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "Квадрат",
+DlgLstTypeNumbers	: "Номера (1, 2, 3)",
+DlgLstTypeLCase		: "Буквы нижнего регистра (a, b, c)",
+DlgLstTypeUCase		: "Буквы верхнего регистра (A, B, C)",
+DlgLstTypeSRoman	: "Малые римские буквы (i, ii, iii)",
+DlgLstTypeLRoman	: "Большие римские буквы (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Общие",
+DlgDocBackTab		: "Задний фон",
+DlgDocColorsTab		: "Цвета и отступы",
+DlgDocMetaTab		: "Мета данные",
+
+DlgDocPageTitle		: "Заголовок страницы",
+DlgDocLangDir		: "Направление текста",
+DlgDocLangDirLTR	: "Слева на право (LTR)",
+DlgDocLangDirRTL	: "Справа на лево (RTL)",
+DlgDocLangCode		: "Код языка",
+DlgDocCharSet		: "Кодировка набора символов",
+DlgDocCharSetOther	: "Другая кодировка набора символов",
+
+DlgDocDocType		: "Заголовок типа документа",
+DlgDocDocTypeOther	: "Другой заголовок типа документа",
+DlgDocIncXHTML		: "Включить XHTML объявления",
+DlgDocBgColor		: "Цвет фона",
+DlgDocBgImage		: "URL изображения фона",
+DlgDocBgNoScroll	: "Нескроллируемый фон",
+DlgDocCText			: "Текст",
+DlgDocCLink			: "Ссылка",
+DlgDocCVisited		: "Посещенная ссылка",
+DlgDocCActive		: "Активная ссылка",
+DlgDocMargins		: "Отступы страницы",
+DlgDocMaTop			: "Верхний",
+DlgDocMaLeft		: "Левый",
+DlgDocMaRight		: "Правый",
+DlgDocMaBottom		: "Нижний",
+DlgDocMeIndex		: "Ключевые слова документа (разделенные запятой)",
+DlgDocMeDescr		: "Описание документа",
+DlgDocMeAuthor		: "Автор",
+DlgDocMeCopy		: "Авторские права",
+DlgDocPreview		: "Предварительный просмотр",
+
+// Templates Dialog
+Templates			: "Шаблоны",
+DlgTemplatesTitle	: "Шаблоны содержимого",
+DlgTemplatesSelMsg	: "Пожалуйста выберете шаблон для открытия в редакторе<br>(текущее содержимое будет потеряно):",
+DlgTemplatesLoading	: "Загрузка списка шаблонов. Пожалуйста подождите...",
+DlgTemplatesNoTpl	: "(Ни одного шаблона не определено)",
+
+// About Dialog
+DlgAboutAboutTab	: "О программе",
+DlgAboutBrowserInfoTab	: "Информация браузера",
+DlgAboutVersion		: "Версия",
+DlgAboutLicense		: "Лицензировано в соответствии с условиями GNU Lesser General Public License",
+DlgAboutInfo		: "Для большей информации, посетите"
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/lang/sk.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/lang/sk.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/lang/sk.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,475 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: sk.js
+ * 	Slovak language file.
+ * 
+ * File Authors:
+ * 		Samuel Szabo (samuel at nanete.sk)
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Skryť panel nástrojov",
+ToolbarExpand		: "Zobraziť panel nástrojov",
+
+// Toolbar Items and Context Menu
+Save				: "Uložit",
+NewPage				: "Nová stránka",
+Preview				: "Náhľad",
+Cut					: "Vystrihnúť",
+Copy				: "Kopírovať",
+Paste				: "Vložiť",
+PasteText			: "Vložiť ako čistý text",
+PasteWord			: "Vložiť z Wordu",
+Print				: "Tlač",
+SelectAll			: "Vybrať všetko",
+RemoveFormat		: "Odstrániť formátovanie",
+InsertLinkLbl		: "Odkaz",
+InsertLink			: "Vložiť/zmeniť odkaz",
+RemoveLink			: "Odstrániť odkaz",
+Anchor				: "Vložiť/zmeniť kotvu",
+InsertImageLbl		: "Obrázok",
+InsertImage			: "Vložiť/zmeniť obrazok",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Vložiť/zmeniť Flash",
+InsertTableLbl		: "Tabuľka",
+InsertTable			: "Vložiť/zmeniť tabulku",
+InsertLineLbl		: "ÄŒiara",
+InsertLine			: "Vložiť vodorovnú čiara",
+InsertSpecialCharLbl: "Speciálne znaky",
+InsertSpecialChar	: "Vložiť špeciálne znaky",
+InsertSmileyLbl		: "Smajlíky",
+InsertSmiley		: "Vložiť smajlíka",
+About				: "O aplikáci FCKeditor",
+Bold				: "Tučné",
+Italic				: "Kurzíva",
+Underline			: "Podčiarknuté",
+StrikeThrough		: "Prečiarknuté",
+Subscript			: "Dolný index",
+Superscript			: "Horný index",
+LeftJustify			: "Zarovnať vľavo",
+CenterJustify		: "Zarovnať na stred",
+RightJustify		: "Zarovnať vpravo",
+BlockJustify		: "Zarovnať do bloku",
+DecreaseIndent		: "Zmenšiť odsadenie",
+IncreaseIndent		: "Zväčšiť odsadenie",
+Undo				: "Späť",
+Redo				: "Znovu",
+NumberedListLbl		: "Číslovanie",
+NumberedList		: "Vložiť/odstrániť číslovaný zoznam",
+BulletedListLbl		: "Odrážky",
+BulletedList		: "Vložiť/odstraniť odrážky",
+ShowTableBorders	: "Zobraziť okraje tabuliek",
+ShowDetails			: "Zobraziť podrobnosti",
+Style				: "Štýl",
+FontFormat			: "Formát",
+Font				: "Písmo",
+FontSize			: "Veľkost",
+TextColor			: "Farba textu",
+BGColor				: "Farba pozadia",
+Source				: "Zdroj",
+Find				: "Hľadať",
+Replace				: "Nahradiť",
+SpellCheck			: "Kontrola pravopisu",
+UniversalKeyboard	: "Univerzálna klávesnica",
+
+Form			: "Formulár",
+Checkbox		: "Zaškrtávacie políčko",
+RadioButton		: "Prepínač",
+TextField		: "Textové pole",
+Textarea		: "Textová oblasť",
+HiddenField		: "Skryté pole",
+Button			: "Tlačítko",
+SelectionField	: "Rozbaľovací zoznam",
+ImageButton		: "Obrázkové tlačítko",
+
+// Context Menu
+EditLink			: "Zmeniť odkaz",
+InsertRow			: "Vložiť riadok",
+DeleteRows			: "Zmazať riadok",
+InsertColumn		: "Vložiť stĺpec",
+DeleteColumns		: "Zmazať stĺpec",
+InsertCell			: "Vložiť bunku",
+DeleteCells			: "Zmazať bunky",
+MergeCells			: "Zlúčiť bunky",
+SplitCell			: "Rozdeliť bunku",
+CellProperties		: "Vlastnosti bunky",
+TableProperties		: "Vlastnosti tabulky",
+ImageProperties		: "Vlastnosti obrázka",
+FlashProperties		: "Vlastnosti Flashu",
+
+AnchorProp			: "Vlastnosti kotvy",
+ButtonProp			: "Vlastnosti tlačítka",
+CheckboxProp		: "Vlastnosti zaškrtávacieho políčka",
+HiddenFieldProp		: "Vlastnosti skrytého poľa",
+RadioButtonProp		: "Vlastnosti prepínača",
+ImageButtonProp		: "Vlastnosti obrázkového tlačítka",
+TextFieldProp		: "Vlastnosti textového pola",
+SelectionFieldProp	: "Vlastnosti rozbaľovacieho zoznamu",
+TextareaProp		: "Vlastnosti textové oblasti",
+FormProp			: "Vlastnosti formulára",
+
+FontFormats			: "Normálny;Formátovaný;Adresa;Nadpis 1;Nadpis 2;Nadpis 3;Nadpis 4;Nadpis 5;Nadpis 6",
+
+// Alerts and Messages
+ProcessingXHTML		: "Prebieha spracovanie XHTML. Prosím čakejte...",
+Done				: "Dokončené.",
+PasteWordConfirm	: "Vyzerá to tak, že vkladaný text je kopírovaný z Wordu. Chcete ho pred vložením vyčistiť?",
+NotCompatiblePaste	: "Tento príkaz je dostupný len v prehliadači Internet Explorer verzie 5.5 alebo vyššej. Chcete vložiť text bez vyčistenia?",
+UnknownToolbarItem	: "Neznáma položka panela nástrojov \"%1\"",
+UnknownCommand		: "Neznámy príkaz \"%1\"",
+NotImplemented		: "Príkaz nie je implementovaný",
+UnknownToolbarSet	: "Panel nástrojov \"%1\" neexistuje",
+NoActiveX			: "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Zrušiť",
+DlgBtnClose			: "Zavrieť",
+DlgBtnBrowseServer	: "Prechádzať server",
+DlgAdvancedTag		: "Rozšírené",
+DlgOpOther			: "&lt;Ďalšie&gt;",
+DlgInfoTab			: "Info",
+DlgAlertUrl			: "Prosím vložte URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "&lt;nenastavené&gt;",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Orientácia jazyka",
+DlgGenLangDirLtr	: "Zľava doprava (LTR)",
+DlgGenLangDirRtl	: "Zprava doľava (RTL)",
+DlgGenLangCode		: "Kód jazyka",
+DlgGenAccessKey		: "Prístupový kľúč",
+DlgGenName			: "Meno",
+DlgGenTabIndex		: "Poradie prvku",
+DlgGenLongDescr		: "Dlhý popis URL",
+DlgGenClass			: "Trieda štýlu",
+DlgGenTitle			: "Pomocný titulok",
+DlgGenContType		: "Pomocný typ obsahu",
+DlgGenLinkCharset	: "Priradená znaková sada",
+DlgGenStyle			: "Štýl",
+
+// Image Dialog
+DlgImgTitle			: "Vlastnosti obrázku",
+DlgImgInfoTab		: "Informácie o obrázku",
+DlgImgBtnUpload		: "Odoslať na server",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Odoslať",
+DlgImgAlt			: "Alternatívny text",
+DlgImgWidth			: "Šírka",
+DlgImgHeight		: "Výška",
+DlgImgLockRatio		: "Zámok",
+DlgBtnResetSize		: "Pôvodná veľkosť",
+DlgImgBorder		: "Okraje",
+DlgImgHSpace		: "H-medzera",
+DlgImgVSpace		: "V-medzera",
+DlgImgAlign			: "Zarovnanie",
+DlgImgAlignLeft		: "Vľevo",
+DlgImgAlignAbsBottom: "Úplne dole",
+DlgImgAlignAbsMiddle: "Do stredu",
+DlgImgAlignBaseline	: "Na základňu",
+DlgImgAlignBottom	: "Dole",
+DlgImgAlignMiddle	: "Na stred",
+DlgImgAlignRight	: "Vpravo",
+DlgImgAlignTextTop	: "Na horný okraj textu",
+DlgImgAlignTop		: "Nahor",
+DlgImgPreview		: "Náhľad",
+DlgImgAlertUrl		: "Zadajte prosím URL obrázku",
+DlgImgLinkTab		: "Odkaz",
+
+// Flash Dialog
+DlgFlashTitle		: "Vlastnosti Flashu",
+DlgFlashChkPlay		: "Automatické prehrávanie",
+DlgFlashChkLoop		: "Opakovanie",
+DlgFlashChkMenu		: "Povoliť Flash Menu",
+DlgFlashScale		: "Mierka",
+DlgFlashScaleAll	: "Zobraziť mierku",
+DlgFlashScaleNoBorder	: "Bez okrajov",
+DlgFlashScaleFit	: "Roztiahnuť na celé",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Odkaz",
+DlgLnkInfoTab		: "Informácie o odkaze",
+DlgLnkTargetTab		: "Cieľ",
+
+DlgLnkType			: "Typ odkazu",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Kotva v tejto stránke",
+DlgLnkTypeEMail		: "E-Mail",
+DlgLnkProto			: "Protokol",
+DlgLnkProtoOther	: "&lt;iný&gt;",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Vybrať kotvu",
+DlgLnkAnchorByName	: "Podľa mena kotvy",
+DlgLnkAnchorById	: "Podľa Id objektu",
+DlgLnkNoAnchors		: "&lt;V stránke žiadna kotva nie je definovaná&gt;",
+DlgLnkEMail			: "E-Mailová adresa",
+DlgLnkEMailSubject	: "Predmet správy",
+DlgLnkEMailBody		: "Telo správy",
+DlgLnkUpload		: "Odoslať",
+DlgLnkBtnUpload		: "Odoslať na server",
+
+DlgLnkTarget		: "Cieľ",
+DlgLnkTargetFrame	: "&lt;rámec&gt;",
+DlgLnkTargetPopup	: "&lt;vyskakovacie okno&gt;",
+DlgLnkTargetBlank	: "Nové okno (_blank)",
+DlgLnkTargetParent	: "Rodičovské okno (_parent)",
+DlgLnkTargetSelf	: "Rovnaké okno (_self)",
+DlgLnkTargetTop		: "Hlavné okno (_top)",
+DlgLnkTargetFrameName	: "Meno rámu cieľa",
+DlgLnkPopWinName	: "Názov vyskakovacieho okna",
+DlgLnkPopWinFeat	: "Vlastnosti vyskakovacieho okna",
+DlgLnkPopResize		: "Měnitelná velikost",
+DlgLnkPopLocation	: "Panel umístění",
+DlgLnkPopMenu		: "Panel ponuky",
+DlgLnkPopScroll		: "Posuvníky",
+DlgLnkPopStatus		: "Stavový riadok",
+DlgLnkPopToolbar	: "Panel nástrojov",
+DlgLnkPopFullScrn	: "Celá obrazovka (IE)",
+DlgLnkPopDependent	: "Závislosť (Netscape)",
+DlgLnkPopWidth		: "Šírka",
+DlgLnkPopHeight		: "Výška",
+DlgLnkPopLeft		: "Ľavý okraj",
+DlgLnkPopTop		: "Horný okraj",
+
+DlnLnkMsgNoUrl		: "Zadajte prosím URL odkazu",
+DlnLnkMsgNoEMail	: "Zadajte prosím e-mailovú adresu",
+DlnLnkMsgNoAnchor	: "Vyberte prosím kotvu",
+
+// Color Dialog
+DlgColorTitle		: "Výber farby",
+DlgColorBtnClear	: "Vymazať",
+DlgColorHighlight	: "Zvýraznená",
+DlgColorSelected	: "Vybraná",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Vkladanie smajlíkov",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Výber speciálneho znaku",
+
+// Table Dialog
+DlgTableTitle		: "Vlastnosti tabuľky",
+DlgTableRows		: "Riadky",
+DlgTableColumns		: "Stĺpce",
+DlgTableBorder		: "Ohraničenie",
+DlgTableAlign		: "Zarovnanie",
+DlgTableAlignNotSet	: "<nenastavené>",
+DlgTableAlignLeft	: "Vľavo",
+DlgTableAlignCenter	: "Na stred",
+DlgTableAlignRight	: "Vpravo",
+DlgTableWidth		: "Šírka",
+DlgTableWidthPx		: "pixelov",
+DlgTableWidthPc		: "percent",
+DlgTableHeight		: "Výška",
+DlgTableCellSpace	: "Vzdialenosť buniek",
+DlgTableCellPad		: "Odsadenie obsahu",
+DlgTableCaption		: "Popis",
+
+// Table Cell Dialog
+DlgCellTitle		: "Vlastnosti bunky",
+DlgCellWidth		: "Šírka",
+DlgCellWidthPx		: "bodov",
+DlgCellWidthPc		: "percent",
+DlgCellHeight		: "Výška",
+DlgCellWordWrap		: "Zalamovannie",
+DlgCellWordWrapNotSet	: "<nenanstavené>",
+DlgCellWordWrapYes	: "Áno",
+DlgCellWordWrapNo	: "Nie",
+DlgCellHorAlign		: "Vodorovné zarovnanie",
+DlgCellHorAlignNotSet	: "<nenastavené>",
+DlgCellHorAlignLeft	: "Vľavo",
+DlgCellHorAlignCenter	: "Na stred",
+DlgCellHorAlignRight: "Vpravo",
+DlgCellVerAlign		: "Zvyslé zarovnanie",
+DlgCellVerAlignNotSet	: "<nenastavené>",
+DlgCellVerAlignTop	: "Nahor",
+DlgCellVerAlignMiddle	: "Doprostred",
+DlgCellVerAlignBottom	: "Dole",
+DlgCellVerAlignBaseline	: "Na základňu",
+DlgCellRowSpan		: "Zlúčené riadky",
+DlgCellCollSpan		: "Zlúčené stĺpce",
+DlgCellBackColor	: "Farba pozadia",
+DlgCellBorderColor	: "Farba ohraničenia",
+DlgCellBtnSelect	: "Výber...",
+
+// Find Dialog
+DlgFindTitle		: "Hľadať",
+DlgFindFindBtn		: "Hľadať",
+DlgFindNotFoundMsg	: "Hľadaný text nebol nájdený.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Nahradiť",
+DlgReplaceFindLbl		: "Čo hľadať:",
+DlgReplaceReplaceLbl	: "Čím nahradiť:",
+DlgReplaceCaseChk		: "Rozlišovať malé/veľké písmená",
+DlgReplaceReplaceBtn	: "Nahradiť",
+DlgReplaceReplAllBtn	: "Nahradiť všetko",
+DlgReplaceWordChk		: "Len celé slová",
+
+// Paste Operations / Dialog
+PasteErrorPaste	: "Bezpečnostné nastavenie Vášho prohehliadača nedovoľujú editoru spustiť funkciu pre vloženie textu zo schránky. Prosím vložte text zo schránky pomocou klávesnice (Ctrl+V).",
+PasteErrorCut	: "Bezpečnostné nastavenie Vášho prohehliadača nedovoľujú editoru spustiť funkciu pre vystrihnutie zvoleného textu do schránky. Prosím vystrihnite zvolený text do schránky pomocou klávesnice (Ctrl+X).",
+PasteErrorCopy	: "Bezpečnostné nastavenie Vášho prohehliadača nedovoľujú editoru spustiť funkciu pre kopírovánie zvoleného textu do schránky. Prosím skopírujte zvolený text do schránky pomocou klávesnice (Ctrl+C).",
+
+PasteAsText		: "Vložiť ako čistý text",
+PasteFromWord	: "Vložiť text z Wordu",
+
+DlgPasteMsg2	: "Please paste inside the following box using the keyboard (<STRONG>Ctrl+V</STRONG>) and hit <STRONG>OK</STRONG>.",
+DlgPasteIgnoreFont		: "Ignorovať nastavenia typu písma",
+DlgPasteRemoveStyles	: "Odstrániť formátovanie",
+DlgPasteCleanBox		: "Vyčistiť schránku",
+
+
+// Color Picker
+ColorAutomatic	: "Automaticky",
+ColorMoreColors	: "Viac farieb...",
+
+// Document Properties
+DocProps		: "Vlastnosti dokumentu",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Vlastnosti kotvy",
+DlgAnchorName		: "Meno kotvy",
+DlgAnchorErrorName	: "Zadajte prosím meno kotvy",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Nie je v slovníku",
+DlgSpellChangeTo		: "Zmeniť na",
+DlgSpellBtnIgnore		: "Ignorovať",
+DlgSpellBtnIgnoreAll	: "Ignorovať všetko",
+DlgSpellBtnReplace		: "Prepísat",
+DlgSpellBtnReplaceAll	: "Prepísat všetko",
+DlgSpellBtnUndo			: "Späť",
+DlgSpellNoSuggestions	: "- Žiadny návrh -",
+DlgSpellProgress		: "Prebieha kontrola pravopisu...",
+DlgSpellNoMispell		: "Kontrola pravopisu dokončená: bez chyb",
+DlgSpellNoChanges		: "Kontrola pravopisu dokončená: žiadne slová nezmenené",
+DlgSpellOneChange		: "Kontrola pravopisu dokončená: zmenené jedno slovo",
+DlgSpellManyChanges		: "Kontrola pravopisu dokončená: zmenených %1 slov",
+
+IeSpellDownload			: "Kontrola pravopisu nie je naištalovaná. Chcete ju hneď stiahnuť?",
+
+// Button Dialog
+DlgButtonText	: "Text",
+DlgButtonType	: "Typ",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Názov",
+DlgCheckboxValue	: "Hodnota",
+DlgCheckboxSelected	: "Vybrané",
+
+// Form Dialog
+DlgFormName		: "Názov",
+DlgFormAction	: "Akcie",
+DlgFormMethod	: "Metóda",
+
+// Select Field Dialog
+DlgSelectName		: "Názov",
+DlgSelectValue		: "Hodnota",
+DlgSelectSize		: "Veľkosť",
+DlgSelectLines		: "riadkov",
+DlgSelectChkMulti	: "Povoliť viacnásobný výber",
+DlgSelectOpAvail	: "Dostupné možnosti",
+DlgSelectOpText		: "Text",
+DlgSelectOpValue	: "Hodnota",
+DlgSelectBtnAdd		: "Pridať",
+DlgSelectBtnModify	: "Zmeniť",
+DlgSelectBtnUp		: "Nahor",
+DlgSelectBtnDown	: "Dolu",
+DlgSelectBtnSetValue : "Nastaviť ako vybranú hodnotu",
+DlgSelectBtnDelete	: "Zmazať",
+
+// Textarea Dialog
+DlgTextareaName	: "Názov",
+DlgTextareaCols	: "Stĺpce",
+DlgTextareaRows	: "Riadky",
+
+// Text Field Dialog
+DlgTextName			: "Názov",
+DlgTextValue		: "Hodnota",
+DlgTextCharWidth	: "Šírka pola (znakov)",
+DlgTextMaxChars		: "Maximálny počet znakov",
+DlgTextType			: "Typ",
+DlgTextTypeText		: "Text",
+DlgTextTypePass		: "Heslo",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Názov",
+DlgHiddenValue	: "Hodnota",
+
+// Bulleted List Dialog
+BulletedListProp	: "Vlastnosti odrážok",
+NumberedListProp	: "Vlastnosti číslovania",
+DlgLstType			: "Typ",
+DlgLstTypeCircle	: "Krúžok",
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "Å tvorec",
+DlgLstTypeNumbers	: "Číslovanie (1, 2, 3)",
+DlgLstTypeLCase		: "Malé písmená (a, b, c)",
+DlgLstTypeUCase		: "Veľké písmená (A, B, C)",
+DlgLstTypeSRoman	: "Malé rímske číslice (i, ii, iii)",
+DlgLstTypeLRoman	: "Veľké rímske číslice (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Všeobecné",
+DlgDocBackTab		: "Pozadie",
+DlgDocColorsTab		: "Farby a okraje",
+DlgDocMetaTab		: "Meta Data",
+
+DlgDocPageTitle		: "Titulok",
+DlgDocLangDir		: "Orientácie jazyka",
+DlgDocLangDirLTR	: "Zľeva doprava (LTR)",
+DlgDocLangDirRTL	: "Zprava doľava (RTL)",
+DlgDocLangCode		: "Kód jazyka",
+DlgDocCharSet		: "Kódová stránka",
+DlgDocCharSetOther	: "Iná kódová stránka",
+
+DlgDocDocType		: "Typ záhlavia dokumentu",
+DlgDocDocTypeOther	: "Iný typ záhlavia dokumentu",
+DlgDocIncXHTML		: "Obsahuje deklarácie XHTML",
+DlgDocBgColor		: "Farba pozadia",
+DlgDocBgImage		: "URL adresa obrázku na pozadí",
+DlgDocBgNoScroll	: "Fixné pozadie",
+DlgDocCText			: "Text",
+DlgDocCLink			: "Odkaz",
+DlgDocCVisited		: "Navštívený odkaz",
+DlgDocCActive		: "Aktívny odkaz",
+DlgDocMargins		: "Okraje stránky",
+DlgDocMaTop			: "Horný",
+DlgDocMaLeft		: "Ľavý",
+DlgDocMaRight		: "Pravý",
+DlgDocMaBottom		: "Dolný",
+DlgDocMeIndex		: "Kľúčové slová pre indexovanie (oddelené čiarkou)",
+DlgDocMeDescr		: "Popis stránky",
+DlgDocMeAuthor		: "Autor",
+DlgDocMeCopy		: "Autorské práva",
+DlgDocPreview		: "Náhľad",
+
+// Templates Dialog
+Templates			: "Šablóny",
+DlgTemplatesTitle	: "Šablóny obsahu",
+DlgTemplatesSelMsg	: "Prosím vyberte šablóny ma otvorenie v editore<br>(terajší obsah bude stratený):",
+DlgTemplatesLoading	: "Nahrávam zoznam šablón. Čakajte prosím...",
+DlgTemplatesNoTpl	: "(žiadne šablóny nenájdené)",
+
+// About Dialog
+DlgAboutAboutTab	: "O aplikáci",
+DlgAboutBrowserInfoTab	: "Informácie o prehliadači",
+DlgAboutVersion		: "verzie",
+DlgAboutLicense		: "Licencované pod pravidlami GNU Lesser General Public License",
+DlgAboutInfo		: "Viac informácií získate na"
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/lang/sl.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/lang/sl.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/lang/sl.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,475 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: sl.js
+ * 	Slovenian language file.
+ * 
+ * File Authors:
+ * 		Boris Volarič (vol at rutka.net)
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Zloži orodno vrstico",
+ToolbarExpand		: "Razširi orodno vrstico",
+
+// Toolbar Items and Context Menu
+Save				: "Shrani",
+NewPage				: "Nova stran",
+Preview				: "Predogled",
+Cut					: "Izreži",
+Copy				: "Kopiraj",
+Paste				: "Prilepi",
+PasteText			: "Prilepi kot golo besedilo",
+PasteWord			: "Prilepi iz Worda",
+Print				: "Natisni",
+SelectAll			: "Izberi vse",
+RemoveFormat		: "Odstrani oblikovanje",
+InsertLinkLbl		: "Povezava",
+InsertLink			: "Vstavi/uredi povezavo",
+RemoveLink			: "Odstrani povezavo",
+Anchor				: "Vstavi/uredi zaznamek",
+InsertImageLbl		: "Slika",
+InsertImage			: "Vstavi/uredi sliko",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Vstavi/Uredi Flash",
+InsertTableLbl		: "Tabela",
+InsertTable			: "Vstavi/uredi tabelo",
+InsertLineLbl		: "ÄŒrta",
+InsertLine			: "Vstavi vodoravno črto",
+InsertSpecialCharLbl: "Posebni znak",
+InsertSpecialChar	: "Vstavi posebni znak",
+InsertSmileyLbl		: "Smeško",
+InsertSmiley		: "Vstavi smeška",
+About				: "O FCKeditorju",
+Bold				: "Krepko",
+Italic				: "Ležeče",
+Underline			: "Podčrtano",
+StrikeThrough		: "Prečrtano",
+Subscript			: "Podpisano",
+Superscript			: "Nadpisano",
+LeftJustify			: "Leva poravnava",
+CenterJustify		: "Sredinska poravnava",
+RightJustify		: "Desna poravnava",
+BlockJustify		: "Obojestranska poravnava",
+DecreaseIndent		: "Zmanjšaj zamik",
+IncreaseIndent		: "Povečaj zamik",
+Undo				: "Razveljavi",
+Redo				: "Ponovi",
+NumberedListLbl		: "Oštevilčen seznam",
+NumberedList		: "Vstavi/odstrani oštevilčevanje",
+BulletedListLbl		: "Označen seznam",
+BulletedList		: "Vstavi/odstrani označevanje",
+ShowTableBorders	: "Pokaži meje tabele",
+ShowDetails			: "Pokaži podrobnosti",
+Style				: "Slog",
+FontFormat			: "Oblika",
+Font				: "Pisava",
+FontSize			: "Velikost",
+TextColor			: "Barva besedila",
+BGColor				: "Barva ozadja",
+Source				: "Izvorna koda",
+Find				: "Najdi",
+Replace				: "Zamenjaj",
+SpellCheck			: "Preveri črkovanje",
+UniversalKeyboard	: "Večjezična tipkovnica",
+
+Form			: "Obrazec",
+Checkbox		: "Potrditveno polje",
+RadioButton		: "Izbirno polje",
+TextField		: "Vnosno polje",
+Textarea		: "Vnosno območje",
+HiddenField		: "Skrito polje",
+Button			: "Gumb",
+SelectionField	: "Spustni seznam",
+ImageButton		: "Gumb s sliko",
+
+// Context Menu
+EditLink			: "Uredi povezavo",
+InsertRow			: "Vstavi vrstico",
+DeleteRows			: "Izbriši vrstice",
+InsertColumn		: "Vstavi stolpec",
+DeleteColumns		: "Izbriši stolpce",
+InsertCell			: "Vstavi celico",
+DeleteCells			: "Izbriši celice",
+MergeCells			: "Združi celice",
+SplitCell			: "Razdeli celico",
+CellProperties		: "Lastnosti celice",
+TableProperties		: "Lastnosti tabele",
+ImageProperties		: "Lastnosti slike",
+FlashProperties		: "Lastnosti Flash",
+
+AnchorProp			: "Lastnosti zaznamka",
+ButtonProp			: "Lastnosti gumba",
+CheckboxProp		: "Lastnosti potrditvenega polja",
+HiddenFieldProp		: "Lastnosti skritega polja",
+RadioButtonProp		: "Lastnosti izbirnega polja",
+ImageButtonProp		: "Lastnosti gumba s sliko",
+TextFieldProp		: "Lastnosti vnosnega polja",
+SelectionFieldProp	: "Lastnosti spustnega seznama",
+TextareaProp		: "Lastnosti vnosnega območja",
+FormProp			: "Lastnosti obrazca",
+
+FontFormats			: "Navaden;Oblikovan;Napis;Naslov 1;Naslov 2;Naslov 3;Naslov 4;Naslov 5;Naslov 6",
+
+// Alerts and Messages
+ProcessingXHTML		: "Obdelujem XHTML. Prosim počakajte...",
+Done				: "Narejeno",
+PasteWordConfirm	: "Izgleda, da želite prilepiti besedilo iz Worda. Ali ga želite očistiti, preden ga prilepite?",
+NotCompatiblePaste	: "Ta ukaz deluje le v Internet Explorerje različice 5.5 ali višje. Ali želite prilepiti brez čiščenja?",
+UnknownToolbarItem	: "Neznan element orodne vrstice \"%1\"",
+UnknownCommand		: "Neznano ime ukaza \"%1\"",
+NotImplemented		: "Ukaz ni izdelan",
+UnknownToolbarSet	: "Skupina orodnih vrstic \"%1\" ne obstoja",
+NoActiveX			: "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "V redu",
+DlgBtnCancel		: "Prekliči",
+DlgBtnClose			: "Zapri",
+DlgBtnBrowseServer	: "Prebrskaj na strežniku",
+DlgAdvancedTag		: "Napredno",
+DlgOpOther			: "&lt;Ostalo&gt;",
+DlgInfoTab			: "Podatki",
+DlgAlertUrl			: "Prosim vpiši spletni naslov",
+
+// General Dialogs Labels
+DlgGenNotSet		: "&lt;ni postavljen&gt;",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Smer jezika",
+DlgGenLangDirLtr	: "Od leve proti desni (LTR)",
+DlgGenLangDirRtl	: "Od desne proti levi (RTL)",
+DlgGenLangCode		: "Oznaka jezika",
+DlgGenAccessKey		: "Vstopno geslo",
+DlgGenName			: "Ime",
+DlgGenTabIndex		: "Å tevilka tabulatorja",
+DlgGenLongDescr		: "Dolg opis URL-ja",
+DlgGenClass			: "Razred stilne predloge",
+DlgGenTitle			: "Predlagani naslov",
+DlgGenContType		: "Predlagani tip vsebine (content-type)",
+DlgGenLinkCharset	: "Kodna tabela povezanega vira",
+DlgGenStyle			: "Slog",
+
+// Image Dialog
+DlgImgTitle			: "Lastnosti slike",
+DlgImgInfoTab		: "Podatki o sliki",
+DlgImgBtnUpload		: "Pošlji na strežnik",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Pošlji",
+DlgImgAlt			: "Nadomestno besedilo",
+DlgImgWidth			: "Å irina",
+DlgImgHeight		: "Višina",
+DlgImgLockRatio		: "Zakleni razmerje",
+DlgBtnResetSize		: "Ponastavi velikost",
+DlgImgBorder		: "Obroba",
+DlgImgHSpace		: "Vodoravni razmik",
+DlgImgVSpace		: "Navpični razmik",
+DlgImgAlign			: "Poravnava",
+DlgImgAlignLeft		: "Levo",
+DlgImgAlignAbsBottom: "Popolnoma na dno",
+DlgImgAlignAbsMiddle: "Popolnoma v sredino",
+DlgImgAlignBaseline	: "Na osnovno črto",
+DlgImgAlignBottom	: "Na dno",
+DlgImgAlignMiddle	: "V sredino",
+DlgImgAlignRight	: "Desno",
+DlgImgAlignTextTop	: "Besedilo na vrh",
+DlgImgAlignTop		: "Na vrh",
+DlgImgPreview		: "Predogled",
+DlgImgAlertUrl		: "Vnesite URL slike",
+DlgImgLinkTab		: "Povezava",
+
+// Flash Dialog
+DlgFlashTitle		: "Lastnosti Flash",
+DlgFlashChkPlay		: "Samodejno predvajaj",
+DlgFlashChkLoop		: "Ponavljanje",
+DlgFlashChkMenu		: "Omogoči Flash Meni",
+DlgFlashScale		: "Povečava",
+DlgFlashScaleAll	: "Pokaži vse",
+DlgFlashScaleNoBorder	: "Brez obrobe",
+DlgFlashScaleFit	: "Natančno prileganje",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Povezava",
+DlgLnkInfoTab		: "Podatki o povezavi",
+DlgLnkTargetTab		: "Cilj",
+
+DlgLnkType			: "Vrsta povezave",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Zaznamek na tej strani",
+DlgLnkTypeEMail		: "Elektronski naslov",
+DlgLnkProto			: "Protokol",
+DlgLnkProtoOther	: "&lt;drugo&gt;",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Izberi zaznamek",
+DlgLnkAnchorByName	: "Po imenu zaznamka",
+DlgLnkAnchorById	: "Po ID-ju elementa",
+DlgLnkNoAnchors		: "&lt;V tem dokumentu ni zaznamkov&gt;",
+DlgLnkEMail			: "Elektronski naslov",
+DlgLnkEMailSubject	: "Predmet sporočila",
+DlgLnkEMailBody		: "Vsebina sporočila",
+DlgLnkUpload		: "Prenesi",
+DlgLnkBtnUpload		: "Pošlji na strežnik",
+
+DlgLnkTarget		: "Cilj",
+DlgLnkTargetFrame	: "&lt;okvir&gt;",
+DlgLnkTargetPopup	: "&lt;pojavno okno&gt;",
+DlgLnkTargetBlank	: "Novo okno (_blank)",
+DlgLnkTargetParent	: "Starševsko okno (_parent)",
+DlgLnkTargetSelf	: "Isto okno (_self)",
+DlgLnkTargetTop		: "Najvišje okno (_top)",
+DlgLnkTargetFrameName	: "Ime ciljnega okvirja",
+DlgLnkPopWinName	: "Ime pojavnega okna",
+DlgLnkPopWinFeat	: "Značilnosti pojavnega okna",
+DlgLnkPopResize		: "Spremenljive velikosti",
+DlgLnkPopLocation	: "Naslovna vrstica",
+DlgLnkPopMenu		: "Menijska vrstica",
+DlgLnkPopScroll		: "Drsniki",
+DlgLnkPopStatus		: "Vrstica stanja",
+DlgLnkPopToolbar	: "Orodna vrstica",
+DlgLnkPopFullScrn	: "Celozaslonska slika (IE)",
+DlgLnkPopDependent	: "Podokno (Netscape)",
+DlgLnkPopWidth		: "Å irina",
+DlgLnkPopHeight		: "Višina",
+DlgLnkPopLeft		: "Lega levo",
+DlgLnkPopTop		: "Lega na vrhu",
+
+DlnLnkMsgNoUrl		: "Vnesite URL povezave",
+DlnLnkMsgNoEMail	: "Vnesite elektronski naslov",
+DlnLnkMsgNoAnchor	: "Izberite zaznamek",
+
+// Color Dialog
+DlgColorTitle		: "Izberite barvo",
+DlgColorBtnClear	: "Počisti",
+DlgColorHighlight	: "Označi",
+DlgColorSelected	: "Izbrano",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Vstavi smeška",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Izberi posebni znak",
+
+// Table Dialog
+DlgTableTitle		: "Lastnosti tabele",
+DlgTableRows		: "Vrstice",
+DlgTableColumns		: "Stolpci",
+DlgTableBorder		: "Velikost obrobe",
+DlgTableAlign		: "Poravnava",
+DlgTableAlignNotSet	: "<Ni nastavljeno>",
+DlgTableAlignLeft	: "Levo",
+DlgTableAlignCenter	: "Sredinsko",
+DlgTableAlignRight	: "Desno",
+DlgTableWidth		: "Å irina",
+DlgTableWidthPx		: "pik",
+DlgTableWidthPc		: "procentov",
+DlgTableHeight		: "Višina",
+DlgTableCellSpace	: "Razmik med celicami",
+DlgTableCellPad		: "Polnilo med celicami",
+DlgTableCaption		: "Naslov",
+
+// Table Cell Dialog
+DlgCellTitle		: "Lastnosti celice",
+DlgCellWidth		: "Å irina",
+DlgCellWidthPx		: "pik",
+DlgCellWidthPc		: "procentov",
+DlgCellHeight		: "Višina",
+DlgCellWordWrap		: "Pomikanje besedila",
+DlgCellWordWrapNotSet	: "<Ni nastavljeno>",
+DlgCellWordWrapYes	: "Da",
+DlgCellWordWrapNo	: "Ne",
+DlgCellHorAlign		: "Vodoravna poravnava",
+DlgCellHorAlignNotSet	: "<Ni nastavljeno>",
+DlgCellHorAlignLeft	: "Levo",
+DlgCellHorAlignCenter	: "Sredinsko",
+DlgCellHorAlignRight: "Desno",
+DlgCellVerAlign		: "Navpična poravnava",
+DlgCellVerAlignNotSet	: "<Ni nastavljeno>",
+DlgCellVerAlignTop	: "Na vrh",
+DlgCellVerAlignMiddle	: "V sredino",
+DlgCellVerAlignBottom	: "Na dno",
+DlgCellVerAlignBaseline	: "Na osnovno črto",
+DlgCellRowSpan		: "Spojenih vrstic (row-span)",
+DlgCellCollSpan		: "Spojenih stolpcev (col-span)",
+DlgCellBackColor	: "Barva ozadja",
+DlgCellBorderColor	: "Barva obrobe",
+DlgCellBtnSelect	: "Izberi...",
+
+// Find Dialog
+DlgFindTitle		: "Najdi",
+DlgFindFindBtn		: "Najdi",
+DlgFindNotFoundMsg	: "Navedeno besedilo ni bilo najdeno.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Zamenjaj",
+DlgReplaceFindLbl		: "Najdi:",
+DlgReplaceReplaceLbl	: "Zamenjaj z:",
+DlgReplaceCaseChk		: "Razlikuj velike in male črke",
+DlgReplaceReplaceBtn	: "Zamenjaj",
+DlgReplaceReplAllBtn	: "Zamenjaj vse",
+DlgReplaceWordChk		: "Samo cele besede",
+
+// Paste Operations / Dialog
+PasteErrorPaste	: "Varnostne nastavitve brskalnika ne dopuščajo samodejnega lepljenja. Uporabite kombinacijo tipk na tipkovnici (Ctrl+V).",
+PasteErrorCut	: "Varnostne nastavitve brskalnika ne dopuščajo samodejnega izrezovanja. Uporabite kombinacijo tipk na tipkovnici (Ctrl+X).",
+PasteErrorCopy	: "Varnostne nastavitve brskalnika ne dopuščajo samodejnega kopiranja. Uporabite kombinacijo tipk na tipkovnici (Ctrl+C).",
+
+PasteAsText		: "Prilepi kot golo besedilo",
+PasteFromWord	: "Prilepi iz Worda",
+
+DlgPasteMsg2	: "Prosim prilepite v sleči okvir s pomočjo tipkovnice (<STRONG>Ctrl+V</STRONG>) in pritisnite <STRONG>V redu</STRONG>.",
+DlgPasteIgnoreFont		: "Prezri obliko pisave",
+DlgPasteRemoveStyles	: "Odstrani nastavitve stila",
+DlgPasteCleanBox		: "Počisti okvir",
+
+
+// Color Picker
+ColorAutomatic	: "Samodejno",
+ColorMoreColors	: "Več barv...",
+
+// Document Properties
+DocProps		: "Lastnosti dokumenta",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Lastnosti zaznamka",
+DlgAnchorName		: "Ime zaznamka",
+DlgAnchorErrorName	: "Prosim vnesite ime zaznamka",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Ni v slovarju",
+DlgSpellChangeTo		: "Spremeni v",
+DlgSpellBtnIgnore		: "Prezri",
+DlgSpellBtnIgnoreAll	: "Prezri vse",
+DlgSpellBtnReplace		: "Zamenjaj",
+DlgSpellBtnReplaceAll	: "Zamenjaj vse",
+DlgSpellBtnUndo			: "Razveljavi",
+DlgSpellNoSuggestions	: "- Ni predlogov -",
+DlgSpellProgress		: "Preverjanje črkovanja se izvaja...",
+DlgSpellNoMispell		: "Črkovanje je končano: Brez napak",
+DlgSpellNoChanges		: "Črkovanje je končano: Nobena beseda ni bila spremenjena",
+DlgSpellOneChange		: "Črkovanje je končano: Spremenjena je bila ena beseda",
+DlgSpellManyChanges		: "Črkovanje je končano: Spremenjenih je bilo %1 besed",
+
+IeSpellDownload			: "Črkovalnik ni nameščen. Ali ga želite prenesti sedaj?",
+
+// Button Dialog
+DlgButtonText	: "Besedilo (Vrednost)",
+DlgButtonType	: "Tip",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Ime",
+DlgCheckboxValue	: "Vrednost",
+DlgCheckboxSelected	: "Izbrano",
+
+// Form Dialog
+DlgFormName		: "Ime",
+DlgFormAction	: "Akcija",
+DlgFormMethod	: "Metoda",
+
+// Select Field Dialog
+DlgSelectName		: "Ime",
+DlgSelectValue		: "Vrednost",
+DlgSelectSize		: "Velikost",
+DlgSelectLines		: "vrstic",
+DlgSelectChkMulti	: "Dovoli izbor večih vrstic",
+DlgSelectOpAvail	: "Razpoložljive izbire",
+DlgSelectOpText		: "Besedilo",
+DlgSelectOpValue	: "Vrednost",
+DlgSelectBtnAdd		: "Dodaj",
+DlgSelectBtnModify	: "Spremeni",
+DlgSelectBtnUp		: "Gor",
+DlgSelectBtnDown	: "Dol",
+DlgSelectBtnSetValue : "Postavi kot privzeto izbiro",
+DlgSelectBtnDelete	: "Izbriši",
+
+// Textarea Dialog
+DlgTextareaName	: "Ime",
+DlgTextareaCols	: "Stolpcev",
+DlgTextareaRows	: "Vrstic",
+
+// Text Field Dialog
+DlgTextName			: "Ime",
+DlgTextValue		: "Vrednost",
+DlgTextCharWidth	: "Dolžina",
+DlgTextMaxChars		: "Največje število znakov",
+DlgTextType			: "Tip",
+DlgTextTypeText		: "Besedilo",
+DlgTextTypePass		: "Geslo",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Ime",
+DlgHiddenValue	: "Vrednost",
+
+// Bulleted List Dialog
+BulletedListProp	: "Lastnosti označenega seznama",
+NumberedListProp	: "Lastnosti oštevilčenega seznama",
+DlgLstType			: "Tip",
+DlgLstTypeCircle	: "Pikica",
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "Kvadratek",
+DlgLstTypeNumbers	: "Å tevilke (1, 2, 3)",
+DlgLstTypeLCase		: "Male črke (a, b, c)",
+DlgLstTypeUCase		: "Velike črke (A, B, C)",
+DlgLstTypeSRoman	: "Male rimske Å¡tevilke (i, ii, iii)",
+DlgLstTypeLRoman	: "Velike rimske Å¡tevilke (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Splošno",
+DlgDocBackTab		: "Ozadje",
+DlgDocColorsTab		: "Barve in zamiki",
+DlgDocMetaTab		: "Meta podatki",
+
+DlgDocPageTitle		: "Naslov strani",
+DlgDocLangDir		: "Smer jezika",
+DlgDocLangDirLTR	: "Od leve proti desni (LTR)",
+DlgDocLangDirRTL	: "Od desne proti levi (RTL)",
+DlgDocLangCode		: "Oznaka jezika",
+DlgDocCharSet		: "Kodna tabela",
+DlgDocCharSetOther	: "Druga kodna tabela",
+
+DlgDocDocType		: "Glava tipa dokumenta",
+DlgDocDocTypeOther	: "Druga glava tipa dokumenta",
+DlgDocIncXHTML		: "Vstavi XHTML deklaracije",
+DlgDocBgColor		: "Barva ozadja",
+DlgDocBgImage		: "URL slike za ozadje",
+DlgDocBgNoScroll	: "Nepremično ozadje",
+DlgDocCText			: "Besedilo",
+DlgDocCLink			: "Povezava",
+DlgDocCVisited		: "Obiskana povezava",
+DlgDocCActive		: "Aktivna povezava",
+DlgDocMargins		: "Zamiki strani",
+DlgDocMaTop			: "Na vrhu",
+DlgDocMaLeft		: "Levo",
+DlgDocMaRight		: "Desno",
+DlgDocMaBottom		: "Spodaj",
+DlgDocMeIndex		: "Ključne besede (ločene z vejicami)",
+DlgDocMeDescr		: "Opis strani",
+DlgDocMeAuthor		: "Avtor",
+DlgDocMeCopy		: "Avtorske pravice",
+DlgDocPreview		: "Predogled",
+
+// Templates Dialog
+Templates			: "Predloge",
+DlgTemplatesTitle	: "Vsebinske predloge",
+DlgTemplatesSelMsg	: "Izberite predlogo, ki jo želite odpreti v urejevalniku<br>(trenutna vsebina bo izgubljena):",
+DlgTemplatesLoading	: "Nalagam seznam predlog. Prosim počakajte...",
+DlgTemplatesNoTpl	: "(Ni pripravljenih predlog)",
+
+// About Dialog
+DlgAboutAboutTab	: "Vizitka",
+DlgAboutBrowserInfoTab	: "Informacije o brskalniku",
+DlgAboutVersion		: "različica",
+DlgAboutLicense		: "Pravica za uporabo pod pogoji GNU Lesser General Public License",
+DlgAboutInfo		: "Za več informacij obiščite"
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/lang/sr-latn.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/lang/sr-latn.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/lang/sr-latn.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,475 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: sr-latn.js
+ * 	Serbian (Latin) language file.
+ * 
+ * File Authors:
+ * 		Zoran Subic (zoran at tf.zr.ac.yu)
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Smanji liniju sa alatkama",
+ToolbarExpand		: "Proiri liniju sa alatkama",
+
+// Toolbar Items and Context Menu
+Save				: "Sačuvaj",
+NewPage				: "Nova stranica",
+Preview				: "Izgled stranice",
+Cut					: "Iseci",
+Copy				: "Kopiraj",
+Paste				: "Zalepi",
+PasteText			: "Zalepi kao neformatiran tekst",
+PasteWord			: "Zalepi iz Worda",
+Print				: "Å tampa",
+SelectAll			: "Označi sve",
+RemoveFormat		: "Ukloni formatiranje",
+InsertLinkLbl		: "Link",
+InsertLink			: "Unesi/izmeni link",
+RemoveLink			: "Ukloni link",
+Anchor				: "Unesi/izmeni sidro",
+InsertImageLbl		: "Slika",
+InsertImage			: "Unesi/izmeni sliku",
+InsertFlashLbl		: "Fleš",
+InsertFlash			: "Unesi/izmeni fleš",
+InsertTableLbl		: "Tabela",
+InsertTable			: "Unesi/izmeni tabelu",
+InsertLineLbl		: "Linija",
+InsertLine			: "Unesi horizontalnu liniju",
+InsertSpecialCharLbl: "Specijalni karakteri",
+InsertSpecialChar	: "Unesi specijalni karakter",
+InsertSmileyLbl		: "Smajli",
+InsertSmiley		: "Unesi smajlija",
+About				: "O FCKeditoru",
+Bold				: "Podebljano",
+Italic				: "Kurziv",
+Underline			: "Podvučeno",
+StrikeThrough		: "Precrtano",
+Subscript			: "Indeks",
+Superscript			: "Stepen",
+LeftJustify			: "Levo ravnanje",
+CenterJustify		: "Centriran tekst",
+RightJustify		: "Desno ravnanje",
+BlockJustify		: "Obostrano ravnanje",
+DecreaseIndent		: "Smanji levu marginu",
+IncreaseIndent		: "Uvećaj levu marginu",
+Undo				: "Poni�ti akciju",
+Redo				: "Ponovi akciju",
+NumberedListLbl		: "Nabrojiva lista",
+NumberedList		: "Unesi/ukloni nabrojivu listu",
+BulletedListLbl		: "Nenabrojiva lista",
+BulletedList		: "Unesi/ukloni nenabrojivu listu",
+ShowTableBorders	: "Prikaži okvir tabele",
+ShowDetails			: "Prikaži detalje",
+Style				: "Stil",
+FontFormat			: "Format",
+Font				: "Font",
+FontSize			: "Veličina fonta",
+TextColor			: "Boja teksta",
+BGColor				: "Boja pozadine",
+Source				: "K&ocirc;d",
+Find				: "Pretraga",
+Replace				: "Zamena",
+SpellCheck			: "Proveri spelovanje",
+UniversalKeyboard	: "Univerzalna tastatura",
+
+Form			: "Forma",
+Checkbox		: "Polje za potvrdu",
+RadioButton		: "Radio-dugme",
+TextField		: "Tekstualno polje",
+Textarea		: "Zona teksta",
+HiddenField		: "Skriveno polje",
+Button			: "Dugme",
+SelectionField	: "Izborno polje",
+ImageButton		: "Dugme sa slikom",
+
+// Context Menu
+EditLink			: "Izmeni link",
+InsertRow			: "Unesi red",
+DeleteRows			: "Obriši redove",
+InsertColumn		: "Unesi kolonu",
+DeleteColumns		: "Obriši kolone",
+InsertCell			: "Unesi ćelije",
+DeleteCells			: "Obriši ćelije",
+MergeCells			: "Spoj celije",
+SplitCell			: "Razdvoji celije",
+CellProperties		: "Osobine celije",
+TableProperties		: "Osobine tabele",
+ImageProperties		: "Osobine slike",
+FlashProperties		: "Osobine fleša",
+
+AnchorProp			: "Osobine sidra",
+ButtonProp			: "Osobine dugmeta",
+CheckboxProp		: "Osobine polja za potvrdu",
+HiddenFieldProp		: "Osobine skrivenog polja",
+RadioButtonProp		: "Osobine radio-dugmeta",
+ImageButtonProp		: "Osobine dugmeta sa slikom",
+TextFieldProp		: "Osobine tekstualnog polja",
+SelectionFieldProp	: "Osobine izbornog polja",
+TextareaProp		: "Osobine zone teksta",
+FormProp			: "Osobine forme",
+
+FontFormats			: "Normal;Formatirano;Adresa;Naslov 1;Naslov 2;Naslov 3;Naslov 4;Naslov 5;Naslov 6",
+
+// Alerts and Messages
+ProcessingXHTML		: "Obradujem XHTML. Malo strpljenja...",
+Done				: "Završio",
+PasteWordConfirm	: "Tekst koji želite da nalepite kopiran je iz Worda. Da li želite da bude očišćen od formata pre lepljenja?",
+NotCompatiblePaste	: "Ova komanda je dostupna samo za Internet Explorer od verzije 5.5. Da li želite da nalepim tekst bez čišćenja?",
+UnknownToolbarItem	: "Nepoznata stavka toolbara \"%1\"",
+UnknownCommand		: "Nepoznata naredba \"%1\"",
+NotImplemented		: "Naredba nije implementirana",
+UnknownToolbarSet	: "Toolbar \"%1\" ne postoji",
+NoActiveX			: "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Otkaži",
+DlgBtnClose			: "Zatvori",
+DlgBtnBrowseServer	: "Pretraži server",
+DlgAdvancedTag		: "Napredni tagovi",
+DlgOpOther			: "&lt;Ostali&gt;",
+DlgInfoTab			: "Info",
+DlgAlertUrl			: "Molimo Vas, unesite URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "&lt;nije postavljeno&gt;",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Smer jezika",
+DlgGenLangDirLtr	: "S leva na desno (LTR)",
+DlgGenLangDirRtl	: "S desna na levo (RTL)",
+DlgGenLangCode		: "K&ocirc;d jezika",
+DlgGenAccessKey		: "Pristupni taster",
+DlgGenName			: "Naziv",
+DlgGenTabIndex		: "Tab indeks",
+DlgGenLongDescr		: "Pun opis URL",
+DlgGenClass			: "Stylesheet klase",
+DlgGenTitle			: "Advisory naslov",
+DlgGenContType		: "Advisory vrsta sadržaja",
+DlgGenLinkCharset	: "Linked Resource Charset",
+DlgGenStyle			: "Stil",
+
+// Image Dialog
+DlgImgTitle			: "Osobine slika",
+DlgImgInfoTab		: "Info slike",
+DlgImgBtnUpload		: "Pošalji na server",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Pošalji",
+DlgImgAlt			: "Alternativni tekst",
+DlgImgWidth			: "Å irina",
+DlgImgHeight		: "Visina",
+DlgImgLockRatio		: "Zaključaj odnos",
+DlgBtnResetSize		: "Resetuj veličinu",
+DlgImgBorder		: "Okvir",
+DlgImgHSpace		: "HSpace",
+DlgImgVSpace		: "VSpace",
+DlgImgAlign			: "Ravnanje",
+DlgImgAlignLeft		: "Levo",
+DlgImgAlignAbsBottom: "Abs dole",
+DlgImgAlignAbsMiddle: "Abs sredina",
+DlgImgAlignBaseline	: "Bazno",
+DlgImgAlignBottom	: "Dole",
+DlgImgAlignMiddle	: "Sredina",
+DlgImgAlignRight	: "Desno",
+DlgImgAlignTextTop	: "Vrh teksta",
+DlgImgAlignTop		: "Vrh",
+DlgImgPreview		: "Izgled",
+DlgImgAlertUrl		: "Unesite URL slike",
+DlgImgLinkTab		: "Link",
+
+// Flash Dialog
+DlgFlashTitle		: "Osobine fleša",
+DlgFlashChkPlay		: "Automatski start",
+DlgFlashChkLoop		: "Ponavljaj",
+DlgFlashChkMenu		: "Uključi fleš meni",
+DlgFlashScale		: "Skaliraj",
+DlgFlashScaleAll	: "Prikaži sve",
+DlgFlashScaleNoBorder	: "Bez ivice",
+DlgFlashScaleFit	: "Popuni površinu",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Link",
+DlgLnkInfoTab		: "Link Info",
+DlgLnkTargetTab		: "Meta",
+
+DlgLnkType			: "Vrsta linka",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Sidro na ovoj stranici",
+DlgLnkTypeEMail		: "E-Mail",
+DlgLnkProto			: "Protokol",
+DlgLnkProtoOther	: "&lt;drugo&gt;",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Odaberi sidro",
+DlgLnkAnchorByName	: "Po nazivu sidra",
+DlgLnkAnchorById	: "Po Id-ju elementa",
+DlgLnkNoAnchors		: "&lt;Nema dostupnih sidra&gt;",
+DlgLnkEMail			: "E-Mail adresa",
+DlgLnkEMailSubject	: "Naslov",
+DlgLnkEMailBody		: "Sadržaj poruke",
+DlgLnkUpload		: "Pošalji",
+DlgLnkBtnUpload		: "Pošalji na server",
+
+DlgLnkTarget		: "Meta",
+DlgLnkTargetFrame	: "&lt;okvir&gt;",
+DlgLnkTargetPopup	: "&lt;popup prozor&gt;",
+DlgLnkTargetBlank	: "Novi prozor (_blank)",
+DlgLnkTargetParent	: "Roditeljski prozor (_parent)",
+DlgLnkTargetSelf	: "Isti prozor (_self)",
+DlgLnkTargetTop		: "Prozor na vrhu (_top)",
+DlgLnkTargetFrameName	: "Naziv odredišnog frejma",
+DlgLnkPopWinName	: "Naziv popup prozora",
+DlgLnkPopWinFeat	: "Mogućnosti popup prozora",
+DlgLnkPopResize		: "Promenljiva velicina",
+DlgLnkPopLocation	: "Lokacija",
+DlgLnkPopMenu		: "Kontekstni meni",
+DlgLnkPopScroll		: "Scroll bar",
+DlgLnkPopStatus		: "Statusna linija",
+DlgLnkPopToolbar	: "Toolbar",
+DlgLnkPopFullScrn	: "Prikaz preko celog ekrana (IE)",
+DlgLnkPopDependent	: "Zavisno (Netscape)",
+DlgLnkPopWidth		: "Å irina",
+DlgLnkPopHeight		: "Visina",
+DlgLnkPopLeft		: "Od leve ivice ekrana (px)",
+DlgLnkPopTop		: "Od vrha ekrana (px)",
+
+DlnLnkMsgNoUrl		: "Unesite URL linka",
+DlnLnkMsgNoEMail	: "Otkucajte adresu elektronske pote",
+DlnLnkMsgNoAnchor	: "Odaberite sidro",
+
+// Color Dialog
+DlgColorTitle		: "Odaberite boju",
+DlgColorBtnClear	: "Obriši",
+DlgColorHighlight	: "Posvetli",
+DlgColorSelected	: "Odaberi",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Unesi smajlija",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Odaberite specijalni karakter",
+
+// Table Dialog
+DlgTableTitle		: "Osobine tabele",
+DlgTableRows		: "Redova",
+DlgTableColumns		: "Kolona",
+DlgTableBorder		: "Veličina okvira",
+DlgTableAlign		: "Ravnanje",
+DlgTableAlignNotSet	: "&lt;nije postavljeno&gt;",
+DlgTableAlignLeft	: "Levo",
+DlgTableAlignCenter	: "Sredina",
+DlgTableAlignRight	: "Desno",
+DlgTableWidth		: "Å irina",
+DlgTableWidthPx		: "piksela",
+DlgTableWidthPc		: "procenata",
+DlgTableHeight		: "Visina",
+DlgTableCellSpace	: "Ćelijski prostor",
+DlgTableCellPad		: "Razmak ćelija",
+DlgTableCaption		: "Naslov tabele",
+
+// Table Cell Dialog
+DlgCellTitle		: "Osobine ćelije",
+DlgCellWidth		: "Å irina",
+DlgCellWidthPx		: "piksela",
+DlgCellWidthPc		: "procenata",
+DlgCellHeight		: "Visina",
+DlgCellWordWrap		: "Deljenje reči",
+DlgCellWordWrapNotSet	: "&lt;nije postavljeno&gt;",
+DlgCellWordWrapYes	: "Da",
+DlgCellWordWrapNo	: "Ne",
+DlgCellHorAlign		: "Vodoravno ravnanje",
+DlgCellHorAlignNotSet	: "&lt;nije postavljeno&gt;",
+DlgCellHorAlignLeft	: "Levo",
+DlgCellHorAlignCenter	: "Sredina",
+DlgCellHorAlignRight: "Desno",
+DlgCellVerAlign		: "Vertikalno ravnanje",
+DlgCellVerAlignNotSet	: "&lt;nije postavljeno&gt;",
+DlgCellVerAlignTop	: "Gornje",
+DlgCellVerAlignMiddle	: "Sredina",
+DlgCellVerAlignBottom	: "Donje",
+DlgCellVerAlignBaseline	: "Bazno",
+DlgCellRowSpan		: "Spajanje redova",
+DlgCellCollSpan		: "Spajanje kolona",
+DlgCellBackColor	: "Boja pozadine",
+DlgCellBorderColor	: "Boja okvira",
+DlgCellBtnSelect	: "Odaberi...",
+
+// Find Dialog
+DlgFindTitle		: "Pronađi",
+DlgFindFindBtn		: "Pronađi",
+DlgFindNotFoundMsg	: "Traženi tekst nije pronađen.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Zameni",
+DlgReplaceFindLbl		: "Pronadi:",
+DlgReplaceReplaceLbl	: "Zameni sa:",
+DlgReplaceCaseChk		: "Razlikuj mala i velika slova",
+DlgReplaceReplaceBtn	: "Zameni",
+DlgReplaceReplAllBtn	: "Zameni sve",
+DlgReplaceWordChk		: "Uporedi cele reci",
+
+// Paste Operations / Dialog
+PasteErrorPaste	: "Sigurnosna podešavanja Vašeg pretraživača ne dozvoljavaju operacije automatskog lepljenja teksta. Molimo Vas da koristite prečicu sa tastature (Ctrl+V).",
+PasteErrorCut	: "Sigurnosna podešavanja Vašeg pretraživača ne dozvoljavaju operacije automatskog isecanja teksta. Molimo Vas da koristite prečicu sa tastature (Ctrl+X).",
+PasteErrorCopy	: "Sigurnosna podešavanja Vašeg pretraživača ne dozvoljavaju operacije automatskog kopiranja teksta. Molimo Vas da koristite prečicu sa tastature (Ctrl+C).",
+
+PasteAsText		: "Zalepi kao čist tekst",
+PasteFromWord	: "Zalepi iz Worda",
+
+DlgPasteMsg2	: "Molimo Vas da zalepite unutar donje povrine koristeći tastaturnu prečicu (<STRONG>Ctrl+V</STRONG>) i da pritisnete <STRONG>OK</STRONG>.",
+DlgPasteIgnoreFont		: "Ignoriši definicije fontova",
+DlgPasteRemoveStyles	: "Ukloni definicije stilova",
+DlgPasteCleanBox		: "Obriši sve",
+
+
+// Color Picker
+ColorAutomatic	: "Automatski",
+ColorMoreColors	: "Više boja...",
+
+// Document Properties
+DocProps		: "Osobine dokumenta",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Osobine sidra",
+DlgAnchorName		: "Ime sidra",
+DlgAnchorErrorName	: "Unesite ime sidra",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Nije u rečniku",
+DlgSpellChangeTo		: "Izmeni",
+DlgSpellBtnIgnore		: "Ignoriši",
+DlgSpellBtnIgnoreAll	: "Ignoriši sve",
+DlgSpellBtnReplace		: "Zameni",
+DlgSpellBtnReplaceAll	: "Zameni sve",
+DlgSpellBtnUndo			: "Vrati akciju",
+DlgSpellNoSuggestions	: "- Bez sugestija -",
+DlgSpellProgress		: "Provera spelovanja u toku...",
+DlgSpellNoMispell		: "Provera spelovanja završena: greške nisu pronadene",
+DlgSpellNoChanges		: "Provera spelovanja završena: Nije izmenjena nijedna rec",
+DlgSpellOneChange		: "Provera spelovanja završena: Izmenjena je jedna reč",
+DlgSpellManyChanges		: "Provera spelovanja završena: %1 reč(i) je izmenjeno",
+
+IeSpellDownload			: "Provera spelovanja nije instalirana. Da li želite da je skinete sa Interneta?",
+
+// Button Dialog
+DlgButtonText	: "Tekst (vrednost)",
+DlgButtonType	: "Tip",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Naziv",
+DlgCheckboxValue	: "Vrednost",
+DlgCheckboxSelected	: "Označeno",
+
+// Form Dialog
+DlgFormName		: "Naziv",
+DlgFormAction	: "Akcija",
+DlgFormMethod	: "Metoda",
+
+// Select Field Dialog
+DlgSelectName		: "Naziv",
+DlgSelectValue		: "Vrednost",
+DlgSelectSize		: "Veličina",
+DlgSelectLines		: "linija",
+DlgSelectChkMulti	: "Dozvoli višestruku selekciju",
+DlgSelectOpAvail	: "Dostupne opcije",
+DlgSelectOpText		: "Tekst",
+DlgSelectOpValue	: "Vrednost",
+DlgSelectBtnAdd		: "Dodaj",
+DlgSelectBtnModify	: "Izmeni",
+DlgSelectBtnUp		: "Gore",
+DlgSelectBtnDown	: "Dole",
+DlgSelectBtnSetValue : "Podesi kao označenu vrednost",
+DlgSelectBtnDelete	: "Obriši",
+
+// Textarea Dialog
+DlgTextareaName	: "Naziv",
+DlgTextareaCols	: "Broj kolona",
+DlgTextareaRows	: "Broj redova",
+
+// Text Field Dialog
+DlgTextName			: "Naziv",
+DlgTextValue		: "Vrednost",
+DlgTextCharWidth	: "Å irina (karaktera)",
+DlgTextMaxChars		: "Maksimalno karaktera",
+DlgTextType			: "Tip",
+DlgTextTypeText		: "Tekst",
+DlgTextTypePass		: "Lozinka",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Naziv",
+DlgHiddenValue	: "Vrednost",
+
+// Bulleted List Dialog
+BulletedListProp	: "Osobine nenabrojive liste",
+NumberedListProp	: "Osobine nabrojive liste",
+DlgLstType			: "Tip",
+DlgLstTypeCircle	: "Krug",
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "Kvadrat",
+DlgLstTypeNumbers	: "Brojevi (1, 2, 3)",
+DlgLstTypeLCase		: "mala slova (a, b, c)",
+DlgLstTypeUCase		: "VELIKA slova (A, B, C)",
+DlgLstTypeSRoman	: "Male rimske cifre (i, ii, iii)",
+DlgLstTypeLRoman	: "Velike rimske cifre (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Opšte osobine",
+DlgDocBackTab		: "Pozadina",
+DlgDocColorsTab		: "Boje i margine",
+DlgDocMetaTab		: "Metapodaci",
+
+DlgDocPageTitle		: "Naslov stranice",
+DlgDocLangDir		: "Smer jezika",
+DlgDocLangDirLTR	: "Sleva nadesno (LTR)",
+DlgDocLangDirRTL	: "Zdesna nalevo (RTL)",
+DlgDocLangCode		: "Å ifra jezika",
+DlgDocCharSet		: "Kodiranje skupa karaktera",
+DlgDocCharSetOther	: "Ostala kodiranja skupa karaktera",
+
+DlgDocDocType		: "Zaglavlje tipa dokumenta",
+DlgDocDocTypeOther	: "Ostala zaglavlja tipa dokumenta",
+DlgDocIncXHTML		: "Ukljuci XHTML deklaracije",
+DlgDocBgColor		: "Boja pozadine",
+DlgDocBgImage		: "URL pozadinske slike",
+DlgDocBgNoScroll	: "Fiksirana pozadina",
+DlgDocCText			: "Tekst",
+DlgDocCLink			: "Link",
+DlgDocCVisited		: "Posećeni link",
+DlgDocCActive		: "Aktivni link",
+DlgDocMargins		: "Margine stranice",
+DlgDocMaTop			: "Gornja",
+DlgDocMaLeft		: "Leva",
+DlgDocMaRight		: "Desna",
+DlgDocMaBottom		: "Donja",
+DlgDocMeIndex		: "Ključne reci za indeksiranje dokumenta (razdvojene zarezima)",
+DlgDocMeDescr		: "Opis dokumenta",
+DlgDocMeAuthor		: "Autor",
+DlgDocMeCopy		: "Autorska prava",
+DlgDocPreview		: "Izgled stranice",
+
+// Templates Dialog
+Templates			: "Obrasci",
+DlgTemplatesTitle	: "Obrasci za sadržaj",
+DlgTemplatesSelMsg	: "Molimo Vas da odaberete obrazac koji ce biti primenjen na stranicu (trenutni sadržaj ce biti obrisan):",
+DlgTemplatesLoading	: "Učitavam listu obrazaca. Malo strpljenja...",
+DlgTemplatesNoTpl	: "(Nema definisanih obrazaca)",
+
+// About Dialog
+DlgAboutAboutTab	: "O editoru",
+DlgAboutBrowserInfoTab	: "Informacije o pretraživacu",
+DlgAboutVersion		: "verzija",
+DlgAboutLicense		: "Licencirano pod uslovima GNU Lesser General Public License",
+DlgAboutInfo		: "Za više informacija posetite"
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/lang/sr.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/lang/sr.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/lang/sr.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,475 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: sr.js
+ * 	Serbian (Cyrillic) language file.
+ * 
+ * File Authors:
+ * 		Zoran Subić (zoran at tf.zr.ac.yu)
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Смањи линију са алаткама",
+ToolbarExpand		: "Прошири линију са алаткама",
+
+// Toolbar Items and Context Menu
+Save				: "Сачувај",
+NewPage				: "Нова страница",
+Preview				: "Изглед странице",
+Cut					: "Исеци",
+Copy				: "Копирај",
+Paste				: "Залепи",
+PasteText			: "Залепи као неформатиран текст",
+PasteWord			: "Залепи из Worda",
+Print				: "Штампа",
+SelectAll			: "Означи све",
+RemoveFormat		: "Уклони форматирање",
+InsertLinkLbl		: "Линк",
+InsertLink			: "Унеси/измени линк",
+RemoveLink			: "Уклони линк",
+Anchor				: "Унеси/измени сидро",
+InsertImageLbl		: "Слика",
+InsertImage			: "Унеси/измени слику",
+InsertFlashLbl		: "Флеш елемент",
+InsertFlash			: "Унеси/измени флеш",
+InsertTableLbl		: "Табела",
+InsertTable			: "Унеси/измени табелу",
+InsertLineLbl		: "Линија",
+InsertLine			: "Унеси хоризонталну линију",
+InsertSpecialCharLbl: "Специјални карактери",
+InsertSpecialChar	: "Унеси специјални карактер",
+InsertSmileyLbl		: "Смајли",
+InsertSmiley		: "Унеси смајлија",
+About				: "О ФЦКедитору",
+Bold				: "Подебљано",
+Italic				: "Курзив",
+Underline			: "Подвучено",
+StrikeThrough		: "Прецртано",
+Subscript			: "Индекс",
+Superscript			: "Степен",
+LeftJustify			: "Лево равнање",
+CenterJustify		: "Центриран текст",
+RightJustify		: "Десно равнање",
+BlockJustify		: "Обострано равнање",
+DecreaseIndent		: "Смањи леву маргину",
+IncreaseIndent		: "Увећај леву маргину",
+Undo				: "Поништи акцију",
+Redo				: "Понови акцију",
+NumberedListLbl		: "Набројиву листу",
+NumberedList		: "Унеси/уклони набројиву листу",
+BulletedListLbl		: "Ненабројива листа",
+BulletedList		: "Унеси/уклони ненабројиву листу",
+ShowTableBorders	: "Прикажи оквир табеле",
+ShowDetails			: "Прикажи детаље",
+Style				: "Стил",
+FontFormat			: "Формат",
+Font				: "Фонт",
+FontSize			: "Величина фонта",
+TextColor			: "Боја текста",
+BGColor				: "Боја позадине",
+Source				: "K&ocirc;д",
+Find				: "Претрага",
+Replace				: "Замена",
+SpellCheck			: "Провери спеловање",
+UniversalKeyboard	: "Универзална тастатура",
+
+Form			: "Форма",
+Checkbox		: "Поље за потврду",
+RadioButton		: "Радио-дугме",
+TextField		: "Текстуално поље",
+Textarea		: "Зона текста",
+HiddenField		: "Скривено поље",
+Button			: "Дугме",
+SelectionField	: "Изборно поље",
+ImageButton		: "Дугме са сликом",
+
+// Context Menu
+EditLink			: "Промени линк",
+InsertRow			: "Унеси ред",
+DeleteRows			: "Обриши редове",
+InsertColumn		: "Унеси колону",
+DeleteColumns		: "Обриши колоне",
+InsertCell			: "Унеси ћелије",
+DeleteCells			: "Обриши ћелије",
+MergeCells			: "Спој ћелије",
+SplitCell			: "Раздвоји ћелије",
+CellProperties		: "Особине ћелије",
+TableProperties		: "Особине табеле",
+ImageProperties		: "Особине слике",
+FlashProperties		: "Особине Флеша",
+
+AnchorProp			: "Особине сидра",
+ButtonProp			: "Особине дугмета",
+CheckboxProp		: "Особине поља за потврду",
+HiddenFieldProp		: "Особине скривеног поља",
+RadioButtonProp		: "Особине радио-дугмета",
+ImageButtonProp		: "Особине дугмета са сликом",
+TextFieldProp		: "Особине текстуалног поља",
+SelectionFieldProp	: "Особине изборног поља",
+TextareaProp		: "Особине зоне текста",
+FormProp			: "Особине форме",
+
+FontFormats			: "Normal;Formatirano;Adresa;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6",
+
+// Alerts and Messages
+ProcessingXHTML		: "Обрађујем XHTML. Maлo стрпљења...",
+Done				: "Завршио",
+PasteWordConfirm	: "Текст који желите да налепите копиран је из Worda. Да ли желите да буде очишћен од формата пре лепљења?",
+NotCompatiblePaste	: "Ова команда је доступна само за Интернет Екплорер од верзије 5.5. Да ли желите да налепим текст без чишћења?",
+UnknownToolbarItem	: "Непозната ставка toolbara \"%1\"",
+UnknownCommand		: "Непозната наредба \"%1\"",
+NotImplemented		: "Наредба није имплементирана",
+UnknownToolbarSet	: "Toolbar \"%1\" не постоји",
+NoActiveX			: "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Oткажи",
+DlgBtnClose			: "Затвори",
+DlgBtnBrowseServer	: "Претражи сервер",
+DlgAdvancedTag		: "Напредни тагови",
+DlgOpOther			: "&lt;Остали&gt;",
+DlgInfoTab			: "Инфо",
+DlgAlertUrl			: "Молимо Вас, унесите УРЛ",
+
+// General Dialogs Labels
+DlgGenNotSet		: "&lt;није постављено&gt;",
+DlgGenId			: "Ид",
+DlgGenLangDir		: "Смер језика",
+DlgGenLangDirLtr	: "С лева на десно (LTR)",
+DlgGenLangDirRtl	: "С десна на лево (RTL)",
+DlgGenLangCode		: "K&ocirc;д језика",
+DlgGenAccessKey		: "Приступни тастер",
+DlgGenName			: "Назив",
+DlgGenTabIndex		: "Таб индекс",
+DlgGenLongDescr		: "Пун опис УРЛ",
+DlgGenClass			: "Stylesheet класе",
+DlgGenTitle			: "Advisory наслов",
+DlgGenContType		: "Advisory врста садржаја",
+DlgGenLinkCharset	: "Linked Resource Charset",
+DlgGenStyle			: "Стил",
+
+// Image Dialog
+DlgImgTitle			: "Особине слика",
+DlgImgInfoTab		: "Инфо слике",
+DlgImgBtnUpload		: "Пошаљи на сервер",
+DlgImgURL			: "УРЛ",
+DlgImgUpload		: "Пошаљи",
+DlgImgAlt			: "Алтернативни текст",
+DlgImgWidth			: "Ширина",
+DlgImgHeight		: "Висина",
+DlgImgLockRatio		: "Закључај однос",
+DlgBtnResetSize		: "Ресетуј величину",
+DlgImgBorder		: "Оквир",
+DlgImgHSpace		: "HSpace",
+DlgImgVSpace		: "VSpace",
+DlgImgAlign			: "Равнање",
+DlgImgAlignLeft		: "Лево",
+DlgImgAlignAbsBottom: "Abs доле",
+DlgImgAlignAbsMiddle: "Abs средина",
+DlgImgAlignBaseline	: "Базно",
+DlgImgAlignBottom	: "Доле",
+DlgImgAlignMiddle	: "Средина",
+DlgImgAlignRight	: "Десно",
+DlgImgAlignTextTop	: "Врх текста",
+DlgImgAlignTop		: "Врх",
+DlgImgPreview		: "Изглед",
+DlgImgAlertUrl		: "Унесите УРЛ слике",
+DlgImgLinkTab		: "Линк",
+
+// Flash Dialog
+DlgFlashTitle		: "Особине флеша",
+DlgFlashChkPlay		: "Аутоматски старт",
+DlgFlashChkLoop		: "Понављај",
+DlgFlashChkMenu		: "Укључи флеш мени",
+DlgFlashScale		: "Скалирај",
+DlgFlashScaleAll	: "Прикажи све",
+DlgFlashScaleNoBorder	: "Без ивице",
+DlgFlashScaleFit	: "Попуни површину",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Линк",
+DlgLnkInfoTab		: "Линк инфо",
+DlgLnkTargetTab		: "Мета",
+
+DlgLnkType			: "Врста линка",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Сидро на овој страници",
+DlgLnkTypeEMail		: "Eлектронска пошта",
+DlgLnkProto			: "Протокол",
+DlgLnkProtoOther	: "&lt;друго&gt;",
+DlgLnkURL			: "УРЛ",
+DlgLnkAnchorSel		: "Одабери сидро",
+DlgLnkAnchorByName	: "По називу сидра",
+DlgLnkAnchorById	: "Пo Ид-jу елемента",
+DlgLnkNoAnchors		: "&lt;Нема доступних сидра&gt;",
+DlgLnkEMail			: "Адреса електронске поште",
+DlgLnkEMailSubject	: "Наслов",
+DlgLnkEMailBody		: "Садржај поруке",
+DlgLnkUpload		: "Пошаљи",
+DlgLnkBtnUpload		: "Пошаљи на сервер",
+
+DlgLnkTarget		: "Meтa",
+DlgLnkTargetFrame	: "&lt;оквир&gt;",
+DlgLnkTargetPopup	: "&lt;искачући прозор&gt;",
+DlgLnkTargetBlank	: "Нови прозор (_blank)",
+DlgLnkTargetParent	: "Родитељски прозор (_parent)",
+DlgLnkTargetSelf	: "Исти прозор (_self)",
+DlgLnkTargetTop		: "Прозор на врху (_top)",
+DlgLnkTargetFrameName	: "Назив одредишног фрејма",
+DlgLnkPopWinName	: "Назив искачућег прозора",
+DlgLnkPopWinFeat	: "Могућности искачућег прозора",
+DlgLnkPopResize		: "Променљива величина",
+DlgLnkPopLocation	: "Локација",
+DlgLnkPopMenu		: "Контекстни мени",
+DlgLnkPopScroll		: "Скрол бар",
+DlgLnkPopStatus		: "Статусна линија",
+DlgLnkPopToolbar	: "Toolbar",
+DlgLnkPopFullScrn	: "Приказ преко целог екрана (ИE)",
+DlgLnkPopDependent	: "Зависно (Netscape)",
+DlgLnkPopWidth		: "Ширина",
+DlgLnkPopHeight		: "Висина",
+DlgLnkPopLeft		: "Од леве ивице екрана (пиксела)",
+DlgLnkPopTop		: "Од врха екрана (пиксела)",
+
+DlnLnkMsgNoUrl		: "Унесите УРЛ линка",
+DlnLnkMsgNoEMail	: "Откуцајте адресу електронске поште",
+DlnLnkMsgNoAnchor	: "Одаберите сидро",
+
+// Color Dialog
+DlgColorTitle		: "Одаберите боју",
+DlgColorBtnClear	: "Обриши",
+DlgColorHighlight	: "Посветли",
+DlgColorSelected	: "Одабери",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Унеси смајлија",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Одаберите специјални карактер",
+
+// Table Dialog
+DlgTableTitle		: "Особине табеле",
+DlgTableRows		: "Редова",
+DlgTableColumns		: "Kолона",
+DlgTableBorder		: "Величина оквира",
+DlgTableAlign		: "Равнање",
+DlgTableAlignNotSet	: "<није постављено>",
+DlgTableAlignLeft	: "Лево",
+DlgTableAlignCenter	: "Средина",
+DlgTableAlignRight	: "Десно",
+DlgTableWidth		: "Ширина",
+DlgTableWidthPx		: "пиксела",
+DlgTableWidthPc		: "процената",
+DlgTableHeight		: "Висина",
+DlgTableCellSpace	: "Ћелијски простор",
+DlgTableCellPad		: "Размак ћелија",
+DlgTableCaption		: "Наслов табеле",
+
+// Table Cell Dialog
+DlgCellTitle		: "Особине ћелије",
+DlgCellWidth		: "Ширина",
+DlgCellWidthPx		: "пиксела",
+DlgCellWidthPc		: "процената",
+DlgCellHeight		: "Висина",
+DlgCellWordWrap		: "Дељење речи",
+DlgCellWordWrapNotSet	: "<није постављено>",
+DlgCellWordWrapYes	: "Да",
+DlgCellWordWrapNo	: "Не",
+DlgCellHorAlign		: "Водоравно равнање",
+DlgCellHorAlignNotSet	: "<није постављено>",
+DlgCellHorAlignLeft	: "Лево",
+DlgCellHorAlignCenter	: "Средина",
+DlgCellHorAlignRight: "Десно",
+DlgCellVerAlign		: "Вертикално равнање",
+DlgCellVerAlignNotSet	: "<није постављено>",
+DlgCellVerAlignTop	: "Горње",
+DlgCellVerAlignMiddle	: "Средина",
+DlgCellVerAlignBottom	: "Доње",
+DlgCellVerAlignBaseline	: "Базно",
+DlgCellRowSpan		: "Спајање редова",
+DlgCellCollSpan		: "Спајање колона",
+DlgCellBackColor	: "Боја позадине",
+DlgCellBorderColor	: "Боја оквира",
+DlgCellBtnSelect	: "Oдабери...",
+
+// Find Dialog
+DlgFindTitle		: "Пронађи",
+DlgFindFindBtn		: "Пронађи",
+DlgFindNotFoundMsg	: "Тражени текст није пронађен.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Замени",
+DlgReplaceFindLbl		: "Пронађи:",
+DlgReplaceReplaceLbl	: "Замени са:",
+DlgReplaceCaseChk		: "Разликуј велика и мала слова",
+DlgReplaceReplaceBtn	: "Замени",
+DlgReplaceReplAllBtn	: "Замени све",
+DlgReplaceWordChk		: "Упореди целе речи",
+
+// Paste Operations / Dialog
+PasteErrorPaste	: "Сигурносна подешавања Вашег претраживача не дозвољавају операције аутоматског лепљења текста. Молимо Вас да користите пречицу са тастатуре (Ctrl+V).",
+PasteErrorCut	: "Сигурносна подешавања Вашег претраживача не дозвољавају операције аутоматског исецања текста. Молимо Вас да користите пречицу са тастатуре (Ctrl+X).",
+PasteErrorCopy	: "Сигурносна подешавања Вашег претраживача не дозвољавају операције аутоматског копирања текста. Молимо Вас да користите пречицу са тастатуре (Ctrl+C).",
+
+PasteAsText		: "Залепи као чист текст",
+PasteFromWord	: "Залепи из Worda",
+
+DlgPasteMsg2	: "Молимо Вас да залепите унутар доње површине користећи тастатурну пречицу (<STRONG>Ctrl+V</STRONG>) и да притиснете <STRONG>OK</STRONG>.",
+DlgPasteIgnoreFont		: "Игнориши Font Face дефиниције",
+DlgPasteRemoveStyles	: "Уклони дефиниције стилова",
+DlgPasteCleanBox		: "Обриши све",
+
+
+// Color Picker
+ColorAutomatic	: "Аутоматски",
+ColorMoreColors	: "Више боја...",
+
+// Document Properties
+DocProps		: "Особине документа",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Особине сидра",
+DlgAnchorName		: "Име сидра",
+DlgAnchorErrorName	: "Молимо Вас да унесете име сидра",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Није у речнику",
+DlgSpellChangeTo		: "Измени",
+DlgSpellBtnIgnore		: "Игнориши",
+DlgSpellBtnIgnoreAll	: "Игнориши све",
+DlgSpellBtnReplace		: "Замени",
+DlgSpellBtnReplaceAll	: "Замени све",
+DlgSpellBtnUndo			: "Врати акцију",
+DlgSpellNoSuggestions	: "- Без сугестија -",
+DlgSpellProgress		: "Провера спеловања у току...",
+DlgSpellNoMispell		: "Провера спеловања завршена: грешке нису пронађене",
+DlgSpellNoChanges		: "Провера спеловања завршена: Није измењена ниједна реч",
+DlgSpellOneChange		: "Провера спеловања завршена: Измењена је једна реч",
+DlgSpellManyChanges		: "Провера спеловања завршена:  %1 реч(и) је измењено",
+
+IeSpellDownload			: "Провера спеловања није инсталирана. Да ли желите да је скинете са Интернета?",
+
+// Button Dialog
+DlgButtonText	: "Текст (вредност)",
+DlgButtonType	: "Tип",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Назив",
+DlgCheckboxValue	: "Вредност",
+DlgCheckboxSelected	: "Означено",
+
+// Form Dialog
+DlgFormName		: "Назив",
+DlgFormAction	: "Aкција",
+DlgFormMethod	: "Mетода",
+
+// Select Field Dialog
+DlgSelectName		: "Назив",
+DlgSelectValue		: "Вредност",
+DlgSelectSize		: "Величина",
+DlgSelectLines		: "линија",
+DlgSelectChkMulti	: "Дозволи вишеструку селекцију",
+DlgSelectOpAvail	: "Доступне опције",
+DlgSelectOpText		: "Текст",
+DlgSelectOpValue	: "Вредност",
+DlgSelectBtnAdd		: "Додај",
+DlgSelectBtnModify	: "Измени",
+DlgSelectBtnUp		: "Горе",
+DlgSelectBtnDown	: "Доле",
+DlgSelectBtnSetValue : "Подеси као означену вредност",
+DlgSelectBtnDelete	: "Обриши",
+
+// Textarea Dialog
+DlgTextareaName	: "Назив",
+DlgTextareaCols	: "Број колона",
+DlgTextareaRows	: "Број редова",
+
+// Text Field Dialog
+DlgTextName			: "Назив",
+DlgTextValue		: "Вредност",
+DlgTextCharWidth	: "Ширина (карактера)",
+DlgTextMaxChars		: "Максимално карактера",
+DlgTextType			: "Тип",
+DlgTextTypeText		: "Текст",
+DlgTextTypePass		: "Лозинка",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Назив",
+DlgHiddenValue	: "Вредност",
+
+// Bulleted List Dialog
+BulletedListProp	: "Особине Bulleted листе",
+NumberedListProp	: "Особине набројиве листе",
+DlgLstType			: "Тип",
+DlgLstTypeCircle	: "Круг",
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "Квадрат",
+DlgLstTypeNumbers	: "Бројеви (1, 2, 3)",
+DlgLstTypeLCase		: "мала слова (a, b, c)",
+DlgLstTypeUCase		: "ВЕЛИКА СЛОВА (A, B, C)",
+DlgLstTypeSRoman	: "Мале римске цифре (i, ii, iii)",
+DlgLstTypeLRoman	: "Велике римске цифре (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Опште особине",
+DlgDocBackTab		: "Позадина",
+DlgDocColorsTab		: "Боје и маргине",
+DlgDocMetaTab		: "Метаподаци",
+
+DlgDocPageTitle		: "Наслов странице",
+DlgDocLangDir		: "Смер језика",
+DlgDocLangDirLTR	: "Слева надесно (LTR)",
+DlgDocLangDirRTL	: "Здесна налево (RTL)",
+DlgDocLangCode		: "Шифра језика",
+DlgDocCharSet		: "Кодирање скупа карактера",
+DlgDocCharSetOther	: "Остала кодирања скупа карактера",
+
+DlgDocDocType		: "Заглавље типа документа",
+DlgDocDocTypeOther	: "Остала заглавља типа документа",
+DlgDocIncXHTML		: "Улључи XHTML декларације",
+DlgDocBgColor		: "Боја позадине",
+DlgDocBgImage		: "УРЛ позадинске слике",
+DlgDocBgNoScroll	: "Фиксирана позадина",
+DlgDocCText			: "Текст",
+DlgDocCLink			: "Линк",
+DlgDocCVisited		: "Посећени линк",
+DlgDocCActive		: "Активни линк",
+DlgDocMargins		: "Маргине странице",
+DlgDocMaTop			: "Горња",
+DlgDocMaLeft		: "Лева",
+DlgDocMaRight		: "Десна",
+DlgDocMaBottom		: "Доња",
+DlgDocMeIndex		: "Кључне речи за индексирање документа (раздвојене зарезом)",
+DlgDocMeDescr		: "Опис документа",
+DlgDocMeAuthor		: "Аутор",
+DlgDocMeCopy		: "Ауторска права",
+DlgDocPreview		: "Изглед странице",
+
+// Templates Dialog
+Templates			: "Обрасци",
+DlgTemplatesTitle	: "Обрасци за садржај",
+DlgTemplatesSelMsg	: "Молимо Вас да одаберете образац који ће бити примењен на страницу (тренутни садржај ће бити обрисан):",
+DlgTemplatesLoading	: "Учитавам листу образаца. Мало стрпљења...",
+DlgTemplatesNoTpl	: "(Нема дефинисаних образаца)",
+
+// About Dialog
+DlgAboutAboutTab	: "О едитору",
+DlgAboutBrowserInfoTab	: "Информације о претраживачу",
+DlgAboutVersion		: "верзија",
+DlgAboutLicense		: "Лиценцирано под условима GNU Lesser General Public License",
+DlgAboutInfo		: "За више информација посетите"
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/lang/sv.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/lang/sv.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/lang/sv.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,475 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: sv.js
+ * 	Swedish language file.
+ * 
+ * File Authors:
+ * 		Kristoffer Malvefors (kristoffer at intema.ws)
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Dölj verktygsfält",
+ToolbarExpand		: "Visa verktygsfält",
+
+// Toolbar Items and Context Menu
+Save				: "Spara",
+NewPage				: "Ny sida",
+Preview				: "Förhandsgranska",
+Cut					: "Klipp ut",
+Copy				: "Kopiera",
+Paste				: "Klistra in",
+PasteText			: "Klistra in som text",
+PasteWord			: "Klistra in från Word",
+Print				: "Skriv ut",
+SelectAll			: "Markera allt",
+RemoveFormat		: "Radera formatering",
+InsertLinkLbl		: "Länk",
+InsertLink			: "Infoga/Redigera länk",
+RemoveLink			: "Radera länk",
+Anchor				: "Infoga/Redigera ankarlänk",
+InsertImageLbl		: "Bild",
+InsertImage			: "Infoga/Redigera bild",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Infoga/Redigera Flash",
+InsertTableLbl		: "Tabell",
+InsertTable			: "Infoga/Redigera tabell",
+InsertLineLbl		: "Linje",
+InsertLine			: "Infoga horisontal linje",
+InsertSpecialCharLbl: "Utökade tecken",
+InsertSpecialChar	: "Klistra in utökat tecken",
+InsertSmileyLbl		: "Smiley",
+InsertSmiley		: "Infoga Smiley",
+About				: "Om FCKeditor",
+Bold				: "Fet",
+Italic				: "Kursiv",
+Underline			: "Understruken",
+StrikeThrough		: "Genomstruken",
+Subscript			: "Nedsänkta tecken",
+Superscript			: "Upphöjda tecken",
+LeftJustify			: "Vänsterjustera",
+CenterJustify		: "Centrera",
+RightJustify		: "Högerjustera",
+BlockJustify		: "Justera till marginaler",
+DecreaseIndent		: "Minska indrag",
+IncreaseIndent		: "Öka indrag",
+Undo				: "Ã…ngra",
+Redo				: "Gör om",
+NumberedListLbl		: "Numrerad lista",
+NumberedList		: "Infoga/Radera numrerad lista",
+BulletedListLbl		: "Punktlista",
+BulletedList		: "Infoga/Radera punktlista",
+ShowTableBorders	: "Visa tabellkant",
+ShowDetails			: "Visa radbrytningar",
+Style				: "Anpassad stil",
+FontFormat			: "Teckenformat",
+Font				: "Typsnitt",
+FontSize			: "Storlek",
+TextColor			: "Textfärg",
+BGColor				: "Bakgrundsfärg",
+Source				: "Källa",
+Find				: "Sök",
+Replace				: "Ersätt",
+SpellCheck			: "Stavningskontroll",
+UniversalKeyboard	: "Universellt tangentbord",
+
+Form			: "Formulär",
+Checkbox		: "Kryssruta",
+RadioButton		: "Alternativknapp",
+TextField		: "Textfält",
+Textarea		: "Textruta",
+HiddenField		: "Dolt fält",
+Button			: "Knapp",
+SelectionField	: "Flervalslista",
+ImageButton		: "Bildknapp",
+
+// Context Menu
+EditLink			: "Redigera länk",
+InsertRow			: "Infoga rad",
+DeleteRows			: "Radera rad",
+InsertColumn		: "Infoga kolumn",
+DeleteColumns		: "Radera kolumn",
+InsertCell			: "Infoga cell",
+DeleteCells			: "Radera celler",
+MergeCells			: "Sammanfoga celler",
+SplitCell			: "Separera celler",
+CellProperties		: "Cellegenskaper",
+TableProperties		: "Tabellegenskaper",
+ImageProperties		: "Bildegenskaper",
+FlashProperties		: "Flashegenskaper",
+
+AnchorProp			: "Egenskaper för ankarlänk",
+ButtonProp			: "Egenskaper för knapp",
+CheckboxProp		: "Egenskaper för kryssruta",
+HiddenFieldProp		: "Egenskaper för dolt fält",
+RadioButtonProp		: "Egenskaper för alternativknapp",
+ImageButtonProp		: "Egenskaper för bildknapp",
+TextFieldProp		: "Egenskaper för textfält",
+SelectionFieldProp	: "Egenskaper för flervalslista",
+TextareaProp		: "Egenskaper för textruta",
+FormProp			: "Egenskaper för formulär",
+
+FontFormats			: "Normal;Formaterad;Adress;Rubrik 1;Rubrik 2;Rubrik 3;Rubrik 4;Rubrik 5;Rubrik 6",
+
+// Alerts and Messages
+ProcessingXHTML		: "Bearbetar XHTML. Var god vänta...",
+Done				: "Klar",
+PasteWordConfirm	: "Texten du vill klistra in verkar vara kopierad från Word. Vill du rensa innan du klistar in?",
+NotCompatiblePaste	: "Denna åtgärd är inte tillgängligt för Internet Explorer version 5.5 eller högre. Vill du klistra in utan att rensa?",
+UnknownToolbarItem	: "Okänt verktygsfält \"%1\"",
+UnknownCommand		: "Okänt kommando \"%1\"",
+NotImplemented		: "Kommandot finns ej",
+UnknownToolbarSet	: "Verktygsfält \"%1\" finns ej",
+NoActiveX			: "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "OK",
+DlgBtnCancel		: "Avbryt",
+DlgBtnClose			: "Stäng",
+DlgBtnBrowseServer	: "Bläddra på server",
+DlgAdvancedTag		: "Avancerad",
+DlgOpOther			: "Övrigt",
+DlgInfoTab			: "Information",
+DlgAlertUrl			: "Var god och ange en URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "&lt;ej angivet&gt;",
+DlgGenId			: "Id",
+DlgGenLangDir		: "Språkriktning",
+DlgGenLangDirLtr	: "Vänster till Höger (VTH)",
+DlgGenLangDirRtl	: "Höger till Vänster (HTV)",
+DlgGenLangCode		: "Språkkod",
+DlgGenAccessKey		: "Behörighetsnyckel",
+DlgGenName			: "Namn",
+DlgGenTabIndex		: "Tabindex",
+DlgGenLongDescr		: "URL-beskrivning",
+DlgGenClass			: "Stylesheet class",
+DlgGenTitle			: "Titel",
+DlgGenContType		: "Innehållstyp",
+DlgGenLinkCharset	: "Teckenuppställning",
+DlgGenStyle			: "Style",
+
+// Image Dialog
+DlgImgTitle			: "Bildegenskaper",
+DlgImgInfoTab		: "Bildinformation",
+DlgImgBtnUpload		: "Skicka till server",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Ladda upp",
+DlgImgAlt			: "Alternativ text",
+DlgImgWidth			: "Bredd",
+DlgImgHeight		: "Höjd",
+DlgImgLockRatio		: "Lås höjd/bredd förhållanden",
+DlgBtnResetSize		: "Återställ storlek",
+DlgImgBorder		: "Kant",
+DlgImgHSpace		: "Horis. marginal",
+DlgImgVSpace		: "Vert. marginal",
+DlgImgAlign			: "Justering",
+DlgImgAlignLeft		: "Vänster",
+DlgImgAlignAbsBottom: "Absolut nederkant",
+DlgImgAlignAbsMiddle: "Absolut centrering",
+DlgImgAlignBaseline	: "Baslinje",
+DlgImgAlignBottom	: "Nederkant",
+DlgImgAlignMiddle	: "Mitten",
+DlgImgAlignRight	: "Höger",
+DlgImgAlignTextTop	: "Text överkant",
+DlgImgAlignTop		: "Överkant",
+DlgImgPreview		: "Förhandsgranska",
+DlgImgAlertUrl		: "Var god och ange bildens URL",
+DlgImgLinkTab		: "Länk",
+
+// Flash Dialog
+DlgFlashTitle		: "Flashegenskaper",
+DlgFlashChkPlay		: "Automatisk uppspelning",
+DlgFlashChkLoop		: "Upprepa/Loopa",
+DlgFlashChkMenu		: "Aktivera Flashmeny",
+DlgFlashScale		: "Skala",
+DlgFlashScaleAll	: "Visa allt",
+DlgFlashScaleNoBorder	: "Ingen ram",
+DlgFlashScaleFit	: "Exakt passning",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Länk",
+DlgLnkInfoTab		: "Länkinformation",
+DlgLnkTargetTab		: "MÃ¥l",
+
+DlgLnkType			: "Länktyp",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Ankare i sidan",
+DlgLnkTypeEMail		: "E-post",
+DlgLnkProto			: "Protokoll",
+DlgLnkProtoOther	: "&lt;övrigt&gt;",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Välj ett ankare",
+DlgLnkAnchorByName	: "efter ankarnamn",
+DlgLnkAnchorById	: "efter objektid",
+DlgLnkNoAnchors		: "&lt;Inga ankare kunde hittas&gt;",
+DlgLnkEMail			: "E-postadress",
+DlgLnkEMailSubject	: "Ämne",
+DlgLnkEMailBody		: "Innehåll",
+DlgLnkUpload		: "Ladda upp",
+DlgLnkBtnUpload		: "Skicka till servern",
+
+DlgLnkTarget		: "MÃ¥l",
+DlgLnkTargetFrame	: "&lt;ram&gt;",
+DlgLnkTargetPopup	: "&lt;popup-fönster&gt;",
+DlgLnkTargetBlank	: "Nytt fönster (_blank)",
+DlgLnkTargetParent	: "Föregående Window (_parent)",
+DlgLnkTargetSelf	: "Detta fönstret (_self)",
+DlgLnkTargetTop		: "Översta fönstret (_top)",
+DlgLnkTargetFrameName	: "MÃ¥lets ramnamn",
+DlgLnkPopWinName	: "Popup-fönstrets namn",
+DlgLnkPopWinFeat	: "Popup-fönstrets egenskaper",
+DlgLnkPopResize		: "Kan ändra storlek",
+DlgLnkPopLocation	: "Adressfält",
+DlgLnkPopMenu		: "Menyfält",
+DlgLnkPopScroll		: "Scrolllista",
+DlgLnkPopStatus		: "Statusfält",
+DlgLnkPopToolbar	: "Verktygsfält",
+DlgLnkPopFullScrn	: "Helskärm (endast IE)",
+DlgLnkPopDependent	: "Beroende (endest Netscape)",
+DlgLnkPopWidth		: "Bredd",
+DlgLnkPopHeight		: "Höjd",
+DlgLnkPopLeft		: "Position från vänster",
+DlgLnkPopTop		: "Position från sidans topp",
+
+DlnLnkMsgNoUrl		: "Var god ange länkens URL",
+DlnLnkMsgNoEMail	: "Var god ange E-postadress",
+DlnLnkMsgNoAnchor	: "Var god ange ett ankare",
+
+// Color Dialog
+DlgColorTitle		: "Välj färg",
+DlgColorBtnClear	: "Rensa",
+DlgColorHighlight	: "Markera",
+DlgColorSelected	: "Vald",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Infoga en smiley",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Välj utökat tecken",
+
+// Table Dialog
+DlgTableTitle		: "Tabellegenskaper",
+DlgTableRows		: "Rader",
+DlgTableColumns		: "Kolumner",
+DlgTableBorder		: "Kantstorlek",
+DlgTableAlign		: "Justering",
+DlgTableAlignNotSet	: "<ej angivet>",
+DlgTableAlignLeft	: "Vänster",
+DlgTableAlignCenter	: "Centrerad",
+DlgTableAlignRight	: "Höger",
+DlgTableWidth		: "Bredd",
+DlgTableWidthPx		: "pixlar",
+DlgTableWidthPc		: "procent",
+DlgTableHeight		: "Höjd",
+DlgTableCellSpace	: "Cellavstånd",
+DlgTableCellPad		: "Cellutfyllnad",
+DlgTableCaption		: "Rubrik",
+
+// Table Cell Dialog
+DlgCellTitle		: "Cellegenskaper",
+DlgCellWidth		: "Bredd",
+DlgCellWidthPx		: "pixlar",
+DlgCellWidthPc		: "procent",
+DlgCellHeight		: "Höjd",
+DlgCellWordWrap		: "Automatisk radbrytning",
+DlgCellWordWrapNotSet	: "<Ej angivet>",
+DlgCellWordWrapYes	: "Ja",
+DlgCellWordWrapNo	: "Nej",
+DlgCellHorAlign		: "Horisontal justering",
+DlgCellHorAlignNotSet	: "<Ej angivet>",
+DlgCellHorAlignLeft	: "Vänster",
+DlgCellHorAlignCenter	: "Centrerad",
+DlgCellHorAlignRight: "Höger",
+DlgCellVerAlign		: "Vertikal justering",
+DlgCellVerAlignNotSet	: "<Ej angivet>",
+DlgCellVerAlignTop	: "Topp",
+DlgCellVerAlignMiddle	: "Mitten",
+DlgCellVerAlignBottom	: "Nederkant",
+DlgCellVerAlignBaseline	: "Underst",
+DlgCellRowSpan		: "Radomfång",
+DlgCellCollSpan		: "Kolumnomfång",
+DlgCellBackColor	: "Bakgrundsfärg",
+DlgCellBorderColor	: "Kantfärg",
+DlgCellBtnSelect	: "Välj...",
+
+// Find Dialog
+DlgFindTitle		: "Sök",
+DlgFindFindBtn		: "Sök",
+DlgFindNotFoundMsg	: "Angiven text kunde ej hittas.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Ersätt",
+DlgReplaceFindLbl		: "Sök efter:",
+DlgReplaceReplaceLbl	: "Ersätt med:",
+DlgReplaceCaseChk		: "Skiftläge",
+DlgReplaceReplaceBtn	: "Ersätt",
+DlgReplaceReplAllBtn	: "Ersätt alla",
+DlgReplaceWordChk		: "Inkludera hela ord",
+
+// Paste Operations / Dialog
+PasteErrorPaste	: "Säkerhetsinställningar i Er webläsare tillåter inte åtgården Klistra in. Använd (Ctrl+V) istället.",
+PasteErrorCut	: "Säkerhetsinställningar i Er webläsare tillåter inte åtgården Klipp ut. Använd (Ctrl+X) istället.",
+PasteErrorCopy	: "Säkerhetsinställningar i Er webläsare tillåter inte åtgården Kopiera. Använd (Ctrl+C) istället",
+
+PasteAsText		: "Klistra in som vanlig text",
+PasteFromWord	: "Klistra in från Word",
+
+DlgPasteMsg2	: "Var god och klistra in Er text i rutan nedan genom att använda (<STRONG>Ctrl+V</STRONG>) klicka sen på <STRONG>OK</STRONG>.",
+DlgPasteIgnoreFont		: "Ignorera typsnittsdefinitioner",
+DlgPasteRemoveStyles	: "Radera Stildefinitioner",
+DlgPasteCleanBox		: "Töm rutans innehåll",
+
+
+// Color Picker
+ColorAutomatic	: "Automatisk",
+ColorMoreColors	: "Fler färger...",
+
+// Document Properties
+DocProps		: "Dokumentegenskaper",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Ankaregenskaper",
+DlgAnchorName		: "Ankarnamn",
+DlgAnchorErrorName	: "Var god ange ett ankarnamn",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Saknas i ordlistan",
+DlgSpellChangeTo		: "Ändra till",
+DlgSpellBtnIgnore		: "Ignorera",
+DlgSpellBtnIgnoreAll	: "Ignorera alla",
+DlgSpellBtnReplace		: "Ersätt",
+DlgSpellBtnReplaceAll	: "Ersätt alla",
+DlgSpellBtnUndo			: "Ã…ngra",
+DlgSpellNoSuggestions	: "- Förslag saknas -",
+DlgSpellProgress		: "Stavningskontroll pågår...",
+DlgSpellNoMispell		: "Stavningskontroll slutförd: Inga stavfel påträffades.",
+DlgSpellNoChanges		: "Stavningskontroll slutförd: Inga ord rättades.",
+DlgSpellOneChange		: "Stavningskontroll slutförd: Ett ord rättades.",
+DlgSpellManyChanges		: "Stavningskontroll slutförd: %1 ord rättades.",
+
+IeSpellDownload			: "Stavningskontrollen är ej installerad. Vill du göra det nu?",
+
+// Button Dialog
+DlgButtonText	: "Text (Värde)",
+DlgButtonType	: "Typ",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Namn",
+DlgCheckboxValue	: "Värde",
+DlgCheckboxSelected	: "Vald",
+
+// Form Dialog
+DlgFormName		: "Namn",
+DlgFormAction	: "Funktion",
+DlgFormMethod	: "Metod",
+
+// Select Field Dialog
+DlgSelectName		: "Namn",
+DlgSelectValue		: "Värde",
+DlgSelectSize		: "Storlek",
+DlgSelectLines		: "Linjer",
+DlgSelectChkMulti	: "Tillåt flerval",
+DlgSelectOpAvail	: "Befintliga val",
+DlgSelectOpText		: "Text",
+DlgSelectOpValue	: "Värde",
+DlgSelectBtnAdd		: "Lägg till",
+DlgSelectBtnModify	: "Redigera",
+DlgSelectBtnUp		: "Upp",
+DlgSelectBtnDown	: "Ner",
+DlgSelectBtnSetValue : "Markera som valt värde",
+DlgSelectBtnDelete	: "Radera",
+
+// Textarea Dialog
+DlgTextareaName	: "Namn",
+DlgTextareaCols	: "Kolumner",
+DlgTextareaRows	: "Rader",
+
+// Text Field Dialog
+DlgTextName			: "Namn",
+DlgTextValue		: "Värde",
+DlgTextCharWidth	: "Teckenbredd",
+DlgTextMaxChars		: "Max antal tecken",
+DlgTextType			: "Typ",
+DlgTextTypeText		: "Text",
+DlgTextTypePass		: "Lösenord",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Namn",
+DlgHiddenValue	: "Värde",
+
+// Bulleted List Dialog
+BulletedListProp	: "Egenskaper för punktlista",
+NumberedListProp	: "Egenskaper för numrerad lista",
+DlgLstType			: "Typ",
+DlgLstTypeCircle	: "Cirkel",
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "Ruta",
+DlgLstTypeNumbers	: "Nummer (1, 2, 3)",
+DlgLstTypeLCase		: "Gemener (a, b, c)",
+DlgLstTypeUCase		: "Versaler (A, B, C)",
+DlgLstTypeSRoman	: "Små romerska siffror (i, ii, iii)",
+DlgLstTypeLRoman	: "Stora romerska siffror (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Allmän",
+DlgDocBackTab		: "Bakgrund",
+DlgDocColorsTab		: "Färg och marginal",
+DlgDocMetaTab		: "Metadata",
+
+DlgDocPageTitle		: "Sidtitel",
+DlgDocLangDir		: "Språkriktning",
+DlgDocLangDirLTR	: "Vänster till Höger",
+DlgDocLangDirRTL	: "Höger till Vänster",
+DlgDocLangCode		: "Språkkod",
+DlgDocCharSet		: "Teckenuppsättningar",
+DlgDocCharSetOther	: "Övriga teckenuppsättningar",
+
+DlgDocDocType		: "Sidhuvud",
+DlgDocDocTypeOther	: "Övriga sidhuvuden",
+DlgDocIncXHTML		: "Inkludera XHTML deklaration",
+DlgDocBgColor		: "Bakgrundsfärg",
+DlgDocBgImage		: "Bakgrundsbildens URL",
+DlgDocBgNoScroll	: "Fast bakgrund",
+DlgDocCText			: "Text",
+DlgDocCLink			: "Länk",
+DlgDocCVisited		: "Besökt länk",
+DlgDocCActive		: "Aktiv länk",
+DlgDocMargins		: "Sidmarginal",
+DlgDocMaTop			: "Topp",
+DlgDocMaLeft		: "Vänster",
+DlgDocMaRight		: "Höger",
+DlgDocMaBottom		: "Botten",
+DlgDocMeIndex		: "Sidans nyckelord",
+DlgDocMeDescr		: "Sidans beskrivning",
+DlgDocMeAuthor		: "Författare",
+DlgDocMeCopy		: "Upphovsrätt",
+DlgDocPreview		: "Förhandsgranska",
+
+// Templates Dialog
+Templates			: "Sidmallar",
+DlgTemplatesTitle	: "Sidmallar",
+DlgTemplatesSelMsg	: "Var god välj en mall att använda med editorn<br>(allt nuvarande innehåll raderas):",
+DlgTemplatesLoading	: "Laddar mallar. Var god vänta...",
+DlgTemplatesNoTpl	: "(Ingen mall är vald)",
+
+// About Dialog
+DlgAboutAboutTab	: "Om",
+DlgAboutBrowserInfoTab	: "Webläsarinfo",
+DlgAboutVersion		: "version",
+DlgAboutLicense		: "Licensierad under villkoren av GNU Lesser General Public License",
+DlgAboutInfo		: "För mer information se"
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/lang/th.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/lang/th.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/lang/th.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,476 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: th.js
+ * 	Thai language file.
+ * 
+ * File Authors:
+ * 		Audy Charin Arsakit (arsakit at gmail.com)
+ * 		Joy Piyanoot Promnuan (piyanoot at gmail.com)
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "ซ่อนแถบเครื่องมือ",
+ToolbarExpand		: "แสดงแถบเครื่องมือ",
+
+// Toolbar Items and Context Menu
+Save				: "บันทึก",
+NewPage				: "สร้างหน้าเอกสารใหม่",
+Preview				: "ดูหน้าเอกสารตัวอย่าง",
+Cut					: "ตัด",
+Copy				: "สำเนา",
+Paste				: "วาง",
+PasteText			: "วางสำเนาจากตัวอักษรธรรมดา",
+PasteWord			: "วางสำเนาจากตัวอักษรเวิร์ด",
+Print				: "สั่งพิมพ์",
+SelectAll			: "เลือกทั้งหมด",
+RemoveFormat		: "ล้างรูปแบบ",
+InsertLinkLbl		: "ลิงค์เชื่อมโยงเว็บ อีเมล์ รูปภาพ หรือไฟล์อื่นๆ",
+InsertLink			: "แทรก/แก้ไข ลิงค์",
+RemoveLink			: "ลบ ลิงค์",
+Anchor				: "แทรก/แก้ไข Anchor",
+InsertImageLbl		: "รูปภาพ",
+InsertImage			: "แทรก/แก้ไข รูปภาพ",
+InsertFlashLbl		: "Flash",	//MISSING
+InsertFlash			: "Insert/Edit Flash",	//MISSING
+InsertTableLbl		: "ตาราง",
+InsertTable			: "แทรก/แก้ไข ตาราง",
+InsertLineLbl		: "เส้นคั่นบรรทัด",
+InsertLine			: "แทรกเส้นคั่นบรรทัด",
+InsertSpecialCharLbl: "ตัวอักษรพิเศษ",
+InsertSpecialChar	: "แทรกตัวอักษรพิเศษ",
+InsertSmileyLbl		: "รูปสื่ออารมณ์",
+InsertSmiley		: "แทรกรูปสื่ออารมณ์",
+About				: "เกี่ยวกับโปรแกรม FCKeditor",
+Bold				: "ตัวหนา",
+Italic				: "ตัวเอียง",
+Underline			: "ตัวขีดเส้นใต้",
+StrikeThrough		: "ตัวขีดเส้นทับ",
+Subscript			: "ตัวห้อย",
+Superscript			: "ตัวยก",
+LeftJustify			: "จัดชิดซ้าย",
+CenterJustify		: "จัดกึ่งกลาง",
+RightJustify		: "จัดชิดขวา",
+BlockJustify		: "จัดพอดีหน้ากระดาษ",
+DecreaseIndent		: "ลดระยะย่อหน้า",
+IncreaseIndent		: "เพิ่มระยะย่อหน้า",
+Undo				: "ยกเลิกคำสั่ง",
+Redo				: "ทำซ้ำคำสั่ง",
+NumberedListLbl		: "ลำดับรายการแบบตัวเลข",
+NumberedList		: "แทรก/แก้ไข ลำดับรายการแบบตัวเลข",
+BulletedListLbl		: "ลำดับรายการแบบสัญลักษณ์",
+BulletedList		: "แทรก/แก้ไข ลำดับรายการแบบสัญลักษณ์",
+ShowTableBorders	: "แสดงขอบของตาราง",
+ShowDetails			: "แสดงรายละเอียด",
+Style				: "ลักษณะ",
+FontFormat			: "รูปแบบ",
+Font				: "แบบอักษร",
+FontSize			: "ขนาด",
+TextColor			: "สีตัวอักษร",
+BGColor				: "สีพื้นหลัง",
+Source				: "ดูรหัส HTML",
+Find				: "ค้นหา",
+Replace				: "ค้นหาและแทนที่",
+SpellCheck			: "ตรวจการสะกดคำ",
+UniversalKeyboard	: "คีย์บอร์ดหลากภาษา",
+
+Form			: "แบบฟอร์ม",
+Checkbox		: "เช็คบ๊อก",
+RadioButton		: "เรดิโอบัตตอน",
+TextField		: "เท็กซ์ฟิลด์",
+Textarea		: "เท็กซ์แอเรีย",
+HiddenField		: "ฮิดเดนฟิลด์",
+Button			: "ปุ่ม",
+SelectionField	: "แถบตัวเลือก",
+ImageButton		: "ปุ่มแบบรูปภาพ",
+
+// Context Menu
+EditLink			: "แก้ไข ลิงค์",
+InsertRow			: "แทรกแถว",
+DeleteRows			: "ลบแถว",
+InsertColumn		: "แทรกสดมน์",
+DeleteColumns		: "ลบสดมน์",
+InsertCell			: "แทรกช่อง",
+DeleteCells			: "ลบช่อง",
+MergeCells			: "ผสานช่อง",
+SplitCell			: "แยกช่อง",
+CellProperties		: "คุณสมบัติของช่อง",
+TableProperties		: "คุณสมบัติของตาราง",
+ImageProperties		: "คุณสมบัติของรูปภาพ",
+FlashProperties		: "Flash Properties",	//MISSING
+
+AnchorProp			: "รายละเอียด Anchor",
+ButtonProp			: "รายละเอียดของ ปุ่ม",
+CheckboxProp		: "คุณสมบัติของ เช็คบ๊อก",
+HiddenFieldProp		: "คุณสมบัติของ ฮิดเดนฟิลด์",
+RadioButtonProp		: "คุณสมบัติของ เรดิโอบัตตอน",
+ImageButtonProp		: "คุณสมบัติของ ปุ่มแบบรูปภาพ",
+TextFieldProp		: "คุณสมบัติของ เท็กซ์ฟิลด์",
+SelectionFieldProp	: "คุณสมบัติของ แถบตัวเลือก",
+TextareaProp		: "คุณสมบัติของ เท็กแอเรีย",
+FormProp			: "คุณสมบัติของ แบบฟอร์ม",
+
+FontFormats			: "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Paragraph (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "โปรแกรมกำลังทำงานด้วยเทคโนโลยี XHTML กรุณารอสักครู่...",
+Done				: "โปรแกรมทำงานเสร็จสมบูรณ์",
+PasteWordConfirm	: "ข้อมูลที่ท่านต้องการวางลงในแผ่นงาน ถูกจัดรูปแบบจากโปรแกรมเวิร์ด. ท่านต้องการล้างรูปแบบที่มาจากโปรแกรมเวิร์ดหรือไม่?",
+NotCompatiblePaste	: "คำสั่งนี้ทำงานในโปรแกรมท่องเว็บ Internet Explorer version รุ่น 5.5 หรือใหม่กว่าเท่านั้น. ท่านต้องการวางตัวอักษรโดยไม่ล้างรูปแบบที่มาจากโปรแกรมเวิร์ดหรือไม่?",
+UnknownToolbarItem	: "ไม่สามารถระบุปุ่มเครื่องมือได้ \"%1\"",
+UnknownCommand		: "ไม่สามารถระบุชื่อคำสั่งได้ \"%1\"",
+NotImplemented		: "ไม่สามารถใช้งานคำสั่งได้",
+UnknownToolbarSet	: "ไม่มีการติดตั้งชุดคำสั่งในแถบเครื่องมือ \"%1\" กรุณาติดต่อผู้ดูแลระบบ",
+NoActiveX			: "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "ตกลง",
+DlgBtnCancel		: "ยกเลิก",
+DlgBtnClose			: "ปิด",
+DlgBtnBrowseServer	: "เปิดหน้าต่างจัดการไฟล์อัพโหลด",
+DlgAdvancedTag		: "ขั้นสูง",
+DlgOpOther			: "&lt;อื่นๆ&gt;",
+DlgInfoTab			: "Info",	//MISSING
+DlgAlertUrl			: "Please insert the URL",	//MISSING
+
+// General Dialogs Labels
+DlgGenNotSet		: "&lt;ไม่ระบุ&gt;",
+DlgGenId			: "ไอดี",
+DlgGenLangDir		: "การเขียน-อ่านภาษา",
+DlgGenLangDirLtr	: "จากซ้ายไปขวา (LTR)",
+DlgGenLangDirRtl	: "จากขวามาซ้าย (RTL)",
+DlgGenLangCode		: "รหัสภาษา",
+DlgGenAccessKey		: "แอคเซส คีย์",
+DlgGenName			: "ชื่อ",
+DlgGenTabIndex		: "ลำดับของ แท็บ",
+DlgGenLongDescr		: "คำอธิบายประกอบ URL",
+DlgGenClass			: "คลาสของไฟล์กำหนดลักษณะการแสดงผล",
+DlgGenTitle			: "คำเกริ่นนำ",
+DlgGenContType		: "ชนิดของคำเกริ่นนำ",
+DlgGenLinkCharset	: "ลิงค์เชื่อมโยงไปยังชุดตัวอักษร",
+DlgGenStyle			: "ลักษณะการแสดงผล",
+
+// Image Dialog
+DlgImgTitle			: "คุณสมบัติของ รูปภาพ",
+DlgImgInfoTab		: "ข้อมูลของรูปภาพ",
+DlgImgBtnUpload		: "อัพโหลดไฟล์ไปเก็บไว้ที่เครื่องแม่ข่าย (เซิร์ฟเวอร์)",
+DlgImgURL			: "ที่อยู่อ้างอิง URL",
+DlgImgUpload		: "อัพโหลดไฟล์",
+DlgImgAlt			: "คำประกอบรูปภาพ",
+DlgImgWidth			: "ความกว้าง",
+DlgImgHeight		: "ความสูง",
+DlgImgLockRatio		: "กำหนดอัตราส่วน กว้าง-สูง แบบคงที่",
+DlgBtnResetSize		: "กำหนดรูปเท่าขนาดจริง",
+DlgImgBorder		: "ขนาดขอบรูป",
+DlgImgHSpace		: "ระยะแนวนอน",
+DlgImgVSpace		: "ระยะแนวตั้ง",
+DlgImgAlign			: "การจัดวาง",
+DlgImgAlignLeft		: "ชิดซ้าย",
+DlgImgAlignAbsBottom: "ชิดด้านล่างสุด",
+DlgImgAlignAbsMiddle: "กึ่งกลาง",
+DlgImgAlignBaseline	: "ชิดบรรทัด",
+DlgImgAlignBottom	: "ชิดด้านล่าง",
+DlgImgAlignMiddle	: "กึ่งกลางแนวตั้ง",
+DlgImgAlignRight	: "ชิดขวา",
+DlgImgAlignTextTop	: "ใต้ตัวอักษร",
+DlgImgAlignTop		: "บนสุด",
+DlgImgPreview		: "หน้าเอกสารตัวอย่าง",
+DlgImgAlertUrl		: "กรุณาระบุที่อยู่อ้างอิงออนไลน์ของไฟล์รูปภาพ (URL)",
+DlgImgLinkTab		: "Link",	//MISSING
+
+// Flash Dialog
+DlgFlashTitle		: "Flash Properties",	//MISSING
+DlgFlashChkPlay		: "Auto Play",	//MISSING
+DlgFlashChkLoop		: "Loop",	//MISSING
+DlgFlashChkMenu		: "Enable Flash Menu",	//MISSING
+DlgFlashScale		: "Scale",	//MISSING
+DlgFlashScaleAll	: "Show all",	//MISSING
+DlgFlashScaleNoBorder	: "No Border",	//MISSING
+DlgFlashScaleFit	: "Exact Fit",	//MISSING
+
+// Link Dialog
+DlgLnkWindowTitle	: "ลิงค์เชื่อมโยงเว็บ อีเมล์ รูปภาพ หรือไฟล์อื่นๆ",
+DlgLnkInfoTab		: "รายละเอียด",
+DlgLnkTargetTab		: "การเปิดหน้าจอ",
+
+DlgLnkType			: "ประเภทของลิงค์",
+DlgLnkTypeURL		: "ที่อยู่อ้างอิงออนไลน์ (URL)",
+DlgLnkTypeAnchor	: "จุดเชื่อมโยง (Anchor)",
+DlgLnkTypeEMail		: "ส่งอีเมล์ (E-Mail)",
+DlgLnkProto			: "โปรโตคอล",
+DlgLnkProtoOther	: "&lt;อื่นๆ&gt;",
+DlgLnkURL			: "ที่อยู่อ้างอิงออนไลน์ (URL)",
+DlgLnkAnchorSel		: "ระบุข้อมูลของจุดเชื่อมโยง (Anchor)",
+DlgLnkAnchorByName	: "ชื่อ",
+DlgLnkAnchorById	: "ไอดี",
+DlgLnkNoAnchors		: "&lt;ยังไม่มีจุดเชื่อมโยงภายในหน้าเอกสารนี้&gt;",
+DlgLnkEMail			: "อีเมล์ (E-Mail)",
+DlgLnkEMailSubject	: "หัวเรื่อง",
+DlgLnkEMailBody		: "ข้อความ",
+DlgLnkUpload		: "อัพโหลดไฟล์",
+DlgLnkBtnUpload		: "บันทึกไฟล์ไว้บนเซิร์ฟเวอร์",
+
+DlgLnkTarget		: "การเปิดหน้าลิงค์",
+DlgLnkTargetFrame	: "&lt;เปิดในเฟรม&gt;",
+DlgLnkTargetPopup	: "&lt;เปิดหน้าจอเล็ก (Pop-up)&gt;",
+DlgLnkTargetBlank	: "เปิดหน้าจอใหม่ (_blank)",
+DlgLnkTargetParent	: "เปิดในหน้าหลัก (_parent)",
+DlgLnkTargetSelf	: "เปิดในหน้าปัจจุบัน (_self)",
+DlgLnkTargetTop		: "เปิดในหน้าบนสุด (_top)",
+DlgLnkTargetFrameName	: "ชื่อทาร์เก็ตเฟรม",
+DlgLnkPopWinName	: "ระบุชื่อหน้าจอเล็ก (Pop-up)",
+DlgLnkPopWinFeat	: "คุณสมบัติของหน้าจอเล็ก (Pop-up)",
+DlgLnkPopResize		: "ปรับขนาดหน้าจอ",
+DlgLnkPopLocation	: "แสดงที่อยู่ของไฟล์",
+DlgLnkPopMenu		: "แสดงแถบเมนู",
+DlgLnkPopScroll		: "แสดงแถบเลื่อน",
+DlgLnkPopStatus		: "แสดงแถบสถานะ",
+DlgLnkPopToolbar	: "แสดงแถบเครื่องมือ",
+DlgLnkPopFullScrn	: "แสดงเต็มหน้าจอ (IE5.5++ เท่านั้น)",
+DlgLnkPopDependent	: "แสดงเต็มหน้าจอ (Netscape)",
+DlgLnkPopWidth		: "กว้าง",
+DlgLnkPopHeight		: "สูง",
+DlgLnkPopLeft		: "พิกัดซ้าย (Left Position)",
+DlgLnkPopTop		: "พิกัดบน (Top Position)",
+
+DlnLnkMsgNoUrl		: "กรุณาระบุที่อยู่อ้างอิงออนไลน์ (URL)",
+DlnLnkMsgNoEMail	: "กรุณาระบุอีเมล์ (E-mail)",
+DlnLnkMsgNoAnchor	: "กรุณาระบุจุดเชื่อมโยง (Anchor)",
+
+// Color Dialog
+DlgColorTitle		: "เลือกสี",
+DlgColorBtnClear	: "ล้างค่ารหัสสี",
+DlgColorHighlight	: "ตัวอย่างสี",
+DlgColorSelected	: "สีที่เลือก",
+
+// Smiley Dialog
+DlgSmileyTitle		: "แทรกสัญักษณ์สื่ออารมณ์",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "แทรกตัวอักษรพิเศษ",
+
+// Table Dialog
+DlgTableTitle		: "คุณสมบัติของ ตาราง",
+DlgTableRows		: "แถว",
+DlgTableColumns		: "สดมน์",
+DlgTableBorder		: "ขนาดเส้นขอบ",
+DlgTableAlign		: "การจัดตำแหน่ง",
+DlgTableAlignNotSet	: "<ไม่ระบุ>",
+DlgTableAlignLeft	: "ชิดซ้าย",
+DlgTableAlignCenter	: "กึ่งกลาง",
+DlgTableAlignRight	: "ชิดขวา",
+DlgTableWidth		: "กว้าง",
+DlgTableWidthPx		: "จุดสี",
+DlgTableWidthPc		: "เปอร์เซ็น",
+DlgTableHeight		: "สูง",
+DlgTableCellSpace	: "ระยะแนวนอนน",
+DlgTableCellPad		: "ระยะแนวตั้ง",
+DlgTableCaption		: "หัวเรื่องของตาราง",
+
+// Table Cell Dialog
+DlgCellTitle		: "คุณสมบัติของ ช่อง",
+DlgCellWidth		: "กว้าง",
+DlgCellWidthPx		: "จุดสี",
+DlgCellWidthPc		: "เปอร์เซ็น",
+DlgCellHeight		: "สูง",
+DlgCellWordWrap		: "ตัดบรรทัดอัตโนมัติ",
+DlgCellWordWrapNotSet	: "&lt;ไม่ระบุ&gt;",
+DlgCellWordWrapYes	: "ใ่ช่",
+DlgCellWordWrapNo	: "ไม่",
+DlgCellHorAlign		: "การจัดวางแนวนอน",
+DlgCellHorAlignNotSet	: "&lt;ไม่ระบุ&gt;",
+DlgCellHorAlignLeft	: "ชิดซ้าย",
+DlgCellHorAlignCenter	: "กึ่งกลาง",
+DlgCellHorAlignRight: "ชิดขวา",
+DlgCellVerAlign		: "การจัดวางแนวตั้ง",
+DlgCellVerAlignNotSet	: "&lt;ไม่ระบุ&gt;",
+DlgCellVerAlignTop	: "บนสุด",
+DlgCellVerAlignMiddle	: "กึ่งกลาง",
+DlgCellVerAlignBottom	: "ล่างสุด",
+DlgCellVerAlignBaseline	: "อิงบรรทัด",
+DlgCellRowSpan		: "จำนวนแถวที่คร่อมกัน",
+DlgCellCollSpan		: "จำนวนสดมน์ที่คร่อมกัน",
+DlgCellBackColor	: "สีพื้นหลัง",
+DlgCellBorderColor	: "สีเส้นขอบ",
+DlgCellBtnSelect	: "เลือก..",
+
+// Find Dialog
+DlgFindTitle		: "ค้นหา",
+DlgFindFindBtn		: "ค้นหา",
+DlgFindNotFoundMsg	: "ไม่พบคำที่ค้นหา.",
+
+// Replace Dialog
+DlgReplaceTitle			: "ค้นหาและแทนที่",
+DlgReplaceFindLbl		: "ค้นหาคำว่า:",
+DlgReplaceReplaceLbl	: "แทนที่ด้วย:",
+DlgReplaceCaseChk		: "ตัวโหญ่-เล็ก ต้องตรงกัน",
+DlgReplaceReplaceBtn	: "แทนที่",
+DlgReplaceReplAllBtn	: "แทนที่ทั้งหมดที่พบ",
+DlgReplaceWordChk		: "ต้องตรงกันทุกคำ",
+
+// Paste Operations / Dialog
+PasteErrorPaste	: "ไม่สามารถวางข้อความที่สำเนามาได้เนื่องจากการกำหนดค่าระดับความปลอดภัย. กรุณาใช้ปุ่มลัดเพื่อวางข้อความแทน (กดปุ่ม Ctrl และตัว V พร้อมกัน).",
+PasteErrorCut	: "ไม่สามารถตัดข้อความที่เลือกไว้ได้เนื่องจากการกำหนดค่าระดับความปลอดภัย. กรุณาใช้ปุ่มลัดเพื่อวางข้อความแทน (กดปุ่ม Ctrl และตัว X พร้อมกัน).",
+PasteErrorCopy	: "ไม่สามารถสำเนาข้อความที่เลือกไว้ได้เนื่องจากการกำหนดค่าระดับความปลอดภัย. กรุณาใช้ปุ่มลัดเพื่อวางข้อความแทน (กดปุ่ม Ctrl และตัว C พร้อมกัน).",
+
+PasteAsText		: "วางแบบตัวอักษรธรรมดา",
+PasteFromWord	: "วางแบบตัวอักษรจากโปรแกรมเวิร์ด",
+
+DlgPasteMsg2	: "Please paste inside the following box using the keyboard (<STRONG>Ctrl+V</STRONG>) and hit <STRONG>OK</STRONG>.",	//MISSING
+DlgPasteIgnoreFont		: "Ignore Font Face definitions",	//MISSING
+DlgPasteRemoveStyles	: "Remove Styles definitions",	//MISSING
+DlgPasteCleanBox		: "Clean Up Box",	//MISSING
+
+
+// Color Picker
+ColorAutomatic	: "สีอัตโนมัติ",
+ColorMoreColors	: "เลือกสีอื่นๆ...",
+
+// Document Properties
+DocProps		: "คุณสมบัติของเอกสาร",
+
+// Anchor Dialog
+DlgAnchorTitle		: "คุณสมบัติของ Anchor",
+DlgAnchorName		: "ชื่อ Anchor",
+DlgAnchorErrorName	: "กรุณาระบุชื่อของ Anchor",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "ไม่พบในดิกชันนารี",
+DlgSpellChangeTo		: "แก้ไขเป็น",
+DlgSpellBtnIgnore		: "ยกเว้น",
+DlgSpellBtnIgnoreAll	: "ยกเว้นทั้งหมด",
+DlgSpellBtnReplace		: "แทนที่",
+DlgSpellBtnReplaceAll	: "แทนที่ทั้งหมด",
+DlgSpellBtnUndo			: "ยกเลิก",
+DlgSpellNoSuggestions	: "- ไม่มีคำแนะนำใดๆ -",
+DlgSpellProgress		: "กำลังตรวจสอบคำสะกด...",
+DlgSpellNoMispell		: "ตรวจสอบคำสะกดเสร็จสิ้น: ไม่พบคำสะกดผิด",
+DlgSpellNoChanges		: "ตรวจสอบคำสะกดเสร็จสิ้น: ไม่มีการแก้คำใดๆ",
+DlgSpellOneChange		: "ตรวจสอบคำสะกดเสร็จสิ้น: แก้ไข1คำ",
+DlgSpellManyChanges		: "ตรวจสอบคำสะกดเสร็จสิ้น:: แก้ไข %1 คำ",
+
+IeSpellDownload			: "ไม่ได้ติดตั้งระบบตรวจสอบคำสะกด. ต้องการติดตั้งไหมครับ?",
+
+// Button Dialog
+DlgButtonText	: "ข้อความ (ค่าตัวแปร)",
+DlgButtonType	: "ข้อความ",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "ชื่อ",
+DlgCheckboxValue	: "ค่าตัวแปร",
+DlgCheckboxSelected	: "เลือกเป็นค่าเริ่มต้น",
+
+// Form Dialog
+DlgFormName		: "ชื่อ",
+DlgFormAction	: "แอคชั่น",
+DlgFormMethod	: "เมธอด",
+
+// Select Field Dialog
+DlgSelectName		: "ชื่อ",
+DlgSelectValue		: "ค่าตัวแปร",
+DlgSelectSize		: "ขนาด",
+DlgSelectLines		: "บรรทัด",
+DlgSelectChkMulti	: "เลือกหลายค่าได้",
+DlgSelectOpAvail	: "รายการตัวเลือก",
+DlgSelectOpText		: "ข้อความ",
+DlgSelectOpValue	: "ค่าตัวแปร",
+DlgSelectBtnAdd		: "เพิ่ม",
+DlgSelectBtnModify	: "แก้ไข",
+DlgSelectBtnUp		: "บน",
+DlgSelectBtnDown	: "ล่าง",
+DlgSelectBtnSetValue : "เลือกเป็นค่าเริ่มต้น",
+DlgSelectBtnDelete	: "ลบ",
+
+// Textarea Dialog
+DlgTextareaName	: "ชื่อ",
+DlgTextareaCols	: "สดมภ์",
+DlgTextareaRows	: "แถว",
+
+// Text Field Dialog
+DlgTextName			: "ชื่อ",
+DlgTextValue		: "ค่าตัวแปร",
+DlgTextCharWidth	: "ความกว้าง",
+DlgTextMaxChars		: "จำนวนตัวอักษรสูงสุด",
+DlgTextType			: "ชนิด",
+DlgTextTypeText		: "ข้อความ",
+DlgTextTypePass		: "รหัสผ่าน",
+
+// Hidden Field Dialog
+DlgHiddenName	: "ชื่อ",
+DlgHiddenValue	: "ค่าตัวแปร",
+
+// Bulleted List Dialog
+BulletedListProp	: "คุณสมบัติของ บูลเล็ตลิสต์",
+NumberedListProp	: "คุณสมบัติของ นัมเบอร์ลิสต์",
+DlgLstType			: "ชนิด",
+DlgLstTypeCircle	: "รูปวงกลม",
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "รูปสี่เหลี่ยม",
+DlgLstTypeNumbers	: "หมายเลข (1, 2, 3)",
+DlgLstTypeLCase		: "ตัวพิมพ์เล็ก (a, b, c)",
+DlgLstTypeUCase		: "ตัวพิมพ์ใหญ่ (A, B, C)",
+DlgLstTypeSRoman	: "เลขโรมันพิมพ์เล็ก (i, ii, iii)",
+DlgLstTypeLRoman	: "เลขโรมันพิมพ์ใหญ่ (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "ลักษณะทั่วไปของเอกสาร",
+DlgDocBackTab		: "พื้นหลัง",
+DlgDocColorsTab		: "สีและระยะขอบ",
+DlgDocMetaTab		: "ข้อมูลสำหรับเสิร์ชเอนจิ้น",
+
+DlgDocPageTitle		: "ชื่อไตเติ้ล",
+DlgDocLangDir		: "การอ่านภาษา",
+DlgDocLangDirLTR	: "จากซ้ายไปขวา (LTR)",
+DlgDocLangDirRTL	: "จากขวาไปซ้าย (RTL)",
+DlgDocLangCode		: "รหัสภาษา",
+DlgDocCharSet		: "ชุดตัวอักษร",
+DlgDocCharSetOther	: "ชุดตัวอักษรอื่นๆ",
+
+DlgDocDocType		: "ประเภทของเอกสาร",
+DlgDocDocTypeOther	: "ประเภทเอกสารอื่นๆ",
+DlgDocIncXHTML		: "รวมเอา  XHTML Declarations ไว้ด้วย",
+DlgDocBgColor		: "สีพื้นหลัง",
+DlgDocBgImage		: "ที่อยู่อ้างอิงออนไลน์ของรูปพื้นหลัง (Image URL)",
+DlgDocBgNoScroll	: "พื้นหลังแบบไม่มีแถบเลื่อน",
+DlgDocCText			: "ข้อความ",
+DlgDocCLink			: "ลิงค์",
+DlgDocCVisited		: "ลิงค์ที่เคยคลิ้กแล้ว Visited Link",
+DlgDocCActive		: "ลิงค์ที่กำลังคลิ้ก Active Link",
+DlgDocMargins		: "ระยะขอบของหน้าเอกสาร",
+DlgDocMaTop			: "ด้านบน",
+DlgDocMaLeft		: "ด้านซ้าย",
+DlgDocMaRight		: "ด้านขวา",
+DlgDocMaBottom		: "ด้านล่าง",
+DlgDocMeIndex		: "คำสำคัญอธิบายเอกสาร (คั่นคำด้วย คอมม่า)",
+DlgDocMeDescr		: "ประโยคอธิบายเกี่ยวกับเอกสาร",
+DlgDocMeAuthor		: "ผู้สร้างเอกสาร",
+DlgDocMeCopy		: "สงวนลิขสิทธิ์",
+DlgDocPreview		: "ตัวอย่างหน้าเอกสาร",
+
+// Templates Dialog
+Templates			: "Templates",	//MISSING
+DlgTemplatesTitle	: "Content Templates",	//MISSING
+DlgTemplatesSelMsg	: "Please select the template to open in the editor<br>(the actual contents will be lost):",	//MISSING
+DlgTemplatesLoading	: "Loading templates list. Please wait...",	//MISSING
+DlgTemplatesNoTpl	: "(No templates defined)",	//MISSING
+
+// About Dialog
+DlgAboutAboutTab	: "เกี่ยวกับโปรแกรม",
+DlgAboutBrowserInfoTab	: "โปรแกรมท่องเว็บที่ท่านใช้",
+DlgAboutVersion		: "รุ่น",
+DlgAboutLicense		: "สงวนลิขสิทธิ์ โดยนโยบายลิขสิทธิ์แบบ GNU Lesser General Public License",
+DlgAboutInfo		: "ข้อมูลเพิ่มเติมภาษาไทยติดต่อ</BR>นาย ชรินทร์ อาษากิจ (อู้ด)</BR><A HREF='mailto:arsakit at gmail.com'>arsakit at gmail.com</A> tel. (+66) 06-9241924</BR>หรือดาวน์โหลดรุ่นภาษาไทยได้ที่เว็บไซต์</BR><A HREF='http://www.thaimall4u.com'>www.Thaimall4u.com</A></BR>ข้อมูลเพิ่มเติมภาษาอังกฤษ กรุณาไปที่นี่"
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/lang/tr.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/lang/tr.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/lang/tr.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,475 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: tr.js
+ * 	Turkish language file.
+ * 
+ * File Authors:
+ * 		Bogac Guven (bogacmx at yahoo.com)
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Araç Çubugunu Kapat",
+ToolbarExpand		: "Araç Çubugunu Aç",
+
+// Toolbar Items and Context Menu
+Save				: "Kaydet",
+NewPage				: "Yeni Sayfa",
+Preview				: "Ön Izleme",
+Cut					: "Kes",
+Copy				: "Kopyala",
+Paste				: "Yapistir",
+PasteText			: "Düzyazi Olarak Yapistir",
+PasteWord			: "Word'den Yapistir",
+Print				: "Yazdir",
+SelectAll			: "Tümünü Seç",
+RemoveFormat		: "Biçimi Kaldir",
+InsertLinkLbl		: "Köprü",
+InsertLink			: "Köprü Ekle/Düzenle",
+RemoveLink			: "Köprü Kaldir",
+Anchor				: "Çapa Ekle/Düzenle",
+InsertImageLbl		: "Resim",
+InsertImage			: "Resim Ekle/Düzenle",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Flash Ekle/Düzenle",
+InsertTableLbl		: "Tablo",
+InsertTable			: "Tablo Ekle/Düzenle",
+InsertLineLbl		: "Satir",
+InsertLine			: "Yatay Satir Ekle",
+InsertSpecialCharLbl: "Özel Karakter",
+InsertSpecialChar	: "Özel Karakter Ekle",
+InsertSmileyLbl		: "Ifade",
+InsertSmiley		: "Ifade Ekle",
+About				: "FCKeditor Hakkinda",
+Bold				: "Kalin",
+Italic				: "Italik",
+Underline			: "Alti Çizgili",
+StrikeThrough		: "Üstü Çizgili",
+Subscript			: "Alt Simge",
+Superscript			: "Ãœst Simge",
+LeftJustify			: "Sola Dayali",
+CenterJustify		: "Ortalanmis",
+RightJustify		: "Saga Dayali",
+BlockJustify		: "Iki Kenara Yaslanmis",
+DecreaseIndent		: "Sekme Azalt",
+IncreaseIndent		: "Sekme Arttir",
+Undo				: "Geri Al",
+Redo				: "Tekrarla",
+NumberedListLbl		: "Numarali Liste",
+NumberedList		: "Numarali Liste Ekle/Kaldir",
+BulletedListLbl		: "Simgeli Liste",
+BulletedList		: "Simgeli Liste Ekle/Kaldir",
+ShowTableBorders	: "Tablo Kenarlarini Göster",
+ShowDetails			: "Detaylari Göster",
+Style				: "Stil",
+FontFormat			: "Biçim",
+Font				: "Yazi Tipi",
+FontSize			: "Boyut",
+TextColor			: "Yazi Rengi",
+BGColor				: "Arka Renk",
+Source				: "Kaynak",
+Find				: "Bul",
+Replace				: "Degistir",
+SpellCheck			: "Yazim Denetimi",
+UniversalKeyboard	: "Evrensel Klavye",
+
+Form			: "Form",
+Checkbox		: "Onay Kutusu",
+RadioButton		: "Seçenek Dügmesi",
+TextField		: "Metin Girisi",
+Textarea		: "Çok Satirli Metin",
+HiddenField		: "Gizli Veri",
+Button			: "Dügme",
+SelectionField	: "Seçim Mönüsü",
+ImageButton		: "Resimli Dügme",
+
+// Context Menu
+EditLink			: "Köprü Düzenle",
+InsertRow			: "Satir Ekle",
+DeleteRows			: "Satir Sil",
+InsertColumn		: "Sütun Ekle",
+DeleteColumns		: "Sütun Sil",
+InsertCell			: "Hücre Ekle",
+DeleteCells			: "Hücre Sil",
+MergeCells			: "Hücreleri Birlestir",
+SplitCell			: "Hücre Böl",
+CellProperties		: "Hücre Özellikleri",
+TableProperties		: "Tablo Özellikleri",
+ImageProperties		: "Resim Özellikleri",
+FlashProperties		: "Flash Özellikleri",
+
+AnchorProp			: "Çapa Özellikleri",
+ButtonProp			: "Dügme Özellikleri",
+CheckboxProp		: "Onay Kutusu Özellikleri",
+HiddenFieldProp		: "Gizli Veri Özellikleri",
+RadioButtonProp		: "Seçenek Dügmesi Özellikleri",
+ImageButtonProp		: "Resimli Dügme Özellikleri",
+TextFieldProp		: "Metin Girisi Özellikleri",
+SelectionFieldProp	: "Seçim Mönüsü Özellikleri",
+TextareaProp		: "Çok Satirli Metin Özellikleri",
+FormProp			: "Form Özellikleri",
+
+FontFormats			: "Normal;Biçimli;Adres;Baslik 1;Baslik 2;Baslik 3;Baslik 4;Baslik 5;Baslik 6;Paragraf (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "XHTML isleniyor. Lütfen bekleyin...",
+Done				: "Bitti",
+PasteWordConfirm	: "Yapistirdiginiz yazi Word'den gelmise benziyor. Yapistirmadan önce silmek ister misiniz?",
+NotCompatiblePaste	: "Bu komut Internet Explorer 5.5 ve ileriki sürümleri için mevcuttur. Temizlenmeden yapistirilmasini ister misiniz ?",
+UnknownToolbarItem	: "Bilinmeyen araç çubugu ögesi \"%1\"",
+UnknownCommand		: "Bilinmeyen komut \"%1\"",
+NotImplemented		: "Komut uyarlanamadi",
+UnknownToolbarSet	: "\"%1\" araç çubugu ögesi mevcut degil",
+NoActiveX			: "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "Tamam",
+DlgBtnCancel		: "Iptal",
+DlgBtnClose			: "Kapat",
+DlgBtnBrowseServer	: "Sunucuyu Gez",
+DlgAdvancedTag		: "Gelismis",
+DlgOpOther			: "&lt;Diger&gt;",
+DlgInfoTab			: "Bilgi",
+DlgAlertUrl			: "Lütfen URL girin",
+
+// General Dialogs Labels
+DlgGenNotSet		: "&lt;tanimlanmamis&gt;",
+DlgGenId			: "Kimlik",
+DlgGenLangDir		: "Lisan Yönü",
+DlgGenLangDirLtr	: "Soldan Saga (LTR)",
+DlgGenLangDirRtl	: "Sagdan Sola (RTL)",
+DlgGenLangCode		: "Lisan Kodlamasi",
+DlgGenAccessKey		: "Erisim Tusu",
+DlgGenName			: "Isim",
+DlgGenTabIndex		: "Sekme Indeksi",
+DlgGenLongDescr		: "Uzun Tanimli URL",
+DlgGenClass			: "Stil Klaslari",
+DlgGenTitle			: "Danisma Basligi",
+DlgGenContType		: "Danisma Içerik Türü",
+DlgGenLinkCharset	: "Bagli Kaynak Karakter Gurubu",
+DlgGenStyle			: "Stil",
+
+// Image Dialog
+DlgImgTitle			: "Resim Özellikleri",
+DlgImgInfoTab		: "Resim Bilgisi",
+DlgImgBtnUpload		: "Sunucuya Yolla",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Karsiya Yükle",
+DlgImgAlt			: "Alternatif Yazi",
+DlgImgWidth			: "Genislik",
+DlgImgHeight		: "Yükseklik",
+DlgImgLockRatio		: "Orani Kilitle",
+DlgBtnResetSize		: "Boyutu Basa Döndür",
+DlgImgBorder		: "Kenar",
+DlgImgHSpace		: "Yatay Bosluk",
+DlgImgVSpace		: "Dikey Bosluk",
+DlgImgAlign			: "Hizalama",
+DlgImgAlignLeft		: "Sol",
+DlgImgAlignAbsBottom: "Tam Alti",
+DlgImgAlignAbsMiddle: "Tam Ortasi",
+DlgImgAlignBaseline	: "Taban Çizgisi",
+DlgImgAlignBottom	: "Alt",
+DlgImgAlignMiddle	: "Orta",
+DlgImgAlignRight	: "Sag",
+DlgImgAlignTextTop	: "Yazi Tepeye",
+DlgImgAlignTop		: "Tepe",
+DlgImgPreview		: "Ön Izleme",
+DlgImgAlertUrl		: "Lütfen resimin URL'sini yaziniz",
+DlgImgLinkTab		: "Köprü",
+
+// Flash Dialog
+DlgFlashTitle		: "Flash Özellikleri",
+DlgFlashChkPlay		: "Otomatik Oynat",
+DlgFlashChkLoop		: "Döngü",
+DlgFlashChkMenu		: "Flash Mönüsünü Kullan",
+DlgFlashScale		: "Boyutlandır",
+DlgFlashScaleAll	: "Hepsini Göster",
+DlgFlashScaleNoBorder	: "Kenar Yok",
+DlgFlashScaleFit	: "Tam Sığdır",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Köprü",
+DlgLnkInfoTab		: "Köprü Bilgisi",
+DlgLnkTargetTab		: "Hedef",
+
+DlgLnkType			: "Köprü Türü",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Bu sayfada çapa",
+DlgLnkTypeEMail		: "E-Posta",
+DlgLnkProto			: "Protokol",
+DlgLnkProtoOther	: "&lt;diger&gt;",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Çapa Seç",
+DlgLnkAnchorByName	: "Çapa Ismi ile",
+DlgLnkAnchorById	: "Eleman Id ile",
+DlgLnkNoAnchors		: "&lt;Bu dokümanda hiç çapa yok&gt;",
+DlgLnkEMail			: "E-Posta Adresi",
+DlgLnkEMailSubject	: "Mesaj Konusu",
+DlgLnkEMailBody		: "Mesaj Vücudu",
+DlgLnkUpload		: "Karsiya Yükle",
+DlgLnkBtnUpload		: "Sunucuya Gönder",
+
+DlgLnkTarget		: "Hedef",
+DlgLnkTargetFrame	: "&lt;çerçeve&gt;",
+DlgLnkTargetPopup	: "&lt;yeni açilan pencere&gt;",
+DlgLnkTargetBlank	: "Yeni Pencere(_blank)",
+DlgLnkTargetParent	: "Anne Pencere (_parent)",
+DlgLnkTargetSelf	: "Kendi Penceresi (_self)",
+DlgLnkTargetTop		: "En Ãœst Pencere (_top)",
+DlgLnkTargetFrameName	: "Hedef Çerçeve Ismi",
+DlgLnkPopWinName	: "Yeni Açilan Pencere Ismi",
+DlgLnkPopWinFeat	: "Yeni Açilan Pencere Özellikleri",
+DlgLnkPopResize		: "Boyutlandirilabilir",
+DlgLnkPopLocation	: "Yer Çubugu",
+DlgLnkPopMenu		: "Mönü Çubugu",
+DlgLnkPopScroll		: "Kaydirma Çubuklari",
+DlgLnkPopStatus		: "Statü Çubugu",
+DlgLnkPopToolbar	: "Araç Çubugu",
+DlgLnkPopFullScrn	: "Tam Ekran (IE)",
+DlgLnkPopDependent	: "Bagli-Dependent- (Netscape)",
+DlgLnkPopWidth		: "Genislik",
+DlgLnkPopHeight		: "Yükseklik",
+DlgLnkPopLeft		: "Sola Göre Pozisyon",
+DlgLnkPopTop		: "Yukariya Göre Pozisyon",
+
+DlnLnkMsgNoUrl		: "Lütfen köprü URL'sini yazin",
+DlnLnkMsgNoEMail	: "Lütfen E-posta adresini yazin",
+DlnLnkMsgNoAnchor	: "Lütfen bir çapa seçin",
+
+// Color Dialog
+DlgColorTitle		: "Renk Seç",
+DlgColorBtnClear	: "Temizle",
+DlgColorHighlight	: "Belirle",
+DlgColorSelected	: "Seçilmis",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Ifade Ekle",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Özel Karakter Seç",
+
+// Table Dialog
+DlgTableTitle		: "Tablo Özellikleri",
+DlgTableRows		: "Satirlar",
+DlgTableColumns		: "Sütunlar",
+DlgTableBorder		: "Kenar Kalinligi",
+DlgTableAlign		: "Hizalama",
+DlgTableAlignNotSet	: "<Tanimlanmamis>",
+DlgTableAlignLeft	: "Sol",
+DlgTableAlignCenter	: "Merkez",
+DlgTableAlignRight	: "Sag",
+DlgTableWidth		: "Genislik",
+DlgTableWidthPx		: "piksel",
+DlgTableWidthPc		: "yüzde",
+DlgTableHeight		: "Yükseklik",
+DlgTableCellSpace	: "Izgara kalinligi",
+DlgTableCellPad		: "Izgara yazi arasi",
+DlgTableCaption		: "Baslik",
+
+// Table Cell Dialog
+DlgCellTitle		: "Hücre Özellikleri",
+DlgCellWidth		: "Genislik",
+DlgCellWidthPx		: "piksel",
+DlgCellWidthPc		: "yüzde",
+DlgCellHeight		: "Yükseklik",
+DlgCellWordWrap		: "Sözcük Kaydir",
+DlgCellWordWrapNotSet	: "&lt;Tanimlanmamis&gt;",
+DlgCellWordWrapYes	: "Evet",
+DlgCellWordWrapNo	: "Hayir",
+DlgCellHorAlign		: "Yatay Hizalama",
+DlgCellHorAlignNotSet	: "&lt;Tanimlanmamis&gt;",
+DlgCellHorAlignLeft	: "Sol",
+DlgCellHorAlignCenter	: "Merkez",
+DlgCellHorAlignRight: "Sag",
+DlgCellVerAlign		: "Dikey Hizalama",
+DlgCellVerAlignNotSet	: "&lt;Tanimlanmamis&gt;",
+DlgCellVerAlignTop	: "Tepe",
+DlgCellVerAlignMiddle	: "Orta",
+DlgCellVerAlignBottom	: "Alt",
+DlgCellVerAlignBaseline	: "Taban Çizgisi",
+DlgCellRowSpan		: "Satir Kapla",
+DlgCellCollSpan		: "Sütun Kapla",
+DlgCellBackColor	: "Arka Plan Rengi",
+DlgCellBorderColor	: "Kenar Rengi",
+DlgCellBtnSelect	: "Seç...",
+
+// Find Dialog
+DlgFindTitle		: "Bul",
+DlgFindFindBtn		: "Bul",
+DlgFindNotFoundMsg	: "Belirtilen yazi bulunamadi.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Degistir",
+DlgReplaceFindLbl		: "Aranan:",
+DlgReplaceReplaceLbl	: "Bunla degistir:",
+DlgReplaceCaseChk		: "Büyük/küçük harf duyarli",
+DlgReplaceReplaceBtn	: "Degistir",
+DlgReplaceReplAllBtn	: "Tümünü Degistir",
+DlgReplaceWordChk		: "Kelimenin tamami uysun",
+
+// Paste Operations / Dialog
+PasteErrorPaste	: "Gezgin yaziliminizin güvenlik ayarlari editörün otomatik yapistirma islemine izin vermiyor. Islem için (Ctrl+V) tuslarini kullanin.",
+PasteErrorCut	: "Gezgin yaziliminizin güvenlik ayarlari editörün otomatik kesme islemine izin vermiyor. Islem için (Ctrl+X) tuslarini kullanin.",
+PasteErrorCopy	: "Gezgin yaziliminizin güvenlik ayarlari editörün otomatik kopyalama islemine izin vermiyor. Islem için (Ctrl+C) tuslarini kullanin.",
+
+PasteAsText		: "Düz Metin Olarak Yapistir",
+PasteFromWord	: "Word'den yapistir",
+
+DlgPasteMsg2	: "Please paste inside the following box using the keyboard (<STRONG>Ctrl+V</STRONG>) and hit <STRONG>OK</STRONG>.",	//MISSING
+DlgPasteIgnoreFont		: "Yazı Tipi tanımlarını yoksay",
+DlgPasteRemoveStyles	: "Sitil Tanımlarını çıkar",
+DlgPasteCleanBox		: "Temizlik Kutusu",
+
+
+// Color Picker
+ColorAutomatic	: "Otomatik",
+ColorMoreColors	: "Diger renkler...",
+
+// Document Properties
+DocProps		: "Doküman Özellikleri",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Çapa Özellikleri",
+DlgAnchorName		: "Çapa Ismi",
+DlgAnchorErrorName	: "Lütfen çapa için isim giriniz",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Sözlükte Yok",
+DlgSpellChangeTo		: "Suna degistir:",
+DlgSpellBtnIgnore		: "Yoksay",
+DlgSpellBtnIgnoreAll	: "Tümünü Yoksay",
+DlgSpellBtnReplace		: "Degistir",
+DlgSpellBtnReplaceAll	: "Tümünü Degistir",
+DlgSpellBtnUndo			: "Geri Al",
+DlgSpellNoSuggestions	: "- Öneri Yok -",
+DlgSpellProgress		: "Yazim denetimi islemde...",
+DlgSpellNoMispell		: "Yazim denetimi tamamlandi: Yanlis yazima raslanmadi",
+DlgSpellNoChanges		: "Yazim denetimi tamamlandi: Hiçbir kelime degistirilmedi",
+DlgSpellOneChange		: "Yazim denetimi tamamlandi: Bir kelime degistirildi",
+DlgSpellManyChanges		: "Yazim denetimi tamamlandi: %1 kelime degistirildi",
+
+IeSpellDownload			: "Yazim denetimi yüklenmemis. Simdi yüklemek ister misiniz?",
+
+// Button Dialog
+DlgButtonText	: "Metin (Deger)",
+DlgButtonType	: "Tip",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Isim",
+DlgCheckboxValue	: "Deger",
+DlgCheckboxSelected	: "Seçili",
+
+// Form Dialog
+DlgFormName		: "Isim",
+DlgFormAction	: "Islem",
+DlgFormMethod	: "Metod",
+
+// Select Field Dialog
+DlgSelectName		: "Isim",
+DlgSelectValue		: "Deger",
+DlgSelectSize		: "Boyut",
+DlgSelectLines		: "satir",
+DlgSelectChkMulti	: "Çoklu seçime izin ver",
+DlgSelectOpAvail	: "Mevcut Seçenekler",
+DlgSelectOpText		: "Metin",
+DlgSelectOpValue	: "Deger",
+DlgSelectBtnAdd		: "Ekle",
+DlgSelectBtnModify	: "Düzenle",
+DlgSelectBtnUp		: "Yukari",
+DlgSelectBtnDown	: "Asagi",
+DlgSelectBtnSetValue : "Seçili deger olarak ata",
+DlgSelectBtnDelete	: "Sil",
+
+// Textarea Dialog
+DlgTextareaName	: "Isim",
+DlgTextareaCols	: "Sütunlar",
+DlgTextareaRows	: "Satirlar",
+
+// Text Field Dialog
+DlgTextName			: "Isim",
+DlgTextValue		: "Deger",
+DlgTextCharWidth	: "Karakter Genisligi",
+DlgTextMaxChars		: "En Fazla Karakter",
+DlgTextType			: "Tip",
+DlgTextTypeText		: "Metin",
+DlgTextTypePass		: "Sifre",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Isim",
+DlgHiddenValue	: "Deger",
+
+// Bulleted List Dialog
+BulletedListProp	: "Simgeli Liste Özellikleri",
+NumberedListProp	: "Numarali Liste Özellikleri",
+DlgLstType			: "Tip",
+DlgLstTypeCircle	: "Çember",
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "Kare",
+DlgLstTypeNumbers	: "Sayilar (1, 2, 3)",
+DlgLstTypeLCase		: "Küçük Harfler (a, b, c)",
+DlgLstTypeUCase		: "Büyük Harfler (A, B, C)",
+DlgLstTypeSRoman	: "Küçük Romen Rakamlari (i, ii, iii)",
+DlgLstTypeLRoman	: "Büyük Romen Rakamlari (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Genel",
+DlgDocBackTab		: "Arka Plan",
+DlgDocColorsTab		: "Renler ve Mesafeler",
+DlgDocMetaTab		: "Tanim Bilgisi (Meta)",
+
+DlgDocPageTitle		: "Sayfa Basligi",
+DlgDocLangDir		: "Lisan Yönü",
+DlgDocLangDirLTR	: "Soldan Saga (LTR)",
+DlgDocLangDirRTL	: "Sagdan Sola (RTL)",
+DlgDocLangCode		: "Lisan Kodu",
+DlgDocCharSet		: "Karakter Kümesi Kodlamasi",
+DlgDocCharSetOther	: "Diger Karakter Kümesi Kodlamasi",
+
+DlgDocDocType		: "Doküman Türü Basligi",
+DlgDocDocTypeOther	: "Diger Doküman Türü Basligi",
+DlgDocIncXHTML		: "XHTML Bildirimlerini Dahil Et",
+DlgDocBgColor		: "Arka Plan Rengi",
+DlgDocBgImage		: "Arka Plan Resim URLsi",
+DlgDocBgNoScroll	: "Sabit Arka Plan",
+DlgDocCText			: "Metin",
+DlgDocCLink			: "Köprü",
+DlgDocCVisited		: "Görülmüs Köprü",
+DlgDocCActive		: "Aktif Köprü",
+DlgDocMargins		: "Kenar Bosluklari",
+DlgDocMaTop			: "Tepe",
+DlgDocMaLeft		: "Sol",
+DlgDocMaRight		: "Sag",
+DlgDocMaBottom		: "Alt",
+DlgDocMeIndex		: "Doküman Indeksleme Anahtar Kelimeleri (virgülle ayrilmis)",
+DlgDocMeDescr		: "Doküman Tanimi",
+DlgDocMeAuthor		: "Yazar",
+DlgDocMeCopy		: "Telif",
+DlgDocPreview		: "Ön Izleme",
+
+// Templates Dialog
+Templates			: "Düzenler",
+DlgTemplatesTitle	: "İçerik Düzenleri",
+DlgTemplatesSelMsg	: "Editörde açmak için lütfen bir düzen seçin.<br>(hali hazırdaki içerik kaybolacaktır.):",
+DlgTemplatesLoading	: "Düzenler listesi yüklenmekte. Lütfen bekleyiniz...",
+DlgTemplatesNoTpl	: "(Belirli bir düzen seçilmedi)",
+
+// About Dialog
+DlgAboutAboutTab	: "Hakkinda",
+DlgAboutBrowserInfoTab	: "Gezgin Bilgisi",
+DlgAboutVersion		: "versiyon",
+DlgAboutLicense		: "GNU Kisitli Kamu Lisansi (LGPL) kosullari altinda lisanslanmistir",
+DlgAboutInfo		: "Daha fazla bilgi için:"
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/lang/uk.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/lang/uk.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/lang/uk.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,475 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: uk.js
+ * 	Ukrainian language file.
+ * 
+ * File Authors:
+ * 		Alexander Pervak (pervak at gmail.com)
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Згорнути панель інструментів",
+ToolbarExpand		: "Розгорнути панель інструментів",
+
+// Toolbar Items and Context Menu
+Save				: "Зберегти",
+NewPage				: "Нова сторінка",
+Preview				: "Попередній перегляд",
+Cut					: "Вирізати",
+Copy				: "Копіювати",
+Paste				: "Вставити",
+PasteText			: "Вставити тільки текст",
+PasteWord			: "Вставити з Word",
+Print				: "Друк",
+SelectAll			: "Виділити все",
+RemoveFormat		: "Прибрати форматування",
+InsertLinkLbl		: "Посилання",
+InsertLink			: "Вставити/Редагувати посилання",
+RemoveLink			: "Знищити посилання",
+Anchor				: "Вставити/Редагувати якір",
+InsertImageLbl		: "Зображення",
+InsertImage			: "Вставити/Редагувати зображення",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Вставити/Редагувати Flash",
+InsertTableLbl		: "Таблиця",
+InsertTable			: "Вставити/Редагувати таблицю",
+InsertLineLbl		: "Лінія",
+InsertLine			: "Вставити горизонтальну лінію",
+InsertSpecialCharLbl: "Спеціальний символ",
+InsertSpecialChar	: "Вставити спеціальний символ",
+InsertSmileyLbl		: "Смайлик",
+InsertSmiley		: "Вставити смайлик",
+About				: "Про FCKeditor",
+Bold				: "Жирний",
+Italic				: "Курсив",
+Underline			: "Підкреслений",
+StrikeThrough		: "Закреслений",
+Subscript			: "Підрядковий індекс",
+Superscript			: "Надрядковий индекс",
+LeftJustify			: "По лівому краю",
+CenterJustify		: "По центру",
+RightJustify		: "По правому краю",
+BlockJustify		: "По ширині",
+DecreaseIndent		: "Зменшити відступ",
+IncreaseIndent		: "Збільшити відступ",
+Undo				: "Повернути",
+Redo				: "Повторити",
+NumberedListLbl		: "Нумерований список",
+NumberedList		: "Вставити/Видалити нумерований список",
+BulletedListLbl		: "Маркований список",
+BulletedList		: "Вставити/Видалити маркований список",
+ShowTableBorders	: "Показати бордюри таблиці",
+ShowDetails			: "Показати деталі",
+Style				: "Стиль",
+FontFormat			: "Форматування",
+Font				: "Шрифт",
+FontSize			: "Розмір",
+TextColor			: "Колір тексту",
+BGColor				: "Колір фону",
+Source				: "Джерело",
+Find				: "Пошук",
+Replace				: "Заміна",
+SpellCheck			: "Перевірити орфографію",
+UniversalKeyboard	: "Універсальна клавіатура",
+
+Form			: "Форма",
+Checkbox		: "Флагова кнопка",
+RadioButton		: "Кнопка вибору",
+TextField		: "Текстове поле",
+Textarea		: "Текстова область",
+HiddenField		: "Приховане поле",
+Button			: "Кнопка",
+SelectionField	: "Список",
+ImageButton		: "Кнопка із зображенням",
+
+// Context Menu
+EditLink			: "Вставити посилання",
+InsertRow			: "Вставити строку",
+DeleteRows			: "Видалити строки",
+InsertColumn		: "Вставити колонку",
+DeleteColumns		: "Видалити колонки",
+InsertCell			: "Вставити комірку",
+DeleteCells			: "Видалити комірки",
+MergeCells			: "Об'єднати комірки",
+SplitCell			: "Роз'єднати комірку",
+CellProperties		: "Властивості комірки",
+TableProperties		: "Властивості таблиці",
+ImageProperties		: "Властивості зображення",
+FlashProperties		: "Властивості Flash",
+
+AnchorProp			: "Властивості якоря",
+ButtonProp			: "Властивості кнопки",
+CheckboxProp		: "Властивості флагової кнопки",
+HiddenFieldProp		: "Властивості прихованого поля",
+RadioButtonProp		: "Властивості кнопки вибору",
+ImageButtonProp		: "Властивості кнопки із зображенням",
+TextFieldProp		: "Властивості текстового поля",
+SelectionFieldProp	: "Властивості списку",
+TextareaProp		: "Властивості текстової області",
+FormProp			: "Властивості форми",
+
+FontFormats			: "Нормальний;Форматований;Адреса;Заголовок 1;Заголовок 2;Заголовок 3;Заголовок 4;Заголовок 5;Заголовок 6",
+
+// Alerts and Messages
+ProcessingXHTML		: "Обробка XHTML. Зачекайте, будь ласка...",
+Done				: "Зроблено",
+PasteWordConfirm	: "Текст, що ви хочете вставити, схожий на копійований з Word. Ви хочете очистити його перед вставкою?",
+NotCompatiblePaste	: "Ця команда доступна для Internet Explorer версії 5.5 або вище. Ви хочете вставити без очищення?",
+UnknownToolbarItem	: "Невідомий елемент панелі інструментів \"%1\"",
+UnknownCommand		: "Невідоме ім'я команди \"%1\"",
+NotImplemented		: "Команда не реалізована",
+UnknownToolbarSet	: "Панель інструментів \"%1\" не існує",
+NoActiveX			: "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "ОК",
+DlgBtnCancel		: "Скасувати",
+DlgBtnClose			: "Зачинити",
+DlgBtnBrowseServer	: "Передивитися на сервері",
+DlgAdvancedTag		: "Розширений",
+DlgOpOther			: "&lt;Інше&gt;",
+DlgInfoTab			: "Інфо",
+DlgAlertUrl			: "Вставте, будь-ласка, URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "&lt;не визначено&gt;",
+DlgGenId			: "Ідентифікатор",
+DlgGenLangDir		: "Напрямок мови",
+DlgGenLangDirLtr	: "Зліва на право (LTR)",
+DlgGenLangDirRtl	: "Зправа на ліво (RTL)",
+DlgGenLangCode		: "Мова",
+DlgGenAccessKey		: "Гаряча клавіша",
+DlgGenName			: "Им'я",
+DlgGenTabIndex		: "Послідовність переходу",
+DlgGenLongDescr		: "Довгий опис URL",
+DlgGenClass			: "Клас CSS",
+DlgGenTitle			: "Заголовок",
+DlgGenContType		: "Тип вмісту",
+DlgGenLinkCharset	: "Кодировка",
+DlgGenStyle			: "Стиль CSS",
+
+// Image Dialog
+DlgImgTitle			: "Властивості зображення",
+DlgImgInfoTab		: "Інформація про изображении",
+DlgImgBtnUpload		: "Надіслати на сервер",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Закачати",
+DlgImgAlt			: "Альтернативний текст",
+DlgImgWidth			: "Ширина",
+DlgImgHeight		: "Висота",
+DlgImgLockRatio		: "Зберегти пропорції",
+DlgBtnResetSize		: "Скинути розмір",
+DlgImgBorder		: "Бордюр",
+DlgImgHSpace		: "Горизонтальний відступ",
+DlgImgVSpace		: "Вертикальний відступ",
+DlgImgAlign			: "Вирівнювання",
+DlgImgAlignLeft		: "По лівому краю",
+DlgImgAlignAbsBottom: "Абс по низу",
+DlgImgAlignAbsMiddle: "Абс по середині",
+DlgImgAlignBaseline	: "По базовій лінії",
+DlgImgAlignBottom	: "По низу",
+DlgImgAlignMiddle	: "По середині",
+DlgImgAlignRight	: "По правому краю",
+DlgImgAlignTextTop	: "Текст на верху",
+DlgImgAlignTop		: "По верху",
+DlgImgPreview		: "Попередній перегляд",
+DlgImgAlertUrl		: "Будь ласка, введіть URL зображення",
+DlgImgLinkTab		: "Посилання",
+
+// Flash Dialog
+DlgFlashTitle		: "Властивості Flash",
+DlgFlashChkPlay		: "Авто програвання",
+DlgFlashChkLoop		: "Зациклити",
+DlgFlashChkMenu		: "Дозволити меню Flash",
+DlgFlashScale		: "Масштаб",
+DlgFlashScaleAll	: "Показати всі",
+DlgFlashScaleNoBorder	: "Без рамки",
+DlgFlashScaleFit	: "Дійсний розмір",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Посилання",
+DlgLnkInfoTab		: "Інформація посилання",
+DlgLnkTargetTab		: "Ціль",
+
+DlgLnkType			: "Тип посилання",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Якір на цю сторінку",
+DlgLnkTypeEMail		: "Эл. пошта",
+DlgLnkProto			: "Протокол",
+DlgLnkProtoOther	: "&lt;інше&gt;",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Оберіть якір",
+DlgLnkAnchorByName	: "За ім'ям якоря",
+DlgLnkAnchorById	: "За ідентифікатором елемента",
+DlgLnkNoAnchors		: "&lt;Немає якорів доступних в цьому документі&gt;",
+DlgLnkEMail			: "Адреса ел. пошти",
+DlgLnkEMailSubject	: "Тема листа",
+DlgLnkEMailBody		: "Тіло повідомлення",
+DlgLnkUpload		: "Закачати",
+DlgLnkBtnUpload		: "Переслати на сервер",
+
+DlgLnkTarget		: "Ціль",
+DlgLnkTargetFrame	: "&lt;фрейм&gt;",
+DlgLnkTargetPopup	: "&lt;спливаюче вікно&gt;",
+DlgLnkTargetBlank	: "Нове вікно (_blank)",
+DlgLnkTargetParent	: "Батьківське вікно (_parent)",
+DlgLnkTargetSelf	: "Теж вікно (_self)",
+DlgLnkTargetTop		: "Найвище вікно (_top)",
+DlgLnkTargetFrameName	: "Ім'я целевого фрейма",
+DlgLnkPopWinName	: "Ім'я спливаючого вікна",
+DlgLnkPopWinFeat	: "Властивості спливаючого вікна",
+DlgLnkPopResize		: "Змінюється в розмірах",
+DlgLnkPopLocation	: "Панель локації",
+DlgLnkPopMenu		: "Панель меню",
+DlgLnkPopScroll		: "Полоси прокрутки",
+DlgLnkPopStatus		: "Строка статусу",
+DlgLnkPopToolbar	: "Панель інструментів",
+DlgLnkPopFullScrn	: "Повний екран (IE)",
+DlgLnkPopDependent	: "Залежний (Netscape)",
+DlgLnkPopWidth		: "Ширина",
+DlgLnkPopHeight		: "Висота",
+DlgLnkPopLeft		: "Позиція зліва",
+DlgLnkPopTop		: "Позиція зверху",
+
+DlnLnkMsgNoUrl		: "Будь ласка, занесіть URL посилання",
+DlnLnkMsgNoEMail	: "Будь ласка, занесіть адрес эл. почты",
+DlnLnkMsgNoAnchor	: "Будь ласка, оберіть якір",
+
+// Color Dialog
+DlgColorTitle		: "Оберіть колір",
+DlgColorBtnClear	: "Очистити",
+DlgColorHighlight	: "Підсвічений",
+DlgColorSelected	: "Обраний",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Вставити смайлик",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Оберіть спеціальний символ",
+
+// Table Dialog
+DlgTableTitle		: "Властивості таблиці",
+DlgTableRows		: "Строки",
+DlgTableColumns		: "Колонки",
+DlgTableBorder		: "Розмір бордюра",
+DlgTableAlign		: "Вирівнювання",
+DlgTableAlignNotSet	: "<Не вст.>",
+DlgTableAlignLeft	: "Зліва",
+DlgTableAlignCenter	: "По центру",
+DlgTableAlignRight	: "Зправа",
+DlgTableWidth		: "Ширина",
+DlgTableWidthPx		: "пікселів",
+DlgTableWidthPc		: "відсотків",
+DlgTableHeight		: "Висота",
+DlgTableCellSpace	: "Проміжок (spacing)",
+DlgTableCellPad		: "Відступ (padding)",
+DlgTableCaption		: "Заголовок",
+
+// Table Cell Dialog
+DlgCellTitle		: "Властивості комірки",
+DlgCellWidth		: "Ширина",
+DlgCellWidthPx		: "пікселів",
+DlgCellWidthPc		: "відсотків",
+DlgCellHeight		: "Висота",
+DlgCellWordWrap		: "Згортання текста",
+DlgCellWordWrapNotSet	: "<Не вст.>",
+DlgCellWordWrapYes	: "Так",
+DlgCellWordWrapNo	: "Ні",
+DlgCellHorAlign		: "Горизонтальне вирівнювання",
+DlgCellHorAlignNotSet	: "<Не вст.>",
+DlgCellHorAlignLeft	: "Зліва",
+DlgCellHorAlignCenter	: "По центру",
+DlgCellHorAlignRight: "Зправа",
+DlgCellVerAlign		: "Вертикальное вирівнювання",
+DlgCellVerAlignNotSet	: "<Не вст.>",
+DlgCellVerAlignTop	: "Зверху",
+DlgCellVerAlignMiddle	: "Посередині",
+DlgCellVerAlignBottom	: "Знизу",
+DlgCellVerAlignBaseline	: "По базовій лінії",
+DlgCellRowSpan		: "Діапазон строк (span)",
+DlgCellCollSpan		: "Діапазон колонок (span)",
+DlgCellBackColor	: "Колір фона",
+DlgCellBorderColor	: "Колір бордюра",
+DlgCellBtnSelect	: "Оберіть...",
+
+// Find Dialog
+DlgFindTitle		: "Пошук",
+DlgFindFindBtn		: "Пошук",
+DlgFindNotFoundMsg	: "Вказаний текст не знайдений.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Замінити",
+DlgReplaceFindLbl		: "Шукати:",
+DlgReplaceReplaceLbl	: "Замінити на:",
+DlgReplaceCaseChk		: "Учитывать регистр",
+DlgReplaceReplaceBtn	: "Замінити",
+DlgReplaceReplAllBtn	: "Замінити все",
+DlgReplaceWordChk		: "Збіг цілих слів",
+
+// Paste Operations / Dialog
+PasteErrorPaste	: "Настройки безпеки вашого браузера не дозволяють редактору автоматично виконувати операції вставки. Будь ласка, використовуйте клавіатуру для цього (Ctrl+V).",
+PasteErrorCut	: "Настройки безпеки вашого браузера не дозволяють редактору автоматично виконувати операції вирізування. Будь ласка, використовуйте клавіатуру для цього (Ctrl+X).",
+PasteErrorCopy	: "Настройки безпеки вашого браузера не дозволяють редактору автоматично виконувати операції копіювання. Будь ласка, використовуйте клавіатуру для цього (Ctrl+C).",
+
+PasteAsText		: "Вставити тільки текст",
+PasteFromWord	: "Вставити з Word",
+
+DlgPasteMsg2	: "Будь-ласка, вставте з буфера обміну в цю область, користуючись комбінацією клавіш (<STRONG>Ctrl+V</STRONG>) та натисніть <STRONG>OK</STRONG>.",
+DlgPasteIgnoreFont		: "Ігнорувати налаштування шрифтів",
+DlgPasteRemoveStyles	: "Видалити налаштування стилів",
+DlgPasteCleanBox		: "Очистити область",
+
+
+// Color Picker
+ColorAutomatic	: "Автоматичний",
+ColorMoreColors	: "Кольори...",
+
+// Document Properties
+DocProps		: "Властивості документа",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Властивості якоря",
+DlgAnchorName		: "Ім'я якоря",
+DlgAnchorErrorName	: "Будь ласка, занесіть ім'я якоря",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Не має в словнику",
+DlgSpellChangeTo		: "Замінити на",
+DlgSpellBtnIgnore		: "Ігнорувати",
+DlgSpellBtnIgnoreAll	: "Ігнорувати все",
+DlgSpellBtnReplace		: "Замінити",
+DlgSpellBtnReplaceAll	: "Замінити все",
+DlgSpellBtnUndo			: "Назад",
+DlgSpellNoSuggestions	: "- Немає припущень -",
+DlgSpellProgress		: "Виконується перевірка орфографії...",
+DlgSpellNoMispell		: "Перевірку орфографії завершено: помилок не знайдено",
+DlgSpellNoChanges		: "Перевірку орфографії завершено: жодне слово не змінено",
+DlgSpellOneChange		: "Перевірку орфографії завершено: змінено одно слово",
+DlgSpellManyChanges		: "Перевірку орфографії завершено: 1% слів змінено",
+
+IeSpellDownload			: "Модуль перевірки орфографії не встановлено. Бажаєтн завантажити його зараз?",
+
+// Button Dialog
+DlgButtonText	: "Текст (Значення)",
+DlgButtonType	: "Тип",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Ім'я",
+DlgCheckboxValue	: "Значення",
+DlgCheckboxSelected	: "Обрана",
+
+// Form Dialog
+DlgFormName		: "Ім'я",
+DlgFormAction	: "Дія",
+DlgFormMethod	: "Метод",
+
+// Select Field Dialog
+DlgSelectName		: "Ім'я",
+DlgSelectValue		: "Значення",
+DlgSelectSize		: "Розмір",
+DlgSelectLines		: "лінії",
+DlgSelectChkMulti	: "Дозволити обрання декількох позицій",
+DlgSelectOpAvail	: "Доступні варіанти",
+DlgSelectOpText		: "Текст",
+DlgSelectOpValue	: "Значення",
+DlgSelectBtnAdd		: "Добавити",
+DlgSelectBtnModify	: "Змінити",
+DlgSelectBtnUp		: "Вгору",
+DlgSelectBtnDown	: "Вниз",
+DlgSelectBtnSetValue : "Встановити як вибране значення",
+DlgSelectBtnDelete	: "Видалити",
+
+// Textarea Dialog
+DlgTextareaName	: "Ім'я",
+DlgTextareaCols	: "Колонки",
+DlgTextareaRows	: "Строки",
+
+// Text Field Dialog
+DlgTextName			: "Ім'я",
+DlgTextValue		: "Значення",
+DlgTextCharWidth	: "Ширина",
+DlgTextMaxChars		: "Макс. кіл-ть символів",
+DlgTextType			: "Тип",
+DlgTextTypeText		: "Текст",
+DlgTextTypePass		: "Пароль",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Ім'я",
+DlgHiddenValue	: "Значення",
+
+// Bulleted List Dialog
+BulletedListProp	: "Властивості маркованого списка",
+NumberedListProp	: "Властивості нумерованного списка",
+DlgLstType			: "Тип",
+DlgLstTypeCircle	: "Коло",
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "Квадрат",
+DlgLstTypeNumbers	: "Номери (1, 2, 3)",
+DlgLstTypeLCase		: "Літери нижнього регістра(a, b, c)",
+DlgLstTypeUCase		: "Літери ВЕРХНЬОГО РЕГІСТРА (A, B, C)",
+DlgLstTypeSRoman	: "Малі римські літери (i, ii, iii)",
+DlgLstTypeLRoman	: "Великі римські літери (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Загальні",
+DlgDocBackTab		: "Заднє тло",
+DlgDocColorsTab		: "Кольори та відступи",
+DlgDocMetaTab		: "Мета дані",
+
+DlgDocPageTitle		: "Заголовок сторінки",
+DlgDocLangDir		: "Напрямок тексту",
+DlgDocLangDirLTR	: "Зліва на право (LTR)",
+DlgDocLangDirRTL	: "Зправа на лево (RTL)",
+DlgDocLangCode		: "Код мови",
+DlgDocCharSet		: "Кодування набору символів",
+DlgDocCharSetOther	: "Інше кодування набору символів",
+
+DlgDocDocType		: "Заголовок типу документу",
+DlgDocDocTypeOther	: "Інший заголовок типу документу",
+DlgDocIncXHTML		: "Ввімкнути XHTML оголошення",
+DlgDocBgColor		: "Колір тла",
+DlgDocBgImage		: "URL зображення тла",
+DlgDocBgNoScroll	: "Тло без прокрутки",
+DlgDocCText			: "Текст",
+DlgDocCLink			: "Посилання",
+DlgDocCVisited		: "Відвідане посилання",
+DlgDocCActive		: "Активне посилання",
+DlgDocMargins		: "Відступи сторінки",
+DlgDocMaTop			: "Верхній",
+DlgDocMaLeft		: "Лівий",
+DlgDocMaRight		: "Правий",
+DlgDocMaBottom		: "Нижній",
+DlgDocMeIndex		: "Ключові слова документа (розділені комами)",
+DlgDocMeDescr		: "Опис документа",
+DlgDocMeAuthor		: "Автор",
+DlgDocMeCopy		: "Авторські права",
+DlgDocPreview		: "Попередній перегляд",
+
+// Templates Dialog
+Templates			: "Шаблони",
+DlgTemplatesTitle	: "Шаблони змісту",
+DlgTemplatesSelMsg	: "Оберіть, будь ласка, шаблон для відкриття в редакторі<br>(поточний зміст буде втрачено):",
+DlgTemplatesLoading	: "Завантаження списку шаблонів. Зачекайте, будь ласка...",
+DlgTemplatesNoTpl	: "(Не визначено жодного шаблону)",
+
+// About Dialog
+DlgAboutAboutTab	: "Про програму",
+DlgAboutBrowserInfoTab	: "Інформація браузера",
+DlgAboutVersion		: "Версія",
+DlgAboutLicense		: "Ліцензовано згідно умовам GNU Lesser General Public License",
+DlgAboutInfo		: "Додаткову інформацію дивіться на "
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/lang/vi.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/lang/vi.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/lang/vi.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,475 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: vi.js
+ * 	Vietnamese language file.
+ * 
+ * File Authors:
+ * 		Phan Binh Giang (bbbgiang at yahoo.com)
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "Collapse Toolbar",
+ToolbarExpand		: "Expand Toolbar",
+
+// Toolbar Items and Context Menu
+Save				: "Ghi",
+NewPage				: "Trang Má»›i",
+Preview				: "Xem trÆ°á»›c",
+Cut					: "Cắt",
+Copy				: "Sao",
+Paste				: "Dán",
+PasteText			: "Dán Ký tự đơn thuần",
+PasteWord			: "Dán với định dạng Word",
+Print				: "In",
+SelectAll			: "Chọn Tất cả",
+RemoveFormat		: "Xoá Định dạng",
+InsertLinkLbl		: "Liên kết",
+InsertLink			: "Chèn/Sửa Liên kết",
+RemoveLink			: "Xoá Liên kết",
+Anchor				: "Chèn/Sửa Neo",
+InsertImageLbl		: "Hình ảnh",
+InsertImage			: "Chèn/Sửa Hình ảnh",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "Chèn/Sửa Flash",
+InsertTableLbl		: "Bảng",
+InsertTable			: "Chèn/Sửa bảng",
+InsertLineLbl		: "Đường phân cách",
+InsertLine			: "Chèn đường phân cách ngang",
+InsertSpecialCharLbl: "Ký tự đặt biệt",
+InsertSpecialChar	: "Chèn Ký tự đặc biệt",
+InsertSmileyLbl		: "Hình cảm xúc",
+InsertSmiley		: "Chèn Hình cảm xúc",
+About				: "Giới thiệu về FCKeditor",
+Bold				: "Đậm",
+Italic				: "Nghiêng",
+Underline			: "Gạch chân",
+StrikeThrough		: "Gạch ngang",
+Subscript			: "Chỉ số dưới",
+Superscript			: "Chỉ số trên",
+LeftJustify			: "Canh bên Trái",
+CenterJustify		: "Canh Giữa",
+RightJustify		: "Canh bên Phải",
+BlockJustify		: "Canh Hai bên",
+DecreaseIndent		: "Dịch sang Trái",
+IncreaseIndent		: "Dịch sang Phải",
+Undo				: "Phục hồi Lùi",
+Redo				: "Phục hồi Tiến",
+NumberedListLbl		: "Số thứ tự",
+NumberedList		: "Chèn/Xoá Số thứ tự",
+BulletedListLbl		: "Danh sách Bulleted",
+BulletedList		: "Chèn/Xoá Danh sách Bulleted",
+ShowTableBorders	: "Hiện thị Đường viền bảng",
+ShowDetails			: "Hiện thị Chi tiết",
+Style				: "Mẫu",
+FontFormat			: "Định dạng",
+Font				: "Font",
+FontSize			: "Cỡ Chữ",
+TextColor			: "Màu Chữ",
+BGColor				: "Màu Nền",
+Source				: "Mã nguồn",
+Find				: "Tìm",
+Replace				: "Thay thế",
+SpellCheck			: "Kiểm tra Chính tả",
+UniversalKeyboard	: "Bàn phím quốc tế",
+
+Form			: "Form",
+Checkbox		: "Nốt Kiểm",
+RadioButton		: "Nốt Đài",
+TextField		: "Text Field",
+Textarea		: "Textarea",
+HiddenField		: "Hidden Field",
+Button			: "Button",
+SelectionField	: "Selection Field",
+ImageButton		: "Image Button",
+
+// Context Menu
+EditLink			: "Sửa Liên kết",
+InsertRow			: "Chèn Dòng",
+DeleteRows			: "Xoá Dòng",
+InsertColumn		: "Chèn Cột",
+DeleteColumns		: "Xoá Cột",
+InsertCell			: "Chèn Ô",
+DeleteCells			: "Xoá Ô",
+MergeCells			: "Trộn Ô",
+SplitCell			: "Chia Ô",
+CellProperties		: "Thuộc tính Ô",
+TableProperties		: "Thuộc tính Bảng",
+ImageProperties		: "Thuộc tính Hình ảnh",
+FlashProperties		: "Thuộc tính Flash",
+
+AnchorProp			: "Thuộc tính Neo",
+ButtonProp			: "Thuộc tính Button",
+CheckboxProp		: "Thuộc tính Nốt kiểm",
+HiddenFieldProp		: "Thuộc tính Hidden Field",
+RadioButtonProp		: "Thuộc tính Nốt đài",
+ImageButtonProp		: "Thuộc tính Image Button",
+TextFieldProp		: "Thuộc tính Text Field",
+SelectionFieldProp	: "Thuộc tính Selection Field",
+TextareaProp		: "Thuộc tính Textarea",
+FormProp			: "Thuộc tính Form",
+
+FontFormats			: "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Paragraph (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "Đang xử lý XHTML. Xin hãy đợi...",
+Done				: "Đã hoàn thành",
+PasteWordConfirm	: "Văn bản bạn muốn dán có kèm định dạng của Word. Bạn có muốn loại bỏ định dạng Word trước khi dán?",
+NotCompatiblePaste	: "Lệnh này chỉ được hỗ trợ từ trình duyệt Internet Explorer phiên bản 5.5 hoặc mới hơn. Bạn có muốn dán nguyên mẫu?",
+UnknownToolbarItem	: "Không rõ Nốt \"%1\"",
+UnknownCommand		: "Không rõ lệnh \"%1\"",
+NotImplemented		: "Lệnh không được thi hành",
+UnknownToolbarSet	: "Thanh công cụ \"%1\" không tồn tại",
+NoActiveX			: "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "Đồng ý",
+DlgBtnCancel		: "Bỏ qua",
+DlgBtnClose			: "Đóng",
+DlgBtnBrowseServer	: "Duyệt trên máy chủ",
+DlgAdvancedTag		: "Mở rộng",
+DlgOpOther			: "&lt;Khác&gt;",
+DlgInfoTab			: "Thông tin",
+DlgAlertUrl			: "Hãy đưa vào một URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "&lt;không thiết lập&gt;",
+DlgGenId			: "Định danh",
+DlgGenLangDir		: "Đường dẫn Ngôn ngữ",
+DlgGenLangDirLtr	: "Trái sang Phải (LTR)",
+DlgGenLangDirRtl	: "Phải sang Trái (RTL)",
+DlgGenLangCode		: "Mã Ngôn ngữ",
+DlgGenAccessKey		: "Phím Truy cập",
+DlgGenName			: "Tên",
+DlgGenTabIndex		: "Tab Index",
+DlgGenLongDescr		: "Mô tả URL",
+DlgGenClass			: "Stylesheet Classes",
+DlgGenTitle			: "Advisory Title",
+DlgGenContType		: "Advisory Content Type",
+DlgGenLinkCharset	: "Linked Resource Charset",
+DlgGenStyle			: "Mẫu",
+
+// Image Dialog
+DlgImgTitle			: "Thuộc tính Hình ảnh",
+DlgImgInfoTab		: "Thông tin Hình ảnh",
+DlgImgBtnUpload		: "Gửi lên Máy chủ",
+DlgImgURL			: "URL",
+DlgImgUpload		: "Tải lên",
+DlgImgAlt			: "Chú thích Hình ảnh",
+DlgImgWidth			: "Rá»™ng",
+DlgImgHeight		: "Cao",
+DlgImgLockRatio		: "Giữ tỷ lệ",
+DlgBtnResetSize		: "Kích thước gốc",
+DlgImgBorder		: "Đường viền",
+DlgImgHSpace		: "HSpace",
+DlgImgVSpace		: "VSpace",
+DlgImgAlign			: "Vị trí",
+DlgImgAlignLeft		: "Trái",
+DlgImgAlignAbsBottom: "Abs Bottom",
+DlgImgAlignAbsMiddle: "Abs Middle",
+DlgImgAlignBaseline	: "Baseline",
+DlgImgAlignBottom	: "DÆ°á»›i",
+DlgImgAlignMiddle	: "Giữa",
+DlgImgAlignRight	: "Phải",
+DlgImgAlignTextTop	: "Text Top",
+DlgImgAlignTop		: "Trên",
+DlgImgPreview		: "Xem trÆ°á»›c",
+DlgImgAlertUrl		: "Hãy đưa vào URL của hình ảnh",
+DlgImgLinkTab		: "Liên kết",
+
+// Flash Dialog
+DlgFlashTitle		: "Thuộc tính Flash",
+DlgFlashChkPlay		: "Tự động Chạy",
+DlgFlashChkLoop		: "Lặp",
+DlgFlashChkMenu		: "Kích hoạt Menu Flash ",
+DlgFlashScale		: "Scale",
+DlgFlashScaleAll	: "Hiển thị tất cả",
+DlgFlashScaleNoBorder	: "Không đường viền",
+DlgFlashScaleFit	: "Exact Fit",
+
+// Link Dialog
+DlgLnkWindowTitle	: "Liên kết",
+DlgLnkInfoTab		: "Thông tin Liên kết",
+DlgLnkTargetTab		: "HÆ°á»›ng tá»›i",
+
+DlgLnkType			: "Kiểu Liên kết",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "Neo trong trang này",
+DlgLnkTypeEMail		: "E-Mail",
+DlgLnkProto			: "Giao thức",
+DlgLnkProtoOther	: "&lt;khác&gt;",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "Chọn một Neo",
+DlgLnkAnchorByName	: "Theo Tên Neo",
+DlgLnkAnchorById	: "Theo Định danh Element",
+DlgLnkNoAnchors		: "&lt;Không có Neo nào trong tài liệu&gt;",
+DlgLnkEMail			: "E-Mail",
+DlgLnkEMailSubject	: "Tựa đề Thông điệp",
+DlgLnkEMailBody		: "Nội dung Thông điệp",
+DlgLnkUpload		: "Tải lên",
+DlgLnkBtnUpload		: "Gửi lên Máy chủ",
+
+DlgLnkTarget		: "HÆ°á»›ng tá»›i",
+DlgLnkTargetFrame	: "&lt;frame&gt;",
+DlgLnkTargetPopup	: "&lt;cửa sổ popup&gt;",
+DlgLnkTargetBlank	: "Cửa sổ mới (_blank)",
+DlgLnkTargetParent	: "Cửa sổ cha (_parent)",
+DlgLnkTargetSelf	: "Cùng cửa sổ (_self)",
+DlgLnkTargetTop		: "Cửa sổ trên cùng(_top)",
+DlgLnkTargetFrameName	: "Tên Frame hướng tới",
+DlgLnkPopWinName	: "Tên Cửa sổ Popup",
+DlgLnkPopWinFeat	: "Cửa sổ Popup Đặc trưng",
+DlgLnkPopResize		: "Kích thước thay đổi",
+DlgLnkPopLocation	: "Location Bar",	//MISSING
+DlgLnkPopMenu		: "Thanh Menu",
+DlgLnkPopScroll		: "Thanh cuá»™n",
+DlgLnkPopStatus		: "Thanh trạng thái",
+DlgLnkPopToolbar	: "Thanh công cụ",
+DlgLnkPopFullScrn	: "Toàn màn hình (IE)",
+DlgLnkPopDependent	: "Dependent (Netscape)",
+DlgLnkPopWidth		: "Rá»™ng",
+DlgLnkPopHeight		: "Cao",
+DlgLnkPopLeft		: "Vị trí Trái",
+DlgLnkPopTop		: "Vị trí Trên",
+
+DlnLnkMsgNoUrl		: "Hãy đưa vào Liên kết URL",
+DlnLnkMsgNoEMail	: "Hãy đưa vào địa chỉ e-mail",
+DlnLnkMsgNoAnchor	: "Hãy chọn một Neo",
+
+// Color Dialog
+DlgColorTitle		: "Chọn màu",
+DlgColorBtnClear	: "Xoá",
+DlgColorHighlight	: "Điểm sáng",
+DlgColorSelected	: "Đã chọn",
+
+// Smiley Dialog
+DlgSmileyTitle		: "Chèn một hình cảm xúc",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "Chọn ký tự đặc biệt",
+
+// Table Dialog
+DlgTableTitle		: "Thuộc tính bảng",
+DlgTableRows		: "Dòng",
+DlgTableColumns		: "Cá»™t",
+DlgTableBorder		: "Cỡ Đường viền",
+DlgTableAlign		: "Alignment",
+DlgTableAlignNotSet	: "<Không thiết lập>",
+DlgTableAlignLeft	: "Trái",
+DlgTableAlignCenter	: "Giữa",
+DlgTableAlignRight	: "Phải",
+DlgTableWidth		: "Rá»™ng",
+DlgTableWidthPx		: "điểm",
+DlgTableWidthPc		: "%",
+DlgTableHeight		: "Cao",
+DlgTableCellSpace	: "Khoảng cách Ô",
+DlgTableCellPad		: "Đệm Ô",
+DlgTableCaption		: "Đầu đề",
+
+// Table Cell Dialog
+DlgCellTitle		: "Thuộc tính Ô",
+DlgCellWidth		: "Rá»™ng",
+DlgCellWidthPx		: "điểm",
+DlgCellWidthPc		: "%",
+DlgCellHeight		: "Cao",
+DlgCellWordWrap		: "Dàn từ",
+DlgCellWordWrapNotSet	: "&lt;Không thiết lập&gt;",
+DlgCellWordWrapYes	: "Đồng ý",
+DlgCellWordWrapNo	: "Không",
+DlgCellHorAlign		: "Sắp xếp Ngang",
+DlgCellHorAlignNotSet	: "&lt;Không thiết lập&gt;",
+DlgCellHorAlignLeft	: "Trái",
+DlgCellHorAlignCenter	: "Giữa",
+DlgCellHorAlignRight: "Phải",
+DlgCellVerAlign		: "Sắp xếp Dọc",
+DlgCellVerAlignNotSet	: "&lt;Không thiết lập&gt;",
+DlgCellVerAlignTop	: "Trên",
+DlgCellVerAlignMiddle	: "Giữa",
+DlgCellVerAlignBottom	: "DÆ°á»›i",
+DlgCellVerAlignBaseline	: "Baseline",
+DlgCellRowSpan		: "Rows Span",
+DlgCellCollSpan		: "Columns Span",
+DlgCellBackColor	: "Màu nền",
+DlgCellBorderColor	: "Màu viền",
+DlgCellBtnSelect	: "Chọn...",
+
+// Find Dialog
+DlgFindTitle		: "Tìm",
+DlgFindFindBtn		: "Tìm",
+DlgFindNotFoundMsg	: "Chuỗi cần tìm không thấy.",
+
+// Replace Dialog
+DlgReplaceTitle			: "Thay thế",
+DlgReplaceFindLbl		: "Tìm gì:",
+DlgReplaceReplaceLbl	: "Thay bằng:",
+DlgReplaceCaseChk		: "Đúng chứ HOA/thường",
+DlgReplaceReplaceBtn	: "Thay thế",
+DlgReplaceReplAllBtn	: "Thay thế Tất cả",
+DlgReplaceWordChk		: "Đúng từ",
+
+// Paste Operations / Dialog
+PasteErrorPaste	: "An ninh trình duyệt của bạn được thiết lập không cho phép trình soạn thảo tự động thực thi lệnh dán. Hãy sử dụng bàn phím cho lệnh này (Ctrl+V).",
+PasteErrorCut	: "An ninh trình duyệt của bạn được thiết lập không cho phép trình soạn thảo tự động thực thi lệnh cắt. Hãy sử dụng bàn phím cho lệnh này (Ctrl+X).",
+PasteErrorCopy	: "An ninh trình duyệt của bạn được thiết lập không cho phép trình soạn thảo tự động thực thi lệnh sao chép. Hãy sử dụng bàn phím cho lệnh này (Ctrl+C).",
+
+PasteAsText		: "Dán ký tự đơn thuần",
+PasteFromWord	: "Dán với định dạng Word",
+
+DlgPasteMsg2	: "Hãy dán vào trong khung bên dưới, sử dụng tổ hợp phím (<STRONG>Ctrl+V</STRONG>) và nhấn vào nốt <STRONG>Đồng ý</STRONG>.",
+DlgPasteIgnoreFont		: "Chấp nhận các định dạng Font",
+DlgPasteRemoveStyles	: "Xoá tất cả các định dạng Styles",
+DlgPasteCleanBox		: "Xoá sạch",
+
+
+// Color Picker
+ColorAutomatic	: "Tá»± Ä‘á»™ng",
+ColorMoreColors	: "Màu khác...",
+
+// Document Properties
+DocProps		: "Thuộc tính tài liệu",
+
+// Anchor Dialog
+DlgAnchorTitle		: "Thuộc tính Neo",
+DlgAnchorName		: "Tên Neo",
+DlgAnchorErrorName	: "Hãy đưa vào tên Neo",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "Không trong từ điển",
+DlgSpellChangeTo		: "Change to",
+DlgSpellBtnIgnore		: "Bỏ qua",
+DlgSpellBtnIgnoreAll	: "Bỏ qua Tất cả",
+DlgSpellBtnReplace		: "Thay thế",
+DlgSpellBtnReplaceAll	: "Thay thế Tất cả",
+DlgSpellBtnUndo			: "Phục hồi lại",
+DlgSpellNoSuggestions	: "- Không đề xuất -",
+DlgSpellProgress		: "Đang tiến hành kiểm tra chính tả...",
+DlgSpellNoMispell		: "Hoàn tất kiểm tra chính tả: Không có lỗi chính tả",
+DlgSpellNoChanges		: "Hoàn tất kiểm tra chính tả: Không từ nào được thay đổi",
+DlgSpellOneChange		: "Hoàn tất kiểm tra chính tả: Một từ đã được thay đổi",
+DlgSpellManyChanges		: "Hoàn tất kiểm tra chính tả: %1 từ đã được thay đổi",
+
+IeSpellDownload			: "Chức năng kiểm tra chính tả chưa được cài đặt. Bạn có tải về ngay bây giờ?",
+
+// Button Dialog
+DlgButtonText	: "Text (Value)",
+DlgButtonType	: "Kiểu",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "Tên",
+DlgCheckboxValue	: "Giá trị",
+DlgCheckboxSelected	: "Đã chọn",
+
+// Form Dialog
+DlgFormName		: "Tên",
+DlgFormAction	: "Action",
+DlgFormMethod	: "Phương thức",
+
+// Select Field Dialog
+DlgSelectName		: "Tên",
+DlgSelectValue		: "Giá trị",
+DlgSelectSize		: "Kích cỡ",
+DlgSelectLines		: "dòng",
+DlgSelectChkMulti	: "Chấp nhận chọn nhiều",
+DlgSelectOpAvail	: "Available Options",
+DlgSelectOpText		: "Text",
+DlgSelectOpValue	: "Giá trị",
+DlgSelectBtnAdd		: "Thêm",
+DlgSelectBtnModify	: "Thay đổi",
+DlgSelectBtnUp		: "Lên",
+DlgSelectBtnDown	: "Xuống",
+DlgSelectBtnSetValue : "Giá trị được chọn",
+DlgSelectBtnDelete	: "Xoá",
+
+// Textarea Dialog
+DlgTextareaName	: "Tên",
+DlgTextareaCols	: "Cá»™t",
+DlgTextareaRows	: "Dòng",
+
+// Text Field Dialog
+DlgTextName			: "Tên",
+DlgTextValue		: "Giá trị",
+DlgTextCharWidth	: "Rá»™ng",
+DlgTextMaxChars		: "Số Ký tự tối đa",
+DlgTextType			: "Kiểu",
+DlgTextTypeText		: "Ký tự",
+DlgTextTypePass		: "Mật khẩu",
+
+// Hidden Field Dialog
+DlgHiddenName	: "Tên",
+DlgHiddenValue	: "Giá trị",
+
+// Bulleted List Dialog
+BulletedListProp	: "Thuộc tính Danh sách Bulleted",
+NumberedListProp	: "Thuộc tính Danh sách Số",
+DlgLstType			: "Kiểu",
+DlgLstTypeCircle	: "Tròn",
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "Vuông",
+DlgLstTypeNumbers	: "Số (1, 2, 3)",
+DlgLstTypeLCase		: "Chữ cái thường (a, b, c)",
+DlgLstTypeUCase		: "Chữ cái hoa (A, B, C)",
+DlgLstTypeSRoman	: "Số LaMa thường (i, ii, iii)",
+DlgLstTypeLRoman	: "Số LaMa hoa (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "Toàn thể",
+DlgDocBackTab		: "Nền",
+DlgDocColorsTab		: "Màu sắc và Biên",
+DlgDocMetaTab		: "Meta Data",
+
+DlgDocPageTitle		: "Tiêu đề Trang",
+DlgDocLangDir		: "Đường dẫn Ngôn Ngữ",
+DlgDocLangDirLTR	: "Trái sang Phải (LTR)",
+DlgDocLangDirRTL	: "Phải sang Trái (RTL)",
+DlgDocLangCode		: "Mã Ngôn ngữ",
+DlgDocCharSet		: "Character Set Encoding",
+DlgDocCharSetOther	: "Other Character Set Encoding",
+
+DlgDocDocType		: "Kiểu Đề mục Tài liệu",
+DlgDocDocTypeOther	: "Kiểu Đề mục Tài liệu khác",
+DlgDocIncXHTML		: "Bao gồm cả định nghĩa XHTML",
+DlgDocBgColor		: "Màu nền",
+DlgDocBgImage		: "Background Image URL",
+DlgDocBgNoScroll	: "Không cuộn nền",
+DlgDocCText			: "Text",
+DlgDocCLink			: "Liên kết",
+DlgDocCVisited		: "Liên kết Đã viếng thăm",
+DlgDocCActive		: "Liên kết Hoạt động",
+DlgDocMargins		: "Biên của Trang",
+DlgDocMaTop			: "Trên",
+DlgDocMaLeft		: "Trái",
+DlgDocMaRight		: "Phải",
+DlgDocMaBottom		: "DÆ°á»›i",
+DlgDocMeIndex		: "Document Indexing Keywords (comma separated)",
+DlgDocMeDescr		: "Mô tả tài liệu",
+DlgDocMeAuthor		: "Tác giả",
+DlgDocMeCopy		: "Bản quyền",
+DlgDocPreview		: "Xem trÆ°á»›c",
+
+// Templates Dialog
+Templates			: "Mẫu dựng sẵn",
+DlgTemplatesTitle	: "Nội dung Mẫu dựng sẵn",
+DlgTemplatesSelMsg	: "Please select the template to open in the editor<br>(the actual contents will be lost):",
+DlgTemplatesLoading	: "Đang nạp Danh sách Mẫu dựng sẵn. Xin hãy chờ...",
+DlgTemplatesNoTpl	: "(Không có Mẫu dựng sẵn nào được định nghĩa)",
+
+// About Dialog
+DlgAboutAboutTab	: "Giới thiệu",
+DlgAboutBrowserInfoTab	: "Thông tin trình duyệt",
+DlgAboutVersion		: "phiên bản",
+DlgAboutLicense		: "Licensed under the terms of the GNU Lesser General Public License",
+DlgAboutInfo		: "Thông tin thêm hãy đến"
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/lang/zh-cn.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/lang/zh-cn.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/lang/zh-cn.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,475 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: zh-cn.js
+ * 	Chinese Simplified language file.
+ * 
+ * File Authors:
+ * 		NetRube (NetRube at 126.com)
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "折叠工具栏",
+ToolbarExpand		: "展开工具栏",
+
+// Toolbar Items and Context Menu
+Save				: "保存",
+NewPage				: "新建",
+Preview				: "预览",
+Cut					: "剪切",
+Copy				: "复制",
+Paste				: "粘贴",
+PasteText			: "粘贴为无格式文本",
+PasteWord			: "从 MS Word 粘贴",
+Print				: "打印",
+SelectAll			: "全选",
+RemoveFormat		: "清除格式",
+InsertLinkLbl		: "超链接",
+InsertLink			: "插入/编辑超链接",
+RemoveLink			: "取消超链接",
+Anchor				: "插入/编辑锚点链接",
+InsertImageLbl		: "图象",
+InsertImage			: "插入/编辑图象",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "插入/编辑 Flash",
+InsertTableLbl		: "表格",
+InsertTable			: "插入/编辑表格",
+InsertLineLbl		: "水平线",
+InsertLine			: "插入水平线",
+InsertSpecialCharLbl: "特殊符号",
+InsertSpecialChar	: "插入特殊符号",
+InsertSmileyLbl		: "表情符",
+InsertSmiley		: "插入表情图标",
+About				: "关于 FCKeditor",
+Bold				: "加粗",
+Italic				: "倾斜",
+Underline			: "下划线",
+StrikeThrough		: "删除线",
+Subscript			: "下标",
+Superscript			: "上标",
+LeftJustify			: "左对齐",
+CenterJustify		: "居中对齐",
+RightJustify		: "右对齐",
+BlockJustify		: "两端对齐",
+DecreaseIndent		: "减少缩进量",
+IncreaseIndent		: "增加缩进量",
+Undo				: "撤消",
+Redo				: "重做",
+NumberedListLbl		: "编号列表",
+NumberedList		: "插入/删除编号列表",
+BulletedListLbl		: "项目列表",
+BulletedList		: "插入/删除项目列表",
+ShowTableBorders	: "显示表格边框",
+ShowDetails			: "显示详细资料",
+Style				: "样式",
+FontFormat			: "格式",
+Font				: "字体",
+FontSize			: "大小",
+TextColor			: "文本颜色",
+BGColor				: "背景颜色",
+Source				: "源代码",
+Find				: "查找",
+Replace				: "替换",
+SpellCheck			: "拼写检查",
+UniversalKeyboard	: "软键盘",
+
+Form			: "表单",
+Checkbox		: "复选框",
+RadioButton		: "单选按钮",
+TextField		: "单行文本",
+Textarea		: "多行文本",
+HiddenField		: "隐藏域",
+Button			: "按钮",
+SelectionField	: "列表/菜单",
+ImageButton		: "图像域",
+
+// Context Menu
+EditLink			: "编辑超链接",
+InsertRow			: "插入行",
+DeleteRows			: "删除行",
+InsertColumn		: "插入列",
+DeleteColumns		: "删除列",
+InsertCell			: "插入单元格",
+DeleteCells			: "删除单元格",
+MergeCells			: "合并单元格",
+SplitCell			: "拆分单元格",
+CellProperties		: "单元格属性",
+TableProperties		: "表格属性",
+ImageProperties		: "图象属性",
+FlashProperties		: "Flash 属性",
+
+AnchorProp			: "锚点链接属性",
+ButtonProp			: "按钮属性",
+CheckboxProp		: "复选框属性",
+HiddenFieldProp		: "隐藏域属性",
+RadioButtonProp		: "单选按钮属性",
+ImageButtonProp		: "图像域属性",
+TextFieldProp		: "单行文本属性",
+SelectionFieldProp	: "菜单/列表属性",
+TextareaProp		: "多行文本属性",
+FormProp			: "表单属性",
+
+FontFormats			: "普通;带格式的;地址;标题 1;标题 2;标题 3;标题 4;标题 5;标题 6;段落(DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "正在处理 XHTML,请稍等...",
+Done				: "完成",
+PasteWordConfirm	: "您要粘贴的内容好像是来自 MS Word,是否要清除 MS Word 格式后再粘贴?",
+NotCompatiblePaste	: "该命令需要 Internet Explorer 5.5 或更高版本的支持,是否按常规粘贴进行?",
+UnknownToolbarItem	: "未知工具栏项目 \"%1\"",
+UnknownCommand		: "未知命令名称 \"%1\"",
+NotImplemented		: "命令无法执行",
+UnknownToolbarSet	: "工具栏设置 \"%1\" 不存在",
+NoActiveX			: "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "确定",
+DlgBtnCancel		: "取消",
+DlgBtnClose			: "关闭",
+DlgBtnBrowseServer	: "浏览服务器",
+DlgAdvancedTag		: "高级",
+DlgOpOther			: "&lt;其它&gt;",
+DlgInfoTab			: "信息",
+DlgAlertUrl			: "请插入 URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "&lt;没有设置&gt;",
+DlgGenId			: "ID",
+DlgGenLangDir		: "语言方向",
+DlgGenLangDirLtr	: "从左到右 (LTR)",
+DlgGenLangDirRtl	: "从右到左 (RTL)",
+DlgGenLangCode		: "语言代码",
+DlgGenAccessKey		: "访问键",
+DlgGenName			: "名称",
+DlgGenTabIndex		: "Tab 键次序",
+DlgGenLongDescr		: "详细说明地址",
+DlgGenClass			: "样式类名称",
+DlgGenTitle			: "标题",
+DlgGenContType		: "内容类型",
+DlgGenLinkCharset	: "字符编码",
+DlgGenStyle			: "行内样式",
+
+// Image Dialog
+DlgImgTitle			: "图象属性",
+DlgImgInfoTab		: "图象",
+DlgImgBtnUpload		: "发送到服务器上",
+DlgImgURL			: "源文件",
+DlgImgUpload		: "上传",
+DlgImgAlt			: "替换文本",
+DlgImgWidth			: "宽度",
+DlgImgHeight		: "高度",
+DlgImgLockRatio		: "锁定比例",
+DlgBtnResetSize		: "恢复尺寸",
+DlgImgBorder		: "边框大小",
+DlgImgHSpace		: "水平间距",
+DlgImgVSpace		: "垂直间距",
+DlgImgAlign			: "对齐方式",
+DlgImgAlignLeft		: "左对齐",
+DlgImgAlignAbsBottom: "绝对底边",
+DlgImgAlignAbsMiddle: "绝对居中",
+DlgImgAlignBaseline	: "基线",
+DlgImgAlignBottom	: "底边",
+DlgImgAlignMiddle	: "居中",
+DlgImgAlignRight	: "右对齐",
+DlgImgAlignTextTop	: "文本上方",
+DlgImgAlignTop		: "顶端",
+DlgImgPreview		: "预览",
+DlgImgAlertUrl		: "请输入图象地址",
+DlgImgLinkTab		: "链接",
+
+// Flash Dialog
+DlgFlashTitle		: "Flash 属性",
+DlgFlashChkPlay		: "自动播放",
+DlgFlashChkLoop		: "循环",
+DlgFlashChkMenu		: "启用 Flash 菜单",
+DlgFlashScale		: "缩放",
+DlgFlashScaleAll	: "全部显示",
+DlgFlashScaleNoBorder	: "无边框",
+DlgFlashScaleFit	: "严格匹配",
+
+// Link Dialog
+DlgLnkWindowTitle	: "超链接",
+DlgLnkInfoTab		: "超链接信息",
+DlgLnkTargetTab		: "目标",
+
+DlgLnkType			: "超链接类型",
+DlgLnkTypeURL		: "超链接",
+DlgLnkTypeAnchor	: "页内锚点链接",
+DlgLnkTypeEMail		: "电子邮件",
+DlgLnkProto			: "协议",
+DlgLnkProtoOther	: "&lt;其它&gt;",
+DlgLnkURL			: "地址",
+DlgLnkAnchorSel		: "选择一个锚点",
+DlgLnkAnchorByName	: "按锚点名称",
+DlgLnkAnchorById	: "按锚点 ID",
+DlgLnkNoAnchors		: "&lt;此文档没有可用的锚点&gt;",
+DlgLnkEMail			: "地址",
+DlgLnkEMailSubject	: "主题",
+DlgLnkEMailBody		: "内容",
+DlgLnkUpload		: "上传",
+DlgLnkBtnUpload		: "发送到服务器上",
+
+DlgLnkTarget		: "目标",
+DlgLnkTargetFrame	: "&lt;框架&gt;",
+DlgLnkTargetPopup	: "&lt;弹出窗口&gt;",
+DlgLnkTargetBlank	: "新窗口 (_blank)",
+DlgLnkTargetParent	: "父窗口 (_parent)",
+DlgLnkTargetSelf	: "本窗口 (_self)",
+DlgLnkTargetTop		: "整页 (_top)",
+DlgLnkTargetFrameName	: "目标框架名称",
+DlgLnkPopWinName	: "弹出窗口名称",
+DlgLnkPopWinFeat	: "弹出窗口属性",
+DlgLnkPopResize		: "调整大小",
+DlgLnkPopLocation	: "地址栏",
+DlgLnkPopMenu		: "菜单栏",
+DlgLnkPopScroll		: "滚动条",
+DlgLnkPopStatus		: "状态栏",
+DlgLnkPopToolbar	: "工具栏",
+DlgLnkPopFullScrn	: "全屏 (IE)",
+DlgLnkPopDependent	: "依附 (NS)",
+DlgLnkPopWidth		: "宽",
+DlgLnkPopHeight		: "高",
+DlgLnkPopLeft		: "å·¦",
+DlgLnkPopTop		: "右",
+
+DlnLnkMsgNoUrl		: "请输入超链接地址",
+DlnLnkMsgNoEMail	: "请输入电子邮件地址",
+DlnLnkMsgNoAnchor	: "请选择一个锚点",
+
+// Color Dialog
+DlgColorTitle		: "选择颜色",
+DlgColorBtnClear	: "清除",
+DlgColorHighlight	: "预览",
+DlgColorSelected	: "选择",
+
+// Smiley Dialog
+DlgSmileyTitle		: "插入表情图标",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "选择特殊符号",
+
+// Table Dialog
+DlgTableTitle		: "表格属性",
+DlgTableRows		: "行数",
+DlgTableColumns		: "列数",
+DlgTableBorder		: "边框",
+DlgTableAlign		: "对齐",
+DlgTableAlignNotSet	: "&lt;没有设置&gt;",
+DlgTableAlignLeft	: "左对齐",
+DlgTableAlignCenter	: "居中",
+DlgTableAlignRight	: "右对齐",
+DlgTableWidth		: "宽度",
+DlgTableWidthPx		: "像素",
+DlgTableWidthPc		: "百分比",
+DlgTableHeight		: "高度",
+DlgTableCellSpace	: "间距",
+DlgTableCellPad		: "边距",
+DlgTableCaption		: "标题",
+
+// Table Cell Dialog
+DlgCellTitle		: "单元格属性",
+DlgCellWidth		: "宽度",
+DlgCellWidthPx		: "像素",
+DlgCellWidthPc		: "百分比",
+DlgCellHeight		: "高度",
+DlgCellWordWrap		: "自动换行",
+DlgCellWordWrapNotSet	: "&lt;没有设置&gt;",
+DlgCellWordWrapYes	: "是",
+DlgCellWordWrapNo	: "否",
+DlgCellHorAlign		: "水平对齐",
+DlgCellHorAlignNotSet	: "&lt;没有设置&gt;",
+DlgCellHorAlignLeft	: "左对齐",
+DlgCellHorAlignCenter	: "居中",
+DlgCellHorAlignRight: "右对齐",
+DlgCellVerAlign		: "垂直对齐",
+DlgCellVerAlignNotSet	: "&lt;没有设置&gt;",
+DlgCellVerAlignTop	: "顶端",
+DlgCellVerAlignMiddle	: "居中",
+DlgCellVerAlignBottom	: "底部",
+DlgCellVerAlignBaseline	: "基线",
+DlgCellRowSpan		: "纵跨行数",
+DlgCellCollSpan		: "横跨列数",
+DlgCellBackColor	: "背景颜色",
+DlgCellBorderColor	: "边框颜色",
+DlgCellBtnSelect	: "选择...",
+
+// Find Dialog
+DlgFindTitle		: "查找",
+DlgFindFindBtn		: "查找",
+DlgFindNotFoundMsg	: "指定文本没有找到。",
+
+// Replace Dialog
+DlgReplaceTitle			: "替换",
+DlgReplaceFindLbl		: "查找:",
+DlgReplaceReplaceLbl	: "替换:",
+DlgReplaceCaseChk		: "区分大小写",
+DlgReplaceReplaceBtn	: "替换",
+DlgReplaceReplAllBtn	: "全部替换",
+DlgReplaceWordChk		: "全字匹配",
+
+// Paste Operations / Dialog
+PasteErrorPaste	: "您的浏览器安全设置不允许编辑器自动执行粘贴操作,请使用键盘快捷键(Ctrl+V)来完成。",
+PasteErrorCut	: "您的浏览器安全设置不允许编辑器自动执行剪切操作,请使用键盘快捷键(Ctrl+X)来完成。",
+PasteErrorCopy	: "您的浏览器安全设置不允许编辑器自动执行复制操作,请使用键盘快捷键(Ctrl+C)来完成。",
+
+PasteAsText		: "粘贴为无格式文本",
+PasteFromWord	: "从 MS Word 粘贴",
+
+DlgPasteMsg2	: "请使用键盘快捷键(<STRONG>Ctrl+V</STRONG>)把内容粘贴到下面的方框里,再按 <STRONG>确定</STRONG>。",
+DlgPasteIgnoreFont		: "忽略 Font 标签",
+DlgPasteRemoveStyles	: "清理 CSS 样式",
+DlgPasteCleanBox		: "清空上面内容",
+
+
+// Color Picker
+ColorAutomatic	: "自动",
+ColorMoreColors	: "其它颜色...",
+
+// Document Properties
+DocProps		: "页面属性",
+
+// Anchor Dialog
+DlgAnchorTitle		: "命名锚点",
+DlgAnchorName		: "锚点名称",
+DlgAnchorErrorName	: "请输入锚点名称",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "没有在字典里",
+DlgSpellChangeTo		: "更改为",
+DlgSpellBtnIgnore		: "忽略",
+DlgSpellBtnIgnoreAll	: "全部忽略",
+DlgSpellBtnReplace		: "替换",
+DlgSpellBtnReplaceAll	: "全部替换",
+DlgSpellBtnUndo			: "撤消",
+DlgSpellNoSuggestions	: "- 没有建议 -",
+DlgSpellProgress		: "正在进行拼写检查...",
+DlgSpellNoMispell		: "拼写检查完成:没有发现拼写错误",
+DlgSpellNoChanges		: "拼写检查完成:没有更改任何单词",
+DlgSpellOneChange		: "拼写检查完成:更改了一个单词",
+DlgSpellManyChanges		: "拼写检查完成:更改了 %1 个单词",
+
+IeSpellDownload			: "拼写检查插件还没安装,你是否想现在就下载?",
+
+// Button Dialog
+DlgButtonText	: "标签(值)",
+DlgButtonType	: "类型",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "名称",
+DlgCheckboxValue	: "选定值",
+DlgCheckboxSelected	: "已勾选",
+
+// Form Dialog
+DlgFormName		: "名称",
+DlgFormAction	: "动作",
+DlgFormMethod	: "方法",
+
+// Select Field Dialog
+DlgSelectName		: "名称",
+DlgSelectValue		: "选定",
+DlgSelectSize		: "高度",
+DlgSelectLines		: "行",
+DlgSelectChkMulti	: "允许多选",
+DlgSelectOpAvail	: "列表值",
+DlgSelectOpText		: "标签",
+DlgSelectOpValue	: "值",
+DlgSelectBtnAdd		: "新增",
+DlgSelectBtnModify	: "修改",
+DlgSelectBtnUp		: "上移",
+DlgSelectBtnDown	: "下移",
+DlgSelectBtnSetValue : "设为初始化时选定",
+DlgSelectBtnDelete	: "删除",
+
+// Textarea Dialog
+DlgTextareaName	: "名称",
+DlgTextareaCols	: "字符宽度",
+DlgTextareaRows	: "行数",
+
+// Text Field Dialog
+DlgTextName			: "名称",
+DlgTextValue		: "初始值",
+DlgTextCharWidth	: "字符宽度",
+DlgTextMaxChars		: "最多字符数",
+DlgTextType			: "类型",
+DlgTextTypeText		: "文本",
+DlgTextTypePass		: "密码",
+
+// Hidden Field Dialog
+DlgHiddenName	: "名称",
+DlgHiddenValue	: "初始值",
+
+// Bulleted List Dialog
+BulletedListProp	: "项目列表属性",
+NumberedListProp	: "编号列表属性",
+DlgLstType			: "列表类型",
+DlgLstTypeCircle	: "圆圈",
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "方块",
+DlgLstTypeNumbers	: "æ•°å­— (1, 2, 3)",
+DlgLstTypeLCase		: "小写字母 (a, b, c)",
+DlgLstTypeUCase		: "大写字母 (A, B, C)",
+DlgLstTypeSRoman	: "小写罗马数字 (i, ii, iii)",
+DlgLstTypeLRoman	: "大写罗马数字 (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "常规",
+DlgDocBackTab		: "背景",
+DlgDocColorsTab		: "颜色和边距",
+DlgDocMetaTab		: "Meta 数据",
+
+DlgDocPageTitle		: "页面标题",
+DlgDocLangDir		: "语言方向",
+DlgDocLangDirLTR	: "从左到右 (LTR)",
+DlgDocLangDirRTL	: "从右到左 (RTL)",
+DlgDocLangCode		: "语言代码",
+DlgDocCharSet		: "字符编码",
+DlgDocCharSetOther	: "其它字符编码",
+
+DlgDocDocType		: "文档类型",
+DlgDocDocTypeOther	: "其它文档类型",
+DlgDocIncXHTML		: "包含 XHTML 声明",
+DlgDocBgColor		: "背景颜色",
+DlgDocBgImage		: "背景图像",
+DlgDocBgNoScroll	: "不滚动背景图像",
+DlgDocCText			: "文本",
+DlgDocCLink			: "超链接",
+DlgDocCVisited		: "已访问的超链接",
+DlgDocCActive		: "活动超链接",
+DlgDocMargins		: "页面边距",
+DlgDocMaTop			: "上",
+DlgDocMaLeft		: "å·¦",
+DlgDocMaRight		: "右",
+DlgDocMaBottom		: "下",
+DlgDocMeIndex		: "页面索引关键字 (用半角逗号[,]分隔)",
+DlgDocMeDescr		: "页面说明",
+DlgDocMeAuthor		: "作者",
+DlgDocMeCopy		: "版权",
+DlgDocPreview		: "预览",
+
+// Templates Dialog
+Templates			: "模板",
+DlgTemplatesTitle	: "内容模板",
+DlgTemplatesSelMsg	: "请选择编辑器内容模板<br>(当前内容将会被清除替换):",
+DlgTemplatesLoading	: "正在加载模板列表,请稍等...",
+DlgTemplatesNoTpl	: "(没有模板)",
+
+// About Dialog
+DlgAboutAboutTab	: "关于",
+DlgAboutBrowserInfoTab	: "浏览器信息",
+DlgAboutVersion		: "版本",
+DlgAboutLicense		: "基于 GNU 通用公共许可证授权发布 ",
+DlgAboutInfo		: "要获得更多信息请访问 "
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/lang/zh.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/lang/zh.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/lang/zh.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,475 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: zh.js
+ * 	Chinese Traditional language file.
+ * 
+ * File Authors:
+ * 		Zak Fong (zakfong at yahoo.com.tw)
+ */
+
+var FCKLang =
+{
+// Language direction : "ltr" (left to right) or "rtl" (right to left).
+Dir					: "ltr",
+
+ToolbarCollapse		: "隱藏面板",
+ToolbarExpand		: "顯示面板",
+
+// Toolbar Items and Context Menu
+Save				: "儲存",
+NewPage				: "開新檔案",
+Preview				: "預覽",
+Cut					: "剪下",
+Copy				: "複製",
+Paste				: "貼上",
+PasteText			: "貼為純文字格式",
+PasteWord			: "自 Word 貼上",
+Print				: "列印",
+SelectAll			: "全選",
+RemoveFormat		: "清除格式",
+InsertLinkLbl		: "超連結",
+InsertLink			: "插入/編輯超連結",
+RemoveLink			: "移除超連結",
+Anchor				: "插入/編輯錨點",
+InsertImageLbl		: "影像",
+InsertImage			: "插入/編輯影像",
+InsertFlashLbl		: "Flash",
+InsertFlash			: "插入/編輯 Flash",
+InsertTableLbl		: "表格",
+InsertTable			: "插入/編輯表格",
+InsertLineLbl		: "水平線",
+InsertLine			: "插入水平線",
+InsertSpecialCharLbl: "特殊符號",
+InsertSpecialChar	: "插入特殊符號",
+InsertSmileyLbl		: "表情符號",
+InsertSmiley		: "插入表情符號",
+About				: "關於 FCKeditor",
+Bold				: "ç²—é«”",
+Italic				: "斜體",
+Underline			: "底線",
+StrikeThrough		: "刪除線",
+Subscript			: "下標",
+Superscript			: "上標",
+LeftJustify			: "靠左對齊",
+CenterJustify		: "置中",
+RightJustify		: "靠右對齊",
+BlockJustify		: "左右對齊",
+DecreaseIndent		: "減少縮排",
+IncreaseIndent		: "增加縮排",
+Undo				: "復原",
+Redo				: "重複",
+NumberedListLbl		: "編號清單",
+NumberedList		: "插入/移除編號清單",
+BulletedListLbl		: "項目清單",
+BulletedList		: "插入/移除項目清單",
+ShowTableBorders	: "顯示表格邊框",
+ShowDetails			: "顯示詳細資料",
+Style				: "樣式",
+FontFormat			: "格式",
+Font				: "å­—é«”",
+FontSize			: "大小",
+TextColor			: "文字顏色",
+BGColor				: "背景顏色",
+Source				: "原始碼",
+Find				: "尋找",
+Replace				: "取代",
+SpellCheck			: "拼字檢查",
+UniversalKeyboard	: "各國鍵盤",
+
+Form			: "表單",
+Checkbox		: "核取方塊",
+RadioButton		: "選項按鈕",
+TextField		: "文字方塊",
+Textarea		: "文字區域",
+HiddenField		: "隱藏欄位",
+Button			: "按鈕",
+SelectionField	: "清單/選單",
+ImageButton		: "影像按鈕",
+
+// Context Menu
+EditLink			: "編輯超連結",
+InsertRow			: "插入列",
+DeleteRows			: "刪除列",
+InsertColumn		: "插入欄",
+DeleteColumns		: "刪除欄",
+InsertCell			: "插入儲存格",
+DeleteCells			: "刪除儲存格",
+MergeCells			: "合併儲存格",
+SplitCell			: "分割儲存格",
+CellProperties		: "儲存格屬性",
+TableProperties		: "表格屬性",
+ImageProperties		: "影像屬性",
+FlashProperties		: "Flash 屬性",
+
+AnchorProp			: "錨點屬性",
+ButtonProp			: "按鈕屬性",
+CheckboxProp		: "核取方塊屬性",
+HiddenFieldProp		: "隱藏欄位屬性",
+RadioButtonProp		: "選項按鈕屬性",
+ImageButtonProp		: "影像按鈕屬性",
+TextFieldProp		: "文字方塊屬性",
+SelectionFieldProp	: "清單/選單屬性",
+TextareaProp		: "文字區域屬性",
+FormProp			: "表單屬性",
+
+FontFormats			: "一般;格式化;地址;標題 1;標題 2;標題 3;標題 4;標題 5;標題 6;段落 (DIV)",
+
+// Alerts and Messages
+ProcessingXHTML		: "處理 XHTML 中,請稍候…",
+Done				: "完成",
+PasteWordConfirm	: "您想要貼上的文字似乎是自 Word 複製而來,請問您是否要先清除 Word 的格式後再行貼上?",
+NotCompatiblePaste	: "此指令僅在 Internet Explorer 5.5 或以上的版本有效。請問您是否同意不清除格式即貼上?",
+UnknownToolbarItem	: "未知工具列項目 \"%1\"",
+UnknownCommand		: "未知指令名稱 \"%1\"",
+NotImplemented		: "尚未安裝此指令",
+UnknownToolbarSet	: "工具列設定 \"%1\" 不存在",
+NoActiveX			: "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.",	//MISSING
+
+// Dialogs
+DlgBtnOK			: "確定",
+DlgBtnCancel		: "取消",
+DlgBtnClose			: "關閉",
+DlgBtnBrowseServer	: "瀏覽伺服器端",
+DlgAdvancedTag		: "進階",
+DlgOpOther			: "&lt;其他&gt;",
+DlgInfoTab			: "資訊",
+DlgAlertUrl			: "請插入 URL",
+
+// General Dialogs Labels
+DlgGenNotSet		: "&lt;尚未設定&gt;",
+DlgGenId			: "ID",
+DlgGenLangDir		: "語言方向",
+DlgGenLangDirLtr	: "由左而右 (LTR)",
+DlgGenLangDirRtl	: "由右而左 (RTL)",
+DlgGenLangCode		: "語言代碼",
+DlgGenAccessKey		: "存取鍵",
+DlgGenName			: "名稱",
+DlgGenTabIndex		: "定位順序",
+DlgGenLongDescr		: "詳細 URL",
+DlgGenClass			: "樣式表類別",
+DlgGenTitle			: "標題",
+DlgGenContType		: "內容類型",
+DlgGenLinkCharset	: "連結資源之編碼",
+DlgGenStyle			: "樣式",
+
+// Image Dialog
+DlgImgTitle			: "影像屬性",
+DlgImgInfoTab		: "影像資訊",
+DlgImgBtnUpload		: "上傳至伺服器",
+DlgImgURL			: "URL",
+DlgImgUpload		: "上傳",
+DlgImgAlt			: "替代文字",
+DlgImgWidth			: "寬度",
+DlgImgHeight		: "高度",
+DlgImgLockRatio		: "等比例",
+DlgBtnResetSize		: "重設為原大小",
+DlgImgBorder		: "邊框",
+DlgImgHSpace		: "水平距離",
+DlgImgVSpace		: "垂直距離",
+DlgImgAlign			: "對齊",
+DlgImgAlignLeft		: "靠左對齊",
+DlgImgAlignAbsBottom: "絕對下方",
+DlgImgAlignAbsMiddle: "絕對中間",
+DlgImgAlignBaseline	: "基準線",
+DlgImgAlignBottom	: "靠下對齊",
+DlgImgAlignMiddle	: "置中對齊",
+DlgImgAlignRight	: "靠右對齊",
+DlgImgAlignTextTop	: "文字上方",
+DlgImgAlignTop		: "靠上對齊",
+DlgImgPreview		: "預覽",
+DlgImgAlertUrl		: "請輸入影像 URL",
+DlgImgLinkTab		: "超連結",
+
+// Flash Dialog
+DlgFlashTitle		: "Flash 屬性",
+DlgFlashChkPlay		: "自動播放",
+DlgFlashChkLoop		: "重複",
+DlgFlashChkMenu		: "開啟選單",
+DlgFlashScale		: "縮放",
+DlgFlashScaleAll	: "全部顯示",
+DlgFlashScaleNoBorder	: "無邊框",
+DlgFlashScaleFit	: "精確符合",
+
+// Link Dialog
+DlgLnkWindowTitle	: "超連結",
+DlgLnkInfoTab		: "超連結資訊",
+DlgLnkTargetTab		: "目標",
+
+DlgLnkType			: "超連接類型",
+DlgLnkTypeURL		: "URL",
+DlgLnkTypeAnchor	: "本頁錨點",
+DlgLnkTypeEMail		: "電子郵件",
+DlgLnkProto			: "通訊協定",
+DlgLnkProtoOther	: "&lt;其他&gt;",
+DlgLnkURL			: "URL",
+DlgLnkAnchorSel		: "請選擇錨點",
+DlgLnkAnchorByName	: "依錨點名稱",
+DlgLnkAnchorById	: "依元件 ID",
+DlgLnkNoAnchors		: "&lt;本文件尚無可用之錨點&gt;",
+DlgLnkEMail			: "電子郵件",
+DlgLnkEMailSubject	: "郵件主旨",
+DlgLnkEMailBody		: "郵件內容",
+DlgLnkUpload		: "上傳",
+DlgLnkBtnUpload		: "傳送至伺服器",
+
+DlgLnkTarget		: "目標",
+DlgLnkTargetFrame	: "&lt;框架&gt;",
+DlgLnkTargetPopup	: "&lt;快顯視窗&gt;",
+DlgLnkTargetBlank	: "新視窗 (_blank)",
+DlgLnkTargetParent	: "父視窗 (_parent)",
+DlgLnkTargetSelf	: "本視窗 (_self)",
+DlgLnkTargetTop		: "最上層視窗 (_top)",
+DlgLnkTargetFrameName	: "目標框架名稱",
+DlgLnkPopWinName	: "快顯視窗名稱",
+DlgLnkPopWinFeat	: "快顯視窗屬性",
+DlgLnkPopResize		: "可調整大小",
+DlgLnkPopLocation	: "網址列",
+DlgLnkPopMenu		: "選單列",
+DlgLnkPopScroll		: "捲軸",
+DlgLnkPopStatus		: "狀態列",
+DlgLnkPopToolbar	: "工具列",
+DlgLnkPopFullScrn	: "全螢幕 (IE)",
+DlgLnkPopDependent	: "從屬 (NS)",
+DlgLnkPopWidth		: "寬",
+DlgLnkPopHeight		: "高",
+DlgLnkPopLeft		: "å·¦",
+DlgLnkPopTop		: "右",
+
+DlnLnkMsgNoUrl		: "請輸入欲連結的 URL",
+DlnLnkMsgNoEMail	: "請輸入電子郵件位址",
+DlnLnkMsgNoAnchor	: "請選擇錨點",
+
+// Color Dialog
+DlgColorTitle		: "請選擇顏色",
+DlgColorBtnClear	: "清除",
+DlgColorHighlight	: "預覽",
+DlgColorSelected	: "選擇",
+
+// Smiley Dialog
+DlgSmileyTitle		: "插入表情符號",
+
+// Special Character Dialog
+DlgSpecialCharTitle	: "請選擇特殊符號",
+
+// Table Dialog
+DlgTableTitle		: "表格屬性",
+DlgTableRows		: "列數",
+DlgTableColumns		: "欄數",
+DlgTableBorder		: "邊框",
+DlgTableAlign		: "對齊",
+DlgTableAlignNotSet	: "&lt;未設定&gt;",
+DlgTableAlignLeft	: "靠左對齊",
+DlgTableAlignCenter	: "置中",
+DlgTableAlignRight	: "靠右對齊",
+DlgTableWidth		: "寬度",
+DlgTableWidthPx		: "像素",
+DlgTableWidthPc		: "百分比",
+DlgTableHeight		: "高度",
+DlgTableCellSpace	: "間距",
+DlgTableCellPad		: "內距",
+DlgTableCaption		: "標題",
+
+// Table Cell Dialog
+DlgCellTitle		: "儲存格屬性",
+DlgCellWidth		: "寬度",
+DlgCellWidthPx		: "像素",
+DlgCellWidthPc		: "百分比",
+DlgCellHeight		: "高度",
+DlgCellWordWrap		: "自動換行",
+DlgCellWordWrapNotSet	: "&lt;尚未設定&gt;",
+DlgCellWordWrapYes	: "是",
+DlgCellWordWrapNo	: "否",
+DlgCellHorAlign		: "水平對齊",
+DlgCellHorAlignNotSet	: "&lt;尚未設定&gt;",
+DlgCellHorAlignLeft	: "靠左對齊",
+DlgCellHorAlignCenter	: "置中",
+DlgCellHorAlignRight: "靠右對齊",
+DlgCellVerAlign		: "垂直對齊",
+DlgCellVerAlignNotSet	: "&lt;尚未設定&gt;",
+DlgCellVerAlignTop	: "靠上對齊",
+DlgCellVerAlignMiddle	: "置中",
+DlgCellVerAlignBottom	: "靠下對齊",
+DlgCellVerAlignBaseline	: "基準線",
+DlgCellRowSpan		: "合併列數",
+DlgCellCollSpan		: "合併欄数",
+DlgCellBackColor	: "背景顏色",
+DlgCellBorderColor	: "邊框顏色",
+DlgCellBtnSelect	: "請選擇…",
+
+// Find Dialog
+DlgFindTitle		: "尋找",
+DlgFindFindBtn		: "尋找",
+DlgFindNotFoundMsg	: "未找到指定的文字。",
+
+// Replace Dialog
+DlgReplaceTitle			: "取代",
+DlgReplaceFindLbl		: "尋找:",
+DlgReplaceReplaceLbl	: "取代:",
+DlgReplaceCaseChk		: "大小寫須相符",
+DlgReplaceReplaceBtn	: "取代",
+DlgReplaceReplAllBtn	: "全部取代",
+DlgReplaceWordChk		: "全字相符",
+
+// Paste Operations / Dialog
+PasteErrorPaste	: "您的瀏覽器的安全性設定不允編輯器自動執行貼上動作。請使用快捷鍵 (Ctrl+V) 貼上。",
+PasteErrorCut	: "您的瀏覽器的安全性設定不允編輯器自動執行剪下動作。請使用快捷鍵 (Ctrl+X) 剪下。",
+PasteErrorCopy	: "您的瀏覽器的安全性設定不允編輯器自動執行複製動作。請使用快捷鍵 (Ctrl+C) 複製。",
+
+PasteAsText		: "貼為純文字格式",
+PasteFromWord	: "自 Word 貼上",
+
+DlgPasteMsg2	: "請使用快捷鍵 (<strong>Ctrl+V</strong>) 貼到下方區域中並按下 <strong>確定</strong>",
+DlgPasteIgnoreFont		: "移除字型設定",
+DlgPasteRemoveStyles	: "移除樣式設定",
+DlgPasteCleanBox		: "清除文字區域",
+
+
+// Color Picker
+ColorAutomatic	: "自動",
+ColorMoreColors	: "更多顏色…",
+
+// Document Properties
+DocProps		: "文件屬性",
+
+// Anchor Dialog
+DlgAnchorTitle		: "命名錨點",
+DlgAnchorName		: "錨點名稱",
+DlgAnchorErrorName	: "請輸入錨點名稱",
+
+// Speller Pages Dialog
+DlgSpellNotInDic		: "不在字典中",
+DlgSpellChangeTo		: "更改為",
+DlgSpellBtnIgnore		: "忽略",
+DlgSpellBtnIgnoreAll	: "全部忽略",
+DlgSpellBtnReplace		: "取代",
+DlgSpellBtnReplaceAll	: "全部取代",
+DlgSpellBtnUndo			: "復原",
+DlgSpellNoSuggestions	: "- 無建議值 -",
+DlgSpellProgress		: "進行拼字檢查中…",
+DlgSpellNoMispell		: "拼字檢查完成:未發現拼字錯誤",
+DlgSpellNoChanges		: "拼字檢查完成:未更改任何單字",
+DlgSpellOneChange		: "拼字檢查完成:更改了 1 個單字",
+DlgSpellManyChanges		: "拼字檢查完成:更改了 %1 個單字",
+
+IeSpellDownload			: "尚未安裝拼字檢查元件。您是否想要現在下載?",
+
+// Button Dialog
+DlgButtonText	: "顯示文字 (值)",
+DlgButtonType	: "é¡žåž‹",
+
+// Checkbox and Radio Button Dialogs
+DlgCheckboxName		: "名稱",
+DlgCheckboxValue	: "選取值",
+DlgCheckboxSelected	: "已選取",
+
+// Form Dialog
+DlgFormName		: "名稱",
+DlgFormAction	: "動作",
+DlgFormMethod	: "方法",
+
+// Select Field Dialog
+DlgSelectName		: "名稱",
+DlgSelectValue		: "選取值",
+DlgSelectSize		: "大小",
+DlgSelectLines		: "行",
+DlgSelectChkMulti	: "可多選",
+DlgSelectOpAvail	: "可用選項",
+DlgSelectOpText		: "顯示文字",
+DlgSelectOpValue	: "值",
+DlgSelectBtnAdd		: "新增",
+DlgSelectBtnModify	: "修改",
+DlgSelectBtnUp		: "上移",
+DlgSelectBtnDown	: "下移",
+DlgSelectBtnSetValue : "設為預設值",
+DlgSelectBtnDelete	: "刪除",
+
+// Textarea Dialog
+DlgTextareaName	: "名稱",
+DlgTextareaCols	: "字元寬度",
+DlgTextareaRows	: "列數",
+
+// Text Field Dialog
+DlgTextName			: "名稱",
+DlgTextValue		: "值",
+DlgTextCharWidth	: "字元寬度",
+DlgTextMaxChars		: "最多字元數",
+DlgTextType			: "é¡žåž‹",
+DlgTextTypeText		: "文字",
+DlgTextTypePass		: "密碼",
+
+// Hidden Field Dialog
+DlgHiddenName	: "名稱",
+DlgHiddenValue	: "值",
+
+// Bulleted List Dialog
+BulletedListProp	: "項目清單屬性",
+NumberedListProp	: "編號清單屬性",
+DlgLstType			: "清單類型",
+DlgLstTypeCircle	: "圓圈",
+DlgLstTypeDisc		: "Disc",	//MISSING
+DlgLstTypeSquare	: "方塊",
+DlgLstTypeNumbers	: "數字 (1, 2, 3)",
+DlgLstTypeLCase		: "小寫字母 (a, b, c)",
+DlgLstTypeUCase		: "大寫字母 (A, B, C)",
+DlgLstTypeSRoman	: "小寫羅馬數字 (i, ii, iii)",
+DlgLstTypeLRoman	: "大寫羅馬數字 (I, II, III)",
+
+// Document Properties Dialog
+DlgDocGeneralTab	: "一般",
+DlgDocBackTab		: "背景",
+DlgDocColorsTab		: "顯色與邊界",
+DlgDocMetaTab		: "Meta 資料",
+
+DlgDocPageTitle		: "頁面標題",
+DlgDocLangDir		: "語言方向",
+DlgDocLangDirLTR	: "由左而右 (LTR)",
+DlgDocLangDirRTL	: "由右而左 (RTL)",
+DlgDocLangCode		: "語言代碼",
+DlgDocCharSet		: "字元編碼",
+DlgDocCharSetOther	: "其他字元編碼",
+
+DlgDocDocType		: "文件類型",
+DlgDocDocTypeOther	: "其他文件類型",
+DlgDocIncXHTML		: "包含 XHTML 定義",
+DlgDocBgColor		: "背景顏色",
+DlgDocBgImage		: "背景影像",
+DlgDocBgNoScroll	: "浮水印",
+DlgDocCText			: "文字",
+DlgDocCLink			: "超連結",
+DlgDocCVisited		: "已瀏覽過的超連結",
+DlgDocCActive		: "作用中的超連結",
+DlgDocMargins		: "頁面邊界",
+DlgDocMaTop			: "上",
+DlgDocMaLeft		: "å·¦",
+DlgDocMaRight		: "右",
+DlgDocMaBottom		: "下",
+DlgDocMeIndex		: "文件索引關鍵字 (用半形逗號[,]分隔)",
+DlgDocMeDescr		: "文件說明",
+DlgDocMeAuthor		: "作者",
+DlgDocMeCopy		: "版權所有",
+DlgDocPreview		: "預覽",
+
+// Templates Dialog
+Templates			: "樣版",
+DlgTemplatesTitle	: "內容樣版",
+DlgTemplatesSelMsg	: "請選擇欲開啟的樣版<br> (原有的內容將會被清除):",
+DlgTemplatesLoading	: "讀取樣版清單中,請稍候…",
+DlgTemplatesNoTpl	: "(無樣版)",
+
+// About Dialog
+DlgAboutAboutTab	: "關於",
+DlgAboutBrowserInfoTab	: "瀏覽器資訊",
+DlgAboutVersion		: "版本",
+DlgAboutLicense		: "依據 GNU 較寬鬆公共許可證(LGPL)發佈",
+DlgAboutInfo		: "想獲得更多資訊請至 "
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/plugins/placeholder/fck_placeholder.html
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/plugins/placeholder/fck_placeholder.html	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/plugins/placeholder/fck_placeholder.html	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,96 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_placeholder.html
+ * 	Placeholder Plugin.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<html>
+	<head>
+		<title>Placeholder Properties</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta content="noindex, nofollow" name="robots">
+		<script language="javascript">
+
+var oEditor = window.parent.InnerDialogLoaded() ;
+var FCKLang = oEditor.FCKLang ;
+var FCKPlaceholders = oEditor.FCKPlaceholders ;
+
+window.onload = function ()
+{
+	// First of all, translate the dialog box texts
+	oEditor.FCKLanguageManager.TranslatePage( document ) ;
+	
+	LoadSelected() ;
+	
+	// Show the "Ok" button.
+	window.parent.SetOkButton( true ) ;	
+}
+
+var eSelected = oEditor.FCKSelection.GetSelectedElement() ;
+
+function LoadSelected()
+{
+	if ( !eSelected )
+		return ;
+
+	if ( eSelected.tagName == 'SPAN' && eSelected._fckplaceholder )
+		document.getElementById('txtName').value = eSelected._fckplaceholder ;
+	else
+		eSelected == null ;
+}
+
+function Ok()
+{
+	var sValue = document.getElementById('txtName').value ;
+	
+	if ( eSelected && eSelected._fckplaceholder == sValue )
+		return true ;
+
+	if ( sValue.length == 0 )
+	{
+		alert( FCKLang.PlaceholderErrNoName ) ;
+		return false ;
+	}
+	
+	if ( FCKPlaceholders.Exist( sValue ) )
+	{
+		alert( FCKLang.PlaceholderErrNameInUse ) ;
+		return false ;
+	}
+
+	FCKPlaceholders.Add( sValue ) ;
+	return true ;
+}
+
+		</script>
+	</head>
+	<body scroll="no" style="OVERFLOW: hidden">
+		<table height="100%" cellSpacing="0" cellPadding="0" width="100%" border="0">
+			<tr>
+				<td>
+					<table cellSpacing="0" cellPadding="0" align="center" border="0">
+						<tr>
+							<td>
+								<span fckLang="PlaceholderDlgName">Placeholder Name</span><br>
+								<input id="txtName" type="text">
+							</td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+		</table>
+	</body>
+</html>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/plugins/placeholder/fckplugin.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/plugins/placeholder/fckplugin.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/plugins/placeholder/fckplugin.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,177 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckplugin.js
+ * 	Plugin to insert "Placeholders" in the editor.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+// Register the related command.
+FCKCommands.RegisterCommand( 'Placeholder', new FCKDialogCommand( 'Placeholder', FCKLang.PlaceholderDlgTitle, FCKPlugins.Items['placeholder'].Path + 'fck_placeholder.html', 340, 170 ) ) ;
+
+// Create the "Plaholder" toolbar button.
+var oPlaceholderItem = new FCKToolbarButton( 'Placeholder', FCKLang.PlaceholderBtn ) ;
+oPlaceholderItem.IconPath = FCKPlugins.Items['placeholder'].Path + 'placeholder.gif' ;
+FCKToolbarItems.RegisterItem( 'Placeholder', oPlaceholderItem ) ;
+
+
+// The object used for all Placeholder operations.
+var FCKPlaceholders = new Object() ;
+
+// Add a new placeholder at the actual selection.
+FCKPlaceholders.Add = function( name )
+{
+	var oSpan = FCK.CreateElement( 'SPAN' ) ;
+	this.SetupSpan( oSpan, name ) ;
+}
+
+FCKPlaceholders.SetupSpan = function( span, name )
+{
+	span.innerHTML = '[[ ' + name + ' ]]' ;
+
+	span.style.backgroundColor = '#ffff00' ;
+	span.style.color = '#000000' ;
+
+	if ( FCKBrowserInfo.IsGecko )
+		span.style.cursor = 'default' ;
+
+	span._fckplaceholder = name ;
+	span.contentEditable = false ;
+
+	// To avoid it to be resized.
+	span.onresizestart = function()
+	{
+		FCK.EditorWindow.event.returnValue = false ;
+		return false ;
+	}
+}
+
+// On Gecko we must do this trick so the user select all the SPAN when clicking on it.
+FCKPlaceholders._SetupClickListener = function()
+{
+	FCKPlaceholders._ClickListener = function( e )
+	{
+		if ( e.target.tagName == 'SPAN' && e.target._fckplaceholder )
+			FCKSelection.SelectNode( e.target ) ;
+	}
+
+	FCK.EditorDocument.addEventListener( 'click', FCKPlaceholders._ClickListener, true ) ;
+}
+
+// Open the Placeholder dialog on double click.
+FCKPlaceholders.OnDoubleClick = function( span )
+{
+	if ( span.tagName == 'SPAN' && span._fckplaceholder )
+		FCKCommands.GetCommand( 'Placeholder' ).Execute() ;
+}
+
+FCK.RegisterDoubleClickHandler( FCKPlaceholders.OnDoubleClick, 'SPAN' ) ;
+
+// Check if a Placholder name is already in use.
+FCKPlaceholders.Exist = function( name )
+{
+	var aSpans = FCK.EditorDocument.getElementsByTagName( 'SPAN' )
+
+	for ( var i = 0 ; i < aSpans.length ; i++ )
+	{
+		if ( aSpans[i]._fckplaceholder == name )
+			return true ;
+	}
+}
+
+if ( FCKBrowserInfo.IsIE )
+{
+	FCKPlaceholders.Redraw = function()
+	{
+		var aPlaholders = FCK.EditorDocument.body.innerText.match( /\[\[[^\[\]]+\]\]/g ) ;
+		if ( !aPlaholders )
+			return ;
+
+		var oRange = FCK.EditorDocument.body.createTextRange() ;
+
+		for ( var i = 0 ; i < aPlaholders.length ; i++ )
+		{
+			if ( oRange.findText( aPlaholders[i] ) )
+			{
+				var sName = aPlaholders[i].match( /\[\[\s*([^\]]*?)\s*\]\]/ )[1] ;
+				oRange.pasteHTML( '<span style="color: #000000; background-color: #ffff00" contenteditable="false" _fckplaceholder="' + sName + '">' + aPlaholders[i] + '</span>' ) ;
+			}
+		}
+	}
+}
+else
+{
+	FCKPlaceholders.Redraw = function()
+	{
+		var oInteractor = FCK.EditorDocument.createTreeWalker( FCK.EditorDocument.body, NodeFilter.SHOW_TEXT, FCKPlaceholders._AcceptNode, true ) ;
+
+		var	aNodes = new Array() ;
+
+		while ( oNode = oInteractor.nextNode() )
+		{
+			aNodes[ aNodes.length ] = oNode ;
+		}
+
+		for ( var n = 0 ; n < aNodes.length ; n++ )
+		{
+			var aPieces = aNodes[n].nodeValue.split( /(\[\[[^\[\]]+\]\])/g ) ;
+
+			for ( var i = 0 ; i < aPieces.length ; i++ )
+			{
+				if ( aPieces[i].length > 0 )
+				{
+					if ( aPieces[i].indexOf( '[[' ) == 0 )
+					{
+						var sName = aPieces[i].match( /\[\[\s*([^\]]*?)\s*\]\]/ )[1] ;
+
+						var oSpan = FCK.EditorDocument.createElement( 'span' ) ;
+						FCKPlaceholders.SetupSpan( oSpan, sName ) ;
+
+						aNodes[n].parentNode.insertBefore( oSpan, aNodes[n] ) ;
+					}
+					else
+						aNodes[n].parentNode.insertBefore( FCK.EditorDocument.createTextNode( aPieces[i] ) , aNodes[n] ) ;
+				}
+			}
+
+			aNodes[n].parentNode.removeChild( aNodes[n] ) ;
+		}
+		
+		FCKPlaceholders._SetupClickListener() ;
+	}
+
+	FCKPlaceholders._AcceptNode = function( node )
+	{
+		if ( /\[\[[^\[\]]+\]\]/.test( node.nodeValue ) )
+			return NodeFilter.FILTER_ACCEPT ;
+		else
+			return NodeFilter.FILTER_SKIP ;
+	}
+}
+
+FCK.Events.AttachEvent( 'OnAfterSetHTML', FCKPlaceholders.Redraw ) ;
+
+// The "Redraw" method must be called on startup.
+FCKPlaceholders.Redraw() ;
+
+// We must process the SPAN tags to replace then with the real resulting value of the placeholder.
+FCKXHtml.TagProcessors['span'] = function( node, htmlNode )
+{
+	if ( htmlNode._fckplaceholder )
+		node = FCKXHtml.XML.createTextNode( '[[' + htmlNode._fckplaceholder + ']]' ) ;
+	else
+		FCKXHtml._AppendChildNodes( node, htmlNode, false ) ;
+
+	return node ;
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/plugins/placeholder/lang/de.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/plugins/placeholder/lang/de.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/plugins/placeholder/lang/de.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,23 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: de.js
+ * 	Placholder German language file.
+ * 
+ * File Authors:
+ * 		José Fontanil
+ */
+FCKLang.PlaceholderBtn			= 'Einfügen/editieren Platzhalter' ;
+FCKLang.PlaceholderDlgTitle		= 'Platzhalter Eigenschaften' ;
+FCKLang.PlaceholderDlgName		= 'Platzhalter Name' ;
+FCKLang.PlaceholderErrNoName	= 'Bitte den Namen des Platzhalters schreiben' ;
+FCKLang.PlaceholderErrNameInUse	= 'Der angegebene Namen ist schon in Gebrauch' ;
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/plugins/placeholder/lang/en.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/plugins/placeholder/lang/en.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/plugins/placeholder/lang/en.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,23 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: en.js
+ * 	Placholder English language file.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+FCKLang.PlaceholderBtn			= 'Insert/Edit Placeholder' ;
+FCKLang.PlaceholderDlgTitle		= 'Placeholder Properties' ;
+FCKLang.PlaceholderDlgName		= 'Placeholder Name' ;
+FCKLang.PlaceholderErrNoName	= 'Please type the placeholder name' ;
+FCKLang.PlaceholderErrNameInUse	= 'The specified name is already in use' ;
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/plugins/placeholder/lang/fr.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/plugins/placeholder/lang/fr.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/plugins/placeholder/lang/fr.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,23 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fr.js
+ * 	Placholder Italian language file.
+ * 
+ * File Authors:
+ * 		Hubert Garrido (liane at users.sourceforge.net)
+ */
+FCKLang.PlaceholderBtn			= 'Insérer/Modifier Substitut' ;
+FCKLang.PlaceholderDlgTitle		= 'Propriétés de Substitut' ;
+FCKLang.PlaceholderDlgName		= 'Nom de Substitut' ;
+FCKLang.PlaceholderErrNoName	= 'Veuillez saisir le nom de Substitut' ;
+FCKLang.PlaceholderErrNameInUse	= 'Ce nom est déjà utilisé' ;
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/plugins/placeholder/lang/it.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/plugins/placeholder/lang/it.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/plugins/placeholder/lang/it.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,23 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: it.js
+ * 	Placholder Italian language file.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+FCKLang.PlaceholderBtn			= 'Aggiungi/Modifica Placeholder' ;
+FCKLang.PlaceholderDlgTitle		= 'Proprietà del Placeholder' ;
+FCKLang.PlaceholderDlgName		= 'Nome del Placeholder' ;
+FCKLang.PlaceholderErrNoName	= 'Digitare il nome del placeholder' ;
+FCKLang.PlaceholderErrNameInUse	= 'Il nome inserito è già in uso' ;

Added: zope.html/trunk/src/zope/html/fckeditor/editor/plugins/placeholder/placeholder.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/plugins/placeholder/placeholder.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/plugins/simplecommands/fckplugin.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/plugins/simplecommands/fckplugin.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/plugins/simplecommands/fckplugin.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,25 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckplugin.js
+ * 	This plugin register Toolbar items for the combos modifying the style to 
+ * 	not show the box.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+FCKToolbarItems.RegisterItem( 'SourceSimple'	, new FCKToolbarButton( 'Source', FCKLang.Source, null, FCK_TOOLBARITEM_ONLYICON, true, true ) ) ;
+FCKToolbarItems.RegisterItem( 'StyleSimple'		, new FCKToolbarStyleCombo( null, FCK_TOOLBARITEM_ONLYTEXT ) ) ;
+FCKToolbarItems.RegisterItem( 'FontNameSimple'	, new FCKToolbarFontsCombo( null, FCK_TOOLBARITEM_ONLYTEXT ) ) ;
+FCKToolbarItems.RegisterItem( 'FontSizeSimple'	, new FCKToolbarFontSizeCombo( null, FCK_TOOLBARITEM_ONLYTEXT ) ) ;
+FCKToolbarItems.RegisterItem( 'FontFormatSimple', new FCKToolbarFontFormatCombo( null, FCK_TOOLBARITEM_ONLYTEXT ) ) ;

Added: zope.html/trunk/src/zope/html/fckeditor/editor/plugins/tablecommands/fckplugin.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/plugins/tablecommands/fckplugin.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/plugins/tablecommands/fckplugin.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,28 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckplugin.js
+ * 	This plugin register the required Toolbar items to be able to insert the
+ * 	toolbar commands in the toolbar.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+FCKToolbarItems.RegisterItem( 'TableInsertRow'		, new FCKToolbarButton( 'TableInsertRow'	, FCKLang.InsertRow ) ) ;
+FCKToolbarItems.RegisterItem( 'TableDeleteRows'		, new FCKToolbarButton( 'TableDeleteRows'	, FCKLang.DeleteRows ) ) ;
+FCKToolbarItems.RegisterItem( 'TableInsertColumn'	, new FCKToolbarButton( 'TableInsertColumn'	, FCKLang.InsertColumn ) ) ;
+FCKToolbarItems.RegisterItem( 'TableDeleteColumns'	, new FCKToolbarButton( 'TableDeleteColumns', FCKLang.DeleteColumns ) ) ;
+FCKToolbarItems.RegisterItem( 'TableInsertCell'		, new FCKToolbarButton( 'TableInsertCell'	, FCKLang.InsertCell ) ) ;
+FCKToolbarItems.RegisterItem( 'TableDeleteCells'	, new FCKToolbarButton( 'TableDeleteCells'	, FCKLang.DeleteCells ) ) ;
+FCKToolbarItems.RegisterItem( 'TableMergeCells'		, new FCKToolbarButton( 'TableMergeCells'	, FCKLang.MergeCells ) ) ;
+FCKToolbarItems.RegisterItem( 'TableSplitCell'		, new FCKToolbarButton( 'TableSplitCell'	, FCKLang.SplitCell ) ) ;
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/fck_contextmenu.css
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/fck_contextmenu.css	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/fck_contextmenu.css	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,245 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_contextmenu.css
+ * 	Styles used by the context menu and panels.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+.CM_ContextMenu, .CM_ContextMenu *
+{
+	font-size: 11px;
+	font-family: 'Microsoft Sans Serif' , Tahoma, Arial, Verdana, Sans-Serif;
+}
+
+.CM_ContextMenu
+{
+	border: 1px solid #8f8f73;
+	padding: 2px;
+	background-color: #ffffff;
+}
+
+.CM_Option, .CM_Over, .CM_Disabled
+{
+	padding: 0px 3px;
+	height: 18px;
+	cursor: default;
+}
+
+.CM_Option, .CM_Over
+{
+	cursor: hand;
+}
+
+.CM_Option .CM_Icon, .CM_Disabled .CM_Icon, .CM_Separator .CM_Icon
+{
+	background-color: #e3e3c7;
+}
+
+.CM_Option .CM_Icon IMG
+{
+	filter: alpha(opacity=70);
+	-moz-opacity:0.70;
+}
+
+.CM_Disabled 
+{
+	background-color: #ffffff;
+}
+
+.CM_Disabled .CM_Icon IMG, .CM_Disabled .CM_Label
+{
+	filter: gray() alpha(opacity=30);
+	-moz-opacity:0.30;
+}
+
+.CM_Option .CM_Label, .CM_Over .CM_Label
+{
+	padding: 1px 10px 1px 3px;
+}
+
+.CM_Over
+{
+	color: #fff;
+	background-color: #8f8f73;
+}
+
+.CM_Over .CM_Icon
+{
+	background-color: #737357;
+}
+
+.CM_Separator TD
+{
+	height: 3px;
+}
+
+.CM_Separator .CM_Label DIV
+{
+	border-top: #b9b99d 1px solid;
+	margin-left: 2px;
+	margin-right: 3px;
+}
+
+/*
+	### Panel Styles
+*/
+
+.FCK_Panel
+{
+	border: #8f8f73 1px solid;
+	padding: 2px;
+	background-color: #ffffff;
+}
+
+.FCK_Panel, .FCK_Panel TD
+{
+	font-family: 'Microsoft Sans Serif' , Tahoma, Arial, Verdana, Sans-Serif;
+	font-size: 11px;
+}
+
+/*
+	### Color Selector Panel
+*/
+
+.ColorBoxBorder
+{
+	border: #808080 1px solid;
+	position: static;
+}
+
+.ColorBox
+{
+	font-size: 1px;
+	width: 10px;
+	position: static;
+	height: 10px;
+}
+
+.ColorDeselected, .ColorSelected
+{
+	cursor: default;
+}
+
+.ColorDeselected
+{
+	border: #ffffff 1px solid;
+	padding: 2px;
+	float: left;
+}
+
+.ColorSelected
+{
+	border: #330066 1px solid;
+	padding: 2px;
+	float: left;
+	background-color: #c4cdd6;
+}
+
+/*
+	### Special Combos
+*/
+
+.SC_Panel
+{
+	overflow-y: auto;
+	white-space: nowrap;
+	cursor: default;
+}
+
+.SC_Item, .SC_ItemSelected
+{
+	margin-top: 2px;
+	margin-bottom: 2px;
+	background-position: left center;
+	padding-left: 11px;
+	padding-right: 3px;
+	padding-top: 2px;
+	padding-bottom: 2px;
+	text-overflow: ellipsis;
+	overflow: hidden;
+	width: 100%;
+	background-repeat: no-repeat;
+	border: #dddddd 1px solid;
+}
+
+.SC_Item *, .SC_ItemSelected *
+{
+	margin-top: 0px;
+	margin-bottom: 0px;
+}
+
+.SC_ItemSelected
+{
+	border: #9a9afb 1px solid;
+	background-image: url(images/toolbar.arrowright.gif);
+}
+
+.SC_ItemOver
+{
+	border: #316ac5 1px solid;
+}
+
+.SC_Field
+{
+	border: #b7b7a6 1px solid;
+	cursor: default;
+}
+
+.SC_FieldCaption
+{
+	overflow: visible;
+	padding-right: 5px;
+	padding-left: 5px;
+	filter: alpha(opacity=70);
+	-moz-opacity:0.75;
+	height: 23px;
+	background-color: #efefde;
+}
+
+.SC_FieldLabel
+{
+	white-space: nowrap;
+	padding: 2px;
+	width: 100%;
+	cursor: default;
+	background-color: #ffffff;
+	text-overflow: ellipsis;
+	overflow: hidden;
+}
+
+.SC_FieldButton
+{
+	background-position: center center;
+	background-image: url(images/toolbar.buttonarrow.gif);
+	border-left: #b7b7a6 1px solid;
+	width: 14px;
+	background-repeat: no-repeat;
+}
+
+.SC_FieldDisabled .SC_FieldButton, .SC_FieldDisabled .SC_FieldCaption
+{
+	filter: gray() alpha(opacity=30);
+	-moz-opacity:0.30;
+}
+
+.SC_FieldOver
+{
+	border: #316ac5 1px solid;
+}
+
+.SC_FieldOver .SC_FieldButton
+{
+	border-left: #316ac5 1px solid;
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/fck_dialog.css
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/fck_dialog.css	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/fck_dialog.css	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,131 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_dialog.css
+ * 	Styles used by the dialog boxes.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+body
+{
+	margin: 0px;
+	padding: 10px;
+}
+
+body, td, input, select, textarea
+{
+	font-size: 11px;
+	font-family: 'Microsoft Sans Serif' , Arial, Helvetica, Verdana;
+}
+
+body, .BackColor
+{
+	background-color: #f1f1e3;
+}
+
+.PopupBody
+{
+	margin: 0px;
+	padding: 0px;
+}
+
+.PopupTitle
+{
+	font-weight: bold;
+	font-size: 14pt;
+	color: #737357;
+	background-color: #e3e3c7;
+	padding: 3px 10px 3px 10px;
+}
+
+.PopupButtons
+{
+	border-top: #d5d59d 1px solid;
+	background-color: #e3e3c7;
+	padding: 7px 10px 7px 10px;
+}
+
+.Button
+{
+	border-right: #737357 1px solid;
+	border-top: #737357 1px solid;
+	border-left: #737357 1px solid;
+	color: #3b3b1f;
+	border-bottom: #737357 1px solid;
+	background-color: #c7c78f;
+}
+
+.DarkBackground
+{
+	background-color: #d7d79f;
+}
+
+.LightBackground
+{
+	background-color: #ffffbe;
+}
+
+.PopupTitleBorder
+{
+	border-bottom: #d5d59d 1px solid;
+}
+
+.PopupTabArea
+{
+	color: #737357;
+	background-color: #e3e3c7;
+}
+
+.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-right: 5px;
+	padding-left: 5px;
+	padding-bottom: 3px;
+	padding-top: 3px;
+	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;
+}
+
+.PopupSelectionBox
+{
+	border: #ff9933 1px solid;
+	background-color: #fffacd;
+	cursor: pointer;
+	cursor: hand;
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/fck_editor.css
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/fck_editor.css	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/fck_editor.css	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,150 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_editor.css
+ * 	Styles used by the editor IFRAME and Toolbar.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+/*
+	### Basic Editor IFRAME Styles.
+*/
+
+body
+{
+	padding: 1px 1px 1px 1px;
+	margin: 0px 0px 0px 0px;
+}
+
+#eWysiwygCell, .Source
+{
+	border: #696969 1px solid;
+}
+
+#eSourceField
+{
+	border: none;
+	padding: 5px;
+	font-family: Monospace;
+}
+
+/*
+	### Toolbar Styles
+*/
+
+.TB_ToolbarSet, .TB_Expand, .TB_Collapse
+{
+	background-color: #efefde;
+}
+
+.TB_End
+{
+	display: none;
+}
+
+.TB_ExpandImg
+{
+	background-image: url(images/toolbar.expand.gif);
+	background-repeat: no-repeat;
+}
+
+.TB_CollapseImg
+{
+	background-image: url(images/toolbar.collapse.gif);
+	background-repeat: no-repeat;
+}
+
+.TB_ToolbarSet
+{
+	border-top: #efefde 1px outset;
+	border-bottom: #efefde 1px outset;
+}
+
+.TB_SideBorder
+{
+	background-color: #696969;
+}
+
+.TB_ToolbarSet, .TB_ToolbarSet *
+{
+	font-size: 11px;
+	cursor: default;
+	font-family: 'Microsoft Sans Serif' , Tahoma, Arial, Verdana, Sans-Serif;
+}
+
+.TB_Expand, .TB_Collapse
+{
+	padding: 2px 2px 2px 2px;
+	border: #efefde 1px outset;
+}
+
+.TB_Collapse
+{
+	border: #efefde 1px outset;
+	width: 5px;
+}
+
+.TB_Button_On, .TB_Button_Off, .TB_Button_Disabled, .TB_Combo_Off, .TB_Combo_Disabled
+{
+	border: #efefde 1px solid;
+	height: 21px;
+}
+
+.TB_Button_On
+{
+	border-color: #316ac5;
+	background-color: #c1d2ee;
+}
+
+.TB_Button_Off, .TB_Combo_Off
+{
+	filter: alpha(opacity=70);
+	-moz-opacity: 0.70;
+	background-color: #efefde;
+}
+
+.TB_Button_Disabled, .TB_Combo_Disabled
+{
+	filter: gray() alpha(opacity=30);
+	-moz-opacity: 0.30;
+}
+
+.TB_Button_On_Over, .TB_Button_Off_Over
+{
+	background-color: #dff1ff;
+}
+
+.TB_Icon DIV
+{
+	width: 21px;
+	height: 21px;
+	background-position: 50% 50%;
+	background-repeat: no-repeat;
+}
+
+.TB_Text
+{
+	height: 21px;
+	padding-right: 5px;
+}
+
+.TB_ButtonArrow
+{
+	padding-right: 3px;
+}
+
+.TB_Break
+{
+	height: 23px;
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/images/toolbar.arrowright.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/images/toolbar.arrowright.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/images/toolbar.buttonarrow.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/images/toolbar.buttonarrow.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/images/toolbar.collapse.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/images/toolbar.collapse.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/images/toolbar.end.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/images/toolbar.end.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/images/toolbar.expand.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/images/toolbar.expand.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/images/toolbar.separator.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/images/toolbar.separator.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/images/toolbar.start.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/images/toolbar.start.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/about.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/about.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/anchor.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/anchor.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/bgcolor.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/bgcolor.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/bold.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/bold.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/bulletedlist.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/bulletedlist.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/button.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/button.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/checkbox.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/checkbox.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/copy.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/copy.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/cut.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/cut.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/docprops.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/docprops.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/find.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/find.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/flash.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/flash.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/form.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/form.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/hiddenfield.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/hiddenfield.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/image.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/image.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/imagebutton.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/imagebutton.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/indent.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/indent.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/inserthorizontalrule.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/inserthorizontalrule.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/insertorderedlist.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/insertorderedlist.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/insertunorderedlist.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/insertunorderedlist.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/italic.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/italic.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/justifycenter.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/justifycenter.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/justifyfull.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/justifyfull.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/justifyleft.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/justifyleft.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/justifyright.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/justifyright.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/link.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/link.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/newpage.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/newpage.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/numberedlist.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/numberedlist.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/outdent.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/outdent.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/pagebreak.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/pagebreak.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/paste.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/paste.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/pastetext.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/pastetext.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/pasteword.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/pasteword.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/preview.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/preview.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/print.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/print.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/radio.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/radio.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/redo.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/redo.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/removeformat.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/removeformat.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/replace.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/replace.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/save.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/save.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/select.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/select.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/selectall.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/selectall.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/showdetails.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/showdetails.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/showtableborders.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/showtableborders.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/smiley.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/smiley.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/source.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/source.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/specialchar.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/specialchar.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/spellcheck.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/spellcheck.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/strikethrough.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/strikethrough.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/subscript.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/subscript.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/superscript.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/superscript.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/table.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/table.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/tablecell.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/tablecell.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/tabledeletecells.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/tabledeletecells.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/tabledeletecolumns.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/tabledeletecolumns.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/tabledeleterows.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/tabledeleterows.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/tableinsertcell.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/tableinsertcell.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/tableinsertcolumn.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/tableinsertcolumn.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/tableinsertrow.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/tableinsertrow.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/tablemergecells.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/tablemergecells.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/tablesplitcell.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/tablesplitcell.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/templates.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/templates.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/textarea.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/textarea.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/textcolor.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/textcolor.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/textfield.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/textfield.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/underline.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/underline.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/undo.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/undo.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/universalkey.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/universalkey.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/unlink.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/unlink.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/unorderedlist.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/default/toolbar/unorderedlist.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/fck_contextmenu.css
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/fck_contextmenu.css	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/fck_contextmenu.css	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,250 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_contextmenu.css
+ * 	Styles used by the context menu.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+.CM_ContextMenu, .CM_ContextMenu *
+{
+	font-size: 11px;
+	font-family: 'Microsoft Sans Serif' , Tahoma, Arial, Verdana, Sans-Serif;
+}
+
+.CM_ContextMenu
+{
+	border: 1px solid #8f8f73;
+	padding: 2px;
+	background-color: #f7f8fd;
+}
+
+.CM_Option, .CM_Over, .CM_Disabled
+{
+	padding: 0px 3px;
+	height: 18px;
+	cursor: default;
+}
+
+.CM_Option, .CM_Over
+{
+	cursor: hand;
+}
+
+.CM_Option .CM_Icon, .CM_Disabled .CM_Icon, .CM_Separator .CM_Icon
+{
+	background-color: #d6dff7;
+}
+
+.CM_Option .CM_Icon IMG
+{
+	filter: alpha(opacity=70);
+	-moz-opacity: 0.70;
+}
+
+.CM_Disabled 
+{
+	background-color: #ffffff;
+}
+
+.CM_Disabled .CM_Icon IMG, .CM_Disabled .CM_Label
+{
+	filter: gray() alpha(opacity=30);
+	-moz-opacity: 0.30;
+}
+
+.CM_Option .CM_Label, .CM_Over .CM_Label
+{
+	padding: 1px 10px 1px 3px;
+}
+
+.CM_Over
+{
+	color: #ffffff;
+	background-color: #7096FA;
+}
+
+.CM_Over .CM_Icon
+{
+	background-color: #466ca6;
+}
+
+.CM_Separator TD
+{
+	height: 3px;
+}
+
+.CM_Separator .CM_Label DIV
+{
+	border-top: #b9b99d 1px solid;
+	margin-left: 2px;
+	margin-right: 3px;
+}
+
+/*
+	### Panel Styles
+*/
+
+.FCK_Panel
+{
+	border: #8f8f73 1px solid;
+	padding: 2px;
+	background-color: #f7f8fd;
+}
+
+.FCK_Panel, .FCK_Panel TD
+{
+	font-family: 'Microsoft Sans Serif', Tahoma, Arial, Verdana, Sans-Serif;
+	font-size: 11px;
+}
+
+/*
+	### Color Selector Panel
+*/
+
+.ColorBoxBorder
+{
+	border: #808080 1px solid;
+	position: static;
+}
+
+.ColorBox
+{
+	font-size: 1px;
+	width: 10px;
+	position: static;
+	height: 10px;
+}
+
+.ColorDeselected, .ColorSelected
+{
+	cursor: default;
+}
+
+.ColorDeselected
+{
+	border: #ffffff 1px solid;
+	padding: 2px;
+	float: left;
+}
+
+.ColorSelected *
+{
+	color: #ffffff;
+}
+
+.ColorSelected 
+{
+	border: #7096FA 1px solid;
+	padding: 2px;
+	float: left;
+	background-color: #7096FA;
+}
+
+/*
+	### Special Combos
+*/
+
+.SC_Panel
+{
+	overflow-y: auto;
+	white-space: nowrap;
+	cursor: default;
+}
+
+.SC_Item, .SC_ItemSelected
+{
+	margin-top: 2px;
+	margin-bottom: 2px;
+	background-position: left center;
+	padding-left: 11px;
+	padding-right: 3px;
+	padding-top: 2px;
+	padding-bottom: 2px;
+	text-overflow: ellipsis;
+	overflow: hidden;
+	width: 100%;
+	background-repeat: no-repeat;
+	border: #dddddd 1px solid;
+}
+
+.SC_Item *, .SC_ItemSelected *
+{
+	margin-top: 0px;
+	margin-bottom: 0px;
+}
+
+.SC_ItemSelected
+{
+	border: #9a9afb 1px solid;
+	background-image: url(images/toolbar.arrowright.gif);
+}
+
+.SC_ItemOver
+{
+	border: #316ac5 1px solid;
+}
+
+.SC_Field
+{
+	border: #b7b7a6 1px solid;
+	cursor: default;
+}
+
+.SC_FieldCaption
+{
+	overflow: visible;
+	padding-right: 5px;
+	padding-left: 5px;
+	filter: alpha(opacity=70); 
+	-moz-opacity:0.75;
+	height: 23px;
+	background-color: #f7f8fd;
+}
+
+.SC_FieldLabel
+{
+	white-space: nowrap;
+	padding: 2px;
+	width: 100%;
+	cursor: default;
+	background-color: #ffffff;
+	text-overflow: ellipsis;
+	overflow: hidden;
+}
+
+.SC_FieldButton
+{
+	background-position: center center;
+	background-image: url(images/toolbar.buttonarrow.gif);
+	border-left: #b7b7a6 1px solid;
+	width: 14px;
+	background-repeat: no-repeat;
+}
+
+.SC_FieldDisabled .SC_FieldButton, .SC_FieldDisabled .SC_FieldCaption
+{
+	filter: gray() alpha(opacity=30); 
+	-moz-opacity:0.30;
+}
+
+.SC_FieldOver
+{
+	border: #316ac5 1px solid;
+}
+
+.SC_FieldOver .SC_FieldButton
+{
+	border-left: #316ac5 1px solid;
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/fck_dialog.css
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/fck_dialog.css	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/fck_dialog.css	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,129 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_dialog.css
+ * 	Styles used by the dialog boxes.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+body
+{
+	margin: 0px;
+	padding: 10px;
+	background-color: #f7f8fd;
+}
+
+body, td, input, select, textarea
+{
+	font-size: 11px;
+	font-family: 'Microsoft Sans Serif' , Arial, Helvetica, Verdana;
+}
+
+body, .BackColor
+{
+	background-color: #f7f8fd;
+}
+
+.PopupBody
+{
+	margin: 0px;
+	padding: 0px;
+}
+
+.PopupTitle
+{
+	font-weight: bold;
+	font-size: 14pt;
+	color: #0e3460;
+	background-color: #8cb2fd;
+	padding: 3px 10px 3px 10px;
+}
+
+.PopupButtons
+{
+	border-top: #466ca6 1px solid;
+	background-color: #8cb2fd;
+	padding: 7px 10px 7px 10px;
+}
+
+.Button
+{
+	border: #1c3460 1px solid;
+	color: #000a28;
+	background-color: #7096d3;
+}
+
+.DarkBackground
+{
+	background-color: #d7d79f;
+}
+
+.LightBackground
+{
+	background-color: #ffffbe;
+}
+
+.PopupTitleBorder
+{
+	border-bottom: #d5d59d 1px solid;
+}
+
+.PopupTabArea
+{
+	color: #0e3460;
+	background-color: #8cb2fd;
+}
+
+.PopupTabEmptyArea
+{
+	padding-left: 10px ;
+	border-bottom: #466ca6 1px solid;
+}
+
+.PopupTab, .PopupTabSelected
+{
+	border-right: #466ca6 1px solid;
+	border-top: #466ca6 1px solid;
+	border-left: #466ca6 1px solid;
+	padding-right: 5px;
+	padding-left: 5px;
+	padding-bottom: 3px;
+	padding-top: 3px;
+	color: #0e3460;
+}
+
+.PopupTab
+{
+	margin-top: 1px;
+	border-bottom: #466ca6 1px solid;
+	cursor: pointer;
+	cursor: hand;
+}
+
+.PopupTabSelected
+{
+	font-weight:bold;
+	cursor: default;
+	padding-top: 4px;
+	border-bottom: #f7f8fd 1px solid;
+	background-color: #f7f8fd;
+}
+
+.PopupSelectionBox
+{
+	border: #1e90ff 1px solid;
+	background-color: #add8e6;
+	cursor: pointer;
+	cursor: hand;
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/fck_editor.css
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/fck_editor.css	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/fck_editor.css	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,143 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_editor.css
+ * 	Styles used by the editor IFRAME and Toolbar.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ * 		Aziz Oraij (aziz at oraij.com)
+ */
+
+/*
+	### Basic Editor IFRAME Styles.
+*/
+
+body
+{
+	padding: 1px 1px 1px 1px;
+	margin: 0px 0px 0px 0px;
+}
+
+#eWysiwygCell, .Source
+{
+	border: #696969 1px solid;
+}
+
+#eSourceField
+{
+	border: none;
+	padding: 5px;
+	font-family: Monospace;
+}
+
+/*
+	### Toolbar Styles
+*/
+
+.TB_ToolbarSet, .TB_Expand, .TB_Collapse
+{
+	background-color: #f7f8fd;
+}
+
+.TB_Toolbar
+{
+	background-color: #d6dff7;
+	background-image: url(images/toolbar.bg.gif);
+	background-repeat: repeat-x;
+}
+
+.TB_ExpandImg
+{
+	background-image: url(images/toolbar.expand.gif);
+	background-repeat: no-repeat;
+}
+
+.TB_CollapseImg
+{
+	background-image: url(images/toolbar.collapse.gif);
+	background-repeat: no-repeat;
+}
+
+.TB_ToolbarSet
+{
+	border-top: #efefde 1px outset;
+	border-bottom: #efefde 1px outset;
+}
+
+.TB_ToolbarSet, .TB_ToolbarSet *
+{
+	font-size: 11px;
+	cursor: default;
+	font-family: 'Microsoft Sans Serif' , Tahoma, Arial, Verdana, Sans-Serif;
+}
+
+.TB_SideBorder
+{
+	background-color: #696969;
+}
+
+.TB_Expand, .TB_Collapse
+{
+	padding: 2px 2px 2px 2px;
+	border: #efefde 1px outset;
+}
+
+.TB_Collapse
+{
+	border: #efefde 1px outset;
+	width: 5px;
+}
+
+.TB_Button_On, .TB_Button_Off, .TB_Button_Disabled, .TB_Combo_Off, .TB_Combo_Disabled
+{
+	border: #efefde 1px solid;
+	height: 21px;
+}
+
+.TB_Button_On
+{
+	border-color: #316ac5;
+	background-color: #c1d2ee;
+}
+
+.TB_Button_Off, .TB_Combo_Off
+{
+	filter: alpha(opacity=70);
+	-moz-opacity: 0.70;
+	background-color: #f7f8fd;
+}
+
+.TB_Button_Disabled, .TB_Combo_Disabled
+{
+	filter: gray() alpha(opacity=30);
+	-moz-opacity: 0.30;
+}
+
+.TB_Icon DIV
+{
+	width: 21px;
+	height: 21px;
+	background-position: 50% 50%;
+	background-repeat: no-repeat;
+}
+
+.TB_Text
+{
+	height: 21px;
+	padding-right: 5px;
+}
+
+.TB_Break
+{
+	height: 23px;
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/images/toolbar.arrowright.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/images/toolbar.arrowright.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/images/toolbar.bg.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/images/toolbar.bg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/images/toolbar.buttonarrow.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/images/toolbar.buttonarrow.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/images/toolbar.collapse.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/images/toolbar.collapse.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/images/toolbar.end.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/images/toolbar.end.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/images/toolbar.expand.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/images/toolbar.expand.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/images/toolbar.separator.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/images/toolbar.separator.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/images/toolbar.start.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/images/toolbar.start.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/about.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/about.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/anchor.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/anchor.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/bgcolor.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/bgcolor.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/bold.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/bold.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/bulletedlist.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/bulletedlist.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/button.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/button.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/checkbox.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/checkbox.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/copy.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/copy.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/cut.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/cut.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/docprops.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/docprops.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/find.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/find.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/flash.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/flash.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/fontstyleadv.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/fontstyleadv.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/form.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/form.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/hidden.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/hidden.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/hiddenfield.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/hiddenfield.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/image.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/image.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/imagebutton.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/imagebutton.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/indent.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/indent.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/input.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/input.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/inserthorizontalrule.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/inserthorizontalrule.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/insertorderedlist.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/insertorderedlist.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/insertunorderedlist.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/insertunorderedlist.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/italic.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/italic.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/justifycenter.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/justifycenter.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/justifyfull.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/justifyfull.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/justifyleft.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/justifyleft.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/justifyright.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/justifyright.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/link.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/link.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/mail.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/mail.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/new.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/new.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/newpage.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/newpage.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/numberedlist.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/numberedlist.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/open.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/open.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/outdent.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/outdent.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/pagebreak.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/pagebreak.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/paste.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/paste.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/pastetext.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/pastetext.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/pasteword.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/pasteword.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/preview.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/preview.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/print.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/print.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/radio.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/radio.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/redo.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/redo.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/removeformat.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/removeformat.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/replace.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/replace.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/save.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/save.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/select.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/select.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/selectall.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/selectall.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/showdetails.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/showdetails.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/showtableborders.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/showtableborders.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/smiley.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/smiley.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/source.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/source.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/specialchar.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/specialchar.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/spellcheck.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/spellcheck.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/strikethrough.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/strikethrough.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/subscript.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/subscript.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/superscript.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/superscript.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/table.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/table.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/tablecell.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/tablecell.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/tabledeletecells.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/tabledeletecells.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/tabledeletecolumns.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/tabledeletecolumns.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/tabledeleterows.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/tabledeleterows.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/tableinsertcell.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/tableinsertcell.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/tableinsertcolumn.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/tableinsertcolumn.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/tableinsertrow.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/tableinsertrow.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/tablemergecells.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/tablemergecells.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/tablesplitcell.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/tablesplitcell.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/templates.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/templates.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/textarea.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/textarea.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/textcolor.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/textcolor.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/textfield.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/textfield.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/underline.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/underline.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/undo.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/undo.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/universalkey.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/universalkey.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/unlink.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/unlink.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/unorderedlist.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/office2003/toolbar/unorderedlist.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/fck_contextmenu.css
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/fck_contextmenu.css	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/fck_contextmenu.css	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,247 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_contextmenu.css
+ * 	Styles used by the context menu.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+.CM_ContextMenu, .CM_ContextMenu *
+{
+	font-size: 11px;
+	font-family: 'Microsoft Sans Serif' , Tahoma, Arial, Verdana, Sans-Serif;
+}
+
+.CM_ContextMenu
+{
+	border: 1px solid #8f8f73;
+	padding: 2px;
+	background-color: #f7f7f7;
+}
+
+.CM_Option, .CM_Over, .CM_Disabled
+{
+	padding: 0px 3px;
+	height: 18px;
+	cursor: default;
+}
+
+.CM_Option, .CM_Over
+{
+	cursor: hand;
+}
+
+.CM_Option .CM_Icon, .CM_Disabled .CM_Icon, .CM_Separator .CM_Icon
+{
+	background-color: #dedede;
+}
+
+.CM_Option .CM_Icon IMG
+{
+	filter: alpha(opacity=70);
+	-moz-opacity: 0.70;
+}
+
+.CM_Disabled 
+{
+	background-color: #ffffff;
+}
+
+.CM_Disabled .CM_Icon IMG, .CM_Disabled .CM_Label
+{
+	filter: gray() alpha(opacity=30);
+	-moz-opacity: 0.30;
+}
+
+.CM_Option .CM_Label, .CM_Over .CM_Label
+{
+	padding: 1px 10px 1px 3px;
+}
+
+.CM_Over
+{
+	color: #ffffff;
+	background-color: #8a857d;
+}
+
+.CM_Over .CM_Icon
+{
+	background-color: #6c6761;
+}
+
+.CM_Separator TD
+{
+	height: 3px;
+}
+
+.CM_Separator .CM_Label DIV
+{
+	border-top: #b9b99d 1px solid;
+	margin-left: 2px;
+	margin-right: 3px;
+}
+
+/*
+	### Panel Styles
+*/
+
+.FCK_Panel
+{
+	border: #8f8f73 1px solid;
+	padding: 2px;
+	background-color: #ffffff;
+}
+
+.FCK_Panel, .FCK_Panel TD
+{
+	font-family: 'Microsoft Sans Serif', Tahoma, Arial, Verdana, Sans-Serif;
+	font-size: 11px;
+}
+
+/*
+	### Color Selector Panel
+*/
+
+.ColorBoxBorder
+{
+	border: #808080 1px solid;
+	position: static;
+}
+
+.ColorBox
+{
+	font-size: 1px;
+	width: 10px;
+	position: static;
+	height: 10px;
+}
+
+.ColorDeselected, .ColorSelected
+{
+	cursor: default;
+}
+
+.ColorDeselected
+{
+	border: #ffffff 1px solid;
+	padding: 2px;
+	float: left;
+}
+
+.ColorSelected
+{
+	border: #316ac5 1px solid;
+	padding: 2px;
+	float: left;
+	background-color: #c1d2ee;
+}
+
+/*
+	### Special Combos
+*/
+
+.SC_Panel
+{
+	overflow-y: auto;
+	white-space: nowrap;
+	cursor: default;
+}
+
+.SC_Item, .SC_ItemSelected
+{
+	margin-top: 2px;
+	margin-bottom: 2px;
+	background-position: left center;
+	padding-left: 11px;
+	padding-right: 3px;
+	padding-top: 2px;
+	padding-bottom: 2px;
+	text-overflow: ellipsis;
+	overflow: hidden;
+	width: 100%;
+	background-repeat: no-repeat;
+	border: #dddddd 1px solid;
+}
+
+.SC_Item *, .SC_ItemSelected *
+{
+	margin-top: 0px;
+	margin-bottom: 0px;
+}
+
+.SC_ItemSelected
+{
+	border: #9a9afb 1px solid;
+	background-image: url(images/toolbar.arrowright.gif);
+}
+
+.SC_ItemOver
+{
+	border: #316ac5 1px solid;
+}
+
+.SC_Field
+{
+	border: #b7b7a6 1px solid;
+	cursor: default;
+	margin-top: 4px ;
+}
+
+.SC_FieldCaption
+{
+	padding-top: 4px ;
+	overflow: visible;
+	padding-right: 5px;
+	padding-left: 5px;
+	filter: alpha(opacity=70);
+	-moz-opacity:0.75;
+	height: 23px;
+	background-color: #f7f7f7;
+}
+
+.SC_FieldLabel
+{
+	white-space: nowrap;
+	padding: 2px;
+	width: 100%;
+	cursor: default;
+	background-color: #ffffff;
+	text-overflow: ellipsis;
+	overflow: hidden;
+}
+
+.SC_FieldButton
+{
+	background-position: center center;
+	background-image: url(images/toolbar.buttonarrow.gif);
+	border-left: #b7b7a6 1px solid;
+	width: 14px;
+	background-repeat: no-repeat;
+}
+
+.SC_FieldDisabled .SC_FieldButton, .SC_FieldDisabled .SC_FieldCaption
+{
+	filter: gray() alpha(opacity=30);
+	-moz-opacity:0.30;
+}
+
+.SC_FieldOver
+{
+	border: #316ac5 1px solid;
+}
+
+.SC_FieldOver .SC_FieldButton
+{
+	border-left: #316ac5 1px solid;
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/fck_dialog.css
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/fck_dialog.css	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/fck_dialog.css	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,132 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_dialog.css
+ * 	Styles used by the dialog boxes.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+body
+{
+	margin: 0px;
+	padding: 10px;
+	background-color: #f7f7f7;
+}
+
+body, td, input, select, textarea
+{
+	font-size: 11px;
+	font-family: 'Microsoft Sans Serif' , Arial, Helvetica, Verdana;
+}
+
+body, .BackColor
+{
+	background-color: #f7f7f7;
+}
+
+.PopupBody
+{
+	margin: 0px;
+	padding: 0px;
+}
+
+.PopupTitle
+{
+	padding-right: 10px;
+	padding-left: 10px;
+	font-weight: bold;
+	font-size: 14pt;
+	padding-bottom: 3px;
+	color: #504845;
+	padding-top: 3px;
+	background-color: #dedede;
+}
+
+.PopupButtons
+{
+	border-top: #cec6b5 1px solid;
+	background-color: #DEDEDE;
+	padding: 7px 10px 7px 10px;
+}
+
+.Button
+{
+	border: #7a7261 1px solid;
+	color: #504845;
+	background-color: #cec6b5;
+}
+
+.DarkBackground
+{
+	background-color: #d7d79f;
+}
+
+.LightBackground
+{
+	background-color: #ffffbe;
+}
+
+.PopupTitleBorder
+{
+	border-bottom: #cec6b5 1px solid;
+}
+
+.PopupTabArea
+{
+	color: #504845;
+	background-color: #DEDEDE;
+}
+
+.PopupTabEmptyArea
+{
+	padding-left: 10px ;
+	border-bottom: #cec6b5 1px solid;
+}
+
+.PopupTab, .PopupTabSelected
+{
+	border-right: #cec6b5 1px solid;
+	border-top: #cec6b5 1px solid;
+	border-left: #cec6b5 1px solid;
+	padding-right: 5px;
+	padding-left: 5px;
+	padding-bottom: 3px;
+	padding-top: 3px;
+	color: #504845;
+}
+
+.PopupTab
+{
+	margin-top: 1px;
+	border-bottom: #cec6b5 1px solid;
+	cursor: pointer;
+	cursor: hand;
+}
+
+.PopupTabSelected
+{
+	font-weight:bold;
+	cursor: default;
+	padding-top: 4px;
+	border-bottom: #f1f1e3 1px solid;
+	background-color: #f7f7f7;
+}
+
+.PopupSelectionBox
+{
+	border: #a9a9a9 1px solid;
+	background-color: #dcdcdc;
+	cursor: pointer;
+	cursor: hand;
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/fck_editor.css
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/fck_editor.css	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/fck_editor.css	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,159 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fck_editor.css
+ * 	Styles used by the editor IFRAME and Toolbar.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ * 		gazou[Fr]
+ */
+
+/*
+	### Basic Editor IFRAME Styles.
+*/
+
+body
+{
+	padding: 1px 1px 1px 1px;
+	margin: 0px 0px 0px 0px;
+}
+
+#eWysiwygCell, .Source
+{
+	border: #696969 1px solid;
+}
+
+#eSourceField
+{
+	border: none;
+	padding: 5px;
+	font-family: Monospace;
+}
+
+/* 
+	### Toolbar Styles
+*/
+
+.TB_ToolbarSet, .TB_Expand, .TB_Collapse
+{
+	background-color: #f7f7f7;
+}
+
+.TB_End
+{
+	display: none;
+}
+
+.TB_ExpandImg
+{
+	background-image: url(images/toolbar.expand.gif);
+	background-repeat: no-repeat;
+}
+
+.TB_CollapseImg
+{
+	background-image: url(images/toolbar.collapse.gif);
+	background-repeat: no-repeat;
+}
+
+.TB_ToolbarSet
+{
+	padding: 1px;
+	border-top: #efefde 1px outset;
+	border-bottom: #efefde 1px outset;
+}
+
+.TB_ToolbarSet, .TB_ToolbarSet *
+{
+	font-size: 11px;
+	cursor: default;
+	font-family: 'Microsoft Sans Serif' , Tahoma, Arial, Verdana, Sans-Serif;
+}
+
+.TB_SideBorder
+{
+	background-color: #696969;
+}
+
+.TB_Expand, .TB_Collapse
+{
+	padding: 2px 2px 2px 2px;
+	border: #efefde 1px outset;
+}
+
+.TB_Collapse
+{
+	border: #efefde 1px outset;
+	width: 5px;
+}
+
+.TB_Button_On, .TB_Button_Off, .TB_Button_Disabled
+{
+	padding: 1px ;
+	margin: 1px ;
+	height: 21px;
+}
+
+.TB_Combo_Off, .TB_Combo_Disabled
+{
+	padding: 1px ;
+	margin: 2px ;
+	height: 21px;
+}
+
+.TB_Button_On, .TB_Button_Off, .TB_Button_Disabled
+{
+	border: #cec6b5 1px solid;
+}
+
+.TB_Button_On
+{
+	border-color: #316ac5;
+	background-color: #c1d2ee;
+}
+
+.TB_Button_Off
+{
+	background: #efefef url(images/toolbar.buttonbg.gif) repeat-x;
+}
+
+.TB_Button_Off, .TB_Combo_Off
+{
+	filter: alpha(opacity=70);
+	-moz-opacity: 0.70;
+}
+
+.TB_Button_Disabled, .TB_Combo_Disabled
+{
+	filter: gray() alpha(opacity=30);
+	-moz-opacity: 0.30;
+}
+
+.TB_Icon DIV
+{
+	width: 21px;
+	height: 21px;
+	background-position: 50% 50%;
+	background-repeat: no-repeat;
+}
+
+.TB_Text
+{
+	height: 21px;
+	padding-right: 5px;
+}
+
+.TB_Break
+{
+	height: 23px;
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/images/toolbar.arrowright.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/images/toolbar.arrowright.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/images/toolbar.buttonarrow.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/images/toolbar.buttonarrow.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/images/toolbar.buttonbg.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/images/toolbar.buttonbg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/images/toolbar.collapse.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/images/toolbar.collapse.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/images/toolbar.end.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/images/toolbar.end.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/images/toolbar.expand.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/images/toolbar.expand.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/images/toolbar.separator.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/images/toolbar.separator.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/images/toolbar.start.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/images/toolbar.start.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/about.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/about.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/anchor.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/anchor.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/bgcolor.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/bgcolor.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/bold.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/bold.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/bulletedlist.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/bulletedlist.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/button.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/button.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/checkbox.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/checkbox.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/copy.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/copy.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/cut.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/cut.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/docprops.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/docprops.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/find.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/find.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/flash.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/flash.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/form.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/form.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/hiddenfield.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/hiddenfield.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/image.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/image.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/imagebutton.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/imagebutton.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/indent.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/indent.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/inserthorizontalrule.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/inserthorizontalrule.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/insertorderedlist.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/insertorderedlist.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/insertunorderedlist.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/insertunorderedlist.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/italic.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/italic.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/justifycenter.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/justifycenter.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/justifyfull.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/justifyfull.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/justifyleft.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/justifyleft.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/justifyright.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/justifyright.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/link.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/link.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/newpage.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/newpage.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/numberedlist.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/numberedlist.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/outdent.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/outdent.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/pagebreak.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/pagebreak.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/paste.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/paste.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/pastetext.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/pastetext.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/pasteword.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/pasteword.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/preview.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/preview.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/print.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/print.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/radio.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/radio.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/redo.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/redo.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/removeformat.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/removeformat.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/replace.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/replace.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/save.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/save.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/select.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/select.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/selectall.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/selectall.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/showdetails.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/showdetails.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/showtableborders.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/showtableborders.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/smiley.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/smiley.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/source.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/source.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/specialchar.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/specialchar.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/spellcheck.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/spellcheck.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/strikethrough.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/strikethrough.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/subscript.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/subscript.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/superscript.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/superscript.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/table.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/table.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/tablecell.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/tablecell.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/tabledeletecells.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/tabledeletecells.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/tabledeletecolumns.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/tabledeletecolumns.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/tabledeleterows.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/tabledeleterows.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/tableinsertcell.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/tableinsertcell.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/tableinsertcolumn.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/tableinsertcolumn.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/tableinsertrow.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/tableinsertrow.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/tablemergecells.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/tablemergecells.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/tablesplitcell.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/tablesplitcell.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/templates.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/templates.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/textarea.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/textarea.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/textcolor.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/textcolor.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/textfield.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/textfield.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/underline.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/underline.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/undo.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/undo.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/universalkey.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/universalkey.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/unlink.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/unlink.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/unorderedlist.gif
===================================================================
(Binary files differ)


Property changes on: zope.html/trunk/src/zope/html/fckeditor/editor/skins/silver/toolbar/unorderedlist.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: zope.html/trunk/src/zope/html/fckeditor/fckconfig.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/fckconfig.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/fckconfig.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,177 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckconfig.js
+ * 	Editor configuration settings.
+ * 	See the documentation for more info.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+FCKConfig.CustomConfigurationsPath = '' ;
+
+FCKConfig.EditorAreaCSS = FCKConfig.BasePath + 'css/fck_editorarea.css' ;
+
+FCKConfig.DocType = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">' ;
+
+FCKConfig.BaseHref = '' ;
+
+FCKConfig.FullPage = false ;
+
+FCKConfig.Debug = false ;
+
+FCKConfig.SkinPath = FCKConfig.BasePath + 'skins/default/' ;
+
+FCKConfig.PluginsPath = FCKConfig.BasePath + 'plugins/' ;
+
+// FCKConfig.Plugins.Add( 'placeholder', 'en,it' ) ;
+
+FCKConfig.ProtectedSource.Add( /<script[\s\S]*?\/script>/gi ) ;	// <SCRIPT> tags.
+// FCKConfig.ProtectedSource.Add( /<%[\s\S]*?%>/g ) ;	// ASP style server side code <%...%>
+// FCKConfig.ProtectedSource.Add( /<\?[\s\S]*?\?>/g ) ;	// PHP style server side code <?...?>
+// FCKConfig.ProtectedSource.Add( /(<asp:[^\>]+>[\s|\S]*?<\/asp:[^\>]+>)|(<asp:[^\>]+\/>)/gi ) ;	// ASP.Net style tags <asp:control>
+
+FCKConfig.AutoDetectLanguage	= true ;
+FCKConfig.DefaultLanguage		= 'en' ;
+FCKConfig.ContentLangDirection	= 'ltr' ;
+
+FCKConfig.EnableXHTML		= true ;	// Unsupported: Do not change.
+FCKConfig.EnableSourceXHTML	= true ;	// Unsupported: Do not change.
+
+FCKConfig.ProcessHTMLEntities	= true ;
+FCKConfig.IncludeLatinEntities	= true ;
+FCKConfig.IncludeGreekEntities	= true ;
+
+FCKConfig.FillEmptyBlocks	= true ;
+
+FCKConfig.FormatSource		= true ;
+FCKConfig.FormatOutput		= true ;
+FCKConfig.FormatIndentator	= '    ' ;
+
+FCKConfig.ForceStrongEm = true ;
+FCKConfig.GeckoUseSPAN	= false ;
+FCKConfig.StartupFocus	= false ;
+FCKConfig.ForcePasteAsPlainText	= false ;
+FCKConfig.AutoDetectPasteFromWord = true ;	// IE only.
+FCKConfig.ForceSimpleAmpersand	= false ;
+FCKConfig.TabSpaces		= 0 ;
+FCKConfig.ShowBorders	= true ;
+FCKConfig.UseBROnCarriageReturn	= false ;
+FCKConfig.ToolbarStartExpanded	= true ;
+FCKConfig.ToolbarCanCollapse	= true ;
+FCKConfig.IEForceVScroll = false ;
+FCKConfig.IgnoreEmptyParagraphValue = true ;
+
+FCKConfig.ToolbarSets["Default"] = [
+	['Source','DocProps','-','Save','NewPage','Preview','-','Templates'],
+	['Cut','Copy','Paste','PasteText','PasteWord','-','Print','SpellCheck'],
+	['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],
+	['Bold','Italic','Underline','StrikeThrough','-','Subscript','Superscript'],
+	['OrderedList','UnorderedList','-','Outdent','Indent'],
+	['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'],
+	['Link','Unlink','Anchor'],
+	['Image','Flash','Table','Rule','Smiley','SpecialChar','PageBreak','UniversalKey'],
+	['Form','Checkbox','Radio','TextField','Textarea','Select','Button','ImageButton','HiddenField'],
+	'/',
+	['Style','FontFormat','FontName','FontSize'],
+	['TextColor','BGColor'],
+	['About']
+] ;
+
+FCKConfig.ToolbarSets["Basic"] = [
+	['Bold','Italic','-','OrderedList','UnorderedList','-','Link','Unlink','-','About']
+] ;
+
+FCKConfig.ContextMenu = ['Generic','Link','Anchor','Image','Flash','Select','Textarea','Checkbox','Radio','TextField','HiddenField','ImageButton','Button','BulletedList','NumberedList','TableCell','Table','Form'] ;
+
+FCKConfig.FontColors = '000000,993300,333300,003300,003366,000080,333399,333333,800000,FF6600,808000,808080,008080,0000FF,666699,808080,FF0000,FF9900,99CC00,339966,33CCCC,3366FF,800080,999999,FF00FF,FFCC00,FFFF00,00FF00,00FFFF,00CCFF,993366,C0C0C0,FF99CC,FFCC99,FFFF99,CCFFCC,CCFFFF,99CCFF,CC99FF,FFFFFF' ;
+
+FCKConfig.FontNames		= 'Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ;
+FCKConfig.FontSizes		= '1/xx-small;2/x-small;3/small;4/medium;5/large;6/x-large;7/xx-large' ;
+FCKConfig.FontFormats	= 'p;div;pre;address;h1;h2;h3;h4;h5;h6' ;
+
+FCKConfig.StylesXmlPath		= FCKConfig.EditorPath + 'fckstyles.xml' ;
+FCKConfig.TemplatesXmlPath	= FCKConfig.EditorPath + 'fcktemplates.xml' ;
+
+FCKConfig.SpellChecker			= 'ieSpell' ;	// 'ieSpell' | 'SpellerPages'
+FCKConfig.IeSpellDownloadUrl	= 'http://www.iespell.com/rel/ieSpellSetup211325.exe' ;
+
+FCKConfig.MaxUndoLevels = 15 ;
+
+FCKConfig.DisableImageHandles = false ;
+FCKConfig.DisableTableHandles = false ;
+
+FCKConfig.LinkDlgHideTarget		= false ;
+FCKConfig.LinkDlgHideAdvanced	= false ;
+
+FCKConfig.ImageDlgHideLink		= false ;
+FCKConfig.ImageDlgHideAdvanced	= false ;
+
+FCKConfig.FlashDlgHideAdvanced	= false ;
+
+FCKConfig.LinkBrowser = true ;
+FCKConfig.LinkBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Connector=connectors/asp/connector.asp' ;
+//FCKConfig.LinkBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Connector=connectors/asp/connector.asp&ServerPath=/CustomFiles/' ;
+// ASP.Net		// FCKConfig.LinkBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Connector=connectors/aspx/connector.aspx' ;
+// ColdFusion	// FCKConfig.LinkBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Connector=connectors/cfm/connector.cfm' ;
+// Perl			// FCKConfig.LinkBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Connector=connectors/perl/connector.cgi' ;
+// PHP			// FCKConfig.LinkBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Connector=connectors/php/connector.php' ;
+// PHP - mcpuk	// FCKConfig.LinkBrowserURL = FCKConfig.BasePath + 'filemanager/browser/mcpuk/browser.html?Connector=connectors/php/connector.php' ;
+FCKConfig.LinkBrowserWindowWidth	= FCKConfig.ScreenWidth * 0.7 ;	// 70%
+FCKConfig.LinkBrowserWindowHeight	= FCKConfig.ScreenHeight * 0.7 ;// 70%
+
+FCKConfig.ImageBrowser = true ;
+FCKConfig.ImageBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Type=Image&Connector=connectors/asp/connector.asp' ;
+// ASP.Net		// FCKConfig.ImageBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Type=Image&Connector=connectors/aspx/connector.aspx' ;
+// ColdFusion	// FCKConfig.ImageBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Type=Image&Connector=connectors/cfm/connector.cfm' ;
+// Perl			// FCKConfig.ImageBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Type=Image&Connector=connectors/perl/connector.cgi' ;
+// PHP			// FCKConfig.ImageBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Type=Image&Connector=connectors/php/connector.php' ;
+// PHP - mcpuk	// FCKConfig.ImageBrowserURL = FCKConfig.BasePath + 'filemanager/browser/mcpuk/browser.html?Type=Image&Connector=connectors/php/connector.php' ;
+FCKConfig.ImageBrowserWindowWidth  = FCKConfig.ScreenWidth * 0.7 ;	// 70% ;
+FCKConfig.ImageBrowserWindowHeight = FCKConfig.ScreenHeight * 0.7 ;	// 70% ;
+
+FCKConfig.FlashBrowser = true ;
+FCKConfig.FlashBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Type=Flash&Connector=connectors/asp/connector.asp' ;
+// ASP.Net		// FCKConfig.FlashBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Type=Flash&Connector=connectors/aspx/connector.aspx' ;
+// ColdFusion	// FCKConfig.FlashBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Type=Flash&Connector=connectors/cfm/connector.cfm' ;
+// Perl			// FCKConfig.FlashBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Type=Flash&Connector=connectors/perl/connector.cgi' ;
+// PHP			// FCKConfig.FlashBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Type=Flash&Connector=connectors/php/connector.php' ;
+// PHP - mcpuk	// FCKConfig.FlashBrowserURL = FCKConfig.BasePath + 'filemanager/browser/mcpuk/browser.html?Type=Flash&Connector=connectors/php/connector.php' ;
+FCKConfig.FlashBrowserWindowWidth  = FCKConfig.ScreenWidth * 0.7 ;	//70% ;
+FCKConfig.FlashBrowserWindowHeight = FCKConfig.ScreenHeight * 0.7 ;	//70% ;
+
+FCKConfig.LinkUpload = true ;
+FCKConfig.LinkUploadURL = FCKConfig.BasePath + 'filemanager/upload/asp/upload.asp' ;
+// PHP // FCKConfig.LinkUploadURL = FCKConfig.BasePath + 'filemanager/upload/php/upload.php' ;
+FCKConfig.LinkUploadAllowedExtensions	= "" ;			// empty for all
+FCKConfig.LinkUploadDeniedExtensions	= ".(php|php3|php5|phtml|asp|aspx|ascx|jsp|cfm|cfc|pl|bat|exe|dll|reg|cgi)$" ;	// empty for no one
+
+FCKConfig.ImageUpload = true ;
+FCKConfig.ImageUploadURL = FCKConfig.BasePath + 'filemanager/upload/asp/upload.asp?Type=Image' ;
+// PHP // FCKConfig.ImageUploadURL = FCKConfig.BasePath + 'filemanager/upload/php/upload.php?Type=Image' ;
+FCKConfig.ImageUploadAllowedExtensions	= ".(jpg|gif|jpeg|png)$" ;		// empty for all
+FCKConfig.ImageUploadDeniedExtensions	= "" ;							// empty for no one
+
+FCKConfig.FlashUpload = true ;
+FCKConfig.FlashUploadURL = FCKConfig.BasePath + 'filemanager/upload/asp/upload.asp?Type=Flash' ;
+// PHP // FCKConfig.FlashUploadURL = FCKConfig.BasePath + 'filemanager/upload/php/upload.php?Type=Flash' ;
+FCKConfig.FlashUploadAllowedExtensions	= ".(swf|fla)$" ;		// empty for all
+FCKConfig.FlashUploadDeniedExtensions	= "" ;					// empty for no one
+
+FCKConfig.SmileyPath	= FCKConfig.BasePath + 'images/smiley/msn/' ;
+FCKConfig.SmileyImages	= ['regular_smile.gif','sad_smile.gif','wink_smile.gif','teeth_smile.gif','confused_smile.gif','tounge_smile.gif','embaressed_smile.gif','omg_smile.gif','whatchutalkingabout_smile.gif','angry_smile.gif','angel_smile.gif','shades_smile.gif','devil_smile.gif','cry_smile.gif','lightbulb.gif','thumbs_down.gif','thumbs_up.gif','heart.gif','broken_heart.gif','kiss.gif','envelope.gif'] ;
+FCKConfig.SmileyColumns = 8 ;
+FCKConfig.SmileyWindowWidth		= 320 ;
+FCKConfig.SmileyWindowHeight	= 240 ;
+
+if( window.console ) window.console.log( 'Config is loaded!' ) ;	// @Packager.Compactor.RemoveLine
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/fckeditor.afp
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/fckeditor.afp	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/fckeditor.afp	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,143 @@
+<% 
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2004 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * File Name: sampleposteddata.afp
+ * 	This page lists the data posted by a form.
+ * 
+ * Version:  1.0 
+ * Modified: 2005-07-01
+ * 
+ * File Authors: Soenke Freitag (www.afp-hosting.de)
+ * 		
+
+DEFINE CLASS goFckeditor AS CONTAINER OLEPUBLIC
+
+	cInstanceName =""
+	BasePath =""
+	cWIDTH =""
+	cHEIGHT =""
+	ToolbarSet =""
+	cValue=""
+	DIMENSION aConfig(10,2)
+
+&& -----------------------------------------------------------------------
+	FUNCTION fckeditor( tcInstanceName )
+		LOCAL lnLoop,lnLoop2
+		THIS.cInstanceName	= tcInstanceName
+		THIS.BasePath	= '/FCKeditor/'
+		THIS.cWIDTH		= '100%'
+		THIS.cHEIGHT	= '200'
+		THIS.ToolbarSet	= 'Default'
+		THIS.cValue		= ''
+		FOR lnLoop=1 TO 10
+			FOR lnLoop2=1 TO 2
+				THIS.aConfig(lnLoop,lnLoop2)	= ""
+			NEXT
+		NEXT
+		RETURN
+	ENDFUNC
+
+
+&& -----------------------------------------------------------------------
+	FUNCTION CREATE()
+		? THIS.CreateHtml()
+		RETURN
+	ENDFUNC
+
+&& -----------------------------------------------------------------------
+	FUNCTION CreateHtml()
+		LOCAL html
+		LOCAL lcLink
+
+		HtmlValue = THIS.cValue		&& HTMLSPECIALCHARS()
+
+		html = [<div>]
+		IF THIS.IsCompatible()
+			lcLink = THIS.BasePath+[editor/fckeditor.html?InstanceName=]+THIS.cInstanceName
+
+			IF ( THIS.ToolbarSet # '' )
+				lcLink = lcLink + [Toolbar=]+THIS.ToolbarSet
+			ENDIF
+
+			&& Render the LINKED HIDDEN FIELD.
+			html = html + [<input type="hidden" id="]+THIS.cInstanceName +[" name="]+THIS.cInstanceName +[" value="]+HtmlValue+[">]
+
+			&& Render the configurations HIDDEN FIELD.
+			html = html + [<input type="hidden" id="]+THIS.cInstanceName +[___Config" value="]+THIS.GetConfigFieldString() + [">] +CHR(13)+CHR(10)
+
+			&& Render the EDITOR IFRAME.
+			html = html + [<iframe id="]+THIS.cInstanceName +[___Frame" src="Link" width="]+THIS.cWIDTH+[" height="]+THIS.cHEIGHT+[" frameborder="no" scrolling="no"></iframe>]
+		ELSE
+			IF ( AT("%", THIS.cWIDTH)=0 )
+				WidthCSS = THIS.cWIDTH + 'px'
+			ELSE
+				WidthCSS = THIS.cWIDTH
+			ENDIF
+
+			IF ( AT("%",THIS.cHEIGHT)=0  )
+				HeightCSS = THIS.cHEIGHT + 'px'
+			ELSE
+				HeightCSS = THIS.cHEIGHT
+			ENDIF
+
+			html = html + [<textarea name="]+THIS.cInstanceName +[" rows="4" cols="40" style="width: ]+WidthCSS+[ height: ]+HeightCSS+[" wrap="virtual">]+HtmlValue+[</textarea>]
+		ENDIF
+
+		html = html + [</div>]
+
+		RETURN (html)
+	ENDFUNC
+
+
+&& -----------------------------------------------------------------------
+	FUNCTION IsCompatible()
+		LOCAL llRetval
+		LOCAL sAgent
+
+		llRetval=.F.
+
+
+		sAgent = LOWER(ALLTRIM(request.servervariables("HTTP_USER_AGENT")))
+
+		IF AT("msie",sAgent) >0 .AND. AT("mac",sAgent)=0 .AND. AT("opera",sAgent)=0
+			iVersion=VAL(SUBSTR(sAgent,AT("msie",sAgent)+5,3))
+			llRetval= iVersion > 5.5
+		ELSE
+			IF AT("gecko",sAgent)>0
+				iVersion=VAL(SUBSTR(sAgent,AT("gecko/",sAgent)+6,8))
+				llRetval =iVersion > 20030210
+			ENDIF
+		ENDIF
+		RETURN (llRetval)
+	ENDFUNC
+
+&& -----------------------------------------------------------------------
+	FUNCTION GetConfigFieldString()
+		LOCAL sParams
+		LOCAL bFirst
+		LOCAL sKey
+		sParams = ""
+		bFirst = .T.
+		FOR lnLoop=1 TO 10 && ALEN(this.aconfig)
+			IF !EMPTY(THIS.aConfig(lnLoop,1))
+				IF bFirst = .F.
+					sParams = sParams + "&"
+				ELSE
+					bFirst = .F.
+				ENDIF
+				sParams = sParams +THIS.aConfig(lnLoop,1)+[=]+THIS.aConfig(lnLoop,2)
+			ELSE
+				EXIT
+			ENDIF
+		NEXT
+		RETURN(sParams)
+	ENDFUNC
+ENDDEFINE
+%>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/fckeditor.asp
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/fckeditor.asp	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/fckeditor.asp	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,192 @@
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckeditor.asp
+ * 	This is the integration file for ASP.
+ * 
+ * 	It defines the FCKeditor class that can be used to create editor
+ * 	instances in ASP pages on server side.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<%
+Class FCKeditor
+
+	private sBasePath
+	private sInstanceName
+	private sWidth
+	private sHeight
+	private sToolbarSet
+	private sValue
+
+	private oConfig
+
+	Private Sub Class_Initialize()
+		sBasePath		= "/FCKeditor/"
+		sWidth			= "100%"
+		sHeight			= "200"
+		sToolbarSet		= "Default"
+		sValue			= ""
+
+		Set oConfig = CreateObject("Scripting.Dictionary")
+	End Sub
+
+	Public Property Let BasePath( basePathValue )
+		sBasePath = basePathValue
+	End Property
+
+	Public Property Let InstanceName( instanceNameValue )
+		sInstanceName = instanceNameValue
+	End Property
+
+	Public Property Let Width( widthValue )
+		sWidth = widthValue
+	End Property
+
+	Public Property Let Height( heightValue )
+		sHeight = heightValue
+	End Property
+
+	Public Property Let ToolbarSet( toolbarSetValue )
+		sToolbarSet = toolbarSetValue
+	End Property
+
+	Public Property Let Value( newValue )
+		If ( IsNull( newValue ) OR IsEmpty( newValue ) ) Then
+			sValue = ""
+		Else
+			sValue = newValue
+		End If
+	End Property
+
+	Public Property Let Config( configKey, configValue )
+		oConfig.Add configKey, configValue
+	End Property
+
+	Public Function Create( instanceName )
+
+		Response.Write "<div>"
+
+		If IsCompatible() Then
+
+			Dim sFile
+			If Request.QueryString( "fcksource" ) = "true" Then
+				sFile = "fckeditor.original.html"
+			Else
+				sFile = "fckeditor.html"
+			End If
+
+			Dim sLink
+			sLink = sBasePath & "editor/" & sFile & "?InstanceName=" + instanceName
+
+			If (sToolbarSet & "") <> "" Then
+				sLink = sLink + "&amp;Toolbar=" & sToolbarSet
+			End If
+
+			' Render the linked hidden field.
+			Response.Write "<input type=""hidden"" id=""" & instanceName & """ name=""" & instanceName & """ value=""" & Server.HTMLEncode( sValue ) & """ />"
+
+			' Render the configurations hidden field.
+			Response.Write "<input type=""hidden"" id=""" & instanceName & "___Config"" value=""" & GetConfigFieldString() & """ />"
+
+			' Render the editor IFRAME.
+			Response.Write "<iframe id=""" & instanceName & "___Frame"" src=""" & sLink & """ width=""" & sWidth & """ height=""" & sHeight & """ frameborder=""no"" scrolling=""no""></iframe>"
+
+		Else
+
+			Dim sWidthCSS, sHeightCSS
+
+			If InStr( sWidth, "%" ) > 0  Then
+				sWidthCSS = sWidth
+			Else
+				sWidthCSS = sWidth & "px"
+			End If
+
+			If InStr( sHeight, "%" ) > 0  Then
+				sHeightCSS = sHeight
+			Else
+				sHeightCSS = sHeight & "px"
+			End If
+
+			Response.Write "<textarea name=""" & instanceName & """ rows=""4"" cols=""40"" style=""width: " & sWidthCSS & "; height: " & sHeightCSS & """ wrap=""virtual"">" & Server.HTMLEncode( sValue ) & "</textarea>"
+
+		End If
+
+		Response.Write "</div>"
+
+	End Function
+
+	Private Function IsCompatible()
+
+		Dim sAgent
+		sAgent = Request.ServerVariables("HTTP_USER_AGENT")
+
+		Dim iVersion
+
+		If InStr(sAgent, "MSIE") > 0 AND InStr(sAgent, "mac") <= 0  AND InStr(sAgent, "Opera") <= 0 Then
+			iVersion = CInt( ToNumericFormat( Mid(sAgent, InStr(sAgent, "MSIE") + 5, 3) ) )
+			IsCompatible = ( iVersion >= 5.5 )
+		ElseIf InStr(sAgent, "Gecko/") > 0 Then
+			iVersion = CLng( Mid( sAgent, InStr( sAgent, "Gecko/" ) + 6, 8 ) )
+			IsCompatible = ( iVersion >= 20030210 )
+		Else
+			IsCompatible = False
+		End If
+
+	End Function
+
+	' By Agrotic
+	' On ASP, when converting string to numbers, the number decimal separator is localized
+	' so 5.5 will not work on systems were the separator is "," and vice versa.
+	Private Function ToNumericFormat( numberStr )
+
+		If IsNumeric( "5.5" ) Then
+			ToNumericFormat = Replace( numberStr, ",", ".")
+		Else
+			ToNumericFormat = Replace( numberStr, ".", ",")
+		End If
+
+	End Function
+
+	Private Function GetConfigFieldString()
+
+		Dim sParams
+
+		Dim bFirst
+		bFirst = True
+
+		Dim sKey
+		For Each sKey in oConfig
+
+			If bFirst = False Then
+				sParams = sParams & "&amp;"
+			Else
+				bFirst = False
+			End If
+
+			sParams = sParams & EncodeConfig( sKey ) & "=" & EncodeConfig( oConfig(sKey) )
+
+		Next
+
+		GetConfigFieldString = sParams
+
+	End Function
+	
+	Private Function EncodeConfig( valueToEncode )
+		EncodeConfig = Replace( valueToEncode, "&", "%26" )
+		EncodeConfig = Replace( EncodeConfig , "=", "%3D" )
+		EncodeConfig = Replace( EncodeConfig , """", "%22" )
+	End Function
+
+End Class
+%>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/fckeditor.cfc
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/fckeditor.cfc	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/fckeditor.cfc	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,213 @@
+<cfcomponent output="false" displayname="FCKeditor" hint="Create an instance of the FCKeditor.">
+<!--- @Packager.Header
+<FileDescription>
+	ColdFusion MX integration. 
+	Note this CFC is created for use only with Coldfusion MX and above.
+	For older version, check the fckeditor.cfm.
+
+	Syntax: 
+
+	&lt;cfscript&gt;
+			fckEditor = createObject("component", "fckEditorV2/fckeditor");
+			fckEditor.instanceName="myEditor";
+			fckEditor.basePath="/fckEditorV2/";
+			fckEditor.value="This is my &lt;strong&gt;initial&lt;/strong&gt; html text.";
+			fckEditor.width="100%";
+			fckEditor.height="200";
+		 	// ... additional parameters ...
+			fckEditor.create(); // create instance now.
+	&lt;/cfscript&gt;
+
+	See your macromedia coldfusion mx documentation for more info.
+
+	*** Note: 
+	Do not use path names with a "." (dot) in the name. This is a coldfusion 
+	limitation with the cfc invocation.
+</FileDescription>
+<Author name="Hendrik Kramer" email="hk at lwd.de" />
+--->
+<cffunction 
+	name="create" 
+	access="public" 
+	output="true" 
+	returntype="void" 
+	hint="Initialize the FCKeditor instance."
+>
+
+	<cfparam name="this.instanceName" type="string" />
+	<cfparam name="this.width" type="string" default="100%" />
+	<cfparam name="this.height" type="string" default="200" />
+	<cfparam name="this.toolbarSet" type="string" default="Default" />
+	<cfparam name="this.value" type="string" default="" />
+	<cfparam name="this.basePath" type="string" default="/fckeditor/" />
+	<cfparam name="this.checkBrowser" type="boolean" default="true" />
+	<cfparam name="this.config" type="struct" default="#structNew()#" />
+
+	<cfscript>
+	// display the html editor or a plain textarea?
+	if( isCompatible() )
+		showHTMLEditor();
+	else
+		showTextArea();
+	</cfscript>
+
+</cffunction>
+
+<cffunction
+	name="isCompatible"
+	access="private"
+	output="false"
+	returnType="boolean"
+	hint="Check browser compatibility via HTTP_USER_AGENT, if checkBrowser is true"
+>
+
+	<cfscript>
+	var sAgent = lCase( cgi.HTTP_USER_AGENT );
+	var stResult = "";
+	var sBrowserVersion = "";
+
+	// do not check if argument "checkBrowser" is false
+	if( not this.checkBrowser )
+		return true;
+
+	// check for Internet Explorer ( >= 5.5 )
+	if( find( "msie", sAgent ) and not find( "mac", sAgent ) and not find( "opera", sAgent ) )
+	{
+		// try to extract IE version
+		stResult = reFind( "msie ([5-9]\.[0-9])", sAgent, 1, true );
+		if( arrayLen( stResult.pos ) eq 2 )
+		{
+			// get IE Version
+			sBrowserVersion = mid( sAgent, stResult.pos[2], stResult.len[2] );
+			return ( sBrowserVersion GTE 5.5 );
+		}
+	}
+	// check for Gecko ( >= 20030210+ )
+	else if( find( "gecko/", sAgent ) )
+	{
+		// try to extract Gecko version date
+		stResult = reFind( "gecko/(200[3-9][0-1][0-9][0-3][0-9])", sAgent, 1, true );
+		if( arrayLen( stResult.pos ) eq 2 )
+		{
+			// get Gecko build (i18n date)
+			sBrowserVersion = mid( sAgent, stResult.pos[2], stResult.len[2] );
+			return ( sBrowserVersion GTE 20030210 );
+		}
+	}
+
+	return false;
+	</cfscript>
+</cffunction>
+
+<cffunction
+	name="showTextArea"
+	access="private"
+	output="true"
+	returnType="void"
+	hint="Create a textarea field for non-compatible browsers."
+>
+
+	<cfscript>
+	// append unit "px" for numeric width and/or height values
+	if( isNumeric( this.width ) )
+		this.width = this.width & "px";
+	if( isNumeric( this.height ) )
+		this.height = this.height & "px";
+	</cfscript>
+
+	<cfoutput>
+	<div>
+	<textarea name="#this.instanceName#" rows="4" cols="40" style="WIDTH: #width#; HEIGHT: #height#" wrap="virtual">#HTMLEditFormat(this.value)#</textarea>
+	</div>
+	</cfoutput>
+
+</cffunction>
+
+<cffunction
+	name="showHTMLEditor"
+	access="private"
+	output="true"
+	returnType="void"
+	hint="Create the html editor instance for compatible browsers."
+>
+	
+	<cfscript>
+	var sURL = "";
+	
+	// try to fix the basePath, if ending slash is missing
+	if( len( this.basePath) and right( this.basePath, 1 ) is not "/" )
+		this.basePath = this.basePath & "/";
+
+	// construct the url
+	sURL = this.basePath & "editor/fckeditor.html?InstanceName=" & this.instanceName;
+
+	// append toolbarset name to the url
+	if( len( this.toolbarSet ) )
+		sURL = sURL & "&amp;Toolbar=" & this.toolbarSet;
+	</cfscript>
+
+	<cfoutput>
+	<div>
+	<input type="hidden" id="#this.instanceName#" name="#this.instanceName#" value="#HTMLEditFormat(this.value)#" />
+	<input type="hidden" id="#this.instanceName#___Config" value="#GetConfigFieldString()#" />
+	<iframe id="#this.instanceName#___Frame" src="#sURL#" width="#this.width#" height="#this.height#" frameborder="no" scrolling="no"></iframe>
+	</div>
+	</cfoutput>
+
+</cffunction>
+
+<cffunction
+	name="GetConfigFieldString"
+	access="private"
+	output="false"
+	returnType="string"
+	hint="Create configuration string: Key1=Value1&Key2=Value2&... (Key/Value:HTML encoded)"
+>
+
+	<cfscript>
+	var sParams = "";
+	var key = "";
+	var fieldValue = "";
+	var fieldLabel = "";
+	var lConfigKeys = "";
+	var iPos = "";
+	
+	/**
+	 * CFML doesn't store casesensitive names for structure keys, but the configuration names must be casesensitive for js.
+	 * So we need to find out the correct case for the configuration keys.
+	 * We "fix" this by comparing the caseless configuration keys to a list of all available configuration options in the correct case.
+	 * changed 20041206 hk at lwd.de (improvements are welcome!)
+	 */
+	lConfigKeys = lConfigKeys & "CustomConfigurationsPath,EditorAreaCSS,DocType,BaseHref,FullPage,Debug,SkinPath,PluginsPath,AutoDetectLanguage,DefaultLanguage,ContentLangDirection,EnableXHTML,EnableSourceXHTML,ProcessHTMLEntities,IncludeLatinEntities,IncludeGreekEntities";
+	lConfigKeys = lConfigKeys & ",FillEmptyBlocks,FormatSource,FormatOutput,FormatIndentator,GeckoUseSPAN,StartupFocus,ForcePasteAsPlainText,ForceSimpleAmpersand,TabSpaces,ShowBorders,UseBROnCarriageReturn";
+	lConfigKeys = lConfigKeys & ",ToolbarStartExpanded,ToolbarCanCollapse,ToolbarSets,ContextMenu,FontColors,FontNames,FontSizes,FontFormats,StylesXmlPath,SpellChecker,IeSpellDownloadUrl,MaxUndoLevels";
+	lConfigKeys = lConfigKeys & ",LinkBrowser,LinkBrowserURL,LinkBrowserWindowWidth,LinkBrowserWindowHeight";
+	lConfigKeys = lConfigKeys & ",LinkUpload,LinkUploadURL,LinkUploadWindowWidth,LinkUploadWindowHeight,LinkUploadAllowedExtensions,LinkUploadDeniedExtensions";
+	lConfigKeys = lConfigKeys & ",ImageBrowser,ImageBrowserURL,ImageBrowserWindowWidth,ImageBrowserWindowHeight,SmileyPath,SmileyImages,SmileyColumns,SmileyWindowWidth,SmileyWindowHeight";
+	
+	for( key in this.config )
+	{
+		iPos = listFindNoCase( lConfigKeys, key );
+		if( iPos GT 0 )
+		{
+			if( len( sParams ) )
+				sParams = sParams & "&amp;";
+
+			fieldValue = this.config[key];
+			fieldName = listGetAt( lConfigKeys, iPos );
+			
+			// set all boolean possibilities in CFML to true/false values
+			if( isBoolean( fieldValue) and fieldValue )
+				fieldValue = "true";
+			else if( isBoolean( fieldValue) )
+				fieldValue = "false";
+		
+			sParams = sParams & HTMLEditFormat( fieldName ) & '=' & HTMLEditFormat( fieldValue );
+		}
+	}
+	return sParams;
+	</cfscript>
+
+</cffunction>
+
+</cfcomponent>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/fckeditor.cfm
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/fckeditor.cfm	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/fckeditor.cfm	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,161 @@
+<cfsetting enablecfoutputonly="Yes">
+<!--- @Packager.Header
+<FileDescription>
+	ColdFusion integration. 
+	Note this module is created for use with Coldfusion 4.52 and above.
+	For a cfc version for coldfusion mx check the fckeditor.cfc.
+
+	Syntax: 
+
+	&lt;cfmodule name="path/to/cfc/fckeditor" 
+		instanceName="myEditor"
+		toolbarSet="..."
+		width="..."
+		height="..:"
+		value="..."
+		config="..." 
+	&gt;
+</FileDescription>
+<Author name="Hendrik Kramer" email="hk at lwd.de" />
+<Author name="Mark Woods" email="mark at thickpaddy.com" />
+--->
+<!--- ::
+	 * 	Attribute validation
+	:: --->
+<cfparam name="attributes.instanceName" type="string">
+<cfparam name="attributes.width" 		type="string" default="100%">
+<cfparam name="attributes.height" 		type="string" default="200">
+<cfparam name="attributes.toolbarSet" 	type="string" default="Default">
+<cfparam name="attributes.value" 		type="string" default="">
+<cfparam name="attributes.basePath" 	type="string" default="/fckeditor/">
+<cfparam name="attributes.checkBrowser" type="boolean" default="true">
+<cfparam name="attributes.config" 		type="struct" default="#structNew()#">
+
+<!--- ::
+	 * check browser compatibility via HTTP_USER_AGENT, if checkBrowser is true
+	:: --->
+	
+<cfscript>
+if( attributes.checkBrowser )
+{
+	sAgent = lCase( cgi.HTTP_USER_AGENT );
+	isCompatibleBrowser = false;
+
+	// check for Internet Explorer ( >= 5.5 )
+	if( find( "msie", sAgent ) and not find( "mac", sAgent ) and not find( "opera", sAgent ) )
+	{
+		// try to extract IE version
+		stResult = reFind( "msie ([5-9]\.[0-9])", sAgent, 1, true );
+		if( arrayLen( stResult.pos ) eq 2 )
+		{
+			// get IE Version
+			sBrowserVersion = mid( sAgent, stResult.pos[2], stResult.len[2] );
+			if( sBrowserVersion GTE 5.5 )
+				isCompatibleBrowser = true;
+		}
+	}
+	// check for Gecko ( >= 20030210+ )
+	else if( find( "gecko/", sAgent ) )
+	{
+		// try to extract Gecko version date
+		stResult = reFind( "gecko/(200[3-9][0-1][0-9][0-3][0-9])", sAgent, 1, true );
+		if( arrayLen( stResult.pos ) eq 2 )
+		{
+			// get Gecko build (i18n date)
+			sBrowserVersion = mid( sAgent, stResult.pos[2], stResult.len[2] );
+			if( sBrowserVersion GTE 20030210 )
+				isCompatibleBrowser = true;
+		}
+	}
+}
+else
+{
+	// If we should not check browser compatibility, assume true
+	isCompatibleBrowser = true;
+}
+</cfscript>
+
+<cfif isCompatibleBrowser>
+
+	<!--- ::
+		 * show html editor area for compatible browser
+		:: --->
+
+	<cfscript>
+		// try to fix the basePath, if ending slash is missing
+		if( len( attributes.basePath) and right( attributes.basePath, 1 ) is not "/" )
+			attributes.basePath = attributes.basePath & "/";
+
+		// construct the url
+		sURL = attributes.basePath & "editor/fckeditor.html?InstanceName=" & attributes.instanceName;
+
+		// append toolbarset name to the url
+		if( len( attributes.toolbarSet ) )
+			sURL = sURL & "&amp;Toolbar=" & attributes.toolbarSet;
+
+		// create configuration string: Key1=Value1&Key2=Value2&... (Key/Value:HTML encoded)
+
+		/**
+		 * CFML doesn't store casesensitive names for structure keys, but the configuration names must be casesensitive for js. 
+		 * So we need to find out the correct case for the configuration keys.
+		 * We "fix" this by comparing the caseless configuration keys to a list of all available configuration options in the correct case.
+		 * changed 20041206 hk at lwd.de (improvements are welcome!)
+		 */
+		lConfigKeys = "";
+		lConfigKeys = lConfigKeys & "CustomConfigurationsPath,EditorAreaCSS,DocType,BaseHref,FullPage,Debug,SkinPath,PluginsPath,AutoDetectLanguage,DefaultLanguage,ContentLangDirection,EnableXHTML,EnableSourceXHTML,ProcessHTMLEntities,IncludeLatinEntities,IncludeGreekEntities";
+		lConfigKeys = lConfigKeys & ",FillEmptyBlocks,FormatSource,FormatOutput,FormatIndentator,GeckoUseSPAN,StartupFocus,ForcePasteAsPlainText,ForceSimpleAmpersand,TabSpaces,ShowBorders,UseBROnCarriageReturn";
+		lConfigKeys = lConfigKeys & ",ToolbarStartExpanded,ToolbarCanCollapse,ToolbarSets,ContextMenu,FontColors,FontNames,FontSizes,FontFormats,StylesXmlPath,SpellChecker,IeSpellDownloadUrl,MaxUndoLevels";
+		lConfigKeys = lConfigKeys & ",LinkBrowser,LinkBrowserURL,LinkBrowserWindowWidth,LinkBrowserWindowHeight";
+		lConfigKeys = lConfigKeys & ",LinkUpload,LinkUploadURL,LinkUploadWindowWidth,LinkUploadWindowHeight,LinkUploadAllowedExtensions,LinkUploadDeniedExtensions";
+		lConfigKeys = lConfigKeys & ",ImageBrowser,ImageBrowserURL,ImageBrowserWindowWidth,ImageBrowserWindowHeight,SmileyPath,SmileyImages,SmileyColumns,SmileyWindowWidth,SmileyWindowHeight";
+		
+		sConfig = "";
+		
+		for( key in attributes.config )
+		{
+			iPos = listFindNoCase( lConfigKeys, key );
+			if( iPos GT 0 )
+			{
+				if( len( sConfig ) )
+					sConfig = sConfig & "&amp;";
+	
+				fieldValue = attributes.config[key];
+				fieldName = listGetAt( lConfigKeys, iPos );
+				
+				sConfig = sConfig & urlEncodedFormat( fieldName ) & '=' & urlEncodedFormat( fieldValue );
+			}
+		}
+	</cfscript>
+
+	<cfoutput>
+	<div>
+	<input type="hidden" id="#attributes.instanceName#" name="#attributes.instanceName#" value="#HTMLEditFormat(attributes.value)#" />
+	<input type="hidden" id="#attributes.instanceName#___Config" value="#sConfig#" />
+	<iframe id="#attributes.instanceName#___Frame" src="#sURL#" width="#attributes.width#" height="#attributes.height#" frameborder="no" scrolling="no"></iframe>
+	</div>
+	</cfoutput>
+
+<cfelse>
+
+	<!--- ::
+		 * show	plain textarea for non compatible browser
+		:: --->
+
+	<cfscript>
+		// append unit "px" for numeric width and/or height values
+		if( isNumeric( attributes.width ) )
+			attributes.width = attributes.width & "px";
+		if( isNumeric( attributes.height ) )
+			attributes.height = attributes.height & "px";
+	</cfscript>
+
+	<!--- Fixed Bug ##1075166. hk at lwd.de 20041206 --->
+	<cfoutput>
+	<div>
+	<textarea name="#attributes.instanceName#" rows="4" cols="40" style="WIDTH: #attributes.width#; HEIGHT: #attributes.height#" wrap="virtual">#HTMLEditFormat(attributes.value)#</textarea>
+	</div>
+	</cfoutput>	
+
+</cfif>
+
+<cfsetting enablecfoutputonly="No"><cfexit method="exittag">
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/fckeditor.js
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/fckeditor.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/fckeditor.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,175 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckeditor.js
+ * 	This is the integration file for JavaScript.
+ * 
+ * 	It defines the FCKeditor class that can be used to create editor
+ * 	instances in a HTML page in the client side. For server side
+ * 	operations, use the specific integration system.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+// FCKeditor Class
+var FCKeditor = function( instanceName, width, height, toolbarSet, value )
+{
+	// Properties
+	this.InstanceName	= instanceName ;
+	this.Width			= width			|| '100%' ;
+	this.Height			= height		|| '200' ;
+	this.ToolbarSet		= toolbarSet	|| 'Default' ;
+	this.Value			= value			|| '' ;
+	this.BasePath		= '/fckeditor/' ;
+	this.CheckBrowser	= true ;
+	this.DisplayErrors	= true ;
+	this.EnableSafari	= false ;		// This is a temporary property, while Safari support is under development.
+
+	this.Config			= new Object() ;
+
+	// Events
+	this.OnError		= null ;	// function( source, errorNumber, errorDescription )
+}
+
+FCKeditor.prototype.Create = function()
+{
+	// Check for errors
+	if ( !this.InstanceName || this.InstanceName.length == 0 )
+	{
+		this._ThrowError( 701, 'You must specify a instance name.' ) ;
+		return ;
+	}
+
+	document.write( '<div>' ) ;
+
+	if ( !this.CheckBrowser || this._IsCompatibleBrowser() )
+	{
+		document.write( '<input type="hidden" id="' + this.InstanceName + '" name="' + this.InstanceName + '" value="' + this._HTMLEncode( this.Value ) + '" />' ) ;
+		document.write( this._GetConfigHtml() ) ;
+		document.write( this._GetIFrameHtml() ) ;
+	}
+	else
+	{
+		var sWidth  = this.Width.toString().indexOf('%')  > 0 ? this.Width  : this.Width  + 'px' ;
+		var sHeight = this.Height.toString().indexOf('%') > 0 ? this.Height : this.Height + 'px' ;
+		document.write('<textarea name="' + this.InstanceName + '" rows="4" cols="40" style="WIDTH: ' + sWidth + '; HEIGHT: ' + sHeight + '" wrap="virtual">' + this._HTMLEncode( this.Value ) + '<\/textarea>') ;
+	}
+
+	document.write( '</div>' ) ;
+}
+
+FCKeditor.prototype.ReplaceTextarea = function()
+{
+	if ( !this.CheckBrowser || this._IsCompatibleBrowser() )
+	{
+		var oTextarea = document.getElementById( this.InstanceName ) ;
+		
+		if ( !oTextarea )
+			oTextarea = document.getElementsByName( this.InstanceName )[0] ;
+		
+		if ( !oTextarea || oTextarea.tagName != 'TEXTAREA' )
+		{
+			alert( 'Error: The TEXTAREA id "' + this.InstanceName + '" was not found' ) ;
+			return ;
+		}
+
+		oTextarea.style.display = 'none' ;
+		this._InsertHtmlBefore( this._GetConfigHtml(), oTextarea ) ;
+		this._InsertHtmlBefore( this._GetIFrameHtml(), oTextarea ) ;
+	}
+}
+
+FCKeditor.prototype._InsertHtmlBefore = function( html, element )
+{
+	if ( element.insertAdjacentHTML )	// IE
+		element.insertAdjacentHTML( 'beforeBegin', html ) ;
+	else								// Gecko
+	{
+		var oRange = document.createRange() ;
+		oRange.setStartBefore( element ) ;
+		var oFragment = oRange.createContextualFragment( html );
+		element.parentNode.insertBefore( oFragment, element ) ;
+	}
+}
+
+FCKeditor.prototype._GetConfigHtml = function()
+{
+	var sConfig = '' ;
+	for ( var o in this.Config )
+	{
+		if ( sConfig.length > 0 ) sConfig += '&amp;' ;
+		sConfig += escape(o) + '=' + escape( this.Config[o] ) ;
+	}
+
+	return '<input type="hidden" id="' + this.InstanceName + '___Config" value="' + sConfig + '" />' ;
+}
+
+FCKeditor.prototype._GetIFrameHtml = function()
+{
+	var sFile = (/fcksource=true/i).test( window.top.location.search ) ? 'fckeditor.original.html' : 'fckeditor.html' ;
+
+	var sLink = this.BasePath + 'editor/' + sFile + '?InstanceName=' + this.InstanceName ;
+	if (this.ToolbarSet) sLink += '&Toolbar=' + this.ToolbarSet ;
+
+	return '<iframe id="' + this.InstanceName + '___Frame" src="' + sLink + '" width="' + this.Width + '" height="' + this.Height + '" frameborder="no" scrolling="no"></iframe>' ;
+}
+
+FCKeditor.prototype._IsCompatibleBrowser = function()
+{
+	var sAgent = navigator.userAgent.toLowerCase() ;
+
+	// Internet Explorer
+	if ( sAgent.indexOf("msie") != -1 && sAgent.indexOf("mac") == -1 && sAgent.indexOf("opera") == -1 )
+	{
+		var sBrowserVersion = navigator.appVersion.match(/MSIE (.\..)/)[1] ;
+		return ( sBrowserVersion >= 5.5 ) ;
+	}
+	// Gecko
+	else if ( navigator.product == "Gecko" && navigator.productSub >= 20030210 )
+		return true ;
+	// Safari
+	else if ( this.EnableSafari && sAgent.indexOf( 'safari' ) != -1 )
+		return ( sAgent.match( /safari\/(\d+)/ )[1] >= 312 ) ;	// Build must be at least 312 (1.3)
+	else
+		return false ;
+}
+
+FCKeditor.prototype._ThrowError = function( errorNumber, errorDescription )
+{
+	this.ErrorNumber		= errorNumber ;
+	this.ErrorDescription	= errorDescription ;
+
+	if ( this.DisplayErrors )
+	{
+		document.write( '<div style="COLOR: #ff0000">' ) ;
+		document.write( '[ FCKeditor Error ' + this.ErrorNumber + ': ' + this.ErrorDescription + ' ]' ) ;
+		document.write( '</div>' ) ;
+	}
+
+	if ( typeof( this.OnError ) == 'function' )
+		this.OnError( this, errorNumber, errorDescription ) ;
+}
+
+FCKeditor.prototype._HTMLEncode = function( text )
+{
+	if ( typeof( text ) != "string" )
+		text = text.toString() ;
+
+	text = text.replace(/&/g, "&amp;") ;
+	text = text.replace(/"/g, "&quot;") ;
+	text = text.replace(/</g, "&lt;") ;
+	text = text.replace(/>/g, "&gt;") ;
+	text = text.replace(/'/g, "&#39;") ;
+
+	return text ;
+}
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/fckeditor.lasso
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/fckeditor.lasso	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/fckeditor.lasso	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,100 @@
+[//lasso
+/*
+ 
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ 
+ * 		http://www.fckeditor.net/
+ * 
+ * File Name: fckeditor.lasso
+ * 	This is the integration file for Lasso.
+ * 	
+ * 	It defines the FCKeditor class ("custom type" in Lasso terms) 
+ *		that can be used to create editor instances in Lasso pages on server side.
+ * 
+ * File Authors:
+ * 		Jason Huck (jason.huck at corefive.com)
+ 
+ */
+
+
+
+	define_type(
+		'editor', 
+		-namespace='fck_', 
+		-description='Creates an instance of FCKEditor.'
+	);
+		local(
+			'instancename'	=	'FCKEditor1',
+			'width'			=	'100%',
+			'height'		=	'200',
+			'toolbarset'	=	'Default',
+			'initialvalue'	=	string,
+			'basepath'		=	'/fckeditor/',
+			'config'		=	array,
+			'checkbrowser'	=	true,
+			'displayerrors'	=	false
+		);
+	
+		define_tag(
+			'onCreate',
+			-required='instancename', -type='string',
+			-optional='width', -type='string',
+			-optional='height', -type='string',
+			-optional='toolbarset', -type='string',
+			-optional='initialvalue', -type='string',
+			-optional='basepath', -type='string',
+			-optional='config', -type='array'
+		);			
+			self->instancename = #instancename;
+			local_defined('width') ? self->width = #width;
+			local_defined('height') ? self->height = #height;
+			local_defined('toolbarset') ? self->toolbarset = #toolbarset;
+			local_defined('initialvalue') ? self->initialvalue = #initialvalue;
+			local_defined('basepath') ? self->basepath = #basepath;
+			local_defined('config') ? self->config = #config;
+		/define_tag;
+		
+		define_tag('create');
+			if(self->isCompatibleBrowser);
+				local('out' = '
+					<div>
+						<input type="hidden" id="' + self->instancename + '" name="' + self->instancename + '" value="' + encode_html(self->initialvalue) + '">
+						' + self->parseConfig + '
+						<iframe id="' + self->instancename + '___Frame" src="' + self->basepath + 'editor/fckeditor.html?InstanceName=' + self->instancename + '&Toolbar=' + self->toolbarset + '" width="' + self->width + '" height="' + self->height + '" frameborder="no" scrolling="no"></iframe>
+					</div>
+				');
+			else;
+				local('out' = '
+					<div>
+						<textarea name="' + self->instancename + '" rows="4" cols="40" style="width: ' + self->width + '; height: ' + self->height + '" wrap="virtual">' + encode_html(self->initialvalue) + '</textarea>
+					</div>	
+				');
+			/if;		
+			return(@#out);
+		/define_tag;
+		
+		define_tag('isCompatibleBrowser');
+			local('result' = true);		
+			(client_browser >> 'Apple' || client_browser >> 'Opera' || client_browser >> 'KHTML') ? #result = false;		
+			return(#result);
+		/define_tag;
+		
+		define_tag('parseConfig');
+			if(self->config->size);
+				local('out' = '<input type="hidden" id="' + self->instancename + '___Config" value="');			
+				iterate(self->config, local('this'));
+					loop_count > 1 ? #out += '&amp;';			
+					#out += encode_html(#this->first) + '=' + encode_html(#this->second);
+				/iterate;			
+				#out += '">\n';			
+				return(@#out);
+			/if;
+		/define_tag;
+	/define_type;	
+]

Added: zope.html/trunk/src/zope/html/fckeditor/fckeditor.php
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/fckeditor.php	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/fckeditor.php	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,162 @@
+<?php 
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckeditor.php
+ * 	This is the integration file for PHP.
+ * 	
+ * 	It defines the FCKeditor class that can be used to create editor
+ * 	instances in PHP pages on server side.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+ */
+
+class FCKeditor
+{
+	var $InstanceName ;
+	var $BasePath ;
+	var $Width ;
+	var $Height ;
+	var $ToolbarSet ;
+	var $Value ;
+	var $Config ;
+
+	// PHP 5 Constructor (by Marcus Bointon <coolbru at users.sourceforge.net>)
+	function __construct( $instanceName )
+ 	{
+		$this->InstanceName	= $instanceName ;
+		$this->BasePath		= '/FCKeditor/' ;
+		$this->Width		= '100%' ;
+		$this->Height		= '200' ;
+		$this->ToolbarSet	= 'Default' ;
+		$this->Value		= '' ;
+
+		$this->Config		= array() ;
+	}
+	
+	// PHP 4 Contructor
+	function FCKeditor( $instanceName )
+	{
+		$this->__construct( $instanceName ) ;
+	}
+
+	function Create()
+	{
+		echo $this->CreateHtml() ;
+	}
+	
+	function CreateHtml()
+	{
+		$HtmlValue = htmlspecialchars( $this->Value ) ;
+
+		$Html = '<div>' ;
+		
+		if ( $this->IsCompatible() )
+		{
+			if ( isset( $_GET['fcksource'] ) && $_GET['fcksource'] == "true" )
+				$File = 'fckeditor.original.html' ;
+			else
+				$File = 'fckeditor.html' ;
+
+			$Link = "{$this->BasePath}editor/{$File}?InstanceName={$this->InstanceName}" ;
+			
+			if ( $this->ToolbarSet != '' )
+				$Link .= "&amp;Toolbar={$this->ToolbarSet}" ;
+
+			// Render the linked hidden field.
+			$Html .= "<input type=\"hidden\" id=\"{$this->InstanceName}\" name=\"{$this->InstanceName}\" value=\"{$HtmlValue}\" />" ;
+
+			// Render the configurations hidden field.
+			$Html .= "<input type=\"hidden\" id=\"{$this->InstanceName}___Config\" value=\"" . $this->GetConfigFieldString() . "\" />" ;
+
+			// Render the editor IFRAME.
+			$Html .= "<iframe id=\"{$this->InstanceName}___Frame\" src=\"{$Link}\" width=\"{$this->Width}\" height=\"{$this->Height}\" frameborder=\"no\" scrolling=\"no\"></iframe>" ;
+		}
+		else
+		{
+			if ( strpos( $this->Width, '%' ) === false )
+				$WidthCSS = $this->Width . 'px' ;
+			else
+				$WidthCSS = $this->Width ;
+
+			if ( strpos( $this->Height, '%' ) === false )
+				$HeightCSS = $this->Height . 'px' ;
+			else
+				$HeightCSS = $this->Height ;
+
+			$Html .= "<textarea name=\"{$this->InstanceName}\" rows=\"4\" cols=\"40\" style=\"width: {$WidthCSS}; height: {$HeightCSS}\" wrap=\"virtual\">{$HtmlValue}</textarea>" ;
+		}
+
+		$Html .= '</div>' ;
+		
+		return $Html ;
+	}
+
+	function IsCompatible()
+	{
+		global $HTTP_USER_AGENT ;
+
+		if ( isset( $HTTP_USER_AGENT ) )
+			$sAgent = $HTTP_USER_AGENT ;
+		else
+			$sAgent = $_SERVER['HTTP_USER_AGENT'] ;
+
+		if ( strpos($sAgent, 'MSIE') !== false && strpos($sAgent, 'mac') === false && strpos($sAgent, 'Opera') === false )
+		{
+			$iVersion = (float)substr($sAgent, strpos($sAgent, 'MSIE') + 5, 3) ;
+			return ($iVersion >= 5.5) ;
+		}
+		else if ( strpos($sAgent, 'Gecko/') !== false )
+		{
+			$iVersion = (int)substr($sAgent, strpos($sAgent, 'Gecko/') + 6, 8) ;
+			return ($iVersion >= 20030210) ;
+		}
+		else
+			return false ;
+	}
+
+	function GetConfigFieldString()
+	{
+		$sParams = '' ;
+		$bFirst = true ;
+
+		foreach ( $this->Config as $sKey => $sValue )
+		{
+			if ( $bFirst == false )
+				$sParams .= '&amp;' ;
+			else
+				$bFirst = false ;
+			
+			if ( $sValue === true )
+				$sParams .= $this->EncodeConfig( $sKey ) . '=true' ;
+			else if ( $sValue === false )
+				$sParams .= $this->EncodeConfig( $sKey ) . '=false' ;
+			else
+				$sParams .= $this->EncodeConfig( $sKey ) . '=' . $this->EncodeConfig( $sValue ) ;
+		}
+		
+		return $sParams ;
+	}
+
+	function EncodeConfig( $valueToEncode )
+	{
+		$chars = array( 
+			'&' => '%26', 
+			'=' => '%3D', 
+			'"' => '%22' ) ;
+
+		return strtr( $valueToEncode,  $chars ) ;
+	}
+}
+
+?>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/fckeditor.pl
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/fckeditor.pl	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/fckeditor.pl	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,135 @@
+#####
+#  FCKeditor - The text editor for internet
+#  Copyright (C) 2003-2005 Frederico Caldeira Knabben
+#  
+#  Licensed under the terms of the GNU Lesser General Public License:
+#  		http://www.opensource.org/licenses/lgpl-license.php
+#  
+#  For further information visit:
+#  		http://www.fckeditor.net/
+#  
+#  "Support Open Source software. What about a donation today?"
+#  
+#  File Name: fckeditor.pl
+#  	This is the integration file for Perl.
+#  
+#  File Authors:
+#  		Takashi Yamaguchi (jack at omakase.net)
+#####
+
+#my $InstanceName;
+#my $BasePath;
+#my $Width;
+#my $Height;
+#my $ToolbarSet;
+#my $Value;
+#my %Config;
+
+sub FCKeditor
+{
+
+	local($instanceName) = @_;
+	$InstanceName	= $instanceName;
+	$BasePath		= '/FCKeditor/';
+	$Width			= '100%';
+	$Height			= '200';
+	$ToolbarSet		= 'Default';
+	$Value			= '';
+}
+
+sub Create
+{
+	print &CreateHtml();
+}
+
+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 CreateHtml
+{
+
+	$HtmlValue = &specialchar_cnv($Value);
+	$Html = '<div>' ;
+	if(&IsCompatible()) {
+		$Link = $BasePath . "editor/fckeditor.html?InstanceName=$InstanceName";
+		if($ToolbarSet ne '') {
+			$Link .= "&amp;Toolbar=$ToolbarSet";
+		}
+		#// Render the linked hidden field.
+		$Html .= "<input type=\"hidden\" id=\"$InstanceName\" name=\"$InstanceName\" value=\"$HtmlValue\" />" ;
+
+		#// Render the configurations hidden field.
+		$cfgstr = &GetConfigFieldString();
+		$wk = $InstanceName."___Config";
+		$Html .= "<input type=\"hidden\" id=\"$wk\" value=\"$cfgstr\" />" ;
+
+		#// Render the editor IFRAME.
+		$wk = $InstanceName."___Frame";
+		$Html .= "<iframe id=\"$wk\" src=\"$Link\" width=\"$Width\" height=\"$Height\" frameborder=\"no\" scrolling=\"no\"></iframe>";
+	} else {
+		if($Width =~ /\%/g){
+			$WidthCSS = $Width;
+		} else {
+			$WidthCSS = $Width . 'px';
+		}
+		if($Height =~ /\%/g){
+			$HeightCSS = $Height;
+		} else {
+			$HeightCSS = $Height . 'px';
+		}
+		$Html .= "<textarea name=\"$InstanceName\" rows=\"4\" cols=\"40\" style=\"width: $WidthCSS; height: $HeightCSS\" wrap=\"virtual\">$HtmlValue</textarea>";
+	}
+	$Html .= '</div>';
+	return($Html);
+}
+
+sub IsCompatible
+{
+
+	$sAgent = $ENV{'HTTP_USER_AGENT'};
+	if(($sAgent =~ /MSIE/i) && !($sAgent =~ /mac/i) && !($sAgent =~ /Opera/i)) {
+		$iVersion = substr($sAgent,index($sAgent,'MSIE') + 5,3);
+		return($iVersion >= 5.5) ;
+	} elsif($sAgent =~ /Gecko\//i) {
+		$iVersion = substr($sAgent,index($sAgent,'Gecko/') + 6,8);
+		return($iVersion >= 20030210) ;
+	} else {
+		return(0);		# 2.0 PR fix
+	}
+}
+
+sub GetConfigFieldString
+{
+	$sParams = '';
+	$bFirst = 0;
+	foreach $sKey (keys %Config) {
+		$sValue = $Config{$sKey};
+		if($bFirst == 1) {
+			$sParams .= '&amp;';
+		} else {
+			$bFirst = 1;
+		}
+		$k = &specialchar_cnv($sKey);
+		$v = &specialchar_cnv($sValue);
+		if($sValue eq "true") {
+			$sParams .= "$k=true";
+		} elsif($sValue eq "false") {
+			$sParams .= "$k=false";
+		} else {
+			$sParams .= "$k=$v";
+		}
+	}
+	return($sParams);
+}
+
+1;

Added: zope.html/trunk/src/zope/html/fckeditor/fckstyles.xml
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/fckstyles.xml	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/fckstyles.xml	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!--
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2005 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fckstyles.xml
+ * 	This is the sample style definitions file. It makes the styles combo
+ * 	completely customizable.
+ * 	See FCKConfig.StylesXmlPath in the configuration file.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck at fckeditor.net)
+-->
+<Styles>
+	<Style name="Image on Left" element="img">
+		<Attribute name="style" value="padding: 5px; margin-right: 5px" />
+		<Attribute name="border" value="2" />
+		<Attribute name="align" value="left" />
+	</Style>
+	<Style name="Image on Right" element="img">
+		<Attribute name="style" value="padding: 5px; margin-left: 5px" />
+		<Attribute name="border" value="2" />
+		<Attribute name="align" value="right" />
+	</Style>
+	<Style name="Custom Bold" element="span">
+		<Attribute name="style" value="font-weight: bold;" />
+	</Style>
+	<Style name="Custom Italic" element="em" />
+	<Style name="Title" element="span">
+		<Attribute name="class" value="Title" />
+	</Style>
+	<Style name="Code" element="span">
+		<Attribute name="class" value="Code" />
+	</Style>
+	<Style name="Title H3" element="h3" />
+	<Style name="Custom Ruler" element="hr">
+		<Attribute name="size" value="1" />
+		<Attribute name="color" value="#ff0000" />
+	</Style>
+</Styles>
\ No newline at end of file

Added: zope.html/trunk/src/zope/html/fckeditor/fcktemplates.xml
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/fcktemplates.xml	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/fcktemplates.xml	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<Templates imagesBasePath="fck_template/images/">
+	<Template title="Image and Title" image="template1.gif">
+		<Description>One main image with a title and text that surround the image.</Description>
+		<Html>
+			<![CDATA[
+				<img style="MARGIN-RIGHT: 10px" height="100" alt="" width="100" align="left"/>
+				<h3>Type the title here</h3>
+				Type the text here
+			]]>
+		</Html>
+	</Template>
+	<Template title="Strange Template" image="template2.gif">
+		<Description>A template that defines two colums, each one with a title, and some text.</Description>
+		<Html>
+			<![CDATA[
+				<table cellspacing="0" cellpadding="0" width="100%" border="0">
+					<tbody>
+						<tr>
+							<td width="50%">
+							<h3>Title 1</h3>
+							</td>
+							<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </td>
+							<td width="50%">
+							<h3>Title 2</h3>
+							</td>
+						</tr>
+						<tr>
+							<td>Text 1</td>
+							<td>&nbsp;</td>
+							<td>Text 2</td>
+						</tr>
+					</tbody>
+				</table>
+				More text goes here.
+			]]>
+		</Html>
+	</Template>
+	<Template title="Text and Table" image="template3.gif">
+		<Description>A title with some text and a table.</Description>
+		<Html>
+			<![CDATA[
+				<table align="left" width="80%" border="0" cellspacing="0" cellpadding="0"><tr><td>
+					<h3>Title goes here</h3>
+					<p>
+					<table style="FLOAT: right" cellspacing="0" cellpadding="0" width="150" border="1">
+						<tbody>
+							<tr>
+								<td align="center" colspan="3"><strong>Table title</strong></td>
+							</tr>
+							<tr>
+								<td>&nbsp;</td>
+								<td>&nbsp;</td>
+								<td>&nbsp;</td>
+							</tr>
+							<tr>
+								<td>&nbsp;</td>
+								<td>&nbsp;</td>
+								<td>&nbsp;</td>
+							</tr>
+							<tr>
+								<td>&nbsp;</td>
+								<td>&nbsp;</td>
+								<td>&nbsp;</td>
+							</tr>
+							<tr>
+								<td>&nbsp;</td>
+								<td>&nbsp;</td>
+								<td>&nbsp;</td>
+							</tr>
+						</tbody>
+					</table>
+					Type the text here</p>
+				</td></tr></table>
+			]]>
+		</Html>
+	</Template>
+</Templates>

Added: zope.html/trunk/src/zope/html/fckeditor/htaccess.txt
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/htaccess.txt	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/htaccess.txt	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,29 @@
+#
+# FCKeditor - The text editor for internet
+# Copyright (C) 2003-2005 Frederico Caldeira Knabben
+# 
+# Licensed under the terms of the GNU Lesser General Public License:
+# 		http://www.opensource.org/licenses/lgpl-license.php
+# 
+# For further information visit:
+# 		http://www.fckeditor.net/
+# 
+# "Support Open Source software. What about a donation today?"
+#
+# ----------------------------------------------------------------------------- 
+#
+# On some specific Linux installations you could face problems with Firefox. 
+# It could give you errors when loading the editor saying that some illegal
+# characters were found (three strange chars in the beginning of the file).
+# This could happen if you map the .js or .css files to PHP, for example.
+#
+# Those characters are the Byte Order Mask (BOM) of the Unicode encoded files.
+# All FCKeditor files are encoded with Unicode.
+#
+# Just rename this file to ".htaccess" and live it in the editor directory. 
+# There are no security issues on doing it. It just set the ".js" and ".css" 
+# files to their correct type.
+#
+
+AddType application/x-javascript .js
+AddType text/css .css
\ No newline at end of file


Property changes on: zope.html/trunk/src/zope/html/fckeditor/htaccess.txt
___________________________________________________________________
Name: svn:eol-style
   + native

Added: zope.html/trunk/src/zope/html/fckeditor/license.txt
===================================================================
--- zope.html/trunk/src/zope/html/fckeditor/license.txt	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/fckeditor/license.txt	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,458 @@
+		  GNU LESSER GENERAL PUBLIC LICENSE
+		       Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL.  It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+  This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it.  You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+  When we speak of free software, we are referring to freedom of use,
+not price.  Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+  To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights.  These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+  For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you.  You must make sure that they, too, receive or can get the source
+code.  If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it.  And you must show them these terms so they know their rights.
+
+  We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+  To protect each distributor, we want to make it very clear that
+there is no warranty for the free library.  Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+  Finally, software patents pose a constant threat to the existence of
+any free program.  We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder.  Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+  Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License.  This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License.  We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+  When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library.  The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom.  The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+  We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License.  It also provides other free software developers Less
+of an advantage over competing non-free programs.  These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries.  However, the Lesser license provides advantages in certain
+special circumstances.
+
+  For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard.  To achieve this, non-free programs must be
+allowed to use the library.  A more frequent case is that a free
+library does the same job as widely used non-free libraries.  In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+  In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software.  For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+  Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.  Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library".  The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+		  GNU LESSER GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+  A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+  The "Library", below, refers to any such software library or work
+which has been distributed under these terms.  A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language.  (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+  "Source code" for a work means the preferred form of the work for
+making modifications to it.  For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+  Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it).  Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+  1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+  You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+  2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) The modified work must itself be a software library.
+
+    b) You must cause the files modified to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    c) You must cause the whole of the work to be licensed at no
+    charge to all third parties under the terms of this License.
+
+    d) If a facility in the modified Library refers to a function or a
+    table of data to be supplied by an application program that uses
+    the facility, other than as an argument passed when the facility
+    is invoked, then you must make a good faith effort to ensure that,
+    in the event an application does not supply such function or
+    table, the facility still operates, and performs whatever part of
+    its purpose remains meaningful.
+
+    (For example, a function in a library to compute square roots has
+    a purpose that is entirely well-defined independent of the
+    application.  Therefore, Subsection 2d requires that any
+    application-supplied function or table used by this function must
+    be optional: if the application does not supply it, the square
+    root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library.  To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License.  (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.)  Do not make any other change in
+these notices.
+
+  Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+  This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+  4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+  If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library".  Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+  However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library".  The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+  When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library.  The
+threshold for this to be true is not precisely defined by law.
+
+  If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work.  (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+  Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+  6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+  You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License.  You must supply a copy of this License.  If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License.  Also, you must do one
+of these things:
+
+    a) Accompany the work with the complete corresponding
+    machine-readable source code for the Library including whatever
+    changes were used in the work (which must be distributed under
+    Sections 1 and 2 above); and, if the work is an executable linked
+    with the Library, with the complete machine-readable "work that
+    uses the Library", as object code and/or source code, so that the
+    user can modify the Library and then relink to produce a modified
+    executable containing the modified Library.  (It is understood
+    that the user who changes the contents of definitions files in the
+    Library will not necessarily be able to recompile the application
+    to use the modified definitions.)
+
+    b) Use a suitable shared library mechanism for linking with the
+    Library.  A suitable mechanism is one that (1) uses at run time a
+    copy of the library already present on the user's computer system,
+    rather than copying library functions into the executable, and (2)
+    will operate properly with a modified version of the library, if
+    the user installs one, as long as the modified version is
+    interface-compatible with the version that the work was made with.
+
+    c) Accompany the work with a written offer, valid for at
+    least three years, to give the same user the materials
+    specified in Subsection 6a, above, for a charge no more
+    than the cost of performing this distribution.
+
+    d) If distribution of the work is made by offering access to copy
+    from a designated place, offer equivalent access to copy the above
+    specified materials from the same place.
+
+    e) Verify that the user has already received a copy of these
+    materials or that you have already sent this user a copy.
+
+  For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it.  However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+  It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system.  Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+  7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+    a) Accompany the combined library with a copy of the same work
+    based on the Library, uncombined with any other library
+    facilities.  This must be distributed under the terms of the
+    Sections above.
+
+    b) Give prominent notice with the combined library of the fact
+    that part of it is a work based on the Library, and explaining
+    where to find the accompanying uncombined form of the same work.
+
+  8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License.  Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License.  However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+  9. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Library or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+  10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+  11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded.  In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+  13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation.  If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+  14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission.  For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this.  Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+			    NO WARRANTY
+
+  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+		     END OF TERMS AND CONDITIONS


Property changes on: zope.html/trunk/src/zope/html/fckeditor/license.txt
___________________________________________________________________
Name: svn:eol-style
   + native

Added: zope.html/trunk/src/zope/html/field.py
===================================================================
--- zope.html/trunk/src/zope/html/field.py	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/field.py	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,86 @@
+"""Interfaces and fields for HTML/XHTML documents.
+
+"""
+__docformat__ = "reStructuredText"
+
+import zope.interface
+import zope.schema
+import zope.schema.interfaces
+
+
+class IHtmlTextField(zope.schema.interfaces.IText):
+    """Text that contains HTML markup.
+
+    This is an abstract interface.  Only the concrete derived
+    interfaces should be used for actual field definitions.
+
+    """
+
+
+class IHtmlDocumentField(IHtmlTextField):
+    """HTML document field.
+
+    This is for fields that represent complete HTML documents,
+    including the document head as well as the body.
+
+    """
+
+
+class IHtmlFragmentField(IHtmlTextField):
+    """HTML fragment field.
+
+    This is for fields that represent pieces of HTML that can be
+    composed to create complete documents.  This field implies no
+    specifics about what portion of an HTML document is represented,
+    but it must be internally well-formed.
+
+    """
+
+
+class IXhtmlTextField(zope.schema.interfaces.IText):
+    """Text that contains XHTML markup.
+
+    This is an abstract interface.  Only the concrete derived
+    interfaces should be used for actual field definitions.
+
+    """
+
+
+class IXhtmlDocumentField(IXhtmlTextField):
+    """XHTML document field.
+
+    This is for fields that represent complete XHTML documents,
+    including the document head as well as the body.
+
+    """
+
+
+class IXhtmlFragmentField(IXhtmlTextField):
+    """XHTML fragment field.
+
+    This is for fields that represent pieces of XHTML that can be
+    composed to create complete documents.  This field implies no
+    specifics about what portion of an HTML document is represented,
+    but it must be internally well-formed.
+
+    """
+
+
+class HtmlDocument(zope.schema.Text):
+
+    zope.interface.implements(IHtmlDocumentField)
+
+
+class HtmlFragment(zope.schema.Text):
+
+    zope.interface.implements(IHtmlFragmentField)
+
+
+class XhtmlDocument(zope.schema.Text):
+
+    zope.interface.implements(IXhtmlDocumentField)
+
+
+class XhtmlFragment(zope.schema.Text):
+
+    zope.interface.implements(IXhtmlFragmentField)

Added: zope.html/trunk/src/zope/html/ftesting.zcml
===================================================================
--- zope.html/trunk/src/zope/html/ftesting.zcml	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/ftesting.zcml	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,46 @@
+<configure 
+    xmlns="http://namespaces.zope.org/zope"
+    xmlns:browser="http://namespaces.zope.org/browser"
+    i18n_domain="zope"
+    package="zope.html"
+    >
+
+  <!-- This file is the equivalent of site.zcml and it is -->
+  <!-- used for functional testing setup -->
+
+  <include package="zope.app" />
+  <include package="zope.app.debugskin" />
+  <include package="zope.app.server" />
+  <include package="zope.app.authentication" />
+
+  <authenticatedGroup
+    id="zope.Authenticated"
+    title="Everybody" 
+    />
+
+  <unauthenticatedPrincipal
+      id="zope.anybody"
+      title="Unauthenticated User" />
+
+  <!-- Principal that tests generally run as -->
+  <principal
+      id="zope.user"
+      title="User"
+      login="user"
+      password="userpw" />
+
+  <include package="zope.formlib"/>
+  <include package="zope.mimetype" file="meta.zcml"/>
+  <include package="zope.mimetype"/>
+  <include package="zope.file"/>
+  <include package="zc.resourcelibrary" file="meta.zcml"/>
+  <include package="zc.resourcelibrary"/>
+  <include package="zope.html"/>
+
+  <securityPolicy
+      component="zope.security.simplepolicies.PermissiveSecurityPolicy"
+      />
+
+  <adapter factory=".ntests.requestToTZInfo"/>
+
+</configure>

Added: zope.html/trunk/src/zope/html/i18n.py
===================================================================
--- zope.html/trunk/src/zope/html/i18n.py	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/i18n.py	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,19 @@
+"""Internationalization support for zope.html.
+
+This defines a `MessageFactory` for the I18N domain for the zope.html
+package.  This is normally used with this import::
+
+  from i18n import _
+
+The factory is then used normally.  Two examples::
+
+  text = _('some internationalized text')
+  text = _('helpful-descriptive-message-id', 'default text')
+
+"""
+__docformat__ = "reStructuredText"
+
+import zope.i18nmessageid
+
+
+_ = zope.i18nmessageid.MessageFactory("zope.html")

Added: zope.html/trunk/src/zope/html/interfaces.py
===================================================================
--- zope.html/trunk/src/zope/html/interfaces.py	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/interfaces.py	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,21 @@
+"""Interfaces for zope.html.
+
+"""
+__docformat__ = "reStructuredText"
+
+import zope.interface
+import zope.schema
+
+from i18n import _
+
+
+class IEditableHtmlInformation(zope.interface.Interface):
+    """Information about an HTML file or fragment."""
+
+    isFragment = zope.schema.Bool(
+        title=_("Is fragment?"),
+        description=_("Set to true if the HTML should be handled as a"
+                      " fragment to be composed to create a document."),
+        required=True,
+        readonly=False,
+        )

Added: zope.html/trunk/src/zope/html/ntests.py
===================================================================
--- zope.html/trunk/src/zope/html/ntests.py	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/ntests.py	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,34 @@
+"""Test harness for zope.html functional tests.
+
+$Id: ntests.py 3259 2005-08-19 16:46:26Z gary $
+"""
+import os
+import unittest
+
+import pytz
+
+import zope.component
+import zope.interface.common.idatetime
+import zope.publisher.interfaces
+
+from zope.app.testing import functional
+
+import zc.testlayer.ftesting
+
+#### testing framework ####
+
+ at zope.component.adapter(zope.publisher.interfaces.IRequest)
+ at zope.interface.implementer(zope.interface.common.idatetime.ITZInfo)
+def requestToTZInfo(request):
+    return pytz.timezone('US/Eastern')
+
+#### test setup ####
+
+EditableHtmlLayer = zc.testlayer.ftesting.FTestingLayer(
+    os.path.join(os.path.split(__file__)[0], 'ftesting.zcml'),
+    __name__, "EditableHtmlLayer")
+
+def test_suite():
+    suite = functional.FunctionalDocFileSuite("browser.txt")
+    suite.layer = EditableHtmlLayer
+    return suite

Added: zope.html/trunk/src/zope/html/tests.py
===================================================================
--- zope.html/trunk/src/zope/html/tests.py	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/tests.py	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,28 @@
+"""Test harness for zope.html.
+
+"""
+__docformat__ = "reStructuredText"
+
+from zope.testing import doctest
+
+import zope.annotation.attribute
+import zope.app.testing.placelesssetup
+import zope.component
+import zope.mimetype.types
+
+
+def setUp(test):
+    zope.app.testing.placelesssetup.setUp()
+    zope.component.provideAdapter(
+        zope.annotation.attribute.AttributeAnnotations)
+    # we have to initialize the mimetype handling
+    zope.mimetype.types.setup()
+
+
+def tearDown(test):
+    zope.app.testing.placelesssetup.tearDown()
+
+
+def test_suite():
+    return doctest.DocFileSuite(
+        "docinfo.txt", setUp=setUp, tearDown=tearDown)

Added: zope.html/trunk/src/zope/html/widget.py
===================================================================
--- zope.html/trunk/src/zope/html/widget.py	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/widget.py	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,50 @@
+"""Widget implementations for rich-text fields.
+
+"""
+__docformat__ = "reStructuredText"
+
+import zope.app.form.browser
+
+import zc.resourcelibrary
+
+
+class FckeditorWidget(zope.app.form.browser.TextAreaWidget):
+
+    toolbarConfiguration = "zope"
+
+    def __call__(self):
+        zc.resourcelibrary.need("fckeditor")
+        #
+        # XXX The 'shortname' here needs some salt to ensure that
+        # multiple widgets with the same trailing name are
+        # distinguishable; some encoding of the full name seems
+        # appropriate, or a per-request counter would also do nicely.
+        #
+        d = {
+            "name": self.name,
+            "shortname": self.name.split('.', 1)[-1],
+            "toolbars": self.toolbarConfiguration,
+            }
+        # suppress the rows/cols since those are ignored anyway
+        self.width = 10
+        self.height = 10
+        textarea = super(FckeditorWidget, self).__call__()
+        textarea = textarea.replace(' cols="10"', "", 1)
+        textarea = textarea.replace(' rows="10"', "", 1)
+
+        return textarea + (JAVASCRIPT_TEMPLATE % d)
+
+
+# This uses a hard-coded width instead of a percentage, because the
+# percentage doesn't seem to work in Firefox/Mozilla/Epiphany.
+# Hopefully this will be fixed or there's some better workaround for
+# it.
+
+JAVASCRIPT_TEMPLATE = '''
+<script type="text/javascript" language="JavaScript">
+var oFCKeditor_%(shortname)s = new FCKeditor("%(name)s", 600, 400, "%(toolbars)s");
+    oFCKeditor_%(shortname)s.BasePath = "/@@/fckeditor/";
+    oFCKeditor_%(shortname)s.Config["CustomConfigurationsPath"] = "/@@/zope_fckconfig.js";
+    oFCKeditor_%(shortname)s.ReplaceTextarea();
+</script>
+'''

Added: zope.html/trunk/src/zope/html/zope_fckconfig.js
===================================================================
--- zope.html/trunk/src/zope/html/zope_fckconfig.js	2006-08-15 21:33:15 UTC (rev 69547)
+++ zope.html/trunk/src/zope/html/zope_fckconfig.js	2006-08-15 21:36:17 UTC (rev 69548)
@@ -0,0 +1,45 @@
+/* Configuration substantially based on the configuration from Tiks:
+ * http://svn.tiks.org/svn/repos/Tiks/trunk/src/tiks/widgets/fckeditor/browser/tiks_fckconfig.js
+ * by Roger Ineichen (dev at projekt01.ch)
+ */
+
+FCKConfig.BasePath = '/@@/fckeditor/editor/';
+FCKConfig.EditorAreaCSS = FCKConfig.BasePath + 'css/fck_editorarea.css' ;
+FCKConfig.CustomConfigurationsPath = "/@@/zope_fckconfig.js";
+
+FCKConfig.ToolbarSets["zope"] = [
+  ['Source','DocProps'],
+  ['Cut','Copy','Paste','PasteText','PasteWord','-'],
+  ['SelectAll','RemoveFormat'],
+  ['Bold','Italic','Underline','StrikeThrough','-','Subscript','Superscript'],
+  ['OrderedList','UnorderedList','-','Outdent','Indent'],
+  ['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'],
+  ['Image','Link','Unlink','Anchor','Table','Rule'],
+  '/',
+  ['Style','FontFormat','FontName','FontSize'],
+  ['TextColor','BGColor'],
+  ['About']
+  ];
+
+// set faked table borders on table wth border="0"
+FCKConfig.ShowBorders	= true ;
+
+// The contextURL is set in the javescipt template and used in the explorer implementation
+FCKConfig.contextURL = window.top.top.contextURL;
+
+FCKConfig.LinkBrowser = false ;
+FCKConfig.LinkBrowserURL = window.top.top.explorerURL;
+FCKConfig.LinkBrowserWindowWidth	= 650 ;	// 40%
+FCKConfig.LinkBrowserWindowHeight	= 440 ;	// 40%
+
+FCKConfig.ImageBrowser = false ;
+FCKConfig.ImageBrowserURL = window.top.top.explorerURL;
+FCKConfig.ImageBrowserWindowWidth  = 650 ;	// 40% ;
+FCKConfig.ImageBrowserWindowHeight = 440 ;	// 40% ;
+
+// change this views if you need to load a different file explorer tree
+// This way you can load different explorers for different widget since
+// you can load different configuration scripts for each widget.
+// See tiks.skintools.explorer for more info
+FCKConfig.treeview = '@@explorer_tree';
+FCKConfig.insertview = '@@explorer_insert';



More information about the Checkins mailing list